project QadFinancials > class BCInvoice > method DefaultValuesLinkedInvoice


Parameters


icCInvoiceRowIdinputcharacterRow ID of the supplier invoice
iiLinkedCInvoicePostingYearinputinteger
icLinkedJournalCodeinputcharacter
iiLinkedCInvoiceVoucherinputinteger
iiCInvoicePostingYearinputinteger
icCAJournalCodeinputcharacter
iiCAVoucherinputinteger
ocVatCurrencyCodeoutputcharacter
odCInvoiceVatExchangeRateoutputdecimal
odCInvoiceVatRateScaleoutputdecimal
ocTransactionStartCountryCodeoutputcharacter
ocTransactionEndCountryCodeoutputcharacter
ocCAJournalCodeoutputcharacter
oiCAVoucheroutputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program3/bcinvoice.p)

if iiLinkedCInvoicePostingYear = ?
then assign iiLinkedCInvoicePostingYear = 0.

if icLinkedJournalCode = ?
then assign icLinkedJournalCode = "":U.

if iiLinkedCInvoiceVoucher = ?
then assign iiLinkedCInvoiceVoucher = 0.

if iiLinkedCInvoicePostingYear <> 0    and
   icLinkedJournalCode         <> "":U and
   iiLinkedCInvoiceVoucher     <> 0
then do:
    <Q-1 run CInvoiceByLinkedInvoice (all) (Read) (NoCache)
       (input viCompanyId, (CompanyId)
        input iiLinkedCInvoicePostingYear, (LinkedCInvoicePostingYear)
        input icLinkedJournalCode, (LinkedJournalCode)
        input iiLinkedCInvoiceVoucher, (LinkedCInvoiceVoucher)
        output dataset tqCInvoiceByLinkedInvoice) in BCInvoice >

    find first tqCInvoiceByLinkedInvoice where
               tqCInvoiceByLinkedInvoice.tiCompany_ID          = viCompanyId                 and
               tqCInvoiceByLinkedInvoice.tiCInvoicePostingYear = iiLinkedCInvoicePostingYear and
               tqCInvoiceByLinkedInvoice.tcJournalCode         = icLinkedJournalCode         and
               tqCInvoiceByLinkedInvoice.tiCInvoiceVoucher     = iiLinkedCInvoiceVoucher
               no-error.
end.

if iiLinkedCInvoicePostingYear = 0    or
   icLinkedJournalCode         = "":U or
   iiLinkedCInvoiceVoucher     = 0    or
   not available tqCInvoiceByLinkedInvoice
then do:
    if iiCInvoicePostingYear <> 0    and
       iiCInvoicePostingYear <> ?    and
       icCAJournalCode       <> "":U and
       icCAJournalCode       <> ?    and
       iiCAVoucher           <> 0    and
       iiCAVoucher           <> ?
    then do:
        assign vhFcComponent= ?.
        <M-2 run ReleaseNumber
           (input  viCompanyId (iiCompanyId), 
            input  iiCInvoicePostingYear (iiNumbrYear), 
            input  icCAJournalCode (icNumbrType), 
            input  iiCAVoucher (iiNumbr), 
            input  viFcCurrentInstanceId (iiInstanceId), 
            input  vcFcComponentName (icClassName), 
            output viFcReturnSuper (oiReturnStatus)) in BNumber>
        if viFcReturnSuper < 0 or (viFcReturnSuper > 0 and oiReturnStatus = 0)        
        then assign oiReturnStatus = viFcReturnSuper.
        if oiReturnStatus < 0
        then return.

        assign ocCAJournalCode = "":U
               oiCAVoucher     = 0.
    end.

    return.
end.

assign ocTransactionEndCountryCode   = tqCInvoiceByLinkedInvoice.tcTransactionEndCountryCode
       ocTransactionStartCountryCode = tqCInvoiceByLinkedInvoice.tcTransactionStartCountryCode
       ocVatCurrencyCode             = tqCInvoiceByLinkedInvoice.tcVatCurrencyCode
       odCInvoiceVatExchangeRate     = tqCInvoiceByLinkedInvoice.tdCInvoiceVatExchangeRate
       odCInvoiceVatRateScale        = tqCInvoiceByLinkedInvoice.tdCInvoiceVatRateScale.

if iiCInvoicePostingYear <> 0 and
   iiCInvoicePostingYear <> ?
then do:
    if icCAJournalCode = "":U or
       icCAJournalCode = ?
    then do:
        <M-3 run GetCAJournalCode
           (output ocCAJournalCode (ocCAJournalCode), 
            output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
    end.
    else assign ocCAJournalCode = icCAJournalCode.

    if ocCAJournalCode = "":U or
       ocCAJournalCode = ?    or
       ocCAJournalCode = icCAJournalCode
    then assign oiCAVoucher = iiCAVoucher.
    else do:
        <M-4 run DefaultValuesCAJournal
          (input  icCInvoiceRowId (icCInvoiceRowId), 
           input-output ocCAJournalCode (bcCAJournalCode), 
           input  iiCInvoicePostingYear (iiCInvoicePostingYear), 
           input  iiCInvoicePostingYear (iiOldCInvoicePostingYear), 
           input  icCAJournalCode (icOldCAJournalCode), 
           input  iiCAVoucher (iiOldCAVoucher), 
           output oiCAVoucher (oiCAVoucher), 
           output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        if viFcReturnSuper < 0 or (viFcReturnSuper > 0 and oiReturnStatus = 0)        
        then assign oiReturnStatus = viFcReturnSuper.
        if oiReturnStatus < 0
        then return.
    end.
end.