条件 CHAIN 语句
要在條件?CHAIN?中調(diào)用模塊?,有兩個(gè)選?項(xiàng):
???ON CHAIN-INPUT
類似于?ON INPUT。?如果鏈中的?任一字段包?含初始值(?空值或零)?以外的值,?則調(diào)用?ABAP/4?模塊。
???ON CHAIN-REQUEST
該條件功能?類似于?ON REQUEST,?但是如果鏈?中的任一字?段的值發(fā)生?更改,則調(diào)?用?ABAP/4模?塊。
例如:
????CHAIN.?
??????FIELD: A, B, C.
??????FIELD: D, E, F.
??????MODULE X ON CHAIN-INPUT.
??????MODULE Y.
????ENDCHAIN.
在此,如果?字段?A、B、C、?D、E?和?F?中任何一個(gè)?具有不同于?初始值的值?,則調(diào)用模?塊?X。而始終?調(diào)用模塊?Y。 如果?Y?發(fā)現(xiàn)錯(cuò)誤,?則在錯(cuò)誤對?話期間,重?新打開這六?個(gè)字段并等?待輸入。
要將條件限?制到特定字?段,請將?MODULE?語句連接到?相關(guān)FIELD?語句。
????CHAIN.?
??????FIELD: A, B, C??MODULE X ON INPUT.
????ENDCHAIN.
在該示例子?中,只有當(dāng)?列表(C)?中的最后字?段包含非初?始值的值時(shí)?,才調(diào)用模?塊X。但是?,如果?X?發(fā)現(xiàn)錯(cuò)誤,?則在錯(cuò)誤對話框中重新?打這開三個(gè)?字段(A,?B,C)并?等待輸入。
有時(shí)想要的?調(diào)用只取決?于幾個(gè)字段?,而不是其?它字段。為?明確起見,?將正在使用?的鏈斷開并?為獨(dú)立字段?組合創(chuàng)建獨(dú)?立鏈?zhǔn)亲詈?單的。在每?種情況下,?都使用?ON CHAIN-INPUT?或?ON CHAIN-REQUEST。?例如:
????CHAIN.?
??????FIELD: A, B, C??MODULE X ON CHAIN-REQUEST.
????ENDCHAIN.
????CHAIN.?
??????FIELD: A, B, D, E??MODULE Y ON CHAIN-REQUEST.
????ENDCHAIN.
避免自動(dòng)字?段檢查
在進(jìn)行自動(dòng)?字段檢查之?前,有時(shí)希?望系統(tǒng)執(zhí)行?某種處理邏?輯。例如,?如果用戶想?從屏幕退出?,則無須在?需要輸入的?字段中輸入?數(shù)據(jù)。
流邏輯關(guān)鍵?字?AT EXIT-COMMAND?在流邏輯中?是?MODULE?語句的特殊?附加部分。?AT EXIT-COMMAND?允許在系統(tǒng)?執(zhí)行自動(dòng)字?段檢查之前?調(diào)用模塊:
**** Screen flow logic: ****
PROCESS AFTER INPUT.
????MODULE EXIT AT EXIT-COMMAND.
要使用?AT EXIT-COMMAND,?則必須將功?能類型?E?賦給菜單制?作器或屏幕?制作器中的?相關(guān)功能。?在屏幕制作?器中,調(diào)用?用于所需按?鈕的屬性,?并將屬性“?FctType”?設(shè)置為“E”?。在菜單制?作器中,選?擇“轉(zhuǎn)向?->?功能列表”?,然后在“?類型”列中?為每個(gè)應(yīng)作?為退出命令?的功能代碼?輸入?E。
一旦已經(jīng)將?功能定義為?類型?E, 則在執(zhí)行任?何字段檢查?之前,可以?用?AT EXIT-COMMAND?選項(xiàng)告訴系?統(tǒng)處理所有?與該功能相?關(guān)的?ABAP/4?模塊。只有?當(dāng)用戶激活?定義為類型?E?的功能時(shí),?才觸發(fā)?AT EXIT-COMMAND?事件。
**** ABAP/4 module: ****
MODULE EXIT INPUT.
????CASE OK_CODE.
??????WHEN 'NEW'.
????????????CLEAR: SPFLI, OK_CODE.
????????????LEAVE SCREEN.
??????WHEN 'CANC'.
????????????CLEAR OK_CODE.
????????????SET SCREEN 0. LEAVE SCREEN.
????ENDCASE.
ENDMODULE.
?
正常情況下?,MODULE...AT EXIT-COMMAND?語句傾向于?處理退出命?令?BACK、?EXIT?和?CANCEL。?為處理這些?命令而編碼?的?ABAP/4模塊應(yīng)包含?從屏幕或事?務(wù)退出的語?句(例如,?LEAVE TO SCREEN 0)。
如果未在?AT EXIT-COMMAND?模塊中終止?屏幕或事務(wù)?,則系統(tǒng)象?平常一樣繼?續(xù)流邏輯處?理:首先執(zhí)?行自動(dòng)字段?檢查,然后?按順序處理?PAI?語句。
總結(jié)
以上是生活随笔為你收集整理的条件 CHAIN 语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何查询MySql日志
- 下一篇: 电子商务模式都有哪些