*&---------------------------------------------------------------------*
*& 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.

  DATAl_repid TYPE syrepid,
        l_title TYPE lvc_title.

*  Layout structure
  DATAl_layout TYPE slis_layout_alv.
  DATAl_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

Popular posts from this blog

Export data to xls using OOPS

Factory method ALV sap abap

Delete Selected Record in ALV Report