cancel
Showing results for 
Search instead for 
Did you mean: 

Alv report program

Former Member
0 Kudos

Hi All

while execting report program output is not showing plz help me...

PFA...

Regards,

Mounika

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

TYPE-POOLS : slis. TABLES : ekko,ekbe.  TYPES : BEGIN OF ty_ekko,         ebeln TYPE ebeln,         bukrs TYPE bukrs,         lifnr TYPE elifn,         END OF ty_ekko,         BEGIN OF ty_ekbe,         ebeln TYPE ebeln,         budat TYPE budat,         matnr TYPE matnr,         werks TYPE werks_d,         belnr TYPE mblnr,         END OF ty_ekbe,         BEGIN OF ty_konp,         KBETR TYPE KBETR_KOND,          END OF ty_konp,         BEGIN OF ty_konv,         zmar_kbetr TYPE kbetr,          zm_kbetr TYPE kbetr,         zmm_kbetr TYPE kbetr,         zstd_kbetr TYPE kbetr,          END OF ty_konv,            BEGIN OF ty_final,         bukrs TYPE bukrs,         lifnr TYPE elifn,         ebeln TYPE ebeln,         budat TYPE budat,         matnr TYPE matnr,         werks TYPE werks_d,         zstd(13) TYPE c,         zmar(13) TYPE c,          ebelp TYPE ebelp,         KBETR TYPE KBETR_KOND,         knumh TYPE knumh,         kdgrp TYPE kdgrp,         zmar_kbetr TYPE kbetr,          zm_kbetr TYPE kbetr,          belnr TYPE mblnr,          zmm_kbetr TYPE kbetr,          zstd_kbetr TYPE kbetr,         END OF ty_final.  DATA : it_ekko TYPE TABLE OF ty_ekko,        wa_ekko LIKE LINE OF it_ekko,        it_ekbe TYPE TABLE OF ty_ekbe,        wa_ekbe LIKE LINE OF it_ekbe,        it_final TYPE TABLE OF ty_final,        wa_final LIKE LINE OF it_final.  DATA : it_a918 TYPE TABLE OF a918 WITH HEADER LINE,         wa_a918 LIKE LINE OF it_a918,         it_konv TYPE TABLE OF konv WITH HEADER LINE,         wa_konv LIKE LINE OF it_konv,         it_konp TYPE TABLE OF konp WITH HEADER LINE,         wa_konp LIKE LINE OF it_konp,          it_a142 TYPE TABLE OF a142 WITH HEADER LINE,         wa_a142 LIKE LINE OF it_a142.  DATA: it_fieldcat TYPE TABLE OF slis_fieldcat_alv,       wa_fieldcat LIKE LINE OF it_fieldcat,       wa_layout TYPE slis_layout_alv.   SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. PARAMETERS :p_bukrs TYPE ekko-bukrs OBLIGATORY. SELECT-OPTIONS :s_budat FOR ekbe-budat,                 s_lifnr FOR ekko-lifnr,                 s_matnr FOR ekbe-matnr. PARAMETERS : p_werks TYPE ekbe-werks OBLIGATORY. SELECTION-SCREEN: END OF BLOCK b1.  START-OF-SELECTION.    SELECT  ebeln           bukrs          lifnr       FROM ekko  INTO TABLE it_ekko       WHERE bukrs = p_bukrs       AND lifnr IN s_lifnr.        IF it_ekko[] IS NOT INITIAL.       SELECT  ebeln               budat               matnr               werks               BELNR         FROM ekbe INTO TABLE it_ekbe         WHERE budat IN s_budat         AND  matnr IN s_matnr         AND  werks EQ p_werks.     ENDIF.  *&-----------------------------------------------------------------------------------------------&* *& FORM GET ZMAR *&-----------------------------------------------------------------------------------------------&* * text *------------------------------------------------------------------------------------------------&* *  --> p1 text * <-- p2 text *------------------------------------------------------------------------------------------------*   IF it_ekbe[] IS NOT INITIAL.     SELECT matnr            knumh        FROM a918 INTO TABLE it_a918         WHERE kappl = 'V'        AND  kschl = 'ZMAR'       AND   kdgrp = 'FR'       AND  matnr IN s_matnr       AND  DATAB GE SY-DATUM.   ENDIF.  *&-----------------------------------------------------------------------------------------------&* *& FORM GET ZSTD *&-----------------------------------------------------------------------------------------------&* * text *------------------------------------------------------------------------------------------------&* *  --> p1 text * <-- p2 text *------------------------------------------------------------------------------------------------*   IF it_a918[] IS NOT INITIAL.     SELECT kappl            kschl            matnr            knumh          FROM a142 INTO TABLE it_a142         WHERE kappl = 'M'         AND kschl = 'ZSTD'         AND matnr IN s_matnr        AND  DATAB GE SY-DATUM.   ENDIF.   IF sy-subrc = 0.     SELECT            kappl            kschl            Kbetr       FROM konv INTO TABLE it_konv       WHERE kappl = 'M'       AND  kschl = 'zmar' OR kschl = 'zstd'.    ENDIF.    PERFORM arrange_data.   PERFORM build_fieldcatalog.   perFORM display_report .  *&-----------------------------------------------------------------------------------------------&* *& FORM Arrange data *&-----------------------------------------------------------------------------------------------&* FORM arrange_data.   LOOP AT it_ekko INTO wa_ekko.     wa_final-bukrs = wa_ekko-bukrs.     wa_final-lifnr = wa_ekko-lifnr.     READ TABLE it_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln.      IF sy-subrc = 0.       wa_final-budat = wa_ekbe-budat.       wa_final-matnr = wa_ekbe-matnr.       wa_final-werks = wa_ekbe-werks.     ENDIF.      IF sy-subrc = 0.      READ TABLE it_a918 INTO wa_a918 WITH KEY matnr = S_matnr KSCHL = 'ZMAR'. *    wa_final-ZMAR = wa_a914-KBETR.       SELECT SINGLE kbetr FROM konp INTO wa_konp WHERE kappl = 'M'                                            AND ( kschl = 'ZMAR' OR kschl = 'ZSTD' )                                            AND knumh = wa_a918-knumh.        IF sy-subrc = 0.         wa_final-zmar = wa_konp-kbetr / 10.       ENDIF.     ENDIF.       IF sy-subrc = 0.      READ TABLE it_a142 INTO wa_a142 WITH KEY matnr = s_matnr.      wa_final-zstd = wa_konp-kbetr / 10.      ENDIF.       SORT it_ekbe.     READ TABLE it_ekbe INTO wa_ekbe WITH  KEY ebeln = wa_ekko-ebeln.     IF sy-subrc = 0.       CLEAR wa_final.      ENDIF.     CLEAR : wa_final,wa_ekko,wa_ekbe,wa_a918,wa_a142,wa_konv,wa_konp.   ENDLOOP. ENDFORM.                    "Arrange_data  *&---------------------------------------------------------------------* *& FORM BUILD FIELDCATALOG *&---------------------------------------------------------------------*   FORM build_fieldcatalog.   wa_fieldcat-col_pos = 1.   wa_fieldcat-fieldname = 'EBELN'.   wa_fieldcat-seltext_m = 'Purchase order'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 2.   wa_fieldcat-fieldname = 'EBELP'.   wa_fieldcat-seltext_m = 'Purchase order item no'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 3.   wa_fieldcat-fieldname = 'MATNR'.   wa_fieldcat-seltext_m = 'Article description'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 4.   wa_fieldcat-fieldname = 'KBETR'.   wa_fieldcat-seltext_m = 'ZMAR and ZSTD margins in sap'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 5.   wa_fieldcat-fieldname = 'KBETR'.   wa_fieldcat-seltext_m = 'ZMAR with key combination of customer article in sap'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 6.   wa_fieldcat-fieldname = 'MBLNR'.   wa_fieldcat-seltext_m = 'Goods reciept no'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 7.   wa_fieldcat-fieldname = 'KBETR'.   wa_fieldcat-seltext_m = 'ZMAR'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.    wa_fieldcat-col_pos = 8.   wa_fieldcat-fieldname = 'KBETR'.   wa_fieldcat-seltext_m = 'ZSTD OF PO POST GRN'.   APPEND wa_fieldcat TO it_fieldcat.   CLEAR wa_fieldcat.  ENDFORM.                    " BUILD_FIELDCAT *&---------------------------------------------------------------------* *&      Form  DISPLAY_REPORT *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM display_report .     wa_layout-zebra = 'X'.   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'   EXPORTING       I_CALLBACK_PROGRAM                = sy-cprog        IS_LAYOUT                         = wa_layout      IT_FIELDCAT                       = it_fieldcat      TABLES       t_outtab                          =  it_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.

venkat_aileni
Contributor
0 Kudos

In your FM you are passing it_final internal table to tables parameter. So are passing data to it_final internal table??

If not just append some values it will work!

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

     EXPORTING

       i_callback_program = sy-cprog

       is_layout          = wa_layout

       it_fieldcat        = it_fieldcat

     TABLES

       t_outtab           = it_final.

Hope this will solve your problem.

-Venkat

Former Member
0 Kudos

Hi Venkat,

The code you have provided in your previous reply i have already used in my program.

Please have a look into my source code below and let me know the solution.

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

*& Report  ZMM_GRNMARGIN_REPORT

*&

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

*&

*&

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

REPORT  zmm_grnmargin_report.

TYPE-POOLS : slis.

TABLES : ekko,ekbe.

TYPES : BEGIN OF ty_ekko,

         ebeln TYPE ebeln,

         bukrs TYPE bukrs,

         lifnr TYPE elifn,

         END OF ty_ekko,

         BEGIN OF ty_ekbe,

         ebeln TYPE ebeln,

         budat TYPE budat,

         matnr TYPE matnr,

         werks TYPE werks_d,

         belnr TYPE mblnr,

         END OF ty_ekbe,

         BEGIN OF ty_konp,

         KBETR TYPE KBETR_KOND,

          END OF ty_konp,

         BEGIN OF ty_konv,

         zmar_kbetr TYPE kbetr,

          zm_kbetr TYPE kbetr,

         zmm_kbetr TYPE kbetr,

         zstd_kbetr TYPE kbetr,

          END OF ty_konv,

         BEGIN OF ty_final,

         bukrs TYPE bukrs,

         lifnr TYPE elifn,

         ebeln TYPE ebeln,

         budat TYPE budat,

         matnr TYPE matnr,

         werks TYPE werks_d,

         zstd(13) TYPE c,

         zmar(13) TYPE c,

         ebelp TYPE ebelp,

         KBETR TYPE KBETR_KOND,

         knumh TYPE knumh,

         kdgrp TYPE kdgrp,

         zmar_kbetr TYPE kbetr,

          zm_kbetr TYPE kbetr,

          belnr TYPE mblnr,

          zmm_kbetr TYPE kbetr,

          zstd_kbetr TYPE kbetr,

         END OF ty_final.

DATA : it_ekko TYPE TABLE OF ty_ekko,

        wa_ekko LIKE LINE OF it_ekko,

        it_ekbe TYPE TABLE OF ty_ekbe,

        wa_ekbe LIKE LINE OF it_ekbe,

        it_final TYPE TABLE OF ty_final,

        wa_final LIKE LINE OF it_final.

DATA : it_a918 TYPE TABLE OF a918 WITH HEADER LINE,

         wa_a918 LIKE LINE OF it_a918,

         it_konv TYPE TABLE OF konv WITH HEADER LINE,

         wa_konv LIKE LINE OF it_konv,

         it_konp TYPE TABLE OF konp WITH HEADER LINE,

         wa_konp LIKE LINE OF it_konp,

         it_a142 TYPE TABLE OF a142 WITH HEADER LINE,

         wa_a142 LIKE LINE OF it_a142.

DATA: it_fieldcat TYPE TABLE OF slis_fieldcat_alv,

       wa_fieldcat LIKE LINE OF it_fieldcat,

       wa_layout TYPE slis_layout_alv.

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

PARAMETERS :p_bukrs TYPE ekko-bukrs OBLIGATORY.

SELECT-OPTIONS :s_budat FOR ekbe-budat,

                 s_lifnr FOR ekko-lifnr,

                 s_matnr FOR ekbe-matnr.

PARAMETERS : p_werks TYPE ekbe-werks OBLIGATORY.

SELECTION-SCREEN: END OF BLOCK b1.

START-OF-SELECTION.

   SELECT  ebeln

           bukrs

          lifnr

       FROM ekko  INTO TABLE it_ekko

       WHERE bukrs = p_bukrs

       AND lifnr IN s_lifnr.

     IF it_ekko[] IS NOT INITIAL.

       SELECT  ebeln

               budat

               matnr

               werks

               BELNR

         FROM ekbe INTO TABLE it_ekbe

         WHERE budat IN s_budat

         AND  matnr IN s_matnr

         AND  werks EQ p_werks.

     ENDIF.

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

*& FORM GET ZMAR

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

* text

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

*  --> p1 text

* <-- p2 text

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

   IF it_ekbe[] IS NOT INITIAL.

     SELECT matnr

            knumh

        FROM a918 INTO TABLE it_a918

         WHERE kappl = 'V'

        AND  kschl = 'ZMAR'

       AND   kdgrp = 'FR'

       AND  matnr IN s_matnr

       AND  DATAB GE SY-DATUM.

   ENDIF.

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

*& FORM GET ZSTD

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

* text

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

*  --> p1 text

* <-- p2 text

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

   IF it_a918[] IS NOT INITIAL.

     SELECT kappl

            kschl

            matnr

            knumh

          FROM a142 INTO TABLE it_a142

         WHERE kappl = 'M'

         AND kschl = 'ZSTD'

         AND matnr IN s_matnr

        AND  DATAB GE SY-DATUM.

   ENDIF.

   IF sy-subrc = 0.

     SELECT

            kappl

            kschl

            Kbetr

       FROM konv INTO TABLE it_konv

       WHERE kappl = 'M'

       AND  kschl = 'zmar' OR kschl = 'zstd'.

   ENDIF.

   PERFORM arrange_data.

   PERFORM build_fieldcatalog.

   perFORM display_report .

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

*& FORM Arrange data

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

FORM arrange_data.

   LOOP AT it_ekko INTO wa_ekko.

     wa_final-bukrs = wa_ekko-bukrs.

     wa_final-lifnr = wa_ekko-lifnr.

     READ TABLE it_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       wa_final-budat = wa_ekbe-budat.

       wa_final-matnr = wa_ekbe-matnr.

       wa_final-werks = wa_ekbe-werks.

     ENDIF.

     IF sy-subrc = 0.

      READ TABLE it_a918 INTO wa_a918 WITH KEY matnr = S_matnr KSCHL = 'ZMAR'.

*    wa_final-ZMAR = wa_a914-KBETR.

      SELECT SINGLE kbetr FROM konp INTO wa_konp WHERE kappl = 'M'

                                            AND ( kschl = 'ZMAR' OR kschl = 'ZSTD' )

                                            AND knumh = wa_a918-knumh.

       IF sy-subrc = 0.

         wa_final-zmar = wa_konp-kbetr / 10.

       ENDIF.

     ENDIF.

      IF sy-subrc = 0.

      READ TABLE it_a142 INTO wa_a142 WITH KEY matnr = s_matnr.

      wa_final-zstd = wa_konp-kbetr / 10.

      ENDIF.

     SORT it_ekbe.

     READ TABLE it_ekbe INTO wa_ekbe WITH  KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       CLEAR wa_final.

     ENDIF.

     CLEAR : wa_final,wa_ekko,wa_ekbe,wa_a918,wa_a142,wa_konv,wa_konp.

   ENDLOOP.

ENDFORM.                    "Arrange_data

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

*& FORM BUILD FIELDCATALOG

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

FORM build_fieldcatalog.

   wa_fieldcat-col_pos = 1.

   wa_fieldcat-fieldname = 'EBELN'.

   wa_fieldcat-seltext_m = 'Purchase order'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 2.

   wa_fieldcat-fieldname = 'EBELP'.

   wa_fieldcat-seltext_m = 'Purchase order item no'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 3.

   wa_fieldcat-fieldname = 'MATNR'.

   wa_fieldcat-seltext_m = 'Article description'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 4.

   wa_fieldcat-fieldname = 'KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR and ZSTD margins in sap'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 5.

   wa_fieldcat-fieldname = 'KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR with key combination of customer article in sap'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 6.

   wa_fieldcat-fieldname = 'MBLNR'.

   wa_fieldcat-seltext_m = 'Goods reciept no'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 7.

   wa_fieldcat-fieldname = 'KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 8.

   wa_fieldcat-fieldname = 'KBETR'.

   wa_fieldcat-seltext_m = 'ZSTD OF PO POST GRN'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

ENDFORM.                    " BUILD_FIELDCAT

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

*&      Form  DISPLAY_REPORT

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

FORM display_report .

   wa_layout-zebra = 'X'.

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

   EXPORTING

      I_CALLBACK_PROGRAM                = sy-cprog

      IS_LAYOUT                         = wa_layout

      IT_FIELDCAT                       = it_fieldcat

     TABLES

       t_outtab                          it_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.

venkat_aileni
Contributor
0 Kudos

Hello Mounika-

In your Sub-Routine: arrange_data you are filling your values in to workarea wa_final, but you are not appending it to your final internal table it_final.

FORM arrange_data.

    LOOP AT it_ekko INTO wa_ekko.

      wa_final-bukrs = wa_ekko-bukrs.

      wa_final-lifnr = wa_ekko-lifnr.

      READ TABLE it_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln.

      IF sy-subrc = 0.

        wa_final-budat = wa_ekbe-budat.

        wa_final-matnr = wa_ekbe-matnr.

        wa_final-werks = wa_ekbe-werks.

      ENDIF.

      IF sy-subrc = 0.

       READ TABLE it_a918 INTO wa_a918 WITH KEY matnr = S_matnr KSCHL = 'ZMAR'.

*    wa_final-ZMAR = wa_a914-KBETR.

       SELECT SINGLE kbetr FROM konp INTO wa_konp WHERE kappl = 'M'

                                             AND ( kschl = 'ZMAR' OR kschl = 'ZSTD' )

                                             AND knumh = wa_a918-knumh.

        IF sy-subrc = 0.

          wa_final-zmar = wa_konp-kbetr / 10.

        ENDIF.

      ENDIF.

       IF sy-subrc = 0.

       READ TABLE it_a142 INTO wa_a142 WITH KEY matnr = s_matnr.

       wa_final-zstd = wa_konp-kbetr / 10.

       ENDIF.

      SORT it_ekbe.

      READ TABLE it_ekbe INTO wa_ekbe WITH  KEY ebeln = wa_ekko-ebeln.

      IF sy-subrc = 0.

        CLEAR wa_final.

      ENDIF.

      CLEAR : wa_final,wa_ekko,wa_ekbe,wa_a918,wa_a142,wa_konv,wa_konp.

    ENDLOOP.

ENDFORM.

So as you are passing this it_final internal table which has no data to the ALV FM, you are getting not getting any output.

Use an Append statement at the end like: APPEND wa_final TO it_final and check the output.

-Venkat

Former Member
0 Kudos

Hi Venkat,

I did as you suggested. Even am not getting output.

FORM arrange_data.

   LOOP AT it_ekko INTO wa_ekko.

     wa_final-bukrs = wa_ekko-bukrs.

     wa_final-lifnr = wa_ekko-lifnr.

     READ TABLE it_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       wa_final-budat = wa_ekbe-budat.

       wa_final-matnr = wa_ekbe-matnr.

       wa_final-werks = wa_ekbe-werks.

     ENDIF.

     IF sy-subrc = 0.

      READ TABLE it_a918 INTO wa_a918 WITH KEY matnr = S_matnr KSCHL = 'ZMAR'.

*    wa_final-ZMAR = wa_a914-KBETR.

      SELECT SINGLE kbetr FROM konp INTO wa_konp WHERE kappl = 'M'

                                            AND ( kschl = 'ZMAR' OR kschl = 'ZSTD' )

                                            AND knumh = wa_a918-knumh.

       IF sy-subrc = 0.

         wa_final-zmar = wa_konp-kbetr / 10.

       ENDIF.

     ENDIF.

      IF sy-subrc = 0.

      READ TABLE it_a142 INTO wa_a142 WITH KEY matnr = s_matnr.

      wa_final-zstd = wa_konp-kbetr / 10.

      ENDIF.

     SORT it_ekbe.

     READ TABLE it_ekbe INTO wa_ekbe WITH  KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       APPEND wa_final TO it_final."Build final itab

       CLEAR wa_final.

     ENDIF.

     CLEAR : wa_final,wa_ekko,wa_ekbe,wa_a918,wa_a142,wa_konv,wa_konp.

   ENDLOOP.

ENDFORM.

venkat_aileni
Contributor
0 Kudos

Check below sample report for your reference:

REPORT  zvenkat_test.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv,

       wa_fieldcat TYPE slis_fieldcat_alv.

DATA: itab TYPE TABLE OF vbak.

wa_fieldcat-col_pos = 1.

wa_fieldcat-fieldname = 'VBELN'.

wa_fieldcat-seltext_m = 'Sales Order'.

APPEND wa_fieldcat TO it_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 2.

wa_fieldcat-fieldname = 'ERDAT'.

wa_fieldcat-seltext_m = 'Created on'.

APPEND wa_fieldcat TO it_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 3.

wa_fieldcat-fieldname = 'VKORG'.

wa_fieldcat-seltext_m = 'Sales Org'.

APPEND wa_fieldcat TO it_fieldcat.

CLEAR wa_fieldcat.

SELECT *

   FROM vbak

   INTO TABLE itab

   UP TO 100 ROWS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

   EXPORTING

     i_callback_program = sy-repid

     it_fieldcat        = it_fieldcat

   TABLES

     t_outtab           = itab

   EXCEPTIONS

     program_error      = 1

     OTHERS             = 2.

-Venkat

Former Member
0 Kudos

I did changes in my program. Getting output zero for the fields.

zmar_kbetr

zm_kbetr

belnr,

zmm_kbetr

zstd_kbetr

Purchase order fields are displaying as blank

Please have a look in the below code.

zmar_kbetr

zm_kbetr

belnr,

zmm_kbetr

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

*& Report  ZMM_GRNMARGIN_REPORT

*&

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

*&

*&

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

REPORT  zmm_grnmargin_report.

TYPE-POOLS : slis.

TABLES : ekko,ekbe.

TYPES : BEGIN OF ty_ekko,

         ebeln TYPE ebeln,

         bukrs TYPE bukrs,

         lifnr TYPE elifn,

         END OF ty_ekko,

         BEGIN OF ty_ekbe,

         ebeln TYPE ebeln,

         budat TYPE budat,

         matnr TYPE matnr,

         werks TYPE werks_d,

         belnr TYPE mblnr,

         END OF ty_ekbe,

         BEGIN OF ty_konp,

         KBETR TYPE KBETR_KOND,

          END OF ty_konp,

         BEGIN OF ty_konv,

         zmar_kbetr TYPE kbetr,

          zm_kbetr TYPE kbetr,

         zmm_kbetr TYPE kbetr,

         zstd_kbetr TYPE kbetr,

          END OF ty_konv,

         BEGIN OF ty_final,

         bukrs TYPE bukrs,

         lifnr TYPE elifn,

         ebeln TYPE ebeln,

         budat TYPE budat,

         matnr TYPE matnr,

         werks TYPE werks_d,

         zstd(13) TYPE c,

         zmar(13) TYPE c,

         ebelp TYPE ebelp,

         KBETR TYPE KBETR_KOND,

         knumh TYPE knumh,

         kdgrp TYPE kdgrp,

         zmar_kbetr TYPE kbetr,

          zm_kbetr TYPE kbetr,

          belnr TYPE mblnr,

          zmm_kbetr TYPE kbetr,

          zstd_kbetr TYPE kbetr,

         END OF ty_final.

DATA : it_ekko TYPE TABLE OF ty_ekko,

        wa_ekko LIKE LINE OF it_ekko,

        it_ekbe TYPE TABLE OF ty_ekbe,

        wa_ekbe LIKE LINE OF it_ekbe,

        it_final TYPE TABLE OF ty_final,

        wa_final LIKE LINE OF it_final.

DATA : it_a918 TYPE TABLE OF a918 WITH HEADER LINE,

         wa_a918 LIKE LINE OF it_a918,

         it_konv TYPE TABLE OF konv WITH HEADER LINE,

         wa_konv LIKE LINE OF it_konv,

         it_konp TYPE TABLE OF konp WITH HEADER LINE,

         wa_konp LIKE LINE OF it_konp,

         it_a142 TYPE TABLE OF a142 WITH HEADER LINE,

         wa_a142 LIKE LINE OF it_a142.

DATA: it_fieldcat TYPE TABLE OF slis_fieldcat_alv,

       wa_fieldcat LIKE LINE OF it_fieldcat,

       wa_layout TYPE slis_layout_alv.

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

PARAMETERS :p_bukrs TYPE ekko-bukrs OBLIGATORY.

SELECT-OPTIONS :s_budat FOR ekbe-budat,

                 s_lifnr FOR ekko-lifnr,

                 s_matnr FOR ekbe-matnr.

PARAMETERS : p_werks TYPE ekbe-werks OBLIGATORY.

SELECTION-SCREEN: END OF BLOCK b1.

START-OF-SELECTION.

   SELECT  ebeln

           bukrs

          lifnr

       FROM ekko  INTO TABLE it_ekko

       WHERE bukrs = p_bukrs

       AND lifnr IN s_lifnr.

     IF it_ekko[] IS NOT INITIAL.

       SELECT  ebeln

               budat

               matnr

               werks

               BELNR

         FROM ekbe INTO TABLE it_ekbe

         WHERE budat IN s_budat

         AND  matnr IN s_matnr

         AND  werks EQ p_werks.

     ENDIF.

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

*& FORM GET ZMAR

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

* text

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

*  --> p1 text

* <-- p2 text

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

   IF it_ekbe[] IS NOT INITIAL.

     SELECT matnr

            knumh

        FROM a918 INTO TABLE it_a918

         WHERE kappl = 'V'

        AND  kschl = 'ZMAR'

       AND   kdgrp = 'FR'

       AND  matnr IN s_matnr

       AND  DATAB GE SY-DATUM.

   ENDIF.

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

*& FORM GET ZSTD

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

* text

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

*  --> p1 text

* <-- p2 text

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

   IF it_a918[] IS NOT INITIAL.

     SELECT kappl

            kschl

            matnr

            knumh

          FROM a142 INTO TABLE it_a142

         WHERE kappl = 'M'

         AND kschl = 'ZSTD'

         AND matnr IN s_matnr

        AND  DATAB GE SY-DATUM.

   ENDIF.

   IF sy-subrc = 0.

     SELECT

            kappl

            kschl

            Kbetr

       FROM konv INTO TABLE it_konv

       WHERE kappl = 'M'

       AND  kschl = 'zmar' OR kschl = 'zstd'.

   ENDIF.

   PERFORM arrange_data.

   PERFORM build_fieldcatalog.

   perFORM display_report .

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

*& FORM Arrange data

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

FORM arrange_data.

   LOOP AT it_ekko INTO wa_ekko.

     wa_final-bukrs = wa_ekko-bukrs.

     wa_final-lifnr = wa_ekko-lifnr.

     READ TABLE it_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       wa_final-budat = wa_ekbe-budat.

       wa_final-matnr = wa_ekbe-matnr.

       wa_final-werks = wa_ekbe-werks.

     ENDIF.

     IF sy-subrc = 0.

      READ TABLE it_a918 INTO wa_a918 WITH KEY matnr = S_matnr KSCHL = 'ZMAR'.

*    wa_final-ZMAR = wa_a914-KBETR.

      SELECT SINGLE kbetr FROM konp INTO wa_konp WHERE kappl = 'M'

                                            AND ( kschl = 'ZMAR' OR kschl = 'ZSTD' )

                                            AND knumh = wa_a918-knumh.

       IF sy-subrc = 0.

         wa_final-zmar = wa_konp-kbetr / 10.

       ENDIF.

     ENDIF.

      IF sy-subrc = 0.

      READ TABLE it_a142 INTO wa_a142 WITH KEY matnr = s_matnr.

      wa_final-zstd = wa_konp-kbetr / 10.

      ENDIF.

     SORT it_ekbe.

     READ TABLE it_ekbe INTO wa_ekbe WITH  KEY ebeln = wa_ekko-ebeln.

     IF sy-subrc = 0.

       CLEAR wa_final.

     ENDIF.

     APPEND wa_final TO it_final."Build final itab

     CLEAR wa_final.

     CLEAR : wa_final,wa_ekko,wa_ekbe,wa_a918,wa_a142,wa_konv,wa_konp.

   ENDLOOP.

ENDFORM.                    "Arrange_data

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

*& FORM BUILD FIELDCATALOG

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

FORM build_fieldcatalog.

   wa_fieldcat-col_pos = 1.

   wa_fieldcat-fieldname = 'EBELN'.

   wa_fieldcat-seltext_m = 'Purchase order'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 2.

   wa_fieldcat-fieldname = 'EBELP'.

   wa_fieldcat-seltext_m = 'Purchase order item no'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 3.

   wa_fieldcat-fieldname = 'MATNR'.

   wa_fieldcat-seltext_m = 'Article description'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 4.

   wa_fieldcat-fieldname = 'ZMAR_KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR and ZSTD margins in sap'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 5.

   wa_fieldcat-fieldname = 'ZM_KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR with key combination of customer article in sap'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 6.

   wa_fieldcat-fieldname = 'MBLNR'.

   wa_fieldcat-seltext_m = 'Goods reciept no'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 7.

   wa_fieldcat-fieldname = 'ZMM_KBETR'.

   wa_fieldcat-seltext_m = 'ZMAR'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

   wa_fieldcat-col_pos = 8.

   wa_fieldcat-fieldname = 'ZSTD_KBETR'.

   wa_fieldcat-seltext_m = 'ZSTD OF PO POST GRN'.

   APPEND wa_fieldcat TO it_fieldcat.

   CLEAR wa_fieldcat.

ENDFORM.                    " BUILD_FIELDCAT

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

*&      Form  DISPLAY_REPORT

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

FORM display_report .

   wa_layout-zebra = 'X'.

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

   EXPORTING

      I_CALLBACK_PROGRAM                = sy-cprog

      IS_LAYOUT                         = wa_layout

      IT_FIELDCAT                       = it_fieldcat

     TABLES

       t_outtab                          it_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.

Answers (1)

Answers (1)

venkat_aileni
Contributor
0 Kudos

Please paste your code / elaborate the issue, then we can comment or discuss.

-Venkat