project QadFinancials > class BDInvoice > method CreateDInvoiceMovementsCrossCyVal

Description

Implement some extra validations to ensure, cross company deamon will not fail during processing.


Parameters


iiPostingLine_IDinputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BDInvoice.CreateDInvoiceMovementsCrossCy


program code (program3/bdinvoice.p)

assign oiReturnStatus = -98
       viLocalReturn  = 0.
     
MAIN_BLOCK:
do on error undo, leave:
    
    /* Get posting details */
    <M-37 run GetPostingInfoByPostingLineID
       (input  iiPostingLine_ID (iiPostingLineID), 
        output vtPostingDate (otPostingDate), 
        output viDummy (oiPeriodID), 
        output viDummy (oiPostingYearPeriod), 
        output vcDummy (ocJournalCode), 
        output vcDummy (ocJournalTypeCode), 
        output vcDummy (ocLayerTypeCode), 
        output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
    if viFcReturnSuper < 0 or viFcReturnSuper > 0 and viLocalReturn = 0 then assign viLocalReturn = viFcReturnSuper.
    if viFcReturnSuper < 0 then leave MAIN_BLOCK.
    
    if vtPostingDate < tqDInvoiceForPaymentExt.ttDInvoicePostingDate
    then do:
         vcDatetemp =     <M-75 DisplayDate  (input  tqDInvoiceForPaymentExt.ttDInvoicePostingDate (itDate)) in BDInvoice>.
        <M-27 run SetMessage
           (input  #T-80'Date of an AR Movement can not be earlier then the Customer Invoice Posting Date.':255(73426690)T-80# (icMessage), 
            input  '':U (icArguments), 
            input  'tDInvoice.DInvoicePostingDate' (icFieldName), 
            input  vcDatetemp (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  '':U (icRowid), 
            input  'qadfin-144874':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
        assign viLocalReturn = -1.
    end. /* if can-find(first tPostingPostingLineInfoDIJE where */
end. /* of MAIN_BLOCK */

assign oiReturnStatus = viLocalReturn.