Description
Procedure that controls the Create/Update/Delete operations on the ctd_det record in MfgPro.
Parameters
Internal usage
QadFinancials
program code (program1/bmfgcredittermsdetail.p)
/* Buffer bCopyPaymentConditionStaged defined on table tCopyPaymentConditionStaged */
/* for the assignment of staged payment condition code with Delete Status */
define buffer bCopyPaymentConditionStaged for tCopyPaymentConditionStaged.
/* ====================================================== */
/* Set the return status to unexpected system error (-98) */
/* ====================================================== */
assign oiReturnStatus = -98.
/* =============================================================================================== */
/* Execute the ProcessMaintainData method to execute the generic processing of the update in the */
/* Financials across to the MFG/PRO database. (this method can be called from within a Loop) */
/* First: clear the instance */
/* Last: call ProcessMaintainDataSave to save the data */
/* =============================================================================================== */
<M-1 run ClearData (output viFcReturnSuper (oiReturnStatus)) in BMfgCreditTermsDetail>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then Return.
/* For each record in tCopyPaymentConditionStaged the Payment Condition Code record is */
/* checked in financials and if record is not found a record with Delete Status is created */
for each tCopyPaymentConditionStaged
break by tCopyPaymentConditionStaged.tcPaymentConditionCode:
if first-of (tCopyPaymentConditionStaged.tcPaymentConditionCode)
then do:
<Q-8 run CreditTermsDetailByDomainCode (all) (Read) (NoCache)
(input vcDomainCode, (Domain)
input tcPaymentConditioncode, (PaymentConditionCode)
input ?, (StagedPaymentConditionCode)
output dataset tqCreditTermsDetailByDomainCode) in BMfgCreditTermsDetail >
for each tqCreditTermsDetailByDomainCode:
if not can-find (bCopyPaymentConditionStaged where
bCopyPaymentConditionStaged.tcPaymentConditionCode = tqCreditTermsDetailByDomainCode.tcctd_code and
bCopyPaymentConditionStaged.tcStagedPaymentConditionCode = tqCreditTermsDetailByDomainCode.tcctd_date_cd)
then do:
create bCopyPaymentConditionStaged.
assign bCopyPaymentConditionStaged.tcPaymentConditionCode = tqCreditTermsDetailByDomainCode.tcctd_code
bCopyPaymentConditionStaged.tcStagedPaymentConditionCode = tqCreditTermsDetailByDomainCode.tcctd_date_cd
bCopyPaymentConditionStaged.tc_Status = 'D'.
end. /* if no can-find bCopyPaymentConditionStaged */
end. /* FOR EACH tqCreditTermsDetailByDomainCode */
end. /* if first-of (tCopyPaymentConditionStaged.tcPaymentConditionCode) */
end. /* for each tCopyPaymentConditionStaged */
<Q-7 run DomainsForName (all) (Read) (NoCache)
(output dataset tqDomainsForName) in BDomain >
for each tqDomainsForName where
tqDomainsForName.tlDomainPropertyIsSetupCompl = true:
/* save the domain code which is currently being processed */
assign vcCreditTermsDetailDomain = tqDomainsForName.tcDomainCode.
<M-6 run ProcessMaintainData (output viFcReturnSuper (oiReturnStatus)) in BMfgCreditTermsDetail>
if viFcReturnSuper <> 0
then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then Return.
end. /* end of for each tqSelectDomainsForName... */
<M-4 run ProcessMaintainDataSave (output viFcReturnSuper (oiReturnStatus)) in BMfgCreditTermsDetail>
if viFcReturnSuper <> 0
then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then Return.
/* ======================== */
/* Set ReturnStatus = OK */
/* ======================== */
if oiReturnStatus = -98
then assign oiReturnStatus = 0.