project QadFinancials > class BMFGLegalDocument > method GetLegalDocumentDetForAPMatchingTax

Description

This procedure retrieves details for legal document line for Material


Parameters


icTaxDomaininputcharacter
icTaxReferenceinputcharacter
icOrderNumberinputcharacter
icLcChargeinputcharacter
iiTaxLineinputinteger
icTaxTrailerinputcharacter
icParentRowIdinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BMFGLegalDocument.GetLegalDocumentDetForAPMatching
method BMFGLegalDocument.GetLegalDocumentDetForAPMatchingLCDist


program code (program5/bmfglegaldocument.p)

/* ====================================================================================== *
 * Method       : GetLgddDetMatForAPMatchingLCTax                                         *
 * Description  : This method retrieves tax details for Logistic charge legal document    *
 *                line                                                                    *
 * ====================================================================================== */

MAIN_BLOCK:
do on error undo, throw:

    assign vcOrderNumber = if icOrderNumber <> ? and
                              icOrderNumber <> "":U
                           then icOrderNumber
                           else icLcCharge.


    /* Process the taxes */
    <Q-61 run TaxDetailByKey (all) (Read) (NoCache)
       (input icTaxDomain, (Tx2dDomain)
        input icTaxReference, (Tx2dReference)
        input vcOrderNumber, (Tx2dNumber)
        input iiTaxLine, (Tx2dLine)
        input icTaxTrailer, (Tx2dTrailer)
        input ?, (Tx2dTransactionType)
        input ?, (Tx2dTaxCode)
        output dataset tqTaxDetailByKey) in BMfgTaxDetail>

    
    for each tqTaxDetailByKey where
             tqTaxDetailByKey.tctx2d_domain   = icTaxDomain                                               and
             tqTaxDetailByKey.tctx2d_ref      = icTaxReference                                            and
             tqTaxDetailByKey.tctx2d_nbr      = vcOrderNumber                                             and
             tqTaxDetailByKey.titx2d_line     = iiTaxLine                                                 and
             (tqTaxDetailByKey.tctx2d_trl     = icTaxTrailer  or icTaxTrailer = "":U or icTaxTrailer = ?) and
             (tqTaxDetailByKey.tctx2d_tr_type = '45' or
              tqTaxDetailByKey.tctx2d_tr_type = '43' or
              tqTaxDetailByKey.tctx2d_tr_type = '21' or
              tqTaxDetailByKey.tctx2d_tr_type = '27' or 
              tqTaxDetailByKey.tctx2d_tr_type = '25' or
              tqTaxDetailByKey.tctx2d_tr_type = '60' or
              tqTaxDetailByKey.tctx2d_tr_type = '17' or
              tqTaxDetailByKey.tctx2d_tr_type = '30')
              :

        find first tLgddDetTaxForAPM where 
                   tLgddDetTaxForAPM.tctx2d_domain   = tqTaxDetailByKey.tctx2d_domain   and
                   tLgddDetTaxForAPM.tctx2d_ref      = tqTaxDetailByKey.tctx2d_ref      and
                   tLgddDetTaxForAPM.tctx2d_nbr      = tqTaxDetailByKey.tctx2d_nbr      and
                   tLgddDetTaxForAPM.titx2d_line     = tqTaxDetailByKey.titx2d_line     and
                   tLgddDetTaxForAPM.tctx2d_tax_code = tqTaxDetailByKey.tctx2d_tax_code and
                   tLgddDetTaxForAPM.tctx2d_trl      = tqTaxDetailByKey.tctx2d_trl      and
                   tLgddDetTaxForAPM.tctx2d_tr_type  = tqTaxDetailByKey.tctx2d_tr_type  and
                   tLgddDetTaxForAPM.tc_ParentRowid  = icParentRowId
                   no-error.

        if not available tLgddDetTaxForAPM
        then do:
            create tLgddDetTaxForAPM.
            buffer-copy tqTaxDetailByKey 
                 except tdtx2d_abs_ret_amt tdtx2d_cur_recov_amt tdtx2d_cur_tax_amt tdtx2d_tax_amt tdtx2d_taxable_amt tdtx2d_tottax tdtx2d_totamt  
                     to tLgddDetTaxForAPM.
            assign tLgddDetTaxForAPM.tc_ParentRowid = icParentRowId.
        end. /* if not available tLgddDetTaxForAPM .. */

        assign tLgddDetTaxForAPM.tdtx2d_abs_ret_amt   = <M-31 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_abs_ret_amt   + tqTaxDetailByKey.tdtx2d_abs_ret_amt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_cur_recov_amt = <M-14 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_cur_recov_amt + tqTaxDetailByKey.tdtx2d_cur_recov_amt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_cur_tax_amt   = <M-5 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_cur_tax_amt   + tqTaxDetailByKey.tdtx2d_cur_tax_amt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_tax_amt       = <M-19 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_tax_amt       + tqTaxDetailByKey.tdtx2d_tax_amt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_taxable_amt   = <M-60 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_taxable_amt   + tqTaxDetailByKey.tdtx2d_taxable_amt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_tottax        = <M-21 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_tottax        + tqTaxDetailByKey.tdtx2d_tottax (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>
               tLgddDetTaxForAPM.tdtx2d_totamt        = <M-29 RoundAmount
                                                           (input  tLgddDetTaxForAPM.tdtx2d_totamt        + tqTaxDetailByKey.tdtx2d_totamt (idUnroundedAmount), 
                                                            input  ? (iiCurrencyID), 
                                                            input  vcCompanyLC (icCurrencyCode)) in BMFGLegalDocument>.
         
    end. /* for each tqTaxDetailByKey where ..... */
end. /* MAIN_BLOCK */