D365/AX7: Update Custom Fields In CustTrans/VendTrans From LedgerJournalTrans during the posting of journal

Requirement

Need to update/carry/flow Custom Fields In CustTrans/VendTrans From LedgerJournalTrans during the posting of journal.

Sample Code

[ExtensionOf(classStr(CustVendVoucher))]

final class AcxCustVendVoucher_Extension

{

public void post(

LedgerVoucher _ledgerPostingJournal,

CustVendTrans _custVendTrans,

NoYes _approval,

UnknownNoYes _euroTriangulation,

boolean _withHoldTaxType,

boolean _useSubLedger)

{

LedgerJournalTrans  ledgerJournalTransLocal;

VendTrans   vendTransUpdate;

Common  commonLocal = common;




next post(_ledgerPostingJournal, _custVendTrans, _approval, _euroTriangulation, _withHoldTaxType, _useSubLedger);

if (commonLocal.TableId == tableNum(LedgerJournalTrans))

{

ledgerJournalTransLocal = commonLocal;

if (_custVendTrans.tableid == tableNum(vendTrans))

{

ttsbegin;

//*******NOT Recommended*********

//either update in vendTrans or custtrans

select firstonly1 vendTransUpdate

where vendTransUpdate.RecId == _custVendTrans.RecId;

vendTransUpdate.selectForUpdate(true);

vendTransUpdate.DocumentNum = ledgerJournalTransLocal.accountName();

vendTransUpdate.doUpdate();

ttscommit;

//*******Recommended*********

//or insert record with reference of VendTrans.RecId into a seperate table like AcxVendTrans

}

}

}




}


Leave a Reply