cancel
Showing results for 
Search instead for 
Did you mean: 

GR/IR REPORT, PROBLEM IN FETCHING DATA

former_member187748
Active Contributor
0 Kudos

Hi Experts, i have written a program to FETCH DATA RELATED TO GR/IR, But it is not working at all.

Can anyone help me to Debug and EXECUTE the REPORT by solving ERRORS.

(The Code Is Written Below)

*&---------------------------------------------------------------------*

*& Report  ZGR_IR_REPORT

*&

*&-----------------Created By Sanjeev Kumar----------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT  ZGR_IR_REPORT.

*Tables Declaration

TABLES : EKKO, T001W, EKBE, MSEG, BKPF, MAKT.

TYPE-POOLS: SLIS.

*TYPES DECLARATION

TYPES : BEGIN OF TY_EKKO,

         BUKRS TYPE EKKO-BUKRS,

         LIFNR TYPE EKKO-LIFNR,

         BEDAT TYPE EKKO-BEDAT,

         EBELN TYPE EKKO-EBELN,

         EKGRP TYPE EKKO-EKGRP,

         END OF TY_EKKO.

TYPES : BEGIN OF TY_T001W,

         WERKS TYPE T001W-WERKS,

         NAME1 TYPE T001W-NAME1,

         END OF TY_T001W.

TYPES : BEGIN OF TY_LFA1,

         LIFNR TYPE LFA1-LIFNR,

         MCOD1 TYPE LFA1-MCOD1,

         MCOD2 TYPE LFA1-MCOD2,

         NAME1 TYPE LFA1-NAME1,

         NAME2 TYPE LFA1-NAME2,

         END OF TY_LFA1.

TYPES : BEGIN OF TY_EKBE,

         WERKS TYPE EKBE-WERKS,

         EBELN TYPE EKBE-EBELN,

         EBELP TYPE EKBE-EBELP,

         MATNR TYPE EKBE-MATNR,

         CPUDT TYPE EKBE-CPUDT,

         BUDAT TYPE EKBE-BUDAT,

         BELNR TYPE EKBE-BELNR,

         BUZEI TYPE EKBE-BUZEI,

         BLDAT TYPE EKBE-BLDAT,

         XBLNR TYPE EKBE-XBLNR,

         BWART TYPE EKBE-BWART,

         MENGE TYPE EKBE-MENGE,

         DMBTR TYPE EKBE-DMBTR,

         GJAHR TYPE EKBE-GJAHR,

         BEWTP TYPE EKBE-BEWTP,

         SHKZG TYPE EKBE-SHKZG,

         LFGJA TYPE EKBE-LFGJA,

         LFBNR TYPE EKBE-LFBNR,

         LFPOS TYPE EKBE-LFPOS,

         END OF TY_EKBE.

TYPES : BEGIN OF TY_EKBE1,

         WERKS TYPE EKBE-WERKS,

         EBELN TYPE EKBE-EBELN,

         EBELP TYPE EKBE-EBELP,

         MATNR TYPE EKBE-MATNR,

         CPUDT TYPE EKBE-CPUDT,

         BUDAT TYPE EKBE-BUDAT,

         BELNR TYPE EKBE-BELNR,

         BUZEI TYPE EKBE-BUZEI,

         BLDAT TYPE EKBE-BLDAT,

         XBLNR TYPE EKBE-XBLNR,

         BWART TYPE EKBE-BWART,

         MENGE TYPE EKBE-MENGE,

         DMBTR TYPE EKBE-DMBTR,

         GJAHR TYPE EKBE-GJAHR,

         BEWTP TYPE EKBE-BEWTP,

         SHKZG TYPE EKBE-SHKZG,

         LFGJA TYPE EKBE-LFGJA,

         LFBNR TYPE EKBE-LFBNR,

         LFPOS TYPE EKBE-LFPOS,

         REF_KEY TYPE AWKEY,

         WAERS TYPE EKBE-WAERS,

         END OF TY_EKBE1.

TYPES : BEGIN OF TY_MSEG,

         WERKS TYPE MSEG-WERKS,

         LIFNR TYPE MSEG-LIFNR,

         EBELN TYPE MSEG-EBELN,

         EBELP TYPE MSEG-EBELP,

         MJAHR TYPE MSEG-MJAHR,

         MBLNR TYPE MSEG-MBLNR,

         ZEILE TYPE MSEG-ZEILE,

         BWART TYPE MSEG-BWART,

         MATNR TYPE MSEG-MATNR,

         DMBTR TYPE MSEG-DMBTR,

         BNBTR TYPE MSEG-BNBTR,

         MENGE TYPE MSEG-MENGE,

         LFBNR TYPE MSEG-LFBNR,

         LFPOS TYPE MSEG-LFPOS,

         LFBJA TYPE MSEG-LFBJA,

         MEINS TYPE MSEG-MEINS,

         END OF TY_MSEG.

TYPES : BEGIN OF TY_BKPF,

         AWKEY TYPE BKPF-AWKEY,

         BUDAT TYPE BKPF-BUDAT,

         BELNR TYPE BKPF-BELNR,

         BLDAT TYPE BKPF-BLDAT,

         XBLNR TYPE BKPF-BLDAT,

         END OF TY_BKPF.

        

*TYPES : BEGIN OF TY_MARA,

*        MAKTG TYPE MARA-MAKTG,

*        END OF TY_MARA.

        

TYPES : BEGIN OF TY_MAKT,

         MAKTG TYPE MAKT-MAKTG,

         MATNR TYPE MAKT-MATNR,

         END OF TY_MAKT.

TYPES : BEGIN OF TY_FINAL,

         WERKS TYPE EKBE-WERKS,

         NAME1 TYPE T001W-NAME1,

         LIFNR TYPE EKKO-LIFNR,

         VENDOR_NAME TYPE LFA1-MCOD1,

         BEDAT TYPE EKKO-BEDAT,

         EBELN TYPE EKKO-EBELN,

         EBELP TYPE EKKO-EBELN,

         MATNR TYPE EKBE-MATNR,

         MAKTG TYPE MAKT-MAKTG,

         MEINS TYPE MSEG-MEINS,

         GR_CPUDT TYPE EKBE-CPUDT,

         GR_BUDAT TYPE EKBE-BUDAT,

         GR_BELNR TYPE EKBE-BELNR,

         GR_BUZEI TYPE EKBE-BUZEI,

         GR_BLDAT TYPE EKBE-BLDAT,

         GR_XBLNR TYPE EKBE-XBLNR,

         BWART TYPE EKBE-BWART,

         GR_MENGE TYPE EKBE-MENGE,

         GR_DMBTR TYPE EKBE-DMBTR,

         BNBTR TYPE MSEG-BNBTR,

         WAERS  TYPE EKBE-WAERS,

         IR_CPUDT TYPE EKBE-CPUDT,

         IR_BUDAT TYPE EKBE-BUDAT,

         IR_BELNR TYPE EKBE-BELNR,

         IR_BUZEI TYPE EKBE-BUZEI,

         IR_BLDAT TYPE EKBE-BLDAT,

         IR_XBLNR TYPE BKPF-XBLNR,

         IR_MENGE TYPE EKBE-MENGE,

         IR_DMBTR TYPE EKBE-DMBTR,

         END OF TY_FINAL.

* Internal Tables Declarations

DATA : GT_EKKO TYPE STANDARD TABLE OF TY_EKKO,

        GT_T001W TYPE STANDARD TABLE OF TY_T001W,

        GT_LFA1 TYPE STANDARD TABLE OF TY_LFA1,

        GT_EKBE TYPE STANDARD TABLE OF TY_EKBE,

        GT_MSEG TYPE STANDARD TABLE OF TY_MSEG,

        GT_BKPF TYPE STANDARD TABLE OF TY_BKPF,

        GT_FINAL TYPE STANDARD TABLE OF TY_FINAL,

*       GT_MARA TYPE  STANDARD TABLE OF TY_MARA,

        GT_MAKT TYPE STANDARD TABLE OF TY_MAKT,

        GT_EKBE1 TYPE STANDARD TABLE OF TY_EKBE1.

* WORK AREA DECLARATION

DATA : GS_EKKO TYPE TY_EKKO,

        GS_T001W TYPE TY_T001W,

        GS_LFA1 TYPE TY_LFA1,

        GS_EKBE TYPE TY_EKBE,

        GS_MSEG TYPE TY_MSEG,

        GS_BKPF TYPE TY_BKPF,

        GS_FINAL TYPE TY_BKPF,

*       GS_MARA TYPE TY_MARA,

        GS_MAKT TYPE TY_MAKT,

        GS_EKBE1 TYPE TY_EKBE1.

*ALV VARIABLES DECLARATIONS

DATA: GT_HEADER TYPE SLIS_T_LISTHEADER,

       GS_HEADER TYPE SLIS_LISTHEADER,

       GT_FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV,

       GS_FCAT TYPE SLIS_FIELDCAT_ALV,

       GT_SORT TYPE SLIS_SORTINFO_ALV OCCURS 1,

       GS_SORT TYPE SLIS_SORTINFO_ALV,

       GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

CONSTANTS : GC_X TYPE CHAR1 VALUE 'X'.

*SELECTION-SCREEN

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: SO_EBELN FOR EKBE-EBELN,

                  SO_BELNR FOR EKBE-BELNR,

                  SO_BUDAT FOR EKBE-BUDAT,

                  SO_WERKS FOR T001W-WERKS,

                  SO_MATNR FOR EKBE-MATNR.

SELECTION-SCREEN: END OF BLOCK B1.

START-OF-SELECTION.

PERFORM F_GET_DATA.

PERFORM F_FINAL_TABLE.

PERFORM BUILD_HEADER.

PERFORM BUILD_FCAT.

PERFORM SUB_BUILD_LAYOUT.

PERFORM DISPLAY.

*&---------------------------------------------------------------------*

*&      Form  F_GET_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM F_GET_DATA.

*HISTORY PER PURCHASING DOCUMENT

SELECT WERKS

        EBELN

        EBELP

        MATNR

        CPUDT

        BUDAT

        BELNR

        BUZEI

        BLDAT

        XBLNR

        BWART

        MENGE

        DMBTR

        WAERS

        GJAHR

        BEWTP

        SHKZG

        LFGJA

        LFBNR

        LFPOS

        FROM EKBE INTO CORRESPONDING FIELDS OF TABLE GT_EKBE

        WHERE EBELN IN SO_EBELN

        AND BELNR IN SO_BELNR

        AND BUDAT IN SO_BUDAT

        AND WERKS IN SO_WERKS

        AND MATNR IN SO_MATNR.

" HISTORY PER PURCHASING DOCUMENT

SELECT WERKS

        EBELN

        EBELP

        MATNR

        CPUDT

        BUDAT

        BELNR

        BUZEI

        BLDAT

        XBLNR

        BWART

        MENGE

        DMBTR

        GJAHR

        BEWTP

        SHKZG

        LFGJA

        LFBNR

        LFPOS

        WAERS

        FROM EKBE INTO CORRESPONDING FIELDS OF TABLE GT_EKBE1

        WHERE EBELN IN SO_EBELN

        AND BELNR IN SO_BELNR

        AND BUDAT IN SO_BUDAT

        AND WERKS IN SO_WERKS

        AND MATNR IN SO_MATNR

        AND BEWTP EQ 'Q'.

PERFORM F_UPD_REF.

IF GT_EKBE IS NOT INITIAL.

" PLANTS/BRANCHES

SELECT WERKS

        NAME1

        FROM T001W INTO CORRESPONDING FIELDS OF TABLE GT_T001W

        FOR ALL ENTRIES IN GT_EKBE

        WHERE WERKS = GT_EKBE-WERKS.

"document segment MATERIAL

SELECT WERKS

        LIFNR

        EBELN

        EBELP

        MJAHR

        MBLNR

        BUZEI

        ZEILE

        BWART

        MATNR

        DMBTR

        BNBTR

        MENGE

        LFBNR

        LFPOS

        LFBJA

        BELNR

        BUZEI

        MEINS

        FROM MSEG INTO CORRESPONDING FIELDS OF TABLE GT_MSEG

        FOR ALL ENTRIES IN GT_EKBE

        WHERE BELNR = GT_EKBE-BELNR.

*       AND BUZEI = GT_EKBE-BUZEI.

"Accounting Document Header

SELECT AWKEY

        BUDAT

        BELNR

        BLDAT

        XBLNR

        FROM BKPF INTO CORRESPONDING FIELDS OF TABLE GT_BKPF

        FOR ALL ENTRIES IN GT_EKBE

        WHERE BELNR = GT_EKBE-BELNR.

"Purchasing Document Header

SELECT BUKRS

        LIFNR

        BEDAT

        EBELN

        EKGRP

        FROM EKKO INTO CORRESPONDING FIELDS OF TABLE GT_EKKO

        FOR ALL ENTRIES IN GT_EKBE

        WHERE EBELN = GT_EKBE-EBELN.

*SELECT * FROM MARA INTO TABLE GT_MARA

*        FOR ALL ENTRIES IN GT_EKBE

*        WHERE MATNR = GT_EKBE-MATNR.

*ENDIF.

*IF GT_MAKT IS NOT INITIAL.

   SELECT * FROM MAKT INTO CORRESPONDING FIELDS OF TABLE GT_MAKT

     FOR ALL ENTRIES IN GT_EKBE

     WHERE MATNR = GT_EKBE-MATNR.

ENDIF.

IF GT_EKKO IS NOT INITIAL.

   "Vendor  Master(General Section)

  SELECT LIFNR

         MCOD1

         MCOD2

         NAME1

         NAME2

         FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE GT_LFA1

         FOR ALL ENTRIES IN GT_EKKO

         WHERE LIFNR = GT_EKKO-LIFNR.

ENDIF.

ENDFORM.

*&---------------------------------------------------------------------*

*&      Form  F_UPD_REF

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM F_UPD_REF.

LOOP AT GT_EKBE INTO GS_EKBE.

CONCATENATE GS_EKBE-BELNR GS_EKBE-GJAHR INTO GS_EKBE-REF_KY.

MODIFY GT_EKBE FROM GS_EKBE TRANSPORTING REF_KY.

CLEAR : GS_EKBE.

ENDLOOP.

ENDFORM.

FORM F_FINAL_TABLE.

      LOOP AT GT_EKBE INTO GS_EKBE.

     GS_FINAL-WERKS    = GS_EKBE-WERKS.      " plant

     GS_FINAL-BWART    = GS_EKBE-BWART.      " Movement type

     gs_final-ebeln    = gs_ekbe-ebeln.      " PO Nos

     gs_final-matnr    = gs_ekbe-matnr.      " Material Number

     gs_final-ebelp    = gs_ekbe-ebelp.      " PO Item

     gs_final-waers    = gs_ekbe-waers.      " Currency

     IF gs_ekbe-bewtp = 'E'.

       gs_final-gr_cpudt = gs_ekbe-cpudt.    " GR Entry Date

       gs_final-gr_budat = gs_ekbe-budat.    " GR Posting Date

       gs_final-gr_belnr = gs_ekbe-belnr.    " GR Number

       gs_final-gr_buzei = gs_ekbe-buzei.    " GR Item

       gs_final-gr_bldat = gs_ekbe-bldat.    " GR Ref. Date

       gs_final-gr_xblnr = gs_ekbe-xblnr.    " GR Ref. Nos

       gs_final-gr_menge = gs_ekbe-menge.    " GR Quantity

       gs_final-gr_dmbtr = gs_ekbe-dmbtr.    " GR Amount

     ENDIF.

     IF GS_EKBE-BWART = '102'.

     MULTIPLY GS_FINAL-GR_MENGE BY -1. " Negative GR Quantity as Required if Movement Type is 102

     MULTIPLY GS_FINAL-GR_DMBTR BY -1.  " Negative GR Amount as Required if Movement Type is 102

     ENDIF.

     READ TABLE GT_EKB1 INTO GS_EKB1 WITH KEY LFBNR = GS_EKBE-BELNR

                                              LFPOS = GS_EKBE-BUZEI.

     IF SY-SUBRC EQ 0.

       gs_final-ir_cpudt = gs_ekbe-cpudt.    " IR Entry Date

       gs_final-ir_budat = gs_ekbe-budat.    " IR Posting Date

       gs_final-ir_belnr = gs_ekbe-belnr.    " IR Number

       gs_final-ir_buzei = gs_ekbe-buzei.    " IT Item

       gs_final-ir_bldat = gs_ekbe-bldat.    " IR Ref. Date

       gs_final-ir_xblnr = gs_ekbe-xblnr.    " IR Ref. Nos

       gs_final-ir_menge = gs_ekbe-menge.    " IR Quantity

       gs_final-ir_dmbtr = gs_ekbe-dmbtr.    " IR Amount

     ENDIF.

     IF gs_ekbe-shkzg = 'H'.

       MULTIPLY gs_final-ir_menge BY -1.     " Negative IR Quantity as Required if Debit/Credit Indicator is H

       MULTIPLY gs_final-ir_dmbtr BY -1.     " Negative IR Amount as Required if Debit/Credit Indicator is H

     ENDIF.

     READ TABLE gt_t001w INTO gs_t001w WITH TABLE KEY werks = gs_ekbe-werks.

     IF sy-subrc EQ 0.

       gs_final-name1 = gs_t001w-name1.      " Plant Name

     ENDIF.

     READ TABLE GT_MARA INTO GS_MARA WITH TABLE KEY MATNR = GS_EKBE-MATNR.

     IF SY-SUBRC EQ 0.

       GS_FINAL-MEINS = GS_MARA-MEINS.       "UOM

     ENDIF.

     READ TABLE GT_MAKT INTO GS_MAKT WITH TABLE KEY MATNR = GS_EKBE-MATNR.

       IF SY-SUBRC EQ 0.

         GS_FINAL-MAKTX = GS_MAKT-MAKTX.     "Material Description

       ENDIF.

     READ TABLE GT_EKKO INTO GS_EKKO WITH TABLE KEY EBELN = GS_EKBE-EBELN.

       IF SY-SUBRC EQ 0.

         GS_FIANL-LIFNR = GS_EKBE-LIFNR.     "Vendor Code

         GS_FINAL-BEDAT = GS_EKBE-BEDAT.     "PO DATE

     READ TABLE GT_LFA1 INTO GS_LFA1 WITH TABLE KEY LIFNR = GS_EKBE-LIFNR.

       IF SY-SUBRC EQ 0.

         CONCATENATE GS_LFA1-MCOD1 GS_LFA1-MCOD2 INTO GS_FINAL-VENDOR_NAME

         SEPARATED BY SPACE.                 "VENDOR NAME

       ENDIF.

     ENDIF.

     READ TABLE GT_MSEG INTO GS_MSEG WITH TABLE KEY BELNR = GS_EKBE-BELNR

                                                    BUZEI = GS_EKBE-BUZEI.

      IF SY-SUBRC = 0.

        GS_FINAL-BNBTR = GS_MSEG-BNBTR.        "Delivery Cost

      ENDIF.

   ENDLOOP.

   ENDFORM.

*&---------------------------------------------------------------------*

*&      Form  build_header

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

   FORM BUILD_HEADER.

     DATA : LV_LINES TYPE C LENGTH 10,

            LV_TEXT TYPE C LENGTH 255.

"For TITLE IN OUTPUT

     gs_header_typ = 'H'.

     gs_header_info = 'GR / IR REPORT'.

     APPEND gs_header to gt_header.

     CLEAR: gs_header.

"Purchasing Document in ALV Output Header

IF so_ebeln IS NOT INITIAL.

   gs_header-typ = 'S'.

   gs_header-key = 'Purchasing Document'.

     IF so_ebeln-high IS NOT INITIAL.

       CONCATENATE so_ebeln-low 'To' so_ebeln-high INTO gs_header-info

       SEPARATED BY space.

       ELSE.

         gs_header-info = so_ebeln-low.

     ENDIF.

     APPEND gs_header TO gt_header.

     CLEAR: gs_header.

ENDIF.

"Material Document in ALV Output Header

IF so_belnr IS NOT INITIAL.

   gs_header-typ = 'S'.

   gs_header-key = 'Material Document'.

   IF so_belnr-high IS NOT INITIAL.

     CONCATENATE so_belnr-low 'TO' so_belnr-high INTO gs_header-info

     SEPARATED BY space.

     ELSE.

       gs_header-info = so_belnr-low.

   ENDIF.

   APPEND gs_header TO gt_header.

   CLEAR: gs_header.

ENDIF.

"Posting Date in ALV Output Header

IF so_bedat IS NOT INITIAL.

   gs_header-typ = 'S'.

   gs_header-key = 'Posting Date'.

   IF so_bedat-high IS NOT INITIAL.

     CONCATENATE so_bedat-low 'TO' so_bedat-high INTO gs_header-info

     SEPARATED BY space.

     ELSE.

       gs_header-info = so_bedat-low.

     ENDIF.

    APPEND gs_header TO gt_header.

    CLEAR: gs_header.

  ENDIF.

  "Plant in ALV OUTPUT HEADER

IF so_werks IS NOT INITIAL.

   gs_header-typ = 'S'.

   gs_header-key = 'Plant'.

   IF so_werks-high IS NOT INITIAL.

     CONCATENATE so_bedat-low 'TO' so_werks-high INTO gs_header-info

     SEPARATED BY space.

     ELSE.

       gs_header-info = so_werks-low.

     ENDIF.

     APPEND gs_header TO gt_header.

     CLEAR: gs_header.

  ENDIF.

  "Material in ALV OUTPUT HEADER

  IF so_matnr IS NOT INITIAL.

    gs_header-typ = 'S'.

    gs_header-key = 'Material'.

    IF so_matnr-high IS NOT INITIAL.

      CONCATENATE so_matnr-low 'TO' so_matnr-high INTO gs_header-info

      SEPARATED BY space.

      ELSE.

        gs_header-info = so_matnr-low.

      ENDIF.

     APPEND gs_header TO gt_header.

     CLEAR : gs_header.

  ENDIF.

  "TOTAL NUMBER OF RECORDS IN THE OUTPUT

  DESCRIBE TABLE gt_final LINES lv_lines.

   CONCATENATE 'Total Number Of Records :' lv_lines INTO lv_text

   SEPARATED BY space.

   MESSAGE lv_text TYPE 'S'.

   ENDFORM.                          " Build_header

*&---------------------------------------------------------------------*

*&      Form  build_fcat

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM build_fcat.

   PERFORM sub_fieldcat USING :

         'WERKS'                   'PLANT'

         'NAME1'                   'PLANT NAME'

         'LIFNR'                   'VENDOR NAME'

         'BEDAT'                   'PO DATE'

         'EBELN'                   'PO NOs'

         'EBELP'                   'PO ITEM'

         'MATNR'                   'MATERIAL NOs'

         'MAKTX'                   'MATERIAL DESCRIPTION'

         'MEINS'                   'BASE UNIT OF MEASURE'

         'GR_CPUDT'                'GR ENTRY DATE'

         'GR_BUDAT'                'GR POSTING DATE'

         'GR_BELNR'                'GR NOs'

         'GR_BUZEI'                'GR ITEM'

         'GR_BLDAT'                'GR REF DATE'

         'GR_XBLNR'                'GR REF NOs'

         'BWART'                   'MOVEMENT TYPE'

         'GR_MENGE'                'GR QUANTITY'

         'GR_DMBTR'                'GR AMOUNT'

         'BNBTR'                   'DELIVERY COST'

         'WAERS'                   'CURRENCY'

         'IR_CPUDT'                'IR Entry Date',

         'IR_BUDAT'                'IR Posting Date',

         'IR_BELNR'                'IR NOS',

         'IR_BUZEI'                'IR Item',

         'IR_BLDAT'                'IR Ref. Date',

         'IR_XBLNR'                'IR Ref. NOS',

         'IR_MENGE'                'IR QUANTITY',

         'IR_DMBTR'                'IR Amount'.

    ENDFORM.

    FORM sub_fieldcat USING gv_fieldname

                            gv_desc.

    DATA : gv_count TYPE c LENGTH 10.

           gv_count = gv_count + 1.

           gs_fcat-tabname = 'GT_FINAL'.

           gs_fcat-fieldname = gv_fieldname.

           gs_fcat-seltext_m = gv_desc.

           gs_fcat-col_pos = gv_count.

   APPEND gs_fcat TO gt_fcat.

   CLEAR gs_fcat.

   ENDFORM.

   FORM display.

     CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

      EXPORTING

*       I_INTERFACE_CHECK                 = ' '

*       I_BYPASSING_BUFFER                = ' '

*       I_BUFFER_ACTIVE                   = ' '

        I_CALLBACK_PROGRAM                = 'sy-cprog'

*       I_CALLBACK_PF_STATUS_SET          = ' '

*       I_CALLBACK_USER_COMMAND           = ' '

        I_CALLBACK_TOP_OF_PAGE            = 'HEADER'

*       I_CALLBACK_HTML_TOP_OF_PAGE       = ' '

*       I_CALLBACK_HTML_END_OF_LIST       = ' '

*       I_STRUCTURE_NAME                  =

*       I_BACKGROUND_ID                   = ' '

*       I_GRID_TITLE                      =

*       I_GRID_SETTINGS                   =

        IS_LAYOUT                         =  gs_layout

        IT_FIELDCAT                       =  gt_fcat

*       IT_EXCLUDING                      =

*       IT_SPECIAL_GROUPS                 =

        IT_SORT                           =  gt_sort

*       IT_FILTER                         =

*       IS_SEL_HIDE                       =

*       I_DEFAULT                         = 'X'

        I_SAVE                            = 'gc_x'

*       IS_VARIANT                        =

*       IT_EVENTS                         =

*       IT_EVENT_EXIT                     =

*       IS_PRINT                          =

*       IS_REPREP_ID                      =

*       I_SCREEN_START_COLUMN             = 0

*       I_SCREEN_START_LINE               = 0

*       I_SCREEN_END_COLUMN               = 0

*       I_SCREEN_END_LINE                 = 0

*       I_HTML_HEIGHT_TOP                 = 0

*       I_HTML_HEIGHT_END                 = 0

*       IT_ALV_GRAPHICS                   =

*       IT_HYPERLINK                      =

*       IT_ADD_FIELDCAT                   =

*       IT_EXCEPT_QINFO                   =

*       IR_SALV_FULLSCREEN_ADAPTER        =

*     IMPORTING

*       E_EXIT_CAUSED_BY_CALLER           =

*       ES_EXIT_CAUSED_BY_USER            =

       TABLES

         T_OUTTAB                          =  gt_final.

*     EXCEPTIONS

*       PROGRAM_ERROR                     = 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.

     ENDFORM.

     FORM header.

       CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

         EXPORTING

           IT_LIST_COMMENTARY       = gt_header

          I_LOGO                   = ''.

*         I_END_OF_LIST_GRID       =

*         I_ALV_FORM               =

      ENDFORM.

Accepted Solutions (1)

Accepted Solutions (1)

Sudhakargadde
Participant
0 Kudos

hi,

there is no Ref Key is available in the program,

please provide the value in the types

thanks and regards

Sudhakar

Answers (1)

Answers (1)

former_member187748
Active Contributor
0 Kudos

This message was moderated.

former_member187748
Active Contributor
0 Kudos

IN TYPES DECLARATIONS FOR "BKPF", Please add

AWKEY TYPES BKPF-AWKEY.