Re: Very strange indexing problem
Posted: Thu Dec 11, 2014 8:28 am
Done
www.FiveTechSoft.com
https://forums.fivetechsupport.com/
Code: Select all | Expand
FOR Agi=1 TO AgTel
IF actie = "Insert"
UnAGCODE := SPACE(10)
FOR CreTel = 1 TO 100
CreRecA1 := 0
CreRecA1 := AddRecJuda()
IF CreRecA1 <> 0 .AND. EMPTY(AG->AGINGDAT) .AND. EMPTY(AG->AGINGEVER)
CreTel := 100
ENDIF
NEXT
IF CreRecA1 <> 0 .AND. CreRecA1 = AG->(RECCOUNT())
UnAGCODE := LeesAgUniek()
GOTO CreRecA1
OldPar[3] := RECNO()
ELSE
dRet := .F.
ENDIF
ENDIF
BT_ET_Contr("cAGBTIJD","cAGETIJD")
IF !cAGAGRAP
IF !EMPTY(cAGBTIJD) .AND. ALLTRIM(cAGBTIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGBTIJD","dAGBTIJD","cAGRTIJD","cNIETS1",.F.)
ELSE
dAGBTIJD := cAGBTIJD
ENDIF
IF !EMPTY(cAGETIJD) .AND. ALLTRIM(cAGETIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGETIJD","dAGETIJD","cAGRTIJD","cNIETS1",.T.)
ELSE
dAGETIJD := cAGETIJD
ENDIF
ENDIF
IF actie = "Update" .AND. CTOD(cAGDATUM) <> CTOD(pAGDATUM) .AND. MsgNoYes("U wijzigde de datum van dit agendapunt !!!" + CHR(13) + CHR(13) + "Moet dit agendapunt op de originele datum ook bewaard blijven ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
UnAGCODE := SPACE(10)
FOR CreTel = 1 TO 100
CreRecA1 := 0
CreRecA1 := AddRecJuda()
IF CreRecA1 <> 0 .AND. EMPTY(AG->AGINGDAT) .AND. EMPTY(AG->AGINGEVER)
CreTel := 100
ENDIF
NEXT
IF CreRecA1 <> 0 .AND. CreRecA1 = AG->(RECCOUNT())
UnAGCODE := LeesAgUniek()
GOTO CreRecA1
OldPar[3] := RECNO()
oOrig := .T.
ELSE
dRet := .F.
ENDIF
ENDIF
SELECT AG
IF dRet .AND. RecLockJuda(2,PROCNAME(),PROCLINE(),2,TaalCode)
IF VAL(UnAGCODE) <> 0
AG->AGCODE := UnAGCODE
ENDIF
AG->AGUSER := &("cAGUSER" + STR(Agi,1,0))
AG->AGUSERN := &("cAGUSERN" + STR(Agi,1,0))
AG->AGUSERNS := &("cAGUSERNS" + STR(Agi,1,0))
AG->AGDOSKOP := cAGDOSKOP
NaamSamen("AG->AGDOSSIER",cAGDOS1,cAGDOS2,cAGSDOS)
SELECT DOSS
SET ORDER TO 5
SEEK(UPPER(ALLTRIM(AG->AGDOSSIER)))
IF FOUND()
cBKBEHE := DOSS->DBEHENR
ENDIF
SELECT AG
AG->AGBEHEER := cBKBEHE
cBKBEHE := SPACE(7)
AG->AGDATUM := CTOD(cAGDATUM)
AG->AGGROEP := cAGGROEP
AG->AGSRTNR := cAGSRTNR
AG->AGSRTNRN := cAGSRTNRN
AG->AGVERGNR := cAGVERGNR
AG->AGVERGNRN := cAGVERGNRN
IF !cAGAGRAP
IF !EMPTY(cAGBTIJD) .AND. ALLTRIM(cAGBTIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGBTIJD","dAGBTIJD","cAGRTIJD","cNIETS1",.F.)
ELSE
dAGBTIJD := cAGBTIJD
ENDIF
IF !EMPTY(cAGETIJD) .AND. ALLTRIM(cAGETIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGETIJD","dAGETIJD","cAGRTIJD","cNIETS1",.T.)
ELSE
dAGETIJD := cAGETIJD
ENDIF
ELSE
dAGBTIJD := "99:99"
dAGETIJD := "99:99"
ENDIF
AG->AGBTIJD := IF(!cAGAGRAP,IF(EMPTY(cAGBTIJD) .OR. ALLTRIM(cAGBTIJD)="00:00" .OR. ALLTRIM(cAGBTIJD)=":",PAR->STBTIJD,cAGBTIJD),"99:99")
AG->AGETIJD := IF(!cAGAGRAP,IF(EMPTY(cAGETIJD) .OR. ALLTRIM(cAGETIJD)="00:00" .OR. ALLTRIM(cAGETIJD)=":",PAR->STETIJD,cAGETIJD),"99:99")
AG->AGRTIJD := IF(EMPTY(cAGRTIJD) .OR. ALLTRIM(cAGRTIJD)="00:00" .OR. ALLTRIM(cAGRTIJD)=":","00:00",cAGRTIJD)
IF !cAGAGRAP
IF EMPTY(cAGRTIJD) .OR. ALLTRIM(cAGRTIJD)=":" .OR. ALLTRIM(cAGRTIJD) = "00:00" .OR. ALLTRIM(cAGRTIJD) = "99:99"
AG->AGERTIJD := 10000 + (Uur60To100(cAGETIJD) * 100)
ELSE
UurVersch("AG->AGETIJD","cAGERTIJD","AG->AGRTIJD",,.T.,.F.)
AG->AGERTIJD := 10000 + (Uur60To100(cAGERTIJD) * 100)
ENDIF
ELSE
AG->AGERTIJD := 0
ENDIF
AG->AGBCODE := UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(CTOD(cAGDATUM))+LEFT(dAGBTIJD,2)+RIGHT(dAGBTIJD,2))
AG->AGECODE := UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(CTOD(cAGDATUM))+LEFT(dAGETIJD,2)+RIGHT(dAGETIJD,2))
AG->AGBCODC := RIGHT(AG->AGBCODE,12)
AG->AGECODC := RIGHT(AG->AGECODE,12)
AG->AGOMSCH := cAGOMSCH
AG->AGALARM := IF(!cAGAFGESL,cAGALARM,.F.)
IF cAGALARM .AND. CTOD(cAGDATUM) <> CTOD(oAGDATUM)
IF oAANTDAG <> 0 .AND. MsgYesNo("Mag de alarmdatum in verhouding aangepast worden"+CHR(13)+"aan de ingegeven datum van het alarmpunt ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
AG->AGALDAG := CTOD(cAGDATUM) - oAANTDAG
ELSEIF MsgYesNo("Mag de alarmdatum aan de datum"+CHR(13)+"van het agendapunt aangepast worden ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
AG->AGALDAG := CTOD(cAGDATUM)
ENDIF
ELSE
AG->AGALDAG := IF(!cAGAFGESL .AND. cAGALARM,CTOD(cAGALDAG),CTOD(" / / "))
ENDIF
AG->AGALUUR := IF(!cAGAFGESL .AND. cAGALARM .AND. !EMPTY(cAGALUUR) .AND. ALLTRIM(cAGALUUR) <> ":",cAGALUUR,"99:99")
AG->AGALCODE := IF(!cAGAFGESL .AND. cAGALARM,UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(AG->AGALDAG)+IF(AG->AGALUUR<>"99:99",LEFT(AG->AGALUUR,2)+RIGHT(AG->AGALUUR,2),"0000")),SPACE(19))
AG->AGVOORL := IF(!cAGAGRAP,cAGVOORL,.F.)
AG->AGPRNR := cAGPRNR
AG->AGPRNRN := cAGPRNRN
AG->AGANNR := cAGANNR
AG->AGANNRN := cAGANNRN
AG->AGMETWIE := cAGMETWIE
AG->AGAGDOS := IF(!cAGAGRAP,cAGAGDOS,.F.)
AG->AGAGKAN := IF(!cAGAGRAP,cAGAGKAN,.F.)
AG->AGAGPRO := IF(!cAGAGRAP,cAGAGPRO,.F.)
AG->AGAGPER := IF(!cAGAGRAP,cAGAGPER,.F.)
AG->AGAGRAP := cAGAGRAP
AG->AGHOOFD := IF(!cAGAGRAP,cAGHOOFD,.F.)
AG->AGAFGESL := IF(oOrig,.F.,cAGAFGESL)
AG->AGINGDAT := CTOD(cAGINGDAT)
AG->AGINGEVER := cAGINGEVER
AG->AGCHADAT := DATE()
AG->AGCHANGER := US->UAFKORT
AG->AGOUTLID := cAGOUTLID
AG->AGOUTLDAT := cAGOUTLDAT
AG->AGEXPORT := cAGEXPORT
AG->AGKM := cAGKM
AG->AGMEMO := cAGMEMO
ENDIF
RecUnLockJuda(2,PROCNAME(),PROCLINE())
EDossier := AG->AGDOSSIER
NEXT
Code: Select all | Expand
FOR Agi=1 TO AgTel
IF actie = "Insert"
UnAGCODE := SPACE(10)
FOR CreTel = 1 TO 100
CreRecA1 := 0
CreRecA1 := AddRecJuda()
IF CreRecA1 <> 0 .AND. EMPTY(AG->AGINGDAT) .AND. EMPTY(AG->AGINGEVER)
CreTel := 100
ENDIF
NEXT
IF CreRecA1 <> 0 .AND. CreRecA1 = AG->(RECCOUNT())
UnAGCODE := LeesAgUniek()
GOTO CreRecA1
OldPar[3] := RECNO()
ELSE
dRet := .F.
ENDIF
ENDIF
BT_ET_Contr("cAGBTIJD","cAGETIJD")
IF !cAGAGRAP
IF !EMPTY(cAGBTIJD) .AND. ALLTRIM(cAGBTIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGBTIJD","dAGBTIJD","cAGRTIJD","cNIETS1",.F.)
ELSE
dAGBTIJD := cAGBTIJD
ENDIF
IF !EMPTY(cAGETIJD) .AND. ALLTRIM(cAGETIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGETIJD","dAGETIJD","cAGRTIJD","cNIETS1",.T.)
ELSE
dAGETIJD := cAGETIJD
ENDIF
ENDIF
cAGRECORD := OldPar[3]
cAGDELETE := .F.
IF actie = "Update" .AND. CTOD(cAGDATUM) <> CTOD(pAGDATUM)
UnAGCODE := SPACE(10)
FOR CreTel = 1 TO 100
CreRecA1 := 0
CreRecA1 := AddRecJuda()
IF CreRecA1 <> 0 .AND. EMPTY(AG->AGINGDAT) .AND. EMPTY(AG->AGINGEVER)
CreTel := 100
ENDIF
NEXT
IF CreRecA1 <> 0 .AND. CreRecA1 = AG->(RECCOUNT())
UnAGCODE := LeesAgUniek()
GOTO CreRecA1
IF !MsgNoYes("U wijzigde de datum van dit agendapunt !!!" + CHR(13) + CHR(13) + "Moet dit agendapunt op de originele datum ook bewaard blijven ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
cAGDELETE := .T.
ENDIF
OldPar[3] := RECNO()
oOrig := .T.
ELSE
dRet := .F.
ENDIF
ENDIF
IF dRet .AND. RecLockJuda(2,PROCNAME(),PROCLINE(),2,TaalCode)
IF VAL(UnAGCODE) <> 0
AG->AGCODE := UnAGCODE
ENDIF
AG->AGUSER := &("cAGUSER" + STR(Agi,1,0))
AG->AGUSERN := &("cAGUSERN" + STR(Agi,1,0))
AG->AGUSERNS := &("cAGUSERNS" + STR(Agi,1,0))
AG->AGDOSKOP := cAGDOSKOP
NaamSamen("AG->AGDOSSIER",cAGDOS1,cAGDOS2,cAGSDOS)
SELECT DOSS
SET ORDER TO 5
SEEK(UPPER(ALLTRIM(AG->AGDOSSIER)))
IF FOUND()
cBKBEHE := DOSS->DBEHENR
ENDIF
SELECT AG
AG->AGBEHEER := cBKBEHE
cBKBEHE := SPACE(7)
AG->AGDATUM := CTOD(cAGDATUM)
AG->AGGROEP := cAGGROEP
AG->AGSRTNR := cAGSRTNR
AG->AGSRTNRN := cAGSRTNRN
AG->AGVERGNR := cAGVERGNR
AG->AGVERGNRN := cAGVERGNRN
IF !cAGAGRAP
IF !EMPTY(cAGBTIJD) .AND. ALLTRIM(cAGBTIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGBTIJD","dAGBTIJD","cAGRTIJD","cNIETS1",.F.)
ELSE
dAGBTIJD := cAGBTIJD
ENDIF
IF !EMPTY(cAGETIJD) .AND. ALLTRIM(cAGETIJD) <> ":" .AND. !EMPTY(cAGRTIJD) .AND. ALLTRIM(cAGRTIJD) <> "00:00" .AND. ALLTRIM(cAGRTIJD) <> ":"
UurVersch("cAGETIJD","dAGETIJD","cAGRTIJD","cNIETS1",.T.)
ELSE
dAGETIJD := cAGETIJD
ENDIF
ELSE
dAGBTIJD := "99:99"
dAGETIJD := "99:99"
ENDIF
AG->AGBTIJD := IF(!cAGAGRAP,IF(EMPTY(cAGBTIJD) .OR. ALLTRIM(cAGBTIJD)="00:00" .OR. ALLTRIM(cAGBTIJD)=":",PAR->STBTIJD,cAGBTIJD),"99:99")
AG->AGETIJD := IF(!cAGAGRAP,IF(EMPTY(cAGETIJD) .OR. ALLTRIM(cAGETIJD)="00:00" .OR. ALLTRIM(cAGETIJD)=":",PAR->STETIJD,cAGETIJD),"99:99")
AG->AGRTIJD := IF(EMPTY(cAGRTIJD) .OR. ALLTRIM(cAGRTIJD)="00:00" .OR. ALLTRIM(cAGRTIJD)=":","00:00",cAGRTIJD)
IF !cAGAGRAP
IF EMPTY(cAGRTIJD) .OR. ALLTRIM(cAGRTIJD)=":" .OR. ALLTRIM(cAGRTIJD) = "00:00" .OR. ALLTRIM(cAGRTIJD) = "99:99"
AG->AGERTIJD := 10000 + (Uur60To100(cAGETIJD) * 100)
ELSE
UurVersch("AG->AGETIJD","cAGERTIJD","AG->AGRTIJD",,.T.,.F.)
AG->AGERTIJD := 10000 + (Uur60To100(cAGERTIJD) * 100)
ENDIF
ELSE
AG->AGERTIJD := 0
ENDIF
AG->AGBCODE := UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(CTOD(cAGDATUM))+LEFT(dAGBTIJD,2)+RIGHT(dAGBTIJD,2))
AG->AGECODE := UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(CTOD(cAGDATUM))+LEFT(dAGETIJD,2)+RIGHT(dAGETIJD,2))
AG->AGBCODC := RIGHT(AG->AGBCODE,12)
AG->AGECODC := RIGHT(AG->AGECODE,12)
AG->AGOMSCH := cAGOMSCH
AG->AGALARM := IF(!cAGAFGESL,cAGALARM,.F.)
IF cAGALARM .AND. CTOD(cAGDATUM) <> CTOD(oAGDATUM)
IF oAANTDAG <> 0 .AND. MsgYesNo("Mag de alarmdatum in verhouding aangepast worden"+CHR(13)+"aan de ingegeven datum van het alarmpunt ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
AG->AGALDAG := CTOD(cAGDATUM) - oAANTDAG
ELSEIF MsgYesNo("Mag de alarmdatum aan de datum"+CHR(13)+"van het agendapunt aangepast worden ?","Kies "+CHR(34)+"JA"+CHR(34)+" of "+CHR(34)+"NEE"+CHR(34))
AG->AGALDAG := CTOD(cAGDATUM)
ENDIF
ELSE
AG->AGALDAG := IF(!cAGAFGESL .AND. cAGALARM,CTOD(cAGALDAG),CTOD(" / / "))
ENDIF
AG->AGALUUR := IF(!cAGAFGESL .AND. cAGALARM .AND. !EMPTY(cAGALUUR) .AND. ALLTRIM(cAGALUUR) <> ":",cAGALUUR,"99:99")
AG->AGALCODE := IF(!cAGAFGESL .AND. cAGALARM,UPPER(&("cAGUSER"+STR(Agi,1,0))+DTOS(AG->AGALDAG)+IF(AG->AGALUUR<>"99:99",LEFT(AG->AGALUUR,2)+RIGHT(AG->AGALUUR,2),"0000")),SPACE(19))
AG->AGVOORL := IF(!cAGAGRAP,cAGVOORL,.F.)
AG->AGPRNR := cAGPRNR
AG->AGPRNRN := cAGPRNRN
AG->AGANNR := cAGANNR
AG->AGANNRN := cAGANNRN
AG->AGMETWIE := cAGMETWIE
AG->AGAGDOS := IF(!cAGAGRAP,cAGAGDOS,.F.)
AG->AGAGKAN := IF(!cAGAGRAP,cAGAGKAN,.F.)
AG->AGAGPRO := IF(!cAGAGRAP,cAGAGPRO,.F.)
AG->AGAGPER := IF(!cAGAGRAP,cAGAGPER,.F.)
AG->AGAGRAP := cAGAGRAP
AG->AGHOOFD := IF(!cAGAGRAP,cAGHOOFD,.F.)
AG->AGAFGESL := IF(oOrig,.F.,cAGAFGESL)
AG->AGINGDAT := CTOD(cAGINGDAT)
AG->AGINGEVER := cAGINGEVER
AG->AGCHADAT := DATE()
AG->AGCHANGER := US->UAFKORT
AG->AGOUTLID := cAGOUTLID
AG->AGOUTLDAT := cAGOUTLDAT
AG->AGEXPORT := cAGEXPORT
AG->AGKM := cAGKM
AG->AGMEMO := cAGMEMO
ENDIF
RecUnLockJuda(2,PROCNAME(),PROCLINE())
EDossier := AG->AGDOSSIER
IF cAGDELETE .AND. cAGRECORD <> 0
GOTO cAGRECORD
IF RecLockJuda(2,PROCNAME(),PROCLINE(),2,TaalCode)
DELETE
ENDIF
RecUnLockJuda(2,PROCNAME(),PROCLINE())
cAGRECORD := 0
cAGDELETE := .F.
GOTO OldPar[3]
ENDIF
NEXT