SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_accp FOR lv_buper OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
ranges: r_faedn FOR dfkkop-faedn.
DATA: lv_year(4) TYPE n.
CLEAR r_faedn.
r_faedn-sign = 'I'.
r_faedn-option = 'EQ'.
CASE s_accp-low+4(2).
WHEN '01' OR '02' OR '03'.
* lv_year = s_accp-low(4).
* lv_year = lv_year - 1.
* CONCATENATE lv_year '1001'
* INTO r_faedn-low.
* CONCATENATE lv_year '1231'
* INTO r_faedn-high.
CONCATENATE s_accp-low(4) '0101'
INTO r_faedn-low.
CONCATENATE s_accp-low(4) '0331'
INTO r_faedn-high.
APPEND r_faedn.
CLEAR : r_faedn-low,
r_faedn-high.
WHEN '04' OR '05' OR '06'.
CONCATENATE s_accp-low(4) '0401'
INTO r_faedn-low.
CONCATENATE s_accp-low(4) '0630'
INTO r_faedn-high.
APPEND r_faedn.
CLEAR : r_faedn-low,
r_faedn-high.
WHEN '07' OR '08' OR '09'.
CONCATENATE s_accp-low(4) '0701'
INTO r_faedn-low.
CONCATENATE s_accp-low(4) '0930'
INTO r_faedn-high.
APPEND r_faedn.
CLEAR : r_faedn-low,
r_faedn-high.
WHEN '10' OR '11' OR '12'.
CONCATENATE s_accp-low(4) '1001'
INTO r_faedn-low.
CONCATENATE s_accp-low(4) '1231'
INTO r_faedn-high.
APPEND r_faedn.
CLEAR : r_faedn-low,
r_faedn-high.
ENDCASE.
CASE s_accp-high+4(2).
WHEN '01' OR '03' OR '05' OR '07' OR
'08' OR '10' OR '12'.
CONCATENATE s_accp-high(6) '31'
INTO gv_sett_dt.
WHEN '04' OR '06' OR '09' OR '11'.
CONCATENATE s_accp-high(6) '30'
INTO gv_sett_dt.
WHEN '02'.
CONCATENATE s_accp-high(6) '28'
INTO gv_sett_dt.
ENDCASE.
Sunday, November 21, 2010
Friday, November 19, 2010
Function Module gives the Quarter start date and end date.
l_month = sy-datum+4(2).
* Set quarter
ex_quarter-q = trunc( ( l_month - 1 ) / 3 ) + 1.
ex_quarter-q = ex_quarter-q - 1
* Set year
ex_quarter-year = sy-datum(4).
* the below Function Module gives you the Quarter start date and end date.
call function 'HR_99S_GET_DATES_QUARTER'
exporting
im_quarter = ex_quarter-q
im_year = ex_quarter-year
importing
ex_begda = ex_quarter-begda " Quarter Start date
ex_endda = ex_quarter-endda. " Quarter End date
* Set quarter
ex_quarter-q = trunc( ( l_month - 1 ) / 3 ) + 1.
ex_quarter-q = ex_quarter-q - 1
* Set year
ex_quarter-year = sy-datum(4).
* the below Function Module gives you the Quarter start date and end date.
call function 'HR_99S_GET_DATES_QUARTER'
exporting
im_quarter = ex_quarter-q
im_year = ex_quarter-year
importing
ex_begda = ex_quarter-begda " Quarter Start date
ex_endda = ex_quarter-endda. " Quarter End date
FM: Quarter Validation based on given date
* Set quarter
ex_quarter-q = trunc( ( l_month - 1 ) / 3 ) + 1.
* Set year
ex_quarter-year = sy-datum(4).
* the below Function Module gives you the Quarter start date and end date.
call function 'HR_99S_GET_DATES_QUARTER'
exporting
im_quarter = ex_quarter-q
im_year = ex_quarter-year
importing
ex_begda = ex_quarter-begda " Quarter Start date
ex_endda = ex_quarter-endda. " Quarter End date
ex_quarter-q = trunc( ( l_month - 1 ) / 3 ) + 1.
* Set year
ex_quarter-year = sy-datum(4).
* the below Function Module gives you the Quarter start date and end date.
call function 'HR_99S_GET_DATES_QUARTER'
exporting
im_quarter = ex_quarter-q
im_year = ex_quarter-year
importing
ex_begda = ex_quarter-begda " Quarter Start date
ex_endda = ex_quarter-endda. " Quarter End date
Wednesday, November 10, 2010
F4 help for select-options
************************************************************************
* TYPES DECLARATION
************************************************************************
Types: begin of ty_sercd,
venture_cd type zri_series-venture_cd,
series_cd type zri_series-series_cd, "RI: Series Code
end of ty_sercd.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_sercd for zri_series-series_cd,
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b1.
**---------------------------------------------------------------------*
** AT SELECTION-SCREEN ON VALUE-REQUEST
**---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_sercd-low.
PERFORM f4_help_sercd.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_sercd-HIGH.
PERFORM f4_help_sercd.
* TYPES DECLARATION
************************************************************************
Types: begin of ty_sercd,
venture_cd type zri_series-venture_cd,
series_cd type zri_series-series_cd, "RI: Series Code
end of ty_sercd.
data : gt_sercd type standard table of ty_sercd. "Internal Table
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_sercd for zri_series-series_cd,
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b1.
**---------------------------------------------------------------------*
** AT SELECTION-SCREEN ON VALUE-REQUEST
**---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_sercd-low.
PERFORM f4_help_sercd.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_sercd-HIGH.
PERFORM f4_help_sercd.
*&---------------------------------------------------------------------*
*& Form F4_HELP_SERCD
*&---------------------------------------------------------------------*
* F4 Help for Series Code
*----------------------------------------------------------------------*
FORM f4_help_sercd .
REFRESH : GT_SERCD.
SELECT venture_cd series_cd
FROM zri_series
INTO CORRESPONDING FIELDS OF TABLE gt_sercd.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'SERIES_CD'
dynpprog = sy-repid
dynpnr = SY-DYNNR
dynprofield = 'S_SERCD'
value_org = 'S'
TABLES
value_tab = gt_sercd
EXCEPTIONS
OTHERS = 0.
ENDFORM.
Tuesday, October 26, 2010
Conditionally populate the color on ALV Report Display
*&---------------------------------------------------------------------*
*& Report YTEST01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT YTEST01 no standard page heading
line-count 255
line-size 255.
TYPE-POOLS: slis.
DATA: BEGIN OF it_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
color(4), " <---extra field for color
END OF it_flight.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
*-conditionally populate the color
LOOP AT it_flight.
IF it_flight-seatsocc eq 0.
it_flight-color = 'C600'.
ENDIF.
MODIFY it_flight.
ENDLOOP.
*-Pass the color field information to layout
layout-info_fieldname = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
*& Report YTEST01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT YTEST01 no standard page heading
line-count 255
line-size 255.
TYPE-POOLS: slis.
DATA: BEGIN OF it_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
color(4), " <---extra field for color
END OF it_flight.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
*-conditionally populate the color
LOOP AT it_flight.
IF it_flight-seatsocc eq 0.
it_flight-color = 'C600'.
ENDIF.
MODIFY it_flight.
ENDLOOP.
*-Pass the color field information to layout
layout-info_fieldname = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
Wednesday, October 6, 2010
Upload the Data from Excel to ITAB by using GUI_UPLOAD and validating data as well
*&---------------------------------------------------------------------*
*& Report YUPLOAD_EXCEL_TO_ITAB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT yupload_excel_to_itab NO STANDARD PAGE HEADING
LINE-COUNT 132
LINE-SIZE 65.
*&---------------------------------------------------------------------*
*& DATA DECLARATION
*&---------------------------------------------------------------------*
TYPE-POOLS: truxs.
data : BEGIN OF gt_itab occurs 0,
mark(1) type c,
acdetcat(40) TYPE c,
acdetdes(40) TYPE c,
sapmtrty(40) TYPE c,
sapmtrdes(40) TYPE c,
obligor(40) TYPE c,
iwgroup(40) TYPE c,
iwprior(40) TYPE c,
drcr(40) TYPE c,
iwrollid(40) TYPE c,
iwrolldes(40) TYPE c,
ccode(40) TYPE c,
ccodedes(40) type c,
sapsubcat(40) TYPE c,
sapsubdes(40) TYPE c,
balacc(40) TYPE c,
incstat(40) TYPE c,
profcent(40) TYPE c,
profcendes(40) TYPE c,
costcen(40) TYPE c,
costcendes(40) TYPE c,
tpcata(40) TYPE c,
tpcatades(40) TYPE c,
finstat(40) TYPE c,
rowtycat(40) TYPE c,
rowtypdes(40) TYPE c,
applic(40) TYPE c,
fscdid(40) TYPE c,
countparcat(40) TYPE c,
countpatdes(40) TYPE c,
subanalcat(40) TYPE c,
subanaldes(40) TYPE c,
END OF gt_itab.
data : BEGIN OF gt_final occurs 0,
acdetcat(40) TYPE c,
acdetdes(40) TYPE c,
sapmtrty(40) TYPE c,
ccode(40) TYPE c,
sapsubcat(40) TYPE c,
sapsubdes(40) TYPE c,
balacc(40) TYPE c,
incstat(40) TYPE c,
profcent(40) TYPE c,
profcendes(40) TYPE c,
costcen(40) TYPE c,
costcendes(40) TYPE c,
tpcata(40) TYPE c,
tpcatades(40) TYPE c,
finstat(40) TYPE c,
rowtycat(40) TYPE c,
rowtypdes(40) TYPE c,
applic(40) TYPE c,
fscdid(40) TYPE c,
countparcat(40) TYPE c,
countpatdes(40) TYPE c,
subanalcat(40) TYPE c,
subanaldes(40) TYPE c,
END OF gt_final.
*DATA: gt_itab TYPE STANDARD TABLE OF ty_itab,
* gs_itab TYPE ty_itab,
* gt_final TYPE STANDARD TABLE OF ty_final,
* gs_final TYPE ty_final.
DATA: i_text_data TYPE truxs_t_text_data,
v_filename TYPE string.
PARAMETERS : p_file LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
*&---------------------------------------------------------------------*
*& START OF SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
v_filename = p_file.
* CALL FUNCTION 'GUI_UPLOAD'
* EXPORTING
* filename = v_filename
* filetype = 'ASC'
* has_field_separator = 'X'
*
* TABLES
* data_tab = gt_itab
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_filename_string
filetype = 'ASC'
has_field_separator = 'X'
*
TABLES
data_tab = i_text_data
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
*
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
break-point.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_field_seperator = 'X'
* I_LINE_HEADER =
i_tab_raw_data = i_text_data
i_filename = p_file
TABLES
i_tab_converted_data = gt_itab
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
*& Final Internal Table
**&---------------------------------------------------------------------*
* LOOP AT gt_itab. " INTO gs_itab.
** CLEAR gs_final.
* MOVE-CORRESPONDING gt_itab TO gt_final.
** APPEND gs_final TO gt_final.
* ENDLOOP.
* BREAK-POINT.
*Do.
* READ TABLE gt_final INDEX 1 INTO gs_final.
* PERFORM abcd USING gs_final-acdetcat
* gs_final-acdetdes
* gs_final-sapmtrty
* gs_final-ccode
* gs_final-sapsubcat.
*
*&---------------------------------------------------------------------*
*& Form ABCD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GS_FINAL_ACDETCAT text
* -->P_GS_FINAL_ACDETDES text
* -->P_GS_FINAL_SAPMTRTY text
* -->P_GS_FINAL_CCODE text
* -->P_GS_FINAL_SAPSUBCAT text
*----------------------------------------------------------------------*
FORM abcd USING p_gs_final_acdetcat
p_gs_final_acdetdes
p_gs_final_sapmtrty
p_gs_final_ccode
p_gs_final_sapsubcat.
DATA: a(40) TYPE c VALUE 'A/C Determination Type Catalog Value ',
b(40) TYPE c VALUE 'A/C Determination Type Description ',
c(40) TYPE c VALUE 'SAP Main/Transaction Type Catalog Value ',
d(40) TYPE c VALUE 'Company Code Catalog Value ',
e(40) TYPE c VALUE 'SAP Sub Catalog Value '.
IF p_gs_final_acdetcat <> a.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_acdetdes <> b.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_sapmtrty <> c.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_ccode <> d.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_sapsubcat <> e.
message 'Data is incorrect' type 'E'.
endif.
ENDFORM. " ABCD
*& Report YUPLOAD_EXCEL_TO_ITAB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT yupload_excel_to_itab NO STANDARD PAGE HEADING
LINE-COUNT 132
LINE-SIZE 65.
*&---------------------------------------------------------------------*
*& DATA DECLARATION
*&---------------------------------------------------------------------*
TYPE-POOLS: truxs.
data : BEGIN OF gt_itab occurs 0,
mark(1) type c,
acdetcat(40) TYPE c,
acdetdes(40) TYPE c,
sapmtrty(40) TYPE c,
sapmtrdes(40) TYPE c,
obligor(40) TYPE c,
iwgroup(40) TYPE c,
iwprior(40) TYPE c,
drcr(40) TYPE c,
iwrollid(40) TYPE c,
iwrolldes(40) TYPE c,
ccode(40) TYPE c,
ccodedes(40) type c,
sapsubcat(40) TYPE c,
sapsubdes(40) TYPE c,
balacc(40) TYPE c,
incstat(40) TYPE c,
profcent(40) TYPE c,
profcendes(40) TYPE c,
costcen(40) TYPE c,
costcendes(40) TYPE c,
tpcata(40) TYPE c,
tpcatades(40) TYPE c,
finstat(40) TYPE c,
rowtycat(40) TYPE c,
rowtypdes(40) TYPE c,
applic(40) TYPE c,
fscdid(40) TYPE c,
countparcat(40) TYPE c,
countpatdes(40) TYPE c,
subanalcat(40) TYPE c,
subanaldes(40) TYPE c,
END OF gt_itab.
data : BEGIN OF gt_final occurs 0,
acdetcat(40) TYPE c,
acdetdes(40) TYPE c,
sapmtrty(40) TYPE c,
ccode(40) TYPE c,
sapsubcat(40) TYPE c,
sapsubdes(40) TYPE c,
balacc(40) TYPE c,
incstat(40) TYPE c,
profcent(40) TYPE c,
profcendes(40) TYPE c,
costcen(40) TYPE c,
costcendes(40) TYPE c,
tpcata(40) TYPE c,
tpcatades(40) TYPE c,
finstat(40) TYPE c,
rowtycat(40) TYPE c,
rowtypdes(40) TYPE c,
applic(40) TYPE c,
fscdid(40) TYPE c,
countparcat(40) TYPE c,
countpatdes(40) TYPE c,
subanalcat(40) TYPE c,
subanaldes(40) TYPE c,
END OF gt_final.
*DATA: gt_itab TYPE STANDARD TABLE OF ty_itab,
* gs_itab TYPE ty_itab,
* gt_final TYPE STANDARD TABLE OF ty_final,
* gs_final TYPE ty_final.
DATA: i_text_data TYPE truxs_t_text_data,
v_filename TYPE string.
PARAMETERS : p_file LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
*&---------------------------------------------------------------------*
*& START OF SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
v_filename = p_file.
* CALL FUNCTION 'GUI_UPLOAD'
* EXPORTING
* filename = v_filename
* filetype = 'ASC'
* has_field_separator = 'X'
*
* TABLES
* data_tab = gt_itab
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_filename_string
filetype = 'ASC'
has_field_separator = 'X'
*
TABLES
data_tab = i_text_data
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
*
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
break-point.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_field_seperator = 'X'
* I_LINE_HEADER =
i_tab_raw_data = i_text_data
i_filename = p_file
TABLES
i_tab_converted_data = gt_itab
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
*& Final Internal Table
**&---------------------------------------------------------------------*
* LOOP AT gt_itab. " INTO gs_itab.
** CLEAR gs_final.
* MOVE-CORRESPONDING gt_itab TO gt_final.
** APPEND gs_final TO gt_final.
* ENDLOOP.
* BREAK-POINT.
*Do.
* READ TABLE gt_final INDEX 1 INTO gs_final.
* PERFORM abcd USING gs_final-acdetcat
* gs_final-acdetdes
* gs_final-sapmtrty
* gs_final-ccode
* gs_final-sapsubcat.
*
*&---------------------------------------------------------------------*
*& Form ABCD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GS_FINAL_ACDETCAT text
* -->P_GS_FINAL_ACDETDES text
* -->P_GS_FINAL_SAPMTRTY text
* -->P_GS_FINAL_CCODE text
* -->P_GS_FINAL_SAPSUBCAT text
*----------------------------------------------------------------------*
FORM abcd USING p_gs_final_acdetcat
p_gs_final_acdetdes
p_gs_final_sapmtrty
p_gs_final_ccode
p_gs_final_sapsubcat.
DATA: a(40) TYPE c VALUE 'A/C Determination Type Catalog Value ',
b(40) TYPE c VALUE 'A/C Determination Type Description ',
c(40) TYPE c VALUE 'SAP Main/Transaction Type Catalog Value ',
d(40) TYPE c VALUE 'Company Code Catalog Value ',
e(40) TYPE c VALUE 'SAP Sub Catalog Value '.
IF p_gs_final_acdetcat <> a.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_acdetdes <> b.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_sapmtrty <> c.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_ccode <> d.
message 'Data is incorrect' type 'E'.
elseIF p_gs_final_sapsubcat <> e.
message 'Data is incorrect' type 'E'.
endif.
ENDFORM. " ABCD
Tuesday, September 28, 2010
SUBMIT Report Example
*Code used to execute a report SUBMIT Zreport.
*Code used to populate 'select-options' & execute report DATA: seltab type table of rsparams, seltab_wa like line of seltab. seltab_wa-selname = 'PNPPERNR'. seltab_wa-sign = 'I'. seltab_wa-option = 'EQ'. * load each personnel number accessed from the structure into * parameters to be used in the report loop at pnppernr. seltab_wa-low = pnppernr-low. append seltab_wa to seltab. endloop. SUBMIT zreport with selection-table seltab via selection-screen.
*Code used to populate 'parameters' & execute report
SUBMIT zreport with p_param1 = 'value'
with p_param2 = 'value'.
Other additions for SUBMIT
*Submit report and return to current program afterwardsSUBMIT zreport AND RETURN. *Submit report via its own selection screenSUBMIT zreport VIA SELECTION-SCREEN. *Submit report using selection screen variantSUBMIT zreport USING SELECTION-SET 'VARIANT1'. *Submit report but export resultant list to memory, rather than *it being displayed on screenSUBMIT zreport EXPORTING LIST TO MEMORY. * Once report has finished and control has returned to calling * program, use function modules LIST_FROM_MEMORY, WRITE_LIST and * DISPLAY_LIST to retrieve and display report. *Example Code (Retrieving list from memory) DATA BEGIN OF itab_list OCCURS 0. INCLUDE STRUCTURE abaplist. DATA END OF itab_list. DATA: BEGIN OF vlist OCCURS 0, filler1(01) TYPE c, field1(06) TYPE c, filler(08) TYPE c, field2(10) TYPE c, filler3(01) TYPE c, field3(10) TYPE c, filler4(01) TYPE c, field4(3) TYPE c, filler5(02) TYPE c, field5(15) TYPE c, filler6(02) TYPE c, field6(30) TYPE c, filler7(43) TYPE c, field7(10) TYPE c, END OF vlist. SUBMIT zreport EXPORTING LIST TO MEMORY. CALL FUNCTION 'LIST_FROM_MEMORY' TABLES listobject = itab_list EXCEPTIONS not_found = 4 OTHERS = 8. CALL FUNCTION 'LIST_TO_ASCI' EXPORTING list_index = -1 TABLES listasci = vlist listobject = itab_list EXCEPTIONS empty_list = 1 list_index_invalid = 2 OTHERS = 3. IF sy-subrc NE '0'. WRITE:/ 'LIST_TO_ASCI error !! ', sy-subrc. ENDIF.
Submit report as job
*Submit report as job(i.e. in background)data: jobname like tbtcjob-jobname value ' TRANSFER TRANSLATION'. data: jobcount like tbtcjob-jobcount, host like msxxlist-host. data: begin of starttime. include structure tbtcstrt. data: end of starttime. data: starttimeimmediate like btch0000-char1. * Job open call function 'JOB_OPEN' exporting delanfrep = ' ' jobgroup = ' ' jobname = jobname sdlstrtdt = sy-datum sdlstrttm = sy-uzeit importing jobcount = jobcount exceptions cant_create_job = 01 invalid_job_data = 02 jobname_missing = 03. if sy-subrc ne 0. "error processing endif. * Insert process into job SUBMIT zreport and return with p_param1 = 'value' with p_param2 = 'value' user sy-uname via job jobname number jobcount. if sy-subrc > 0. "error processing endif. * Close job starttime-sdlstrtdt = sy-datum + 1. starttime-sdlstrttm = '220000'. call function 'JOB_CLOSE' exporting event_id = starttime-eventid event_param = starttime-eventparm event_periodic = starttime-periodic jobcount = jobcount jobname = jobname laststrtdt = starttime-laststrtdt laststrttm = starttime-laststrttm prddays = 1 prdhours = 0 prdmins = 0 prdmonths = 0 prdweeks = 0 sdlstrtdt = starttime-sdlstrtdt sdlstrttm = starttime-sdlstrttm strtimmed = starttimeimmediate targetsystem = host exceptions cant_start_immediate = 01 invalid_startdate = 02 jobname_missing = 03 job_close_failed = 04 job_nosteps = 05 job_notex = 06 lock_failed = 07 others = 99. if sy-subrc eq 0. "error processing endif.
Subscribe to:
Posts (Atom)