project QadFinancials > class BCInvoice > method DefaultValuesPostingYear


Parameters


icCInvoiceRowIdinputcharacterRow ID of the supplier invoice
iiCInvoicePostingYearinputinteger
iiCInvoicePostingPeriodinputinteger
icCurrencyCodeinputcharacter
icOwnVatCurrencyCodeinputcharacter
itCInvoiceTaxPointDateinputdate
icJournalCodeinputcharacter
icCInvoiceTypeinputcharacter
iiOldCInvoicePostingYearinputinteger
iiCInvoiceVoucherinputinteger
icCAJournalCodeinputcharacter
iiCAVoucherinputinteger
ilCInvoiceIsInitialStatusinputlogical
itCInvoiceDateinputdate
otCInvoicePostingDateoutputdate
odCInvoiceExchangeRateoutputdecimal
odCInvoiceRateScaleoutputdecimal
odCInvoiceVatExchangeRateoutputdecimal
odCInvoiceVatRateScaleoutputdecimal
oiCInvoiceVoucheroutputinteger
oiCAVoucheroutputinteger
odCInvoiceCCExchangeRateoutputdecimal
odCInvoiceCCRateScaleoutputdecimal
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program3/bcinvoice.p)

if iiCInvoicePostingYear = ?
then assign iiCInvoicePostingYear = 0.

if iiCInvoicePostingPeriod = ?
then assign iiCInvoicePostingPeriod = 0.

if iiOldCInvoicePostingYear = ?
then assign iiOldCInvoicePostingYear = 0.

if iiCInvoicePostingYear   <> 0 and
   iiCInvoicePostingPeriod <> 0
then do:
    assign vhFcComponent = ?.

    <M-1 run GetDefaultPeriodDate
       (input  iiCInvoicePostingYear (iiYearIn), 
        input  iiCInvoicePostingPeriod (iiPeriodIn), 
        input  ? (itDateIn), 
        input  true (ilOpenForPurchase), 
        input  ? (ilOpenForSales), 
        input  ? (ilOpenForInventory), 
        output viDummy (oiYear), 
        output viDummy (oiPeriod), 
        output otCInvoicePostingDate (otPostingDate), 
        output viFcReturnSuper (oiReturnStatus)) in BPeriod>
    if viFcReturnSuper < 0 or (viFcReturnSuper > 0 and oiReturnStatus = 0)        
    then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0
    then return.
    
    find tCInvoice where 
         tCInvoice.tc_Rowid = icCInvoiceRowId
         no-lock no-error.
    if not available tCInvoice
    then do :
         <M-65 run SetMessage
            (input  #T-15'The specified supplier invoice is not defined in the system or is invalid.':80(999890907)T-15# (icMessage), 
             input  '':U (icArguments), 
             input  '':U (icFieldName), 
             input  '':U (icFieldValue), 
             input  'D':U (icType), 
             input  3 (iiSeverity), 
             input  '':U (icRowid), 
             input  'qadfin-548575':U (icFcMsgNumber), 
             input  '':U (icFcExplanation), 
             input  '':U (icFcIdentification), 
             input  '':U (icFcContext), 
             output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        assign oiReturnStatus = -1.
        return.
    end. /* if not available tCInvoice */
       
    <M-2 run DefaultValuesCurrency
       (input  tCInvoice.Company_ID (iiCompanyID), 
        input  icCurrencyCode (icCurrencyCode), 
        input  ? (iiCurrencyId), 
        input  otCInvoicePostingDate (itCInvoicePostingDate), 
        input  icOwnVatCurrencyCode (icOwnVatCurrencyCode), 
        input  itCInvoiceTaxPointDate (itCInvoiceTaxPointDate), 
        input  itCInvoiceDate (itCInvoiceDate), 
        output odCInvoiceExchangeRate (odCInvoiceExchangeRate), 
        output odCInvoiceRateScale (odCInvoiceRateScale), 
        output odCInvoiceVatExchangeRate (odCInvoiceVatExchangeRate), 
        output odCInvoiceVatRateScale (odCInvoiceVatRateScale), 
        output odCInvoiceCCExchangeRate (odCInvoiceCCExchangeRate), 
        output odCInvoiceCCRateScale (odCInvoiceCCRateScale), 
        output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
    if viFcReturnSuper < 0 or (viFcReturnSuper > 0 and oiReturnStatus = 0)        
    then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0
    then return.
end.

if iiCInvoicePostingYear <> iiOldCInvoicePostingYear 
then do:

    <M-3 run DefaultValuesJournal
       (input  icCInvoiceRowId (icCInvoiceRowId), 
        input-output icJournalCode (bcJournalCode), 
        input  iiCInvoicePostingYear (iiCInvoicePostingYear), 
        input  icCInvoiceType (icCInvoiceType), 
        input  iiOldCInvoicePostingYear (iiOldCInvoicePostingYear), 
        input  icJournalCode (icOldJournalCode), 
        input  iiCInvoiceVoucher (iiOldCInvoiceVoucher), 
        input  ilCInvoiceIsInitialStatus (ilCInvoiceIsInitialStatus), 
        output oiCInvoiceVoucher (oiCInvoiceVoucher), 
        output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
    if viFcReturnSuper < 0 or (viFcReturnSuper > 0 and oiReturnStatus = 0)        
    then assign oiReturnStatus = viFcReturnSuper.
    if oiReturnStatus < 0
    then return.    

    <M-4 run DefaultValuesCAJournal
          (input  icCInvoiceRowId (icCInvoiceRowId), 
           input-output icCAJournalCode (bcCAJournalCode), 
           input  iiCInvoicePostingYear (iiCInvoicePostingYear), 
           input  iiOldCInvoicePostingYear (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.
else assign oiCInvoiceVoucher = iiCInvoiceVoucher
            oiCAVoucher       = iiCAVoucher.