Files
ctg-app-ui/bat/etc/OBATJOB1/ChangeToNormal_CTL.XML
2021-01-12 22:04:24 +08:00

99 lines
2.7 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Root>
<!--切换到正常窗口-->
<Transaction code="ChangeToNormal" log_switch="INFO">
<!--后处理 -->
<Function name="_after">
<Process>
<If condition="IS_SUCC($GWA.MSG_CD)">
<Exec func="PUB:CommitWork" error="IGNORE" />
</If>
<Else>
<Exec func="PUB:RollbackWork" />
</Else>
</Process>
</Function>
<!--获取当前系统运行状态-->
<DynSentence name="GET_RUN_STS">
<Sentence>
SELECT * FROM PUBTRSTS
</Sentence>
</DynSentence>
<!--获取当前批处理状态-->
<DynSentence name="GET_BATCH_STS">
<Sentence>
SELECT * FROM PUBTBSTS WHERE AC_DT=?
</Sentence>
<Fields>LAST_AC_DT|</Fields>
</DynSentence>
<!--切换会计日期-->
<DynSentence name="SWITCH2NORMAL">
<Sentence>
UPDATE PUBTRSTS SET
WIN_STS='N',
LAST_UPD_DT=?,
LAST_UPD_TM=?
WHERE WIN_STS='B'
</Sentence>
<Fields>CUR_DAT|CUR_TIM|</Fields>
</DynSentence>
<FlowCtrl>
<!--取系统运行状态-->
<Exec func="PUB:SwitchDS">
<Arg name="name" value="_DB_PUB" />
</Exec>
<Set>SYS_ID=ORA001</Set>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="GET_RUN_STS" />
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:GWASetMsg">
<!-- @msg {1} -->
<Arg name="MsgCd" value="MNG60151" />
<Arg name="MsgDat" value="系统运行状态表没有记录" />
</Exec>
<Return />
</If>
<ElseIf condition="$WIN_STS=N">
<Exec func="PUB:GWASetMsg">
<!-- @msg {1} -->
<Arg name="MsgCd" value="MNG60152" />
<Arg name="MsgDat" value="当前已经是正常窗口" />
</Exec>
<Return />
</ElseIf>
<ElseIf condition="$WIN_STS!=B">
<Exec func="PUB:GWASetMsg">
<!-- @msg {1} -->
<Arg name="MsgCd" value="MNG60153" />
<Arg name="MsgDat" value="当前非批处理窗口,不允许进入正常窗口!" />
</Exec>
<Return />
</ElseIf>
<Set>CUR_DAT_TIM=GETDATETIME()</Set>
<Set>CUR_DAT=SUBSTR($CUR_DAT_TIM,1,8)</Set>
<Set>CUR_TIM=SUBSTR($CUR_DAT_TIM,9,6)</Set>
<Set>SYS_ID=ORA003</Set>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="SWITCH2NORMAL" />
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:RollbackWork" />
<Exec func="PUB:GWASetMsg">
<!-- @msg {1} -->
<arg name="MsgCd" value="MNG60156" />
<Arg name="MsgDat" value="更新表PUBTRSTS失败!" />
</Exec>
<Return />
</If>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="000000" />
<Arg name="MsgDat" value="成功切换到正常窗口!" />
</Exec>
</FlowCtrl>
</Transaction>
</Root>