Академический Документы
Профессиональный Документы
Культура Документы
FUNCTION MFICO_AA_RSPC_START.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_P_CHIAN) TYPE RSPC_CHAIN OPTIONAL
*" EXPORTING
*" VALUE(E_P_STATE) TYPE RSPC_CHAIN
*"----------------------------------------------------------------------
DATA: LOGID TYPE RSPC_LOGID,
STATE TYPE RSPC_STATE,
CHAIN TYPE RSPC_CHAIN VALUE 'UFI_AA_05_MANUL'.
CLEAR: LOGID,
STATE.
IF SY-SUBRC <> 0.
E_P_STATE = '读取上次处理链运行状态失败,请重试!'.
ELSE.
CASE STATE.
WHEN 'G' OR 'F'.
CALL FUNCTION 'RSPC_API_CHAIN_START'
EXPORTING
I_CHAIN = CHAIN
IMPORTING
E_LOGID = LOGID
EXCEPTIONS
SYSTEM_FAILURE = 1
COMMUNICATION_FAILURE = 2
FAILED = 3
OTHERS = 4.
IF SY-SUBRC EQ 0.
UPDATE ZRSPC_LOGID
SET LOGID = LOGID
WHERE CHAIN = CHAIN.
E_P_STATE = '上次数据抽取已成功完成,本次抽取已开始!'.
ELSE.
E_P_STATE = '处理链启动失败,请重试!'.
ENDIF.
WHEN 'A'.
E_P_STATE = '上次数据抽取正在进行,请稍后重试!'.
WHEN 'R'.
E_P_STATE = '上次数据抽取因错误而结束,请联系BW顾问进行修复!'.
WHEN 'X'.
E_P_STATE = '上次数据抽取已取消,请联系BW顾问进行修复!'.
WHEN OTHERS.
E_P_STATE = '上次数据抽取发生未知错误,请联系BW顾问进行修复!'.
ENDCASE.
ENDIF.
ELSE.
CALL FUNCTION 'RSPC_API_CHAIN_START'
EXPORTING
I_CHAIN = CHAIN
IMPORTING
E_LOGID = LOGID
EXCEPTIONS
SYSTEM_FAILURE = 1
COMMUNICATION_FAILURE = 2
FAILED = 3
OTHERS = 4.
IF SY-SUBRC EQ 0.
LS_ZRSPC_LOGID-LS_CHAIN = CHAIN.
LS_ZRSPC_LOGID-LS_LOGID = LOGID.
INSERT INTO ZRSPC_LOGID VALUES LS_ZRSPC_LOGID.
E_P_STATE = '处理链成功启动!'.
ELSE.
E_P_STATE = '处理链启动失败,请重试!'.
ENDIF.
ENDIF.
ENDFUNCTION.