X++:
void settleTrans(VendTrans _vendTransDebit, VendTrans _vendTransCredit, VendTable _vendTable, TransDate _transDate = systemDateGet())
{
CustVendOpenTransManager manager;
VendTransOpen vendTransOpenDebit;
VendTransOpen vendTransOpenCredit;
SpecTransManager specTransManager = SpecTransManager::construct(_vendTable);
;
if(specTransManager.getSpecTransCount() > 0)
specTransManager.deleteAll();
manager = CustVendOpenTransManager::construct(_vendTable);
vendTransOpenDebit = _vendTransDebit.transOpen();
vendTransOpenCredit = _vendTransCredit.transOpen();
manager.parmSettlePostingDate(_transDate);
if (vendTransOpenDebit && vendTransOpenCredit)
{
manager.updateTransMarked(vendTransOpenDebit, NoYes::Yes);
manager.updateTransMarked(vendTransOpenCredit, NoYes::Yes);
manager.settleMarkedTrans();
}