project BLF > class BSystem > method ActivateSOD
Description
Single procedure for activating SOD
Parameters
ilActive | input | logical | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/bsystem.p)
<M-4 run DataLoad
(input '' (icRowids),
input '' (icPkeys),
input '' (icObjectIds),
input '' (icFreeform),
input no (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
find first tSyst. /* must exist */
if tSyst.SystSODActive = ?
then do:
<M-72 run SetMessage
(input #T-15'SOD activation is still running.':255(537450102)T-15# (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D' (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'blf-735202':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
oiReturnStatus = -1.
return.
end.
if ilActive = no and tSyst.SystSODActive = no
then do:
<M-45 run SetMessage
(input #T-6'SOD is already deactivated.':255(153950732)T-6# (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D' (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'blf-74758':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
oiReturnStatus = -1.
return.
end.
if ilActive = yes and tSyst.SystSODActive = yes
then do:
<M-60 run SetMessage
(input #T-14'SOD is already active.':255(126646525)T-14# (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D' (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'blf-65968':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
oiReturnStatus = -1.
return.
end.
assign tSyst.SystSODActive = ilActive
tSyst.SystSODBlockViolations = no /* do not block violations as this may prevent the activation */
tSyst.tc_Status = "C".
<M-5 run ValidateBC (output viFcReturnSuper (oiReturnStatus)) in BSystem>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
<M-53 run AdditionalUpdates (output viFcReturnSuper (oiReturnStatus)) in BSystem>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
<M-66 run DataSave (output viFcReturnSuper (oiReturnStatus)) in BSystem>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.