sync SVN r18218
This commit is contained in:
69
utile/Teste/test_ramburs_grup_nume_sql.prg
Normal file
69
utile/Teste/test_ramburs_grup_nume_sql.prg
Normal file
@@ -0,0 +1,69 @@
|
||||
* test_ramburs_grup_nume_sql.prg
|
||||
* Proba read-only pe MARIUSM_AUTO pentru interogarea grupului de nume (punctul 1 din brief):
|
||||
* parteneri activi (sters=0, inactiv=0) cu denumirea exacta in orice permutare, pentru o denumire reala.
|
||||
* Ruleaza prin watchdog (fara parametri). Nu scrie nimic in Oracle.
|
||||
|
||||
SET SAFETY OFF
|
||||
SET TALK OFF
|
||||
SET DELETED ON
|
||||
|
||||
LOCAL lcLog
|
||||
lcLog = "D:\ROA\ROACONT\COMUN\utile\Teste\_test_ramburs_sql_out.txt"
|
||||
STRTOFILE("RUN " + TTOC(DATETIME()) + CHR(13)+CHR(10), lcLog)
|
||||
|
||||
ON ERROR DO log_eroare_sql WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||
|
||||
DO (ADDBS("D:\ROA\ROACONT\COMUN\utile\Teste") + "test_init_env_auto.prg") WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||
IF gnHandle <= 0
|
||||
DO log_sql WITH "FAIL: nu m-am conectat la MARIUSM_AUTO"
|
||||
QUIT
|
||||
ENDIF
|
||||
DO log_sql WITH "env init OK (schema " + gcS + ")"
|
||||
|
||||
* aceeasi constructie ca in CreeanaNote: ListaSql(GetNamePermutations(...)) pentru o denumire cu 2 cuvinte
|
||||
PRIVATE pcDenGrup, pcDenGrupPerm
|
||||
pcDenGrup = "TOMESCU GEORGE"
|
||||
pcDenGrupPerm = GetNamePermutations(m.pcDenGrup, .F.)
|
||||
DO log_sql WITH "permutari: [" + m.pcDenGrupPerm + "]"
|
||||
|
||||
LOCAL lcSql, llOk
|
||||
lcSql = [select id_part, denumire from nom_parteneri where sters = 0 and inactiv = 0 and ] + ;
|
||||
[(trim(upper(denumire)) = ?pcDenGrup or trim(upper(denumire)) in (] + ListaSql_if(m.pcDenGrupPerm) + [))]
|
||||
llOk = goExecutor.oExecuta(m.lcSql, 'cGrupNumeTest')
|
||||
IF m.llOk
|
||||
SELECT cGrupNumeTest
|
||||
DO log_sql WITH "PASS: interogare grup nume OK, randuri=" + TRANSFORM(RECCOUNT('cGrupNumeTest'))
|
||||
SCAN
|
||||
DO log_sql WITH " id_part=" + TRANSFORM(id_part) + " denumire=" + ALLTRIM(NVL(denumire, ''))
|
||||
ENDSCAN
|
||||
USE IN cGrupNumeTest
|
||||
ELSE
|
||||
DO log_sql WITH "FAIL: " + goExecutor.cEroare
|
||||
ENDIF
|
||||
|
||||
DO log_sql WITH "=== GATA ==="
|
||||
QUIT
|
||||
|
||||
* ListaSql e in oproceduri_import.prg, dar testul de SQL nu-l incarca; o replic aici identic
|
||||
FUNCTION ListaSql_if
|
||||
LPARAMETERS tcLista
|
||||
LOCAL lnI, lcRezultat, lcItem
|
||||
lcRezultat = ''
|
||||
FOR lnI = 1 TO GETWORDCOUNT(m.tcLista, ';')
|
||||
lcItem = ALLTRIM(GETWORDNUM(m.tcLista, m.lnI, ';'))
|
||||
IF !EMPTY(m.lcItem)
|
||||
lcRezultat = m.lcRezultat + IIF(EMPTY(m.lcRezultat), '', ',') + "'" + STRTRAN(m.lcItem, "'", "''") + "'"
|
||||
ENDIF
|
||||
ENDFOR
|
||||
RETURN m.lcRezultat
|
||||
ENDFUNC
|
||||
|
||||
PROCEDURE log_sql
|
||||
LPARAMETERS tcTxt
|
||||
STRTOFILE(TRANSFORM(m.tcTxt) + CHR(13) + CHR(10), "D:\ROA\ROACONT\COMUN\utile\Teste\_test_ramburs_sql_out.txt", 1)
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE log_eroare_sql
|
||||
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
|
||||
DO log_sql WITH " [ON ERROR] " + TRANSFORM(m.tnErr) + " " + TRANSFORM(m.tcMsg) + " in " + TRANSFORM(m.tcProg) + " linia " + TRANSFORM(m.tnLine)
|
||||
ENDPROC
|
||||
Reference in New Issue
Block a user