*&---------------------------------------------------------------------* *& 包含 ZPPR011_S01 *&---------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001. PARAMETERS:p_werks LIKE aufk-werks OBLIGATORY, p_gltrp LIKE s474-spmon OBLIGATORY. SELECTION-SCREEN END OF BLOCK blk1. *&---------------------------------------------------------------------* *&AT SELECTION-SCREEN ON VALUE-REQUEST *&---------------------------------------------------------------------* "生产计划期间搜索帮助 AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_gltrp. PERFORM frm_monat_f4. *&---------------------------------------------------------------------* *& Form frm_monat_f4 *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_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.
标签:sy,mf,&--------------------------------------------------------------------- From: https://www.cnblogs.com/ap-ad-java-abap/p/17754142.html