SAP ABAP 选择画面 年/月的F4帮助
2014-02-12 09:31
507 查看
给选择画面上的 年/月字段 定义一个F4帮助。
要实现的效果图如下
1.定义事件
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_yemon.
* 检索帮助(年/月)
PERFORM frm_month_f4.
2.子程序中实现
FROM frm_month_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.
*
* 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.
要实现的效果图如下
1.定义事件
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_yemon.
* 检索帮助(年/月)
PERFORM frm_month_f4.
2.子程序中实现
FROM frm_month_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.
*
* 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.
相关文章推荐
- SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- 【转载】SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- 为选择屏幕的字段设置F4帮助
- SAP ABAP F4的检索帮助(包括自定义检索帮助)
- 【转载】SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- table control中用帮助(F4)实现自动填充另一字段
- PDU是如何帮助机房安然度夏?如何选择PDU电源配套机柜?
- 【史上最坑爹的游戏】002 关卡选择画面的实现
- ABAP–如何在’REUSE_ALV_GRID_DISPLAY’使用自定义F4帮助,返回多个字段以及计算修改其他字段
- 非常简单明了的一张图,帮助你选择开源协议
- eclipse 两个真机,自动安装一个手机上,无手机选择画面
- ABAP 在选择画面显示输出结果
- coco2d-x CCScrollView实现关卡选择 新手引导 帮助界面
- FM实现F4帮助系列一:常规实现
- ABAP f4帮助输入多个值
- SAP ABAP 文件打开和保存时候,路径选择的弹出框 cl_gui_frontend_services
- 【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
- 第一篇博客 选择最近对我帮助较大的文章
- table control中用帮助(F4)实现自动填充另一字段
- 帮助选择模板引擎的工具网站