LOCAL lvReturned, lcUtv SET DELETED ON 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\uh\bp_eng.dbf" IF FILE("D:\ElszOdosz\uh\bp_eng.cdx") IF USED("bp_eng_uh") USE ENDIF lvReturned = rem_cdx(lcUtv) WAIT 'Bp_eng_uh >> '+lvReturned WINDOW NOWAIT SELECT 0 DELETE FILE D:\ElszOdosz\uh\bp_eng.cdx USE D:\ElszOdosz\uh\bp_eng IN 7 ALIAS bp_eng_uh EXCLUSIVE ELSE USE D:\ElszOdosz\uh\bp_eng IN 7 ALIAS bp_eng_uh EXCLUSIVE ENDIF SELECT 7 lcUtv = "D:\ElszOdosz\ut\bp_eng.dbf" IF FILE("D:\ElszOdosz\ut\bp_eng.cdx") IF USED("bp_eng_ut") USE ENDIF lvReturned = rem_cdx(lcUtv) WAIT 'Bp_eng >> '+lvReturned WINDOW NOWAIT SELECT 0 DELETE FILE D:\ElszOdosz\ut\bp_eng.cdx USE D:\ElszOdosz\ut\bp_eng IN 4 ALIAS bp_eng_ut EXCLUSIVE ELSE USE D:\ElszOdosz\ut\bp_eng IN 4 ALIAS bp_eng_ut EXCLUSIVE ENDIF SELECT 4 ************************************* * * * ALÁÍRÁS ALAPJÁN LEKÉRDEZVE * * * ************************************* lcDateInd = {^2010.01.01 00:00:00} lcDateErk = {^2010.02.01 00:00:00} lcDateStor = {^2000.01.01 00:00:00} ****************************** **UE eseti **Összes UE eseti eng SELECT bp_eng.engkod, bp_tetel.brutto_ar; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus = "1"; into cursor osszesUE1 *Egyszerű SELECT bp_eng.engkod, bp_tetel.brutto_ar; from bp_eng; LEFT JOIN bp_tetel; on ALLTRIM(bp_eng.engkod) == ALLTRIM(bp_tetel.engedely); where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus = "1"; AND bp_eng.szelesseg <= 3.2; AND bp_eng.magassag <= 4.2; AND bp_eng.hossz <= 22; AND bp_eng.ossztomeg <= 50000; into cursor egyszUE *bonyolult SELECT bp_eng.engkod, bp_tetel.brutto_ar; from bp_eng; LEFT JOIN bp_tetel; on ALLTRIM(bp_eng.engkod) == ALLTRIM(bp_tetel.engedely); where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus = "1"; AND (bp_eng.szelesseg > 3.2; OR bp_eng.magassag > 4.2; OR bp_eng.hossz > 22; OR bp_eng.ossztomeg > 50000); AND bp_eng.engkod NOT in (SELECT bp_eng.engkod; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus = "1"; AND bp_eng.szelesseg > 4; OR bp_eng.magassag > 4.5; OR bp_eng.hossz > 35; OR bp_eng.ossztomeg > 80000); into cursor bonyUE *különösen bonyolult SELECT bp_eng.engkod, bp_tetel.brutto_ar; from bp_eng; LEFT JOIN bp_tetel; on ALLTRIM(bp_eng.engkod) == ALLTRIM(bp_tetel.engedely); where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus = "1"; AND (bp_eng.szelesseg > 4; OR bp_eng.magassag > 4.5; OR bp_eng.hossz > 35; OR bp_eng.ossztomeg > 80000); into cursor kulbonyUE ************** **UH **Összes UH eng SELECT count(bp_eng_uh.engkod) as db; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva < lcDateStor; into cursor osszesUH SELECT count(bp_eng_uh.engkod) as db; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva > lcDateStor; AND bp_eng_uh.tipus = "1"; into cursor osszesUH *Egyszerű SELECT count(bp_eng_uh.engkod) as db; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva < lcDateStor; AND bp_eng_uh.tipus = "1"; AND bp_eng_uh.szelesseg <= 3.2; AND bp_eng_uh.magassag <= 4.2; AND bp_eng_uh.hossz <= 22; AND bp_eng_uh.ossztomeg <= 50000; into cursor egyszUH *bonyolult SELECT count(bp_eng_uh.engkod) as db; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva < lcDateStor; AND bp_eng_uh.tipus = "1"; AND (bp_eng_uh.szelesseg > 3.2; OR bp_eng_uh.magassag > 4.2; OR bp_eng_uh.hossz > 22; OR bp_eng_uh.ossztomeg > 50000); AND bp_eng_uh.engkod NOT in (SELECT bp_eng_uh.engkod; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva < lcDateStor; AND bp_eng_uh.tipus = "1"; AND bp_eng_uh.szelesseg > 4; OR bp_eng_uh.magassag > 4.5; OR bp_eng_uh.hossz > 35; OR bp_eng_uh.ossztomeg > 80000); into cursor bonyUH *különösen bonyolult SELECT count(bp_eng_uh.engkod) as db; from bp_eng_uh; where bp_eng_uh.alairva >= lcDateInd; AND bp_eng_uh.alairva < lcDateErk; AND bp_eng_uh.stornozva < lcDateStor; AND bp_eng_uh.tipus = "1"; AND (bp_eng_uh.szelesseg > 4; OR bp_eng_uh.magassag > 4.5; OR bp_eng_uh.hossz > 35; OR bp_eng_uh.ossztomeg > 80000); into cursor kulbonyUH ************** **UT **Összes UT eng SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus = "1"; into cursor osszesUt *Egyszerű SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus = "1"; AND bp_eng_ut.szelesseg <= 3.2; AND bp_eng_ut.magassag <= 4.2; AND bp_eng_ut.hossz <= 22; AND bp_eng_ut.ossztomeg <= 50000; into cursor egyszUt *bonyolult SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus = "1"; AND (bp_eng_ut.szelesseg > 3.2; OR bp_eng_ut.magassag > 4.2; OR bp_eng_ut.hossz > 22; OR bp_eng_ut.ossztomeg > 50000); AND bp_eng_ut.engkod NOT in (SELECT bp_eng_ut.engkod; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus = "1"; AND bp_eng_ut.szelesseg > 4; OR bp_eng_ut.magassag > 4.5; OR bp_eng_ut.hossz > 35; OR bp_eng_ut.ossztomeg > 80000); into cursor bonyUt *különösen bonyolult SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus = "1"; AND (bp_eng_ut.szelesseg > 4; OR bp_eng_ut.magassag > 4.5; OR bp_eng_ut.hossz > 35; OR bp_eng_ut.ossztomeg > 80000); into cursor kulbonyUt ************************* **UE éves **Összes UE éves eng SELECT count(bp_eng.engkod) as db; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus # "1"; into cursor osszUE_ev *teljes közúthálózat SELECT count(bp_eng.engkod) as db; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus # "1"; AND bp_eng.utvtipus = "2"; into cursor teljkozUE; *főúthálózat SELECT count(bp_eng.engkod) as db; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus # "1"; AND bp_eng.utvtipus = "3"; into cursor foutUE; *kijelölt út *Egyszerű SELECT count(bp_eng.engkod) as db; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus # "1"; AND bp_eng.utvtipus = "0"; into cursor kijutUE *Kistérségi *Egyszerű SELECT count(bp_eng.engkod) as db; from bp_eng; where bp_eng.alairva >= lcDateInd; AND bp_eng.alairva < lcDateErk; AND bp_eng.stornozva < lcDateStor; AND bp_eng.tipus # "1"; AND bp_eng.utvtipus = "1"; into cursor kisterUE ************************* **UT éves **Összes UT éves eng SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus # "1"; into cursor osszUT_ev *teljes közúthálózat SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus # "1"; AND bp_eng_ut.utvtipus = "2"; into cursor teljkozUT *főúthálózat SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus # "1"; AND bp_eng_ut.utvtipus = "3"; into cursor foutUT *kijelölt út *Egyszerű SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus # "1"; AND bp_eng_ut.utvtipus = "0"; into cursor kijutUT *Kistérségi *Egyszerű SELECT count(bp_eng_ut.engkod) as db; from bp_eng_ut; where bp_eng_ut.alairva >= lcDateInd; AND bp_eng_ut.alairva < lcDateErk; AND bp_eng_ut.stornozva < lcDateStor; AND bp_eng_ut.tipus # "1"; AND bp_eng_ut.utvtipus = "1"; into cursor kisterUT