project QadFinancials > class BBankNumber > method CalculateBankNumber

Description

Converts some IDs to its Code representation for some BankNumber fields (e.g. ParentObject_ID)
Note: work with buffer tBankNumber


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBankNumber.Calculate


program code (program1/bbanknumber.p)

if tBankNumber.ParentObject_ID > 0
then case tBankNumber.BankNumberParentType:
    when {&BANKNUMBERPARENTTYPE-CREDITOR}
    then do:
        <Q-2 run CreditorPrim (all) (Read) (NoCache)
          (input viCompanyId, (CompanyId)
           input tBankNumber.ParentObject_ID, (CreditorId)
           input ?, (CreditorCode)
           output dataset tqCreditorPrim) in BCreditor >
        find first tqCreditorPrim no-error.
        if available tqCreditorPrim
        then assign tBankNumber.tcParentObjectCode = tqCreditorPrim.tcCreditorCode. 
        else assign tBankNumber.tcParentObjectCode = "":U.
    end.
    
    when {&BANKNUMBERPARENTTYPE-DEBTOR}
    then do:
        <Q-4 run DebtorPrim (all) (Read) (NoCache)
          (input viCompanyId, (CompanyId)
           input ?, (DebtorCode)
           input tBankNumber.ParentObject_ID, (Debtor_ID)
           output dataset tqDebtorPrim) in BDebtor >
        find first tqDebtorPrim no-error.
        if available tqDebtorPrim
        then assign tBankNumber.tcParentObjectCode = tqDebtorPrim.tcDebtorCode. 
        else assign tBankNumber.tcParentObjectCode = "":U.
    end.
    
    when {&BANKNUMBERPARENTTYPE-EMPLOYEE}
    then do:    
        <Q-6 run EmployeePrim (all) (Read) (NoCache)
          (input tBankNumber.ParentObject_ID, (EmployeeId)
           input ?, (EmployeeCode)
           input viCompanyId, (CompanyId)
           output dataset tqEmployeePrim) in BEmployee >
        find first tqEmployeePrim no-error.
        if available tqEmployeePrim
        then assign tBankNumber.tcParentObjectCode = tqEmployeePrim.tcEmployeeCode. 
        else assign tBankNumber.tcParentObjectCode = "":U.
    end.
    
    when {&BANKNUMBERPARENTTYPE-GL}
    then do:
        <Q-8 run GLPrim (all) (Read) (NoCache)
          (input viCompanyId, (CompanyId)
           input ?, (GLCode)
           input tBankNumber.ParentObject_ID, (GLId)
           output dataset tqGLPrim) in BGL >
        find first tqGLPrim no-error.
        if available tqGLPrim
        then assign tBankNumber.tcParentObjectCode = tqGLPrim.tcGLCode. 
        else assign tBankNumber.tcParentObjectCode = "":U.
    end.    
    otherwise assign tBankNumber.tcParentObjectCode = "":U.
end.
else assign tBankNumber.tcParentObjectCode = "":U.