project QadFinancials > class BBankEntry > method GetDefaultCCProjDivForPrePay


Parameters


iiIdinputinteger
icCodeinputcharacter
icInvoiceOrigininputcharacter
ocCostCentreCodeoutputcharacter
ocProjectCodeoutputcharacter
ocDivisionCodeoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCDocument.AdditionalUpdatesPostingPrePayment
method BCDocument.DefaultValuesPrepayment
method BDDocument.AdditionalUpdatesPostingPrePayment
method BDDocument.DefaultValuesPrepayment


program code (program3/bbankentry.p)

/* replace unknown values */
if iiId = ? then assign iiId = 0.
if icCode = ? then assign icCode = "":U.
if icInvoiceOrigin = ? then assign icInvoiceOrigin = "":U.

if icCode = "":U and iiId = 0
then return.

case icInvoiceOrigin :
    when {&INVOICEORIGIN-CREDITOR}
    then do:
        <Q-1 run CreditorByCreditor (all) (Read) (NoCache)
           (input iiId, (CreditorId)
            input viCompanyId, (CompanyId)
            input if iiId = 0 then icCode else '':U, (CreditorCode)
            input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
            output dataset tqCreditorByCreditor) in BCreditor >

        find first tqCreditorByCreditor no-error.
        if available tqCreditorByCreditor
        then do:
            <M-2 run GetDefaultCCProjDivForControlGL
               (input  tqCreditorByCreditor.tiPrePayControlGLProfile_ID (iiControlGLProfileId), 
                input  tqCreditorByCreditor.tiDivisionProfile_ID (iiDivisionProfileId), 
                output vcGLCode (ocGLCode), 
                output ocCostCentreCode (ocCostCentreCode), 
                output ocProjectCode (ocProjectCode), 
                output ocDivisionCode (ocDivisionCode), 
                output viFcReturnSuper (oiReturnStatus)) in BBankEntry> 
         end.
    end.

    when {&INVOICEORIGIN-DEBTOR}
    then do:
        <Q-3 run DebtorByDebtor (all) (Read) (NoCache)
           (input viCompanyId, (CompanyId)
            input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
            input iiId, (DebtorId)
            input if iiId = 0 then icCode else '':U, (DebtorCode)
            output dataset tqDebtorByDebtor) in BDebtor >

        find first tqDebtorByDebtor no-error.
        if available tqDebtorByDebtor
        then do:
            <M-4 run GetDefaultCCProjDivForControlGL
               (input  tqDebtorByDebtor.tiPrePayControlGLProfile_ID (iiControlGLProfileId), 
                input  tqDebtorByDebtor.tiDivisionProfile_ID (iiDivisionProfileId), 
                output vcGLCode (ocGLCode), 
                output ocCostCentreCode (ocCostCentreCode), 
                output ocProjectCode (ocProjectCode), 
                output ocDivisionCode (ocDivisionCode), 
                output viFcReturnSuper (oiReturnStatus)) in BBankEntry>
        end.
    end.
end case.