שלום,
אשמח לעזרה מה לא נכון בלולאה שאני כותב.
במקום לקבל פירוט של כל המקטים אני מקבל פירוט של מקט אחד.
תודה
<p style="text-align: left;">EXECUTE 'BUDGETREP' :MOD, :GL, :BUD1, :VER, :REP1,
:RPD1, :ST, :FPR, :TPR;
/***/
LINK BUDGETREP TO :REP1;
GOTO 899 WHERE :RETVAL <= 0;
LINK BUDGETREP GREP TO :GLOBAL.GREP;
GOTO 899 WHERE :RETVAL <= 0;
/**************************************/
UPDATE BUDGETREP SET DNAME = SQL.ENV
WHERE BUDGET = -1;
INSERT INTO BUDGETREP GREP
SELECT * FROM BUDGETREP
WHERE BUDGET <> 0;
UNLINK BUDGETREP GREP;
/**/
LINK BUDREPDET TO :RPD1;
GOTO 898 WHERE :RETVAL <= 0;
LINK BUDREPDET GRPD TO :GLOBAL.GRPD;
GOTO 899 WHERE :RETVAL <= 0;
/**************************************/
/**** CURSOR FOR EACH BUDGET ****/
DECLARE SAE_BUDREPDET CURSOR FOR
SELECT BUDGET
FROM BUDGETREP
WHERE BUDGET <> 0;
OPEN SAE_BUDREPDET;
LABEL 333;
:SAE_BUDDET = 0;
:SAE_DNAME = ";
FETCH SAE_BUDREPDET INTO :SAE_BUDDET;
GOTO 222 WHERE :RETVAL = 0 ;
/***/
UPDATE BUDREPDET GRPD
SET BUDGET = :SAE_BUDDET
WHERE BUDGET > 0;
INSERT INTO BUDREPDET GRPD
SELECT * FROM BUDREPDET
WHERE BUDGET <> 0;
LOOP 333;
LABEL 222;
CLOSE SAE_BUDREPDET;
/**** CLOSE CURSOR ****/
UNLINK BUDREPDET GRPD;
UNLINK BUDREPDET;
LABEL 898;
UNLINK BUDGETREP;
LABEL 899;
UNLINK BUDGETS BUD1;
LABEL 900;
/****/
LOOP 111;
LABEL 1101;
CLOSE DNAMECUR;
LABEL 1100;</p>