Description
This method updates log record with end of merge.
Parameters
| icMasterSharedSet | input | character | |
| icRedundantSharedSet | input | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program6/bsharedsetmergelog.p)
/* =================================================================================================== */
/* Method : LogEndMerge */
/* Desc : This method updates log record with end of merge. */
/* --------------------------------------------------------------------------------------------------- */
/* Params: (I) MasterSharedSet Master shared set */
/* (I) RedundantSharedSet Redundant shared set */
/* =================================================================================================== */
assign oiReturnStatus = -98.
/* =================================================================================================== */
/* Normalize input parameters */
/* =================================================================================================== */
if icMasterSharedSet = '':U then assign icMasterSharedSet = ?.
if icRedundantSharedSet = '':U then assign icRedundantSharedSet = ?.
/* =================================================================================================== */
/* Validate input parameters */
/* =================================================================================================== */
if icMasterSharedSet = ? or
icRedundantSharedSet = ?
then do:
assign vcMessage = #T-8'You have not entered all the mandatory values.':255(63250)t-8#
vcContext = 'MasterSharedSet=&1|RedundantSharedSet=&2':U
vcContext = substitute(vcContext, icMasterSharedSet, icRedundantSharedSet)
vcContext = replace(vcContext, '|':U, chr(2)).
<M-1 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6610':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input vcContext (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
assign oiReturnStatus = -1.
return.
end.
/* =================================================================================================== */
/* Pre validation - check record for ongoing merge */
/* =================================================================================================== */
<Q-2 run SharedSetMergeLogByFinished (all) (Read) (NoCache)
(input false, (IsFinished)
output dataset tqSharedSetMergeLogByFinished) in BSharedSetMergeLog >
find tqSharedSetMergeLogByFinished no-error.
if not available tqSharedSetMergeLogByFinished
then do:
assign vcMessage = #T-9'There is no log record for the current merge.':255(63915)t-9#.
<M-3 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6611':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
assign oiReturnStatus = -1.
return.
end.
/* =================================================================================================== */
/* Update existing record and mark this merge as finished */
/* =================================================================================================== */
<M-10 run DataLoad
(input '':U (icRowids),
input '':U (icPkeys),
input string(tqSharedSetMergeLogByFinished.tiSharedSetMergeLog_ID) (icObjectIds),
input '':U (icFreeform),
input false (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
find first tSharedSetMergeLog where
tSharedSetMergeLog.SharedSetMergeLogMaster = icMasterSharedSet and
tSharedSetMergeLog.SharedSetMergeLogRedundant = icRedundantSharedSet and
tSharedSetMergeLog.SharedSetMergeLogIsFinish = false no-error.
if not available tSharedSetMergeLog
then do:
assign vcMessage = #T-12'Cannot find record by ID.':255(63916)T-12#.
<M-11 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6612':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
assign oiReturnStatus = -1.
return.
end.
assign tSharedSetMergeLog.SharedSetMergeLogIsFinish = true
tSharedSetMergeLog.SharedSetMergeLogEndDate = today
tSharedSetMergeLog.SharedSetMergeLogEndTime = time
tSharedSetMergeLog.tc_Status = 'C':U.
/* =================================================================================================== */
/* Save data to database */
/* =================================================================================================== */
<M-5 run ValidateBC
(output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
<M-6 run AdditionalUpdates
(output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
<M-7 run DataSave
(output viFcReturnSuper (oiReturnStatus)) in BSharedSetMergeLog>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
/* =================================================================================================== */
/* Return */
/* =================================================================================================== */
if oiReturnStatus = -98 then assign oiReturnStatus = 0.