日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP-检查多个关联字段输入,以及有条件地调用模块

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP-检查多个关联字段输入,以及有条件地调用模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時想作為一組檢查幾個字段。為此,請在 FIELD 語句中包含這些字段,并將它們放入?CHAIN-ENDCHAIN 塊中。在示例事務 TZ31 中使用了 CHAIN 語句: **** Screen flow logic: **** CHAIN. FIELD: SPFLI-CARRID, SPFLI-CONNID. ??MODULE CHECK_FLIGHT. ENDCHAIN. **** ABAP/4 module: **** MODULE CHECK_FLIGHT INPUT. SELECT SINGLE * FROM ?SPFLI WHERE CARRID = SPFLI-CARRID AND CONNID = SPFLI-CONNID. IF SY-SUBRC NE 0. ??MESSAGE E005 WITH SPFLI-CARRID SPFLI-CONNID. ENDIF. ENDMODULE? 在鏈塊中,所有字段相互依賴。鏈內發現錯誤時,會重新顯示屏幕,并允許輸出鏈中任何地方發現的字段,但仍不允許輸入任何非鏈字段。在用戶重新輸入值(輸入到鏈字段之一)之后,重新啟動 PAI 并將鏈中的所有語句作為一個單元重新執行。鏈可以包括其它任何允許的流邏輯語言語句。而且,鏈可以包含多條 FIELD語句。一般情況下,所有FIELD語句應出現在 CHAIN 塊的開始處。 CHAIN.? FIELD: A, B, C. FIELD: D, E, F. MODULE X. MODULE Y. ENDCHAIN. 允許將 MODULE 語句添加到包含在 CHAIN 塊中的 FIELD 語句中,但這樣實際上并沒有意義: CHAIN. FIELD F1. FIELD: F2, F3 ?MODULE m1. "( 在 F3后無周 期) MODULE m2. ENDCHAIN. 如果模塊 m 發現錯誤,則在重新顯示時它打開所有要輸入的鏈字段,而不只是 F2 和 F3。只有當使用 AT- 或 ON- 條件之一時 ,用該方式使用 FIELD...MODULE 才意義。可以在模塊調用(從屏幕流邏輯)中設置條件。例如可以指定某模塊只在給定字段具有值(非初始值)時才被調用: FIELD X MODULE CHECK_FIELDX ON INPUT. 使用 FIELD 語句的條件形式,可以防止不必要的模塊調用。尤其當更新表輸入時,條件調用可以極大地提高性能。有關信息在下列主題中提供: ☆條件 FIELD 語句 添加 ON- 和 AT- 條件之后,FIELD...MODULE 流邏輯語句就變成了條件語句。請使用以下條件指定何時 應調用模塊 : ON INPUT 只有當字段包含初始值以外的值時,才調用ABAP/4模塊。此初始值由該字段的數據類型決定:空格對應于字符字段,零對應于數字字段。如果用戶將字段值更改回初始值,則 ON INPUT不觸發調用。(與 ON REQUEST 調用相比,此時它不觸發調用。) ON REQUEST 只有自上一屏幕顯示以來用戶已輸入字段值時,才調用 ABAP/4模塊。即使用戶鍵入已存在的值,值也象已變化了一樣予以記數。 一般地,通過任何形式的“手工輸入”都可以觸發 ON REQUEST 條件。系統將設置字段的下列方式 作為手工輸入: - 實際用戶輸入 - SET PARAMETER 字段輸入(手工和自動兩種) - HOLD DATA 字段輸入 - 用于參數事務的參數輸入(CALL TRANSACTION...USING) - 用于定制系統的全局字段(這些為某些字段指定自動設置) 所有這些符合 ON REQUEST 條件并將觸發模塊調用 。 ON *-INPUT 如果用戶在字段的首字符中已經輸入“*”,并且該字段在屏幕制作器中具有屬性 *-entry,則調用 ABAP/4 模塊。可以在想只檢查某些輸入類型的例外情況下使用該選項。有些條件只適用于 FIELD 語句,而其它條件則適用于 CHAIN 塊中的 FIELD 語句。尤其是,ON- 和 AT- 條件在包含多字段但又未包含在 CHAIN 塊中的 FIELD 語句中有特殊意義,
☆條件 CHAIN 語句 要在條件 CHAIN 中調用模塊,有兩個選 項: ON CHAIN-INPUT 類似于 ON INPUT。如果鏈中的任一字段包含初始值(空值或零)以外的值,則調用ABAP/4模塊。 ON CHAIN-REQUEST 該條件功能類似于 ON REQUEST,但是如果鏈中的任一字段的值發生更改,則調用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中任何一個具有不同于初始值的值,則調用模塊 X 。而始終調用模塊Y。如果Y發現錯誤,則在錯誤對話期間,重新打開這六個字段并等待輸入。?要將條件限制到特定字段,請將 MODULE 語句連接到相關 FIELD 語句。 CHAIN.? FIELD: A, B, C ?MODULE X ON INPUT. ENDCHAIN. 在該示例子中,只有當列表(C)中的最后字段包含非初始值的值時,才調用模塊X。但是,如果 X 發現錯誤,則在錯誤對話框中重新打開這三個字段(A,B,C)并等待輸入。有時想要的調用只取決于幾個字段,而不是其它字段。為明確起見,將正在使用的鏈斷開并為獨立字段組合創建獨立鏈是最簡單的。在每種情況下,都使用 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.

總結

以上是生活随笔為你收集整理的SAP-检查多个关联字段输入,以及有条件地调用模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。