阅读更多
FORM frm_set_bgex .
DATA:
lc_ind TYPE char1,
lt_par_tab TYPE STANDARD TABLE OF rsparams,
ls_par_tab TYPE rsparams,
lc_jobname TYPE tbtcjob-jobname VALUE 'Z03P2R1104_CALC',
lc_jobnum TYPE tbtcjob-jobcount
.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = text-010
default_button = '2'
display_cancel_button = ''
IMPORTING
answer = lc_ind.
CHECK lc_ind EQ '1'.
CONCATENATE lc_jobname '_' sy-datum INTO lc_jobname.
* Par: BUKRS
CLEAR ls_par_tab.
ls_par_tab-selname = 'P_BUKRS'.
ls_par_tab-kind = 'P'.
ls_par_tab-low = z03p2s002-bukrs.
APPEND ls_par_tab TO lt_par_tab.
* Par: GJAHR
CLEAR ls_par_tab.
ls_par_tab-selname = 'P_GJAHR'.
ls_par_tab-kind = 'P'.
ls_par_tab-low = z03p2s002-gjahr.
APPEND ls_par_tab TO lt_par_tab.
* Par: MONAT
CLEAR ls_par_tab.
ls_par_tab-selname = 'P_MONAT'.
ls_par_tab-kind = 'P'.
ls_par_tab-low = z03p2s002-monat.
APPEND ls_par_tab TO lt_par_tab.
* Select-option: S_RCODE
CLEAR ls_par_tab.
ls_par_tab-selname = 'S_RCODE'.
ls_par_tab-kind = 'S'.
ls_par_tab-sign = 'I'.
ls_par_tab-option = 'EQ'.
LOOP AT gt_alv INTO gs_alv
WHERE mark EQ 'X'.
ls_par_tab-low = gs_alv-rcode.
APPEND ls_par_tab TO lt_par_tab.
ENDLOOP.
CLEAR ls_par_tab.
ls_par_tab-selname = 'P_BATCH'.
ls_par_tab-kind = 'P'.
ls_par_tab-low = 'Y'.
APPEND ls_par_tab TO lt_par_tab.
* Create Job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = lc_jobname
IMPORTING
jobcount = lc_jobnum
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
SUBMIT z03p2r002 WITH SELECTION-TABLE lt_par_tab"z03p2r002程序随后附上
VIA JOB lc_jobname NUMBER lc_jobnum AND RETURN.
IF sy-subrc EQ 0.
"CLOSE JOB DEFINITION
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lc_jobnum
jobname = lc_jobname
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MESSAGE i016(z03p2).
ENDIF.
ELSE.
ENDIF.
ENDIF.
ENDFORM. " FRM_SET_BGEX
z03p2r002中的选择屏幕
*&---------------------------------------------------------------------*
*& 包括 Z03P2X0007
*&---------------------------------------------------------------------*
PARAMETERS:
p_bukrs TYPE z03p2s002-bukrs DEFAULT '1201' OBLIGATORY,
p_gjahr TYPE z03p2s002-gjahr NO-DISPLAY,
p_monat TYPE z03p2s002-monat NO-DISPLAY,
p_batch TYPE sy-batch DEFAULT 'X' NO-DISPLAY.
.
SELECT-OPTIONS s_rcode FOR z03p2r1104m-rcode NO-DISPLAY.