*&---------------------------------------------------------------------*
*& Report YJFIR01
*& Name : Jatin Singhal
* Date : 03.02.15
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT yjfir01.
DATA : gt_alv TYPE TABLE OF yjalv01, " Global table for Display
gi_fcat TYPE slis_t_fieldcat_alv. " Global field catalogue
DATA : gv_gjahr LIKE rbco-gjahr,
gv_bukrs LIKE rbco-bukrs,
gv_blart LIKE bsak-blart,
gv_augdt LIKE bsak-augdt,
gv_augbl LIKE bsak-augbl,
gv_ebeln LIKE bsak-ebeln,
gv_zterm LIKE bsak-zterm,
gv_zfbdt LIKE bsak-zfbdt,
gv_belnr LIKE bsak-belnr,
gv_lifnr LIKE bsak-lifnr,
gv_monat LIKE bsak-monat,
gv_saknr LIKE rbco-saknr.
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_gjahr FOR gv_gjahr OBLIGATORY,
s_bukrs FOR gv_bukrs OBLIGATORY,
s_blart FOR gv_blart,
s_augdt FOR gv_augdt,
s_augbl FOR gv_augbl,
s_ebeln FOR gv_ebeln,
s_zterm FOR gv_zterm,
s_zfbdt FOR gv_zfbdt,
s_belnr FOR gv_belnr,
s_lifnr FOR gv_lifnr,
s_monat FOR gv_monat,
s_saknr FOR gv_saknr.
SELECTION-SCREEN END OF BLOCK b01.
SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-002.
PARAMETERS p_layout AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b02.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM display_data.
* Fetching the data
FORM get_data.
SELECT rb~gjahr rb~bukrs lifnr koart rb~saknr monat
budat bldat blart bs~belnr augdt ebeln xblnr
bs~wrbtr waers dmbtr dmbe2 rb~buzei bschl rb~shkzg
zfbdt zterm zbd1t zbd2t zbd3t zlspr zlsch stceg bstat
pycur pyamt anfbu bs~kostl bs~sgtxt
INTO TABLE gt_alv
FROM rbco AS rb INNER JOIN bsak AS bs
ON rb~gjahr = bs~gjahr
AND rb~bukrs = bs~bukrs
AND rb~belnr = bs~belnr
WHERE rb~gjahr IN s_gjahr
AND rb~bukrs IN s_bukrs
AND blart IN s_blart
AND augdt IN s_augdt
AND augbl IN s_augbl
AND ebeln IN s_ebeln
AND zterm IN s_zterm
AND zfbdt IN s_zfbdt
AND bs~belnr IN s_belnr
AND lifnr IN s_lifnr
AND monat IN s_monat
AND rb~saknr IN s_saknr.
IF gt_alv IS INITIAL.
MESSAGE text-003 TYPE 'I'.
ENDIF.
ENDFORM.
FORM display_data.
IF gt_alv IS INITIAL. " Return to Selection screen if Global Table is blank
RETURN.
ENDIF.
DATA: l_repid TYPE syrepid,
l_title TYPE lvc_title.
* Layout structure
DATA: l_layout TYPE slis_layout_alv.
DATA: l_gridset TYPE lvc_s_glay.
l_layout-info_fieldname = 'COLCODE'.
l_repid = sy-repid.
*Prepare Field catalog for the ALV report
PERFORM setup_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
* i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
* i_background_id = 'ALV_BACKGROUND'
i_grid_title = l_title
i_grid_settings = l_gridset
is_layout = l_layout
it_fieldcat = gi_fcat
i_save = 'A'
TABLES
t_outtab = gt_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SETUP_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM setup_fieldcatalog .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'YJFIR01'
i_structure_name = 'YJALV01'
CHANGING
ct_fieldcat = gi_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " SETUP_FIELDCATALOG
*& Report YJFIR01
*& Name : Jatin Singhal
* Date : 03.02.15
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT yjfir01.
DATA : gt_alv TYPE TABLE OF yjalv01, " Global table for Display
gi_fcat TYPE slis_t_fieldcat_alv. " Global field catalogue
DATA : gv_gjahr LIKE rbco-gjahr,
gv_bukrs LIKE rbco-bukrs,
gv_blart LIKE bsak-blart,
gv_augdt LIKE bsak-augdt,
gv_augbl LIKE bsak-augbl,
gv_ebeln LIKE bsak-ebeln,
gv_zterm LIKE bsak-zterm,
gv_zfbdt LIKE bsak-zfbdt,
gv_belnr LIKE bsak-belnr,
gv_lifnr LIKE bsak-lifnr,
gv_monat LIKE bsak-monat,
gv_saknr LIKE rbco-saknr.
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_gjahr FOR gv_gjahr OBLIGATORY,
s_bukrs FOR gv_bukrs OBLIGATORY,
s_blart FOR gv_blart,
s_augdt FOR gv_augdt,
s_augbl FOR gv_augbl,
s_ebeln FOR gv_ebeln,
s_zterm FOR gv_zterm,
s_zfbdt FOR gv_zfbdt,
s_belnr FOR gv_belnr,
s_lifnr FOR gv_lifnr,
s_monat FOR gv_monat,
s_saknr FOR gv_saknr.
SELECTION-SCREEN END OF BLOCK b01.
SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-002.
PARAMETERS p_layout AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b02.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM display_data.
* Fetching the data
FORM get_data.
SELECT rb~gjahr rb~bukrs lifnr koart rb~saknr monat
budat bldat blart bs~belnr augdt ebeln xblnr
bs~wrbtr waers dmbtr dmbe2 rb~buzei bschl rb~shkzg
zfbdt zterm zbd1t zbd2t zbd3t zlspr zlsch stceg bstat
pycur pyamt anfbu bs~kostl bs~sgtxt
INTO TABLE gt_alv
FROM rbco AS rb INNER JOIN bsak AS bs
ON rb~gjahr = bs~gjahr
AND rb~bukrs = bs~bukrs
AND rb~belnr = bs~belnr
WHERE rb~gjahr IN s_gjahr
AND rb~bukrs IN s_bukrs
AND blart IN s_blart
AND augdt IN s_augdt
AND augbl IN s_augbl
AND ebeln IN s_ebeln
AND zterm IN s_zterm
AND zfbdt IN s_zfbdt
AND bs~belnr IN s_belnr
AND lifnr IN s_lifnr
AND monat IN s_monat
AND rb~saknr IN s_saknr.
IF gt_alv IS INITIAL.
MESSAGE text-003 TYPE 'I'.
ENDIF.
ENDFORM.
FORM display_data.
IF gt_alv IS INITIAL. " Return to Selection screen if Global Table is blank
RETURN.
ENDIF.
DATA: l_repid TYPE syrepid,
l_title TYPE lvc_title.
* Layout structure
DATA: l_layout TYPE slis_layout_alv.
DATA: l_gridset TYPE lvc_s_glay.
l_layout-info_fieldname = 'COLCODE'.
l_repid = sy-repid.
*Prepare Field catalog for the ALV report
PERFORM setup_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
* i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
* i_background_id = 'ALV_BACKGROUND'
i_grid_title = l_title
i_grid_settings = l_gridset
is_layout = l_layout
it_fieldcat = gi_fcat
i_save = 'A'
TABLES
t_outtab = gt_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SETUP_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM setup_fieldcatalog .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'YJFIR01'
i_structure_name = 'YJALV01'
CHANGING
ct_fieldcat = gi_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " SETUP_FIELDCATALOG
Comments
Post a Comment