project QadFinancials > class BMFGLegalDocument > method GetLegalDocumentDetForAPMatchingTax
Description
This procedure retrieves details for legal document line for Material
Parameters
icTaxDomain | input | character | |
icTaxReference | input | character | |
icOrderNumber | input | character | |
icLcCharge | input | character | |
iiTaxLine | input | integer | |
icTaxTrailer | input | character | |
icParentRowId | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
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 */