project QadFinancials > class BCInvoice > method ValidateComponentPostDaybookSet


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.ValidateComponentPost


program code (program5/bcinvoice.p)

        
    assign vlAllowUpdateDaybookOnInvoice = (if vlPOCAllowUpdateDaybookOnInv <> ? 
                                            then vlPOCAllowUpdateDaybookOnInv
                                            else false).
    
    if not vlAllowUpdateDaybookOnInvoice
    then do:
        if(t_sCInvoice.CInvoiceDayBookSetCode = "":U or 
           t_sCInvoice.CInvoiceDayBookSetCode = ?)       
        then do: 
            <M-15 run SetMessage
               (input  trim(#T-17'Blank Daybook Set is not allowed':200(73466304)T-17#) (icMessage), 
                input  '':U (icArguments), 
                input  'tCInvoice.CinvoiceDaybookSetCode':U (icFieldName), 
                input  t_sCInvoice.CInvoiceDayBookSetCode (icFieldValue), 
                input  'E':U (icType), 
                input  3 (iiSeverity), 
                input  t_sCInvoice.tc_Rowid (icRowid), 
                input  'QadFin-9626':U:U (icFcMsgNumber), 
                input  '':U (icFcExplanation), 
                input  '':U (icFcIdentification), 
                input  '':U (icFcContext), 
                output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
        
            assign oiReturnStatus = -1. 
            return.
        end.     
        
        if  t_sCInvoice.tc_Status     = "N":U or
           (t_sCInvoice.tc_Status     = "C":U and
            t_sCInvoice.CInvoiceDayBookSetCode <> t_iCInvoice.CInvoiceDayBookSetCode) and
           (t_sCInvoice.CInvoiceDayBookSetCode <> "":U and 
            t_sCInvoice.CInvoiceDayBookSetCode <> ?)
        then do:         
            <Q-10 run DaybookSetByCodeBySite (all) (Read) (Cache)
               (input t_sCInvoice.CInvoiceDayBookSetCode, (DaybookSetCode)
                input ?, (Site)
                input vcDomainCode, (DomainCode)
                output dataset tqDaybookSetByCodeBySite) in BMfgDaybookSet>    
            find first tqDaybookSetByCodeBySite where
                       tqDaybookSetByCodeBySite.tcdybs_code   = t_sCInvoice.CInvoiceDayBookSetCode and
                       tqDaybookSetByCodeBySite.tcdybs_type   = "2":U and
                       tqDaybookSetByCodeBySite.tcdybs_domain = vcDomainCode
                       no-error.
            if available tqDaybookSetByCodeBySite 
            then do:
                if tqDaybookSetByCodeBySite.tldybs_active <> true 
                then do:
                    <M-18 run SetMessage
                       (input  trim(#T-20'Daybook Set is not active':200(591289688)T-20#) (icMessage), 
                        input  '':U (icArguments), 
                        input  'tCInvoice.CinvoiceDaybookSetCode':U (icFieldName), 
                        input  t_sCInvoice.CInvoiceDayBookSetCode (icFieldValue), 
                        input  'E':U (icType), 
                        input  3 (iiSeverity), 
                        input  t_sCInvoice.tc_Rowid (icRowid), 
                        input  'QadFin-9587':U:U (icFcMsgNumber), 
                        input  '':U (icFcExplanation), 
                        input  '':U (icFcIdentification), 
                        input  '':U (icFcContext), 
                        output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
                    assign oiReturnStatus = -1.
                end.   /* if tqDaybookSetByCodeBySite.tldybs_active <> true  */
            end. /* if available tqDaybookSetByCodeBySite */
            else do:
                <M-5 run SetMessage
                   (input  trim(#T-13'Invalid daybook set code':200(999890926)T-13#) (icMessage), 
                    input  '':U (icArguments), 
                    input  'tCInvoice.CinvoiceDaybookSetCode':U (icFieldName), 
                    input  t_sCInvoice.CInvoiceDayBookSetCode (icFieldValue), 
                    input  'E':U (icType), 
                    input  3 (iiSeverity), 
                    input  t_sCInvoice.tc_Rowid (icRowid), 
                    input  'QadFin-9449':U (icFcMsgNumber), 
                    input  '':U (icFcExplanation), 
                    input  '':U (icFcIdentification), 
                    input  '':U (icFcContext), 
                    output viFcReturnSuper (oiReturnStatus)) in BCInvoice>
                assign oiReturnStatus = -1.
            end. /* Not if available tqDaybookSetByCodeBySite */
        end. /* if  t_sCInvoice.tc_Status     = "N":U or */
        
    end. /* if not vlAllowUpdateDaybookOnInvoice */