Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Scan not working?
Message
From
21/01/2011 14:00:36
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Scan not working?
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01496906
Message ID:
01496906
Views:
104
I use this code snippet below for a while without any problem but a few days ago I changed it and now Ive got a wierd behaviour.
I added the last "scan" command but it doesnt do the job. If I repeat the "scan" code in the snippet, it works. I mean it is repeated twice. I copied it all here as it is in my vfp.
What did I do wrong?
LOCAL lvReturned, lcUtv

lnSess = ASESSIONS(laSess)
FOR lnCnt = 1 TO lnSess
	SET DATASESSION TO (laSess[lnCnt])
		IF TXNLEVEL() > 0
		   DO WHILE TXNLEVEL() > 0
		     ROLLBACK
		   ENDDO
		ENDIF
	lnCntUsed = AUSED(laUsed)
	FOR lnSessCnt = 1 TO lnCntUsed
		SELECT(laUsed[lnsessCnt,2])
			IF CURSORGETPROP('Buffering')>1
				TABLEREVERT(.T.)
			ENDIF
			USE
	NEXT
NEXT

SET PATH TO 'D:\ElszOdosz\prg' ADDITIVE

lcUtv = "D:\ElszOdosz\data\bp_eng.dbf"
IF FILE("D:\ElszOdosz\data\bp_eng.cdx")
		IF USED("bp_eng")
    		USE
    	ENDIF
    lvReturned = rem_cdx(lcUtv)
    WAIT 'Bp_eng >> '+lvReturned WINDOW NOWAIT 	
    SELECT 0
    DELETE FILE D:\ElszOdosz\data\bp_eng.cdx
	USE D:\ElszOdosz\data\bp_eng IN 1 EXCLUSIVE
  ELSE
    USE D:\ElszOdosz\data\bp_eng IN 1 EXCLUSIVE 
ENDIF 
SELECT 1

lcUtv = "D:\ElszOdosz\data\bp_tetel.dbf"
IF FILE("D:\ElszOdosz\data\bp_tetel.cdx")
		IF USED("bp_tetel")
    		USE
    	ENDIF
    lvReturned = rem_cdx(lcUtv)
    WAIT 'Bp_tetel >> '+lvReturned WINDOW NOWAIT 	
    SELECT 0
    DELETE FILE D:\ElszOdosz\data\bp_tetel.cdx
	USE D:\ElszOdosz\data\bp_tetel IN 2 EXCLUSIVE
  ELSE
    USE D:\ElszOdosz\data\bp_tetel IN 2 EXCLUSIVE 
ENDIF 
SELECT 2

lcUtv = "D:\ElszOdosz\data\bp_fej.dbf"
IF FILE("D:\ElszOdosz\data\bp_fej.cdx")
		IF USED("bp_fej")
    		USE
    	ENDIF
    lvReturned = rem_cdx(lcUtv)
    WAIT 'Bp_fej >> '+lvReturned WINDOW NOWAIT 	
    SELECT 0
    DELETE FILE D:\ElszOdosz\data\bp_fej.cdx
	USE D:\ElszOdosz\data\bp_fej IN 3 EXCLUSIVE
  ELSE
    USE D:\ElszOdosz\data\bp_fej IN 3 EXCLUSIVE 
ENDIF 
SELECT 3


lcUtv = "D:\ElszOdosz\data\helyseg.dbf"
IF FILE("D:\ElszOdosz\data\helyseg.cdx")
		IF USED("helyseg")
    		USE
    	ENDIF
    lvReturned = rem_cdx(lcUtv)
    WAIT 'Bp_engus >> '+lvReturned WINDOW NOWAIT 	
    SELECT 0
    DELETE FILE D:\ElszOdosz\data\helyseg.cdx
	USE D:\ElszOdosz\data\helyseg IN 8 EXCLUSIVE
	SELECT 8
	INDEX ON helyseg.irszam TO D:\ElszOdosz\data\helyseg.cdx
  ELSE
    USE D:\ElszOdosz\data\helyseg.dbf
    INDEX ON helyseg.irszam TO D:\ElszOdosz\data\helyseg.cdx 
ENDIF 
SELECT 8


SET DECIMALS TO 2

SELECT bp_tetel.tetel_id, bp_tetel.fejkod, bp_tetel.engedely, bp_tetel.netto_ar,bp_tetel.brutto_ar,;
bp_fej.teljesites, bp_fej.kelte, bp_fej.stornozva as szla_stor,; 
bp_tetel.aru_nev, VAL(SUBSTR(ALLTRIM(bp_tetel.engedely),9,2)) as sort1,;
VAL(SUBSTR(ALLTRIM(bp_tetel.engedely),3,6)) as sort2; 
FROM bp_tetel; 
LEFT JOIN bp_fej; 
ON bp_tetel.fejkod == bp_fej.fejkod; 
WHERE SUBSTR(ALLTRIM(bp_tetel.aru_nev),1,10) == "Túlsúlydíj"; 
AND bp_fej.teljesites >= {2010.11.01}; 
AND bp_fej.teljesites < {2010.12.01}; 
ORDER BY sort1, sort2; 
INTO cursor tetel readwrite 

************************************
ALTER TABLE tetel;
 ADD COLUMN statusz c(20)

SELECT tetel.engedely, tetel.fejkod as szlasz, DTOC(TTOD(bp_eng.iktatva)) as eng_ikt,;
DTOC(TTOD(bp_eng.kiadva)) as eng_kiad, DTOC(tetel.teljesites) as telj,;
DTOC(TTOD(bp_eng.stornozva)) as eng_stor,;
DTOC(TTOD(tetel.szla_stor)) as szla_st,; 
bp_eng.fordulo, bp_eng.tavolsag,; 
bp_eng.ind_varos, bp_eng.bel_vnev, bp_eng.ind_irsz,; 
bp_eng.cel_varos, bp_eng.kil_vnev, bp_eng.cel_irsz,; 
bp_eng.tomeg_dij as tom_dij, bp_eng.ten_dij,;
(tetel.netto_ar/bp_eng.tavolsag) as k_bdij,; 
ts_dij as kalk_dij,; 
tetel.netto_ar,;
cast(IIF(tetel.netto_ar==tetel.brutto_ar,tetel.netto_ar,0) as B(2)) as nettoar0,;
cast(IIF(tetel.netto_ar==tetel.brutto_ar,0,tetel.netto_ar) as B(2)) as nettoar25,; 
tetel.brutto_ar,; 
(bp_eng.tavolsag-(bp_eng.aka + bp_eng.aap + bp_eng.bp+bp_eng.dak)) as mak,;  
bp_eng.aap, bp_eng.aka, bp_eng.dak, bp_eng.bp,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*(bp_eng.tavolsag-(bp_eng.aka+bp_eng.aap+bp_eng.bp+bp_eng.dak))),0) as B(2)) as ft_mak_n0,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,0,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*(bp_eng.tavolsag-(bp_eng.aka+bp_eng.aap+bp_eng.bp+bp_eng.dak)))) as B(2)) as ft_mak_n25,;
CAST((((tetel.brutto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*(bp_eng.tavolsag-(bp_eng.aka+bp_eng.aap+bp_eng.bp+bp_eng.dak))) as B(2)) as ft_mak_b,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aap),0) as B(2)) as ft_aap_n0,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,0,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aap)) as B(2)) as ft_aap_n25,;
CAST((((tetel.brutto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aap) as B(2)) as ft_aap_b,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aka),0) as B(2)) as ft_aka_n0,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,0,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aka)) as B(2)) as ft_aka_n25,;
CAST((((tetel.brutto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.aka) as B(2)) as ft_aka_b,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.dak),0) as B(2)) as ft_dak_n0,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,0,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.dak)) as B(2)) as ft_dak_n25,;
CAST((((tetel.brutto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.dak) as B(2)) as ft_dak_b,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.bp),0) as B(2)) as ft_bp_n0,;
CAST(IIF(tetel.netto_ar==tetel.brutto_ar,0,(((tetel.netto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.bp)) as B(2)) as ft_bp_n25,;
CAST((((tetel.brutto_ar/bp_eng.tavolsag)*bp_eng.fordulo)*bp_eng.bp) as B(2)) as ft_bp_b,; 
tetel.statusz, bp_eng.utvonal; 
FROM tetel; 
LEFT JOIN bp_eng; 
ON ALLTRIM(tetel.engedely) == ALLTRIM(bp_eng.engkod); 
WHERE SUBSTR(ALLTRIM(bp_eng.engkod),1,2) = "UE"; 
AND bp_eng.tipus = "1"; 
INTO CURSOR tetel2 READWRITE

ALTER TABLE tetel2;
	ALTER COLUMN utvonal M;
	ALTER COLUMN ind_varos c(30);
	ALTER COLUMN cel_varos c(30);	
	DROP COLUMN ind_irsz;
	DROP COLUMN bel_vnev;	
	DROP COLUMN cel_irsz;	
	DROP COLUMN kil_vnev

SCAN
          IF tetel2.kalk_dij <> tetel2.netto_ar
		IF 	(tetel2.kalk_dij)*(-1) == tetel2.netto_ar
			REPLACE tetel2.ft_mak_n0 WITH ((tetel2.ft_mak_n0)*(-1)), tetel2.ft_mak_n25 WITH ((tetel2.ft_mak_n25)*(-1)), tetel2.ft_mak_b WITH ((tetel2.ft_mak_b)*(-1)),;
			tetel2.ft_aap_n0 WITH ((tetel2.ft_aap_n0)*(-1)), tetel2.ft_aap_n25 WITH ((tetel2.ft_aap_n25)*(-1)), tetel2.ft_aap_b WITH ((tetel2.ft_aap_b)*(-1)),;
			tetel2.ft_aka_n0 WITH ((tetel2.ft_aka_n0)*(-1)), tetel2.ft_aka_n25 WITH ((tetel2.ft_aka_n25)*(-1)), tetel2.ft_aka_b WITH ((tetel2.ft_aka_b)*(-1)),;
			tetel2.ft_dak_n0 WITH ((tetel2.ft_dak_n0)*(-1)), tetel2.ft_dak_n25 WITH ((tetel2.ft_dak_n25)*(-1)), tetel2.ft_dak_b WITH ((tetel2.ft_dak_b)*(-1)),;    			
			tetel2.ft_bp_n0 WITH ((tetel2.ft_bp_n0)*(-1)), tetel2.ft_bp_n25 WITH ((tetel2.ft_bp_n25)*(-1)), tetel2.ft_bp_b WITH ((tetel2.ft_bp_b)*(-1)),;
			tetel2.statusz WITH "Min.szla."
			ELSE
			REPLACE tetel2.statusz WITH "NEM ok"		
		ENDIF
	ENDIF 			
ENDSCAN 
Next
Reply
Map
View

Click here to load this message in the networking platform