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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ABAP实例:如何生成年月的输入帮助

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP实例:如何生成年月的输入帮助 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 在ABAP的設計過程中經常會出現賬務期輸入,格式為年月。如果我們使用spmon元素為參考,但是系統無輸入幫助,用戶常常出錯,為了避免輸入錯誤。我們可以自定義輸入幫助,步驟如下:

??? 1、定義選擇變量
?

parameter p_spmon??type spmon?default?sy-datum+0(6) obligatory.
????select
-options s_spmon?for?s031-spmon?default?sy-datum+0(6) obligatory.
????

??? 2、定義幫助子過程

form??monat_f4.
??????data: begin of mf_dynpfields occurs?
1.
??????????????include structure dynpread.
??????data: end?? of mf_dynpfields.
??????data: mf_returncode?? like sy
-subrc,
????????????mf_monat????????like isellist
-month,
????????????mf_hlp_repid????like sy
-repid.
??????field
-symbols:?<mf_feld>.

??????get cursor field mf_dynpfields
-fieldname.
??????append mf_dynpfields.
??????mf_hlp_repid?
=?sy-repid.
??????
do?2?times.
????????call function?
'DYNP_VALUES_READ'
???????????? exporting
??????????????????dyname???????????????
=?mf_hlp_repid
??????????????????dynumb???????????????
=?sy-dynnr
???????????? tables
??????????????????dynpfields???????????
=?mf_dynpfields
???????????? exceptions
??????????????????invalid_ABAPworkarea?
=?01
??????????????????invalid_dynprofield??
=?02
??????????????????invalid_dynproname???
=?03
??????????????????invalid_dynpronummer?
=?04
??????????????????invalid_request??????
=?05
??????????????????no_fielddescription??
=?06
??????????????????undefind_error???????
=?07.
????????
if?sy-subrc?=?3.
??????????mf_hlp_repid?
=?'SAPLALDB'.
????????
else.
??????????read table mf_dynpfields index?
1.
??????????translate mf_dynpfields
-fieldvalue using?'_?'.
??????????exit.
????????endif.
??????enddo.
??????
if?sy-subrc?=?0.
????????call function?
'CONVERSION_EXIT_PERI_INPUT'
???????????? exporting
??????????????????input??
=?mf_dynpfields-fieldvalue
???????????? importing
??????????????????output?
=?mf_monat
???????????? exceptions
??????????????????error_message?
=?1.
????????
if?mf_monat is initial.
??????????mf_monat?
=?sy-datlo(6).
????????endif.
????????call function?
'POPUP_TO_SELECT_MONTH'
???????????? exporting
??????????????????actual_month???????????????
=?mf_monat
???????????? importing
??????????????????selected_month?????????????
=?mf_monat
??????????????????return_code????????????????
=?mf_returncode
???????????? exceptions
??????????????????factory_calendar_not_found?
=?01
??????????????????holiday_calendar_not_found?
=?02
??????????????????month_not_found????????????
=?03.
????????
if?sy-subrc?=?0?and mf_returncode?=?0.
??????????call function?
'CONVERSION_EXIT_PERI_OUTPUT'
?????????????? exporting
????????????????????input??
=??mf_monat
?????????????? importing
????????????????????output?
=??mf_dynpfields-fieldvalue.
??????????collect mf_dynpfields.
??????????call function?
'DYNP_VALUES_UPDATE'
?????????????? exporting
????????????????????dyname???????????????
=?mf_hlp_repid
????????????????????dynumb???????????????
=?sy-dynnr
???????????? tables
????????????????????dynpfields???????????
=?mf_dynpfields
?????????????? exceptions
????????????????????invalid_ABAPworkarea?
=?01
????????????????????invalid_dynprofield??
=?02
????????????????????invalid_dynproname???
=?03
????????????????????invalid_dynpronummer?
=?04
????????????????????invalid_request??????
=?05
????????????????????no_fielddescription??
=?06
????????????????????undefind_error???????
=?07.?
????????endif.
??????endif.
????endform.???????????????????????????????
"MONAT_F4

????

??? 3、定義輸入幫助事件???

at selection-screen on value-request?for?p_spmon.
??????perform monat_f4.
????at selection
-screen on value-request?for?s_spmon-low.
??????perform monat_f4.
????at selection
-screen on value-request?for?s_spmon-high.
??????perform monat_f4.

總結

以上是生活随笔為你收集整理的ABAP实例:如何生成年月的输入帮助的全部內容,希望文章能夠幫你解決所遇到的問題。

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