on 10-25-2013 10:11 AM
Hi All
while execting report program output is not showing plz help me...
PFA...
Regards,
Mounika
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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.
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
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.
Please paste your code / elaborate the issue, then we can comment or discuss.
-Venkat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.