Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

problem with alv grid report

Former Member
0 Likes
934

Hi guys,

i m trying to do a alv grid report using classes.

i m getting this syntax error in the method v_alv->set_table_for_first_display.

the error is that GI_OUTPUT is not type-compatible with formal parameter IT_OUTTAB.

gi_output is my final output table.

any suggestions please?

thanks in advance.

1 ACCEPTED SOLUTION
Read only

varma_narayana
Active Contributor
0 Likes
905

Hi Dinesh...

Here GI_Output may not be an internal table. That is the Reason the Error is coming.

So you declare it as an internal Table (without header line).

Even if u dont get.. Paste your code.

reward if Helpful.

Hi guys,

i m trying to do a alv grid report using classes.

i m getting this syntax error in the method v_alv->set_table_for_first_display.

the error is that GI_OUTPUT is not type-compatible with formal parameter IT_OUTTAB.

gi_output is my final output table.

any suggestions please?

thanks in advance.

6 REPLIES 6
Read only

varma_narayana
Active Contributor
0 Likes
906

Hi Dinesh...

Here GI_Output may not be an internal table. That is the Reason the Error is coming.

So you declare it as an internal Table (without header line).

Even if u dont get.. Paste your code.

reward if Helpful.

Read only

Former Member
0 Likes
905

Hi,

here u have to pass an internal table with out header line.may be ur table gi_output is an internal table with header line.

rgds,

bharat.

Read only

Former Member
0 Likes
905

Thanks that one worked but i couldn't get any alv report in the output.

if i can paste the code can u have a look at it.

Read only

0 Likes
905

Hi Dinesh..

you can paste the Code...

regards..

Read only

0 Likes
905

Hi Varma,

Thanks

This is the code.It will be lengthy.When i m executing i m getting just the pf status in the output not any alv grid.

ABLES: T001W, RESCO, RESB, MDKS.

*----


  • INCLUDES

*----


*INCLUDE bdcrecxy.

*----


  • DATA - TYPES

*----


TYPE-POOLS: SLIS, KKBLO.

DATA: BEGIN OF FS_MAKTX1,

MAKTX1 TYPE MAKT-MAKTX,

END OF FS_MAKTX1.

DATA: BEGIN OF FS_MAKTX2,

MAKTX2 TYPE MAKT-MAKTX,

END OF FS_MAKTX2.

DATA: V_RSNUM1 TYPE RSNUM,

V_RSNUM2 TYPE RSNUM,

V_OBJNR TYPE OBJNR,

V_PROCNR TYPE MDKS-PROCNR.

DATA: BEGIN OF FS_CKMLMV001,

PRWRK_ND TYPE CKMLMV001-PRWRK_ND,

VERID_ND TYPE CKMLMV001-VERID_ND,

PMATN_ND TYPE CKMLMV001-PMATN_ND,

END OF FS_CKMLMV001.

DATA: BEGIN OF FS_MKAL,

WERKS TYPE MKAL-WERKS,

MDV01 TYPE MKAL-MDV01,

END OF FS_MKAL.

DATA: BEGIN OF FS_COMP_DISPO,

DISPO TYPE MARC-DISPO,

END OF FS_COMP_DISPO.

DATA: BEGIN OF FS_ASSEM_DISPO,

DISPO TYPE MARC-DISPO,

END OF FS_ASSEM_DISPO.

DATA: BEGIN OF FS_MBEW,

MATNR TYPE MBEW-MATNR,

VERPR TYPE MBEW-VERPR,

STPRS TYPE MBEW-STPRS,

PEINH TYPE MBEW-PEINH,

END OF FS_MBEW.

DATA:BEGIN OF GT_OUTPUT,

MATNR LIKE RESB-MATNR,

MAKTX1 LIKE MAKT-MAKTX,

DISPO1 LIKE MARC-DISPO,

WERKS LIKE RESB-WERKS,

LGORT LIKE RESB-LGORT,

BDMNG LIKE RESB-BDMNG,

MEINS LIKE RESB-MEINS,

VERPR LIKE MBEW-VERPR,

STPRS LIKE MBEW-STPRS,

WAERS LIKE T001-WAERS,

PEINH LIKE MBEW-PEINH,

QTPRC LIKE MBEW-VERPR,

ENTRY TYPE NUM8,

BAUGR LIKE RESB-BAUGR,

MAKTX2 LIKE MAKT-MAKTX,

DISPO2 LIKE MARC-DISPO,

VERID LIKE MKAL-VERID,

MDV01 LIKE MKAL-MDV01,

AUFNR LIKE RESB-AUFNR,

END OF GT_OUTPUT.

*----


  • DATA - CONSTANTS

*----


CONSTANTS: GC_SELECT VALUE 'X',

GC_HEADING VALUE 'H',

GC_SECTION VALUE 'S',

GC_ALL TYPE C VALUE 'A',

GC_ERROR TYPE C VALUE 'E'.

*----


  • DATA - INTERNAL TABLES AND FIELD LISTS

*----


DATA: I_RESCO TYPE STANDARD TABLE OF RESCO,

I_MDKS TYPE STANDARD TABLE OF MDKS,

IT_MDKS TYPE STANDARD TABLE OF MDKS WITH HEADER LINE,

IF_MDKS TYPE STANDARD TABLE OF MDKS WITH HEADER LINE,

IF1_MDKS LIKE IF_MDKS OCCURS 0 WITH HEADER LINE,

IT_RESCO TYPE STANDARD TABLE OF RESCO WITH HEADER LINE,

IF_RESCO TYPE STANDARD TABLE OF RESCO WITH HEADER LINE,

I_RESB TYPE STANDARD TABLE OF RESB WITH HEADER LINE,

IT_RESB TYPE STANDARD TABLE OF RESB WITH HEADER LINE,

I_MAKTX1 LIKE FS_MAKTX1 OCCURS 0 WITH HEADER LINE,

I_MAKTX2 LIKE FS_MAKTX2 OCCURS 0 WITH HEADER LINE,

I_CKMLMV001 LIKE FS_CKMLMV001 OCCURS 0 WITH HEADER LINE,

I_MKAL LIKE FS_MKAL OCCURS 0,

I_COMP_DISPO LIKE FS_COMP_DISPO OCCURS 0,

I_ASSEM_DISPO LIKE FS_ASSEM_DISPO OCCURS 0,

I_MBEW LIKE FS_MBEW OCCURS 0,

GI_T001W TYPE STANDARD TABLE OF T001W,

GI_OUTPUT LIKE GT_OUTPUT OCCURS 0 .

*----


  • DATA - WORKING VARIABLES

*----


*----


  • DATA - FIELD SYMBOLS

*----


FIELD-SYMBOLS: <GF_T001W> LIKE LINE OF GI_T001W.

*----


  • SELECTION SCREEN

*----


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

SELECT-OPTIONS: s_werks FOR t001w-werks NO INTERVALS MEMORY ID wrk.

SELECTION-SCREEN SKIP.

PARAMETERS: pr_mov TYPE char1 RADIOBUTTON GROUP r1,

pr_std TYPE char1 RADIOBUTTON GROUP r1.

SELECTION-SCREEN END OF BLOCK 1.

************************************************************************

                                                                • MAIN PROGRAM **************************

************************************************************************

*********************************************************************

              • AUTHORISATION CHECK

*********************************************************************

AT SELECTION-SCREEN ON s_werks.

*********************************************************************

SELECT * INTO TABLE GI_T001W

FROM T001W

WHERE WERKS IN S_WERKS.

LOOP AT GI_T001W ASSIGNING <GF_T001W>.

AUTHORITY-CHECK OBJECT 'C_AFFW_TWK'

ID 'WERKS' FIELD <GF_T001W>-WERKS.

IF SY-SUBRC <> 0.

MESSAGE E004(Z1) WITH <GF_T001W>-WERKS <GF_T001W>-NAME1.

ENDIF.

ENDLOOP.

IF SY-SUBRC <> 0.

MESSAGE E018(Z1) WITH S_WERKS.

ENDIF.

*********************************************************************

*********************************************************************

START-OF-SELECTION.

*********************************************************************

PERFORM: READ_COST_REPETITIVE, call_screen."OUTPUT_COST_REPETITIVE_REPORT.

*********************************************************************

********RETRIEVE THE DATA

*********************************************************************

FORM READ_COST_REPETITIVE.

DATA: L_WERKS TYPE WERKS_D,

L_MATNR TYPE MATNR,

L_WAERS TYPE WAERS,

L_MAKTX TYPE MAKTX,

L_INDEX TYPE SY-TABIX.

*********************************************************************

              • ENTRIES FOR RESCO

*********************************************************************

SELECT * INTO TABLE I_RESCO

FROM RESCO.

*********************************************************************

*********************************************************************

*******ENTRIES FOR MDKS

*********************************************************************

SELECT * INTO TABLE I_MDKS

FROM MDKS FOR ALL ENTRIES IN I_RESCO

WHERE OBJNR = I_RESCO-OBJNR.

LOOP AT I_MDKS INTO IT_MDKS WHERE WERKS IN S_WERKS

AND AUTYP = 5

AND POSNR = 1

AND PROCNR <> 0.

IF SY-SUBRC EQ 0.

APPEND IT_MDKS.

ENDIF.

ENDLOOP.

*********************************************************************

*********************************************************************

                • ENTRIES FOR RESB

*********************************************************************

SELECT * INTO TABLE IT_RESCO

FROM RESCO FOR ALL ENTRIES IN IT_MDKS

WHERE OBJNR = IT_MDKS-OBJNR.

SELECT * INTO TABLE I_RESB

FROM RESB FOR ALL ENTRIES IN IT_RESCO

WHERE RSNUM = IT_RESCO-RSNUM

AND WERKS IN S_WERKS.

*********************************************************************

********************************************************************

                • MATERIAL DESCRIPTIONS FOR COMP AND ASSEMBLY

********************************************************************

SELECT MAKTX INTO TABLE I_MAKTX1

FROM MAKT FOR ALL ENTRIES IN I_RESB

WHERE MATNR = I_RESB-MATNR

AND SPRAS = 'E'.

SELECT MAKTX INTO TABLE I_MAKTX2

FROM MAKT FOR ALL ENTRIES IN I_RESB

WHERE MATNR = I_RESB-BAUGR

AND SPRAS = 'E'.

*********************************************************************

*********************************************************************

              • MULTIPLE OBJNR VALUES FOR RESCO

*********************************************************************

LOOP AT I_RESB.

V_RSNUM1 = I_RESB-RSNUM.

READ TABLE IT_RESCO INTO IF_RESCO WITH KEY RSNUM = V_RSNUM1.

IF SY-SUBRC EQ 0.

APPEND IF_RESCO.

ENDIF.

ENDLOOP.

************************************************************************

************************************************************************

                  • VALUES FOR MDKS-PROCNR

************************************************************************

LOOP AT IF_RESCO.

V_OBJNR = IF_RESCO-OBJNR.

LOOP AT IT_MDKS INTO IF_MDKS WHERE OBJNR = V_OBJNR.

IF SY-SUBRC EQ 0.

APPEND IF_MDKS.

ENDIF.

ENDLOOP.

ENDLOOP.

LOOP AT IF_MDKS INTO IF1_MDKS WHERE WERKS IN S_WERKS

AND AUTYP EQ '5'

AND POSNR EQ '1'

AND PROCNR <> '0'.

IF SY-SUBRC EQ 0.

APPEND IF1_MDKS.

ENDIF.

ENDLOOP.

*********************************************************************

*********************************************************************

              • VALUES FOR VERSION ID IN CKMLMV001

*********************************************************************

LOOP AT IF1_MDKS.

V_PROCNR = IF1_MDKS-PROCNR.

SELECT PRWRK_ND

VERID_ND

PMATN_ND

FROM CKMLMV001

INTO CORRESPONDING FIELDS OF FS_CKMLMV001

WHERE PROC_KALNR EQ V_PROCNR.

IF SY-SUBRC EQ 0.

APPEND FS_CKMLMV001 TO I_CKMLMV001.

ENDIF.

CLEAR FS_CKMLMV001.

ENDSELECT.

ENDLOOP.

*********************************************************************

*********************************************************************

                  • VALUES FOR PRODUCTION LINE IN TABLE MKAL

*********************************************************************

LOOP AT I_CKMLMV001 INTO FS_CKMLMV001.

SELECT WERKS MDV01

FROM MKAL

INTO FS_MKAL

WHERE WERKS = FS_CKMLMV001-PRWRK_ND

AND MATNR = FS_CKMLMV001-PMATN_ND

AND VERID = FS_CKMLMV001-VERID_ND.

IF SY-SUBRC EQ 0.

APPEND FS_MKAL TO I_MKAL.

ENDIF.

CLEAR FS_MKAL.

ENDSELECT.

ENDLOOP.

*********************************************************************

*********************************************************************

          • MRP CONTROLLERS FOR COMP.MRP CONTR & ASSEMBLY MRP CONTR

*********************************************************************

LOOP AT I_RESB.

SELECT DISPO

FROM MARC

INTO FS_COMP_DISPO

WHERE MATNR = I_RESB-MATNR

AND WERKS = I_RESB-WERKS.

IF SY-SUBRC EQ 0.

APPEND FS_COMP_DISPO TO I_COMP_DISPO.

ENDIF.

CLEAR FS_COMP_DISPO.

ENDSELECT.

ENDLOOP.

LOOP AT I_RESB.

SELECT DISPO

FROM MARC

INTO FS_ASSEM_DISPO

WHERE MATNR = I_RESB-BAUGR

AND WERKS = I_RESB-WERKS.

IF SY-SUBRC EQ 0.

APPEND FS_ASSEM_DISPO TO I_ASSEM_DISPO.

ENDIF.

CLEAR FS_ASSEM_DISPO.

ENDSELECT.

ENDLOOP.

*********************************************************************

      • MOV AVG PRICE, STANDARD PRICE, PRICE UNIT FROM MBEW ***

*********************************************************************

LOOP AT I_RESB.

SELECT MATNR VERPR STPRS PEINH

FROM MBEW

INTO CORRESPONDING FIELDS OF FS_MBEW

WHERE MATNR = I_RESB-MATNR.

IF SY-SUBRC EQ 0.

APPEND FS_MBEW TO I_MBEW.

ENDIF.

CLEAR FS_MBEW.

ENDSELECT.

ENDLOOP.

*********************************************************************

              • RETRIEVE DATA INTO OUTPUT TABLE

*********************************************************************

LOOP AT I_RESB INTO I_RESB.

L_INDEX = SY-TABIX.

GT_OUTPUT-MATNR = I_RESB-MATNR.

GT_OUTPUT-WERKS = I_RESB-WERKS.

GT_OUTPUT-LGORT = I_RESB-LGORT.

GT_OUTPUT-BDMNG = I_RESB-BDMNG.

GT_OUTPUT-MEINS = I_RESB-MEINS.

GT_OUTPUT-BAUGR = I_RESB-BAUGR.

GT_OUTPUT-AUFNR = I_RESB-AUFNR.

READ TABLE I_CKMLMV001 INTO FS_CKMLMV001 WITH KEY PRWRK_ND = I_RESB-WERKS.

IF SY-SUBRC EQ 0.

GT_OUTPUT-VERID = FS_CKMLMV001-VERID_ND.

CLEAR I_RESB.

READ TABLE I_MKAL INDEX L_INDEX INTO FS_MKAL. "WITH KEY WERKS = FS_CKMLMV001-PRWRK_ND.

GT_OUTPUT-MDV01 = FS_MKAL-MDV01.

CLEAR FS_MKAL.

READ TABLE I_COMP_DISPO INDEX L_INDEX INTO FS_COMP_DISPO.

GT_OUTPUT-DISPO1 = FS_COMP_DISPO-DISPO.

CLEAR FS_COMP_DISPO.

READ TABLE I_ASSEM_DISPO INDEX L_INDEX INTO FS_ASSEM_DISPO.

GT_OUTPUT-DISPO2 = FS_ASSEM_DISPO-DISPO.

CLEAR FS_ASSEM_DISPO.

READ TABLE I_MAKTX1 INDEX L_INDEX INTO FS_MAKTX1.

GT_OUTPUT-MAKTX1 = FS_MAKTX1-MAKTX1.

  • CLEAR FS_MAKTX1.

READ TABLE I_MAKTX2 INDEX L_INDEX INTO FS_MAKTX2.

GT_OUTPUT-MAKTX2 = FS_MAKTX2-MAKTX2.

  • CLEAR FS_MAKTX2.

READ TABLE I_MBEW INDEX L_INDEX INTO FS_MBEW.

GT_OUTPUT-VERPR = FS_MBEW-VERPR.

GT_OUTPUT-STPRS = FS_MBEW-STPRS.

GT_OUTPUT-PEINH = FS_MBEW-PEINH.

CLEAR FS_MBEW.

APPEND GT_OUTPUT TO GI_OUTPUT.

ENDIF.

CLEAR FS_CKMLMV001.

CLEAR GT_OUTPUT.

ENDLOOP.

  • Add currency.

SORT GI_OUTPUT BY WERKS.

CLEAR L_WERKS.

LOOP AT GI_OUTPUT INTO GT_OUTPUT.

IF L_WERKS <> GT_OUTPUT-WERKS.

L_WERKS = GT_OUTPUT-WERKS.

SELECT SINGLE T001~WAERS INTO L_WAERS

FROM T001W

JOIN T001K

ON T001WBWKEY = T001KBWKEY

JOIN T001

ON T001KBUKRS = T001BUKRS

WHERE T001W~WERKS = GT_OUTPUT-WERKS.

IF SY-SUBRC <> 0.

CLEAR L_WAERS.

ENDIF.

ENDIF.

GT_OUTPUT-WAERS = L_WAERS.

MODIFY GI_OUTPUT FROM GT_OUTPUT

TRANSPORTING WAERS.

CLEAR GT_OUTPUT.

ENDLOOP.

SORT GI_OUTPUT BY MATNR.

CLEAR L_MATNR.

LOOP AT GI_OUTPUT INTO GT_OUTPUT.

IF PR_MOV IS NOT INITIAL.

GT_OUTPUT-QTPRC = GT_OUTPUT-VERPR.

ELSE.

GT_OUTPUT-QTPRC = GT_OUTPUT-STPRS.

ENDIF.

MULTIPLY GT_OUTPUT-QTPRC BY GT_OUTPUT-BDMNG.

DIVIDE GT_OUTPUT-QTPRC BY GT_OUTPUT-PEINH.

GT_OUTPUT-ENTRY = 1.

MODIFY GI_OUTPUT FROM GT_OUTPUT

TRANSPORTING QTPRC ENTRY.

CLEAR GT_OUTPUT.

ENDLOOP.

ENDFORM. "READ_COST_REPETITIVE

form call_screen.

if pr_mov eq 'X'.

call screen 100.

endif.

endform.

*--For ALV

DATA:i_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,

wa_fieldcat TYPE lvc_s_fcat.

DATA: v_alv TYPE REF TO cl_gui_alv_grid,

v_cont TYPE REF TO cl_gui_custom_container,

v_layout TYPE lvc_s_layo,

v_variant TYPE disvariant,

pos_free TYPE i,

v_save(1),

v_grd_total TYPE netwr,

v_sub_total TYPE netwr.

*----


        • field catalogue

*----


FORM field_catalog.

REFRESH I_FIELDCAT.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 1.

wa_fieldcat-FIELDNAME = 'MATNR'.

wa_fieldcat-REF_TABle = 'RESB'.

wa_fieldcat-hotspot = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 2.

wa_fieldcat-FIELDNAME = 'MAKTX'.

wa_fieldcat-REF_TABle = 'MAKT'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 3.

wa_fieldcat-FIELDNAME = 'DISPO'.

wa_fieldcat-REF_TABle = 'MARC'.

wa_fieldcat-SELTEXT = TEXT-108.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 4.

wa_fieldcat-FIELDNAME = 'WERKS'.

wa_fieldcat-REF_TABle = 'RESB'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 5.

wa_fieldcat-FIELDNAME = 'LGORT'.

wa_fieldcat-REF_TABle = 'RESB'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 6.

wa_fieldcat-FIELDNAME = 'BDMNG'.

wa_fieldcat-REF_TABle = 'RESB'.

wa_fieldcat-QFIELDNAME = 'MEINS'.

wa_fieldcat-DO_SUM = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 7.

wa_fieldcat-FIELDNAME = 'MEINS'.

wa_fieldcat-REF_TABle = 'RESB'.

wa_fieldcat-DO_SUM = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 8.

  • IF PR_MOV IS NOT INITIAL.

wa_fieldcat-FIELDNAME = 'VERPR'.

  • ELSE.

  • wa_fieldcat-FIELDNAME = 'STPRS'.

  • ENDIF.

wa_fieldcat-REF_TABle = 'MBEW'.

wa_fieldcat-CFIELDNAME = 'WAERS'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-col_pos = 9.

wa_fieldcat-fieldname = 'stprs'.

wa_fieldcat-ref_table = 'mbew'.

wa_fieldcat-cfieldname = 'waers'.

append wa_fieldcat to i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 10.

wa_fieldcat-FIELDNAME = 'WAERS'.

wa_fieldcat-REF_TABle = 'T001'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 11.

wa_fieldcat-FIELDNAME = 'PEINH'.

wa_fieldcat-REF_TABle = 'MBEW'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 12.

wa_fieldcat-FIELDNAME = 'QTPRC'.

wa_fieldcat-CFIELDNAME = 'WAERS'.

wa_fieldcat-QFIELDNAME = 'ERFME'.

wa_fieldcat-DO_SUM = GC_SELECT.

wa_fieldcat-ScrTEXT_L = TEXT-101.

wa_fieldcat-ScrTEXT_M = TEXT-101.

wa_fieldcat-ScrTEXT_S = TEXT-101.

wa_fieldcat-REPTEXT = TEXT-101.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 13.

wa_fieldcat-FIELDNAME = 'ENTRY'.

wa_fieldcat-DO_SUM = 'X'.

wa_fieldcat-ScrTEXT_L = TEXT-102.

wa_fieldcat-ScrTEXT_M = TEXT-102.

wa_fieldcat-ScrTEXT_S = TEXT-102.

wa_fieldcat-REPTEXT = TEXT-102.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 14.

wa_fieldcat-FIELDNAME = 'BAUGR'.

wa_fieldcat-REF_TABle = 'RESB'.

wa_fieldcat-ScrTEXT_L = TEXT-107.

wa_fieldcat-hotspot = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 15.

wa_fieldcat-FIELDNAME = 'MAKTX'.

wa_fieldcat-REF_TABle = 'MAKT'.

wa_fieldcat-ScrTEXT_L = TEXT-106.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 16.

wa_fieldcat-FIELDNAME = 'DISPO'.

wa_fieldcat-REF_TABle = 'MARC'.

wa_fieldcat-ScrTEXT_L = TEXT-105.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 17.

wa_fieldcat-FIELDNAME = 'VERID'.

wa_fieldcat-REF_TABle = 'MKAL'.

wa_fieldcat-ScrTEXT_L = TEXT-104.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 18.

wa_fieldcat-FIELDNAME = 'MDV01'.

wa_fieldcat-REF_TABle = 'MKAL'.

APPEND wa_fieldcat TO i_fieldcat.

clear wa_fieldcat.

wa_fieldcat-COL_POS = 19.

wa_fieldcat-FIELDNAME = 'AUFNR'.

wa_fieldcat-REF_TABle = 'RESB'.

wa_fieldcat-ScrTEXT_L = TEXT-103.

APPEND wa_fieldcat TO i_fieldcat.

endform.

----


  • Form alv_display *

----


FORM alv_display .

v_save = 'A'.

v_variant-report = sy-repid.

CALL METHOD v_alv->set_table_for_first_display

EXPORTING

is_variant = v_variant

i_save = v_save

is_layout = v_layout

CHANGING

it_outtab = gi_output

it_fieldcatalog = i_fieldcat[]

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4.

ENDFORM. " alv_display

----


  • Form layout *

----


FORM layout .

  • v_layout-grid_title = text-008."'ALV Grid Title'.

v_layout-zebra = 'X'.

v_layout-numc_TOTAL = 'X'.

v_layout-cwidth_opt = 'X'.

v_layout-no_merging = 'X'.

ENDFORM. " layout

*----


&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'STANDARD'.

  • SET TITLEBAR 'T100'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module create_container OUTPUT

&----


  • text

----


MODULE create_container OUTPUT.

CREATE OBJECT v_cont

EXPORTING

container_name = 'CONTAINER'

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CREATE OBJECT v_alv

EXPORTING

i_parent = v_cont

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDMODULE.

MODULE display_data OUTPUT.

PERFORM layout.

PERFORM field_catalog.

PERFORM alv_display.

ENDMODULE. " display_data OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

CASE sy-ucomm.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

WHEN 'EXIT' OR 'CANCEL'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE.

Read only

0 Likes
905

Hi Varma,

Can u please have a look at the code.It is not displaying any alvgrid report in the output,i m just getting the toolbar,menu bar.

Thanks.

dinesh.