pears.iqacSelfBillCreate
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
Original SQL
CREATE PROCEDURE "pears"."iqacSelfBillCreate"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ IN "pSessionID" CHAR(20),IN "pDocDate" DATE ) RESULT( "pResult" CHAR(250),"pinvcount" INTEGER ) BEGIN DECLARE "res" INTEGER; DECLARE "invcount" INTEGER; DECLARE "acc" CHAR(12); SET "invcount" = 0; -- rewrite as loop SELECT FIRST "accountcode" INTO "acc" FROM "InvoiceValidReportData" WHERE "sessionid" = "psessionid" AND "processed" = 0 ORDER BY "sortorder" ASC; while "acc" IS NOT NULL loop CALL "iqacSelfBillOneAccount"("acc","psessionid","pdocdate","invcount"); -- update InvoiceValidReportData set processed = 1 where accountcode = acc; -- above done for each timesheet SET "acc" = NULL; SELECT FIRST "accountcode" INTO "acc" FROM "InvoiceValidReportData" WHERE "sessionid" = "psessionid" AND "processed" = 0 ORDER BY "sortorder" ASC END loop; SELECT '0:~Success',"invcount" exception WHEN others THEN resignal; SELECT '1:~Failed',"invcount" END GO COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."iqacSelfBillCreate" IS {CREATE PROCEDURE iqacSelfBillCreate /* Application Maintained Function / Procedure - DO NOT EDIT*/ ( IN pSessionID CHAR(20),IN pDocDate DATE ) RESULT( pResult CHAR(250),pinvcount INTEGER ) BEGIN DECLARE res INTEGER; DECLARE invcount INTEGER; DECLARE acc CHAR(12); SET invcount = 0; -- rewrite as loop SELECT FIRST accountcode INTO acc FROM InvoiceValidReportData WHERE sessionid = psessionid AND processed = 0 ORDER BY sortorder ASC; while acc IS NOT NULL loop CALL iqacSelfBillOneAccount(acc,psessionid,pdocdate,invcount); -- update InvoiceValidReportData set processed = 1 where accountcode = acc; -- above done for each timesheet SET acc = NULL; SELECT FIRST accountcode INTO acc FROM InvoiceValidReportData WHERE sessionid = psessionid AND processed = 0 ORDER BY sortorder ASC END loop; SELECT '0:~Success',invcount exception WHEN others THEN resignal; SELECT '1:~Failed',invcount END }