146 lines
6.4 KiB
Plaintext
146 lines
6.4 KiB
Plaintext
* test_unicredit_depozite.prg
|
|
* Headless (CENTRAL/MARIUSM_AUTO): importul CSV UniCredit cu TERM DEPOSIT/TERM DEPOSIT INTEREST
|
|
* trebuie sa genereze perechea 5081=581 / 581=5081 (581 = 5121 / 5121 = 581), iar cu lDepozit=.F.
|
|
* PRINCIPAL sa ramana pe 581 simplu (581=5121 / 5121=581) fara linie 5081. Dobanda ramane 5121=766.
|
|
* Rulare: vfp9.exe -A -T "COMUN\utile\Teste\test_unicredit_depozite.prg"
|
|
|
|
LPARAMETERS tcCsv
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
SET DELETED ON
|
|
SET EXACT ON
|
|
SET CENTURY ON
|
|
SET DATE DMY
|
|
SET NULLDISPLAY TO ''
|
|
SET CONFIRM OFF
|
|
|
|
PUBLIC gcLogUni, gnPass, gnFail, gcCsv
|
|
gcLogUni = "D:\ROA\ROACONT\docs\test_unicredit_depozite.log"
|
|
IF !EMPTY(m.tcCsv)
|
|
gcCsv = ALLTRIM(m.tcCsv)
|
|
ELSE
|
|
gcCsv = "D:\ROA\ROACONT\COMUN\utile\Teste\unicredit_depozite.csv"
|
|
ENDIF
|
|
gnPass = 0
|
|
gnFail = 0
|
|
STRTOFILE("RUN " + TTOC(DATETIME()) + " csv=" + gcCsv + CHR(13)+CHR(10), gcLogUni)
|
|
DO log_txt WITH "SAFETY=" + TRANSFORM(SET("SAFETY")) + " RESOURCE=" + TRANSFORM(SET("RESOURCE"))
|
|
ON ERROR DO log_eroare_uni WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
|
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO'
|
|
IF m.gnHandle <= 0
|
|
DO log_txt WITH "FAIL conectare Oracle (gnHandle<=0)"
|
|
DO log_txt WITH "=== SUMAR: PASS=" + TRANSFORM(m.gnPass) + " FAIL=" + TRANSFORM(m.gnFail) + " ==="
|
|
QUIT
|
|
ENDIF
|
|
DO log_txt WITH "Oracle OK schema=" + TRANSFORM(m.gcS)
|
|
|
|
* amessagebox/aInputBox in fata listei de proceduri (rezolutie de nume: castiga primul fisier)
|
|
LOCAL lcProcExist
|
|
lcProcExist = SET("PROCEDURE")
|
|
SET PROCEDURE TO "D:\ROA\ROACONT\COMUN\utile\Teste\mock_amessagebox.prg", &lcProcExist
|
|
SET PROCEDURE TO "D:\ROA\ROACONT\COMUN\utile\Teste\mock_ainputbox.prg" ADDITIVE
|
|
|
|
DO caz_depozit_on
|
|
DO caz_depozit_off
|
|
|
|
DO log_txt WITH "=== SUMAR: PASS=" + TRANSFORM(m.gnPass) + " FAIL=" + TRANSFORM(m.gnFail) + " ==="
|
|
QUIT
|
|
|
|
* ImportNote ca in frm_import_extrase_banca.sc2; tcExtra adauga chei in hash (ex. ??lDepozit=>.F.)
|
|
FUNCTION creeaza_import
|
|
LPARAMETERS tcExtra
|
|
LOCAL lcParam
|
|
lcParam = "cContBanca=>5121??lCreeazaParteneri=>.F.??lFactura=>.F.??lComanda=>.F.??nIdPartenerBanca=>1??cBanca=>BANCA UCT" + IIF(EMPTY(m.tcExtra), "", m.tcExtra)
|
|
RETURN CREATEOBJECT("ImportNote", gcCsv, DATE(2026,5,1), DATE(2026,6,30), "ExtrasBanca", "UNICREDIT", "", "CSV", m.lcParam, {})
|
|
ENDFUNC
|
|
|
|
FUNCTION numara
|
|
LPARAMETERS tcCond
|
|
LOCAL lnN, lcSel
|
|
lcSel = SELECT()
|
|
SELECT cActTemp
|
|
COUNT FOR &tcCond TO m.lnN
|
|
SELECT (m.lcSel)
|
|
RETURN m.lnN
|
|
ENDFUNC
|
|
|
|
FUNCTION suma_act
|
|
LPARAMETERS tcCond
|
|
LOCAL lnS, lcSel
|
|
lcSel = SELECT()
|
|
SELECT cActTemp
|
|
SUM suma TO m.lnS FOR &tcCond
|
|
SELECT (m.lcSel)
|
|
RETURN m.lnS
|
|
ENDFUNC
|
|
|
|
PROCEDURE inchide_imp
|
|
LPARAMETERS toImp
|
|
IF USED('cActTemp')
|
|
USE IN (SELECT('cActTemp'))
|
|
ENDIF
|
|
IF USED('C_IMPORT_TEMP')
|
|
USE IN (SELECT('C_IMPORT_TEMP'))
|
|
ENDIF
|
|
IF VARTYPE(m.toImp) = 'O'
|
|
m.toImp = .NULL.
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE caz_depozit_on
|
|
LOCAL loImp, llOk, lnA, lnB
|
|
DO log_txt WITH "-- CAZ 1: lDepozit omis (implicit activ)"
|
|
loImp = creeaza_import("")
|
|
llOk = loImp.Import(.T.)
|
|
DO verifica WITH "1_import_ok", m.llOk, "Import(.T.)=" + TRANSFORM(m.llOk)
|
|
DO verifica WITH "1_constituire_581_5121", (numara("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5121'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5121'"))
|
|
DO verifica WITH "1_pereche_5081_581", (numara("ALLTRIM(scd)='5081' AND ALLTRIM(scc)='581'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='5081' AND ALLTRIM(scc)='581'"))
|
|
DO verifica WITH "1_lichidare_5121_581", (numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='581'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='581'"))
|
|
DO verifica WITH "1_pereche_581_5081", (numara("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5081'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5081'"))
|
|
DO verifica WITH "1_dobanda_5121_766", (numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='766'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='766'"))
|
|
DO verifica WITH "1_fara_401_4111", (numara("INLIST(ALLTRIM(scd),'401','4111') OR INLIST(ALLTRIM(scc),'401','4111')") = 0), "n=" + TRANSFORM(numara("INLIST(ALLTRIM(scd),'401','4111') OR INLIST(ALLTRIM(scc),'401','4111')"))
|
|
lnA = suma_act("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5121'")
|
|
lnB = suma_act("ALLTRIM(scd)='5081' AND ALLTRIM(scc)='581'")
|
|
DO verifica WITH "1_suma_pereche_constituire", (ABS(m.lnA - m.lnB) < 0.005 AND ABS(m.lnA - 50035.68) < 0.005), "A=" + TRANSFORM(m.lnA) + " B=" + TRANSFORM(m.lnB)
|
|
lnA = suma_act("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='581'")
|
|
lnB = suma_act("ALLTRIM(scd)='581' AND ALLTRIM(scc)='5081'")
|
|
DO verifica WITH "1_suma_pereche_lichidare", (ABS(m.lnA - m.lnB) < 0.005 AND ABS(m.lnA - 50000) < 0.005), "A=" + TRANSFORM(m.lnA) + " B=" + TRANSFORM(m.lnB)
|
|
DO inchide_imp WITH m.loImp
|
|
ENDPROC
|
|
|
|
PROCEDURE caz_depozit_off
|
|
LOCAL loImp, llOk
|
|
DO log_txt WITH "-- CAZ 2: lDepozit=.F. (optiune dezactivata)"
|
|
loImp = creeaza_import("??lDepozit=>.F.")
|
|
llOk = loImp.Import(.T.)
|
|
DO verifica WITH "2_import_ok", m.llOk, "Import(.T.)=" + TRANSFORM(m.llOk)
|
|
DO verifica WITH "2_fara_5081", (numara("ALLTRIM(scd)='5081' OR ALLTRIM(scc)='5081'") = 0), "n=" + TRANSFORM(numara("ALLTRIM(scd)='5081' OR ALLTRIM(scc)='5081'"))
|
|
DO verifica WITH "2_principal_581", (numara("ALLTRIM(scd)='581' OR ALLTRIM(scc)='581'") = 2), "n=" + TRANSFORM(numara("ALLTRIM(scd)='581' OR ALLTRIM(scc)='581'"))
|
|
DO verifica WITH "2_fara_401_4111", (numara("INLIST(ALLTRIM(scd),'401','4111') OR INLIST(ALLTRIM(scc),'401','4111')") = 0), "n=" + TRANSFORM(numara("INLIST(ALLTRIM(scd),'401','4111') OR INLIST(ALLTRIM(scc),'401','4111')"))
|
|
DO verifica WITH "2_dobanda_5121_766", (numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='766'") = 1), "n=" + TRANSFORM(numara("ALLTRIM(scd)='5121' AND ALLTRIM(scc)='766'"))
|
|
DO inchide_imp WITH m.loImp
|
|
ENDPROC
|
|
|
|
PROCEDURE verifica
|
|
LPARAMETERS tcLabel, tlOk, tcDetaliu
|
|
IF m.tlOk
|
|
gnPass = m.gnPass + 1
|
|
DO log_txt WITH "PASS " + m.tcLabel + " :: " + m.tcDetaliu
|
|
ELSE
|
|
gnFail = m.gnFail + 1
|
|
DO log_txt WITH "FAIL " + m.tcLabel + " :: " + m.tcDetaliu
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE log_txt
|
|
LPARAMETERS tcTxt
|
|
STRTOFILE(TRANSFORM(m.tcTxt) + CHR(13) + CHR(10), gcLogUni, 1)
|
|
ENDPROC
|
|
|
|
PROCEDURE log_eroare_uni
|
|
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
|
|
DO log_txt WITH " [ON ERROR] " + TRANSFORM(m.tnErr) + " " + TRANSFORM(m.tcMsg) + " in " + TRANSFORM(m.tcProg) + " linia " + TRANSFORM(m.tnLine)
|
|
ENDPROC
|