database:procedures:pears_iqacpostjournalline



pears.iqacPostJournalLine

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

CREATE PROCEDURE "pears"."iqacPostJournalLine"( 
  /* Application Maintained Function / Procedure - DO NOT EDIT*/
  IN "pdocid" CHAR(8),IN "pnominalcode" CHAR(12),IN "pdescription" long VARCHAR,IN "pVATCode" CHAR(3),IN "pTimesheetLineID" CHAR(20),IN "pAccountCode" CHAR(12),IN "punitamount" DOUBLE,
  IN "pVatRate" DOUBLE,IN "pquantity" DOUBLE,IN "pDocDate" DATE,IN "pUnitDesc" CHAR(20),IN "pXRef" CHAR(1),IN "pclass" CHAR(20),IN "Ledger" CHAR(8) DEFAULT 'Sales' ) 
BEGIN
  DECLARE "gamount" DOUBLE;
  DECLARE "Vamount" DOUBLE;
  SET "gamount" = "round"(-"pquantity"*"punitamount",2);
  SET "Vamount" = "round"("gamount"*"pVATrate"/100.0,2);
  INSERT INTO "IQacJournal"( "DocumentID","LineNumber","NominalCode","AccountingDate",
    "LedgerID","AccountCode","XRefID","XRef","Description","Amount","JournalClass","GoodsAmount",
    "VATAmount","VATRate","VATCode","PriceEach","Quantity","ProductCode",
    "UnitDescription","XRefDocumentID","XRefLineNumber","CashVATCode","CashVATAmount" ) VALUES( "pdocid",
    1+"isnull"((SELECT "max"("LineNumber") FROM "iqacjournal" WHERE "documentid" = "pdocid"),0),"pnominalcode","pdocdate",
    IF "pclass" = 'InvoiceControl' THEN "Ledger" endif,
    "pAccountCode","pTimesheetLineID","pXRef",
    "pdescription","GAmount","pclass",
    IF("pclass" = 'InvoiceControl') OR("pclass" = 'InvoiceVAT') THEN 0 ELSE "GAmount" endif,
    "VAmount","pVatRate","pVATCode",
    IF("pclass" = 'InvoiceControl') OR("pclass" = 'InvoiceVAT') THEN 0 ELSE IF "Ledger" = 'Purchase' then-"punitamount" ELSE "punitamount" endif endif,
    IF("pclass" = 'InvoiceControl') OR("pclass" = 'InvoiceVAT') THEN 0 ELSE "pQuantity" endif,
    "pTimesheetLineID","pUnitDesc",'',0,"pVATCode",0 ) 
exception
  WHEN others THEN
    resignal
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."iqacPostJournalLine" IS 
{CREATE PROCEDURE iqacPostJournalLine 
 
/* Application Maintained Function / Procedure - DO NOT EDIT*/
 
(IN pdocid CHAR(8),IN pnominalcode CHAR(12),IN pdescription long VARCHAR,IN pVATCode CHAR(3),IN pTimesheetLineID CHAR(20),IN pAccountCode CHAR(12),IN punitamount DOUBLE, 
     IN pVatRate DOUBLE,IN pquantity DOUBLE,IN pDocDate DATE,IN pUnitDesc CHAR(20),IN pXRef CHAR(1),IN pclass CHAR(20), IN Ledger CHAR(8) DEFAULT 'Sales')
BEGIN
  DECLARE gamount DOUBLE;
  DECLARE Vamount DOUBLE;
  SET gamount=round(-pquantity*punitamount,2);
  SET Vamount=round(gamount*pVATrate/100.0,2);
  INSERT INTO IQacJournal( DocumentID,LineNumber,NominalCode,AccountingDate,
    LedgerID,AccountCode,XRefID,XRef,Description,Amount,JournalClass,GoodsAmount,
    VATAmount,VATRate,VATCode,PriceEach,Quantity,ProductCode,
    UnitDescription,XRefDocumentID,XRefLineNumber,CashVATCode,CashVATAmount) VALUES( pdocid,
    1+isnull((SELECT MAX(LineNumber) FROM iqacjournal WHERE documentid = pdocid),0),pnominalcode,pdocdate,
    IF pclass = 'InvoiceControl' THEN Ledger
    endif,pAccountCode,pTimesheetLineID,pXRef,
    pdescription,GAmount,pclass,
    IF(pclass = 'InvoiceControl') OR(pclass = 'InvoiceVAT') THEN 0 ELSE GAmount endif,
    VAmount,pVatRate,pVATCode,
    IF(pclass = 'InvoiceControl') OR(pclass = 'InvoiceVAT') THEN 0 ELSE IF Ledger = 'Purchase' THEN -punitamount ELSE punitamount endif endif,
    IF(pclass = 'InvoiceControl') OR(pclass = 'InvoiceVAT') THEN 0 ELSE pQuantity endif,
    pTimesheetLineID,pUnitDesc,'',0,pVATCode,0) 
exception
  WHEN others THEN
    resignal
END
}
  • database/procedures/pears_iqacpostjournalline.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1