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

ALV basics for beginner

Former Member
0 Likes
988

Please tell me ALV report basics and how to start any ALV report program.

Message was edited by:

Praveen Singh

Please tell me ALV report basics and how to start any ALV report program.

Message was edited by:

Praveen Singh

6 REPLIES 6
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
935

There is a lot about ALV here in the forums, you could simply search for ALV, lots of examples. Also, if you want to try the CL_GUI_ALV_GRID implementation, then have a look at any program that starts with BCALV* in SE38

Regards,

RIch Heilman

Read only

Former Member
0 Likes
935

Hi Praveen,

To start with ALV, you first need to be very clear with the normal report programs.It will make developing ALV very easy.

Are you clear with the normal report programs (classical reports)? I am just asking as I seen your other thread on normal reports.

Regards,

Atish

Read only

0 Likes
935

ys.....

Read only

0 Likes
935

Hi Praveen,

Please refer to the code below.

You will get better idea.

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

  • TYPE-POOLS *

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

TYPE-POOLS: slis.

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

  • TABLES *

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

TABLES: mkpf,

mseg.

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

  • TYPES DECLARATION *

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

TYPES: BEGIN OF t_disp_table,

box, "to show select all button in ALV

bukrs LIKE mseg-bukrs, "Company Code

mblnr LIKE mkpf-mblnr, "Number of Material Document

region LIKE adrc-region, "Region(State,Province,County)

budat LIKE mkpf-budat, "Posting Date in the Document

werks LIKE mseg-werks, "Plant

name2 LIKE adrc-name2, "Name 2

taxjurcode LIKE adrc-taxjurcode, "Tax jurisdiction code

sakto LIKE mseg-sakto, "G/L Account Number

matnr LIKE mseg-matnr, "Material Number

maktx LIKE makt-maktx, "Material Description

menge LIKE mseg-menge, "Quantity

meins LIKE mseg-meins, "Base Unit of Measure

unit_price LIKE mseg-dmbtr, "Unit Price

dmbtr LIKE mseg-dmbtr, "Amount in local currency

procd LIKE t007a-procd, "Product Code

wgbez LIKE t023t-wgbez, "Description of material group

matkl LIKE mara-matkl, "Material Group

END OF t_disp_table.

TYPES: BEGIN OF t_tax_details,

matnr LIKE mara-matnr, "Material Number

kappl LIKE a600-kappl, "Application

kschl LIKE a600-kschl, "Condition type

lland LIKE a600-lland, "Destination country

matkl LIKE a600-matkl, "Material Group

datbi LIKE a600-datbi, "Validity end date of the cond. record

knumh LIKE konp-knumh, "Condition record number

kopos LIKE konp-kopos, "Sequential number of the condition

mwsk1 LIKE konp-mwsk1, "Tax on sales/purchases code

kalsm LIKE t007a-kalsm, "Procedure (pricing, output control..)

mwskz LIKE t007a-mwskz, "Tax on sales/purchases code

procd LIKE t007a-procd, "SAP product code (external interface)

END OF t_tax_details.

TYPES: BEGIN OF t_mseg_data,

mblnr LIKE mseg-mblnr, "Number of Material Document

budat LIKE mkpf-budat, "Posting Date

bwart LIKE mseg-bwart, "Movement Type added for EBP

umlgo LIKE mseg-umlgo, "Receiving/issuing storage location

bukrs LIKE mseg-bukrs, "Company Code

umwrk LIKE mseg-umwrk, "Plant

werks LIKE mseg-werks, "Plant

sakto LIKE mseg-sakto, "G/L Account Number

matnr LIKE mseg-matnr, "Material Number

menge LIKE mseg-menge, "Quantity

meins LIKE mseg-meins, "Base Unit of Measure

ablad LIKE mseg-ablad, "Unloading point added for EBP

dmbtr LIKE mseg-dmbtr, "Amount in local currency

mjahr LIKE mseg-mjahr, "Material Document Year

zeile LIKE mseg-zeile, "Item in Material Document

line_id LIKE mseg-line_id, "Document line

lifnr LIKE mseg-lifnr, "Account Number of the Vendor

maktx LIKE makt-maktx, "Material Description

spras LIKE makt-spras, "Language key

name1 LIKE lfa1-name1, "Vendor Name

matkl LIKE mara-matkl, "Material Group

END OF t_mseg_data.

TYPES: BEGIN OF t_address_data,

lgort LIKE twlad-lgort, "Storage Location

werks LIKE twlad-werks, "Plant

region LIKE adrc-region, "Region(State,Province,County)

name2 LIKE adrc-name2, "Name 2

taxjurcode LIKE adrc-taxjurcode, "Tax jurisdiction code

lfdnr LIKE twlad-lfdnr, "Sequential address number

addrnumber LIKE adrc-addrnumber, "Address Number

date_from LIKE adrc-date_from, "From Date

nation LIKE adrc-nation, "Nation

END OF t_address_data.

TYPES: BEGIN OF t_scitem_id ,

object_id TYPE crmt_object_id_co,

number_int TYPE crmt_item_no_co,

END OF t_scitem_id.

TYPES: BEGIN OF t_zscitem_address_details,

object_id TYPE crmt_object_id_co,

number_int TYPE crmt_item_no_co,

del_code(10).

INCLUDE TYPE bapiaddr3.

TYPES: END OF t_zscitem_address_details.

TYPES: BEGIN OF t_t023t,

spras LIKE t023t-spras,

matkl LIKE t023t-matkl,

wgbez LIKE t023t-wgbez,

END OF t_t023t.

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

  • GLOBAL VARIABLES *

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

DATA: gv_repid LIKE sy-repid,

gv_title(80) TYPE c,

gv_rfcdest LIKE crmrfcpar-rfcdest.

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

  • GLOBAL CONSTANTS *

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

CONSTANTS: gc_bwart(3) TYPE c VALUE '903',

gc_country_key(3) TYPE c VALUE 'US',

gc_kalsm(6) TYPE c VALUE 'TAXUSX',

gc_bwart_ebp LIKE mseg-bwart VALUE '201'.

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

  • INTERNAL TABLE DECLARATION *

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

DATA: gt_disp_table TYPE TABLE OF t_disp_table,

gs_disp_table TYPE t_disp_table,

gt_tax_details TYPE TABLE OF t_tax_details,

gs_tax_details TYPE t_tax_details,

gt_mseg_data TYPE TABLE OF t_mseg_data,

gs_mseg_data TYPE t_mseg_data,

gt_address_data TYPE TABLE OF t_address_data,

gs_address_data TYPE t_address_data,

gt_t023t TYPE TABLE OF t_t023t,

gs_t023t TYPE t_t023t.

DATA: gt_scitem_id TYPE STANDARD TABLE OF t_scitem_id ,

gs_scitem_id TYPE t_scitem_id ,

gt_scitem_address_details TYPE STANDARD TABLE OF

t_zscitem_address_details ,

gs_scitem_address_details TYPE t_zscitem_address_details.

DATA: BEGIN OF gt_bukrs OCCURS 0,

bukrs LIKE anla-bukrs,

END OF gt_bukrs.

*Events for handling the top-of-page

DATA: gs_events TYPE slis_alv_event.

DATA: gt_events TYPE slis_t_event.

DATA: gt_listheader TYPE slis_t_listheader .

DATA: gs_layout TYPE slis_layout_alv .

DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.

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

  • SELECTION SCREEN *

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

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

SELECT-OPTIONS: s_bukrs FOR mseg-bukrs,

s_budat FOR mkpf-budat,

s_werks FOR mseg-werks,

s_matnr FOR mseg-matnr.

SELECTION-SCREEN END OF BLOCK block1.

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

  • INITIALIZATION EVENT *

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

INITIALIZATION.

gv_repid = sy-repid.

gv_title = text-t01.

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

  • AT SELECTION-SCREEN EVENTS *

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

AT SELECTION-SCREEN.

PERFORM validate_selection_criteria.

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

  • START-OF-SELECTION EVENT *

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

START-OF-SELECTION.

PERFORM fetch_data.

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

  • END-OF-SELECTION EVENT *

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

END-OF-SELECTION.

IF gt_disp_table IS INITIAL.

MESSAGE s000 WITH text-m01.

ELSE.

PERFORM display_alv.

ENDIF.

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

&----


*& Form validate_selection_criteria

&----


  • Validation of entries for company code plant and material number

----


FORM validate_selection_criteria .

DATA: lv_matnr LIKE mara-matnr,

lv_werks LIKE t001w-werks.

  • validating company code and selecting US Company codes only

SELECT bukrs

FROM t001

INTO TABLE gt_bukrs

WHERE bukrs IN s_bukrs

AND land1 = gc_country_key.

IF sy-subrc NE 0.

MESSAGE e000 WITH text-t03.

ENDIF.

  • Plant

IF s_werks IS NOT INITIAL.

SELECT SINGLE werks FROM t001w INTO lv_werks WHERE werks IN s_werks.

IF sy-subrc NE 0.

MESSAGE e000 WITH text-t04.

ENDIF.

ENDIF.

  • Material Number

IF s_matnr IS NOT INITIAL.

SELECT SINGLE matnr FROM mara INTO lv_matnr WHERE matnr IN s_matnr.

IF sy-subrc NE 0.

MESSAGE e000 WITH text-t05.

ENDIF.

ENDIF.

ENDFORM. " validate_selection_criteria

&----


*& Form fetch_data

&----


FORM fetch_data .

REFRESH: gt_tax_details,gt_mseg_data,gt_address_data.

CLEAR: gt_tax_details,gt_mseg_data,gt_address_data.

DATA: lv_object_id TYPE crmt_object_id_co,

lv_number_int TYPE crmt_item_no_co.

SELECT f~mblnr

f~budat

g~bwart

g~umlgo

g~bukrs

g~umwrk

g~werks

g~sakto

g~matnr

g~menge

g~meins

g~ablad

g~dmbtr

g~mjahr

g~zeile

g~line_id

g~lifnr

t~maktx

t~spras

INTO TABLE gt_mseg_data

FROM (

mseg AS g

INNER JOIN mkpf AS f ON gmblnr = fmblnr

AND gmjahr = fmjahr

INNER JOIN makt AS t ON tmatnr = gmatnr )

FOR ALL ENTRIES IN gt_bukrs

WHERE g~bukrs = gt_bukrs-bukrs

AND f~budat IN s_budat

AND g~werks IN s_werks

AND g~matnr IN s_matnr

AND ( g~bwart = gc_bwart OR

g~bwart = gc_bwart_ebp )

AND t~spras = sy-langu.

CHECK sy-subrc EQ 0.

  • getting address details

SELECT d~lgort

d~werks

c~region

c~name2

c~taxjurcode

d~lfdnr

c~addrnumber

c~date_from

c~nation

INTO TABLE gt_address_data

FROM (

twlad AS d INNER JOIN

adrc AS c ON caddrnumber = dadrnr

)

FOR ALL ENTRIES IN gt_mseg_data

WHERE d~werks = gt_mseg_data-umwrk

AND d~lgort = gt_mseg_data-umlgo.

  • getting product code & tax details

SELECT m~matnr

a~kappl

a~kschl

a~lland

a~matkl

a~datbi

k~knumh

k~kopos

k~mwsk1

t~kalsm

t~mwskz

t~procd

INTO TABLE gt_tax_details

FROM ( ( (

mara AS m

INNER JOIN a600 AS a ON mmatkl = amatkl )

INNER JOIN konp AS k ON aknumh = kknumh

AND akappl = kkappl

AND akschl = kkschl )

INNER JOIN t007a AS t ON kmwsk1 = tmwskz )

FOR ALL ENTRIES IN gt_mseg_data

WHERE m~matnr = gt_mseg_data-matnr

AND t~kalsm = gc_kalsm.

IF sy-subrc = 0.

SORT gt_tax_details BY matnr.

DELETE ADJACENT DUPLICATES FROM gt_tax_details COMPARING matnr.

SELECT spras

matkl

wgbez

INTO TABLE gt_t023t

FROM t023t

FOR ALL ENTRIES IN gt_tax_details

WHERE matkl = gt_tax_details-matkl

AND spras = sy-langu.

SORT gt_t023t BY matkl.

ENDIF.

SORT gt_address_data BY lgort werks.

  • Logic for getting EBP details

LOOP AT gt_mseg_data INTO gs_mseg_data

WHERE bwart = gc_bwart_ebp

AND ablad IS NOT INITIAL.

SPLIT gs_mseg_data-ablad AT '\' INTO gs_scitem_id-object_id

gs_scitem_id-number_int.

IF sy-subrc EQ 0.

APPEND gs_scitem_id TO gt_scitem_id.

CLEAR gs_scitem_id.

ENDIF.

ENDLOOP.

DELETE ADJACENT DUPLICATES FROM gt_scitem_id COMPARING ALL FIELDS.

IF NOT gt_scitem_id[] IS INITIAL.

SELECT SINGLE rfcdest

INTO gv_rfcdest

FROM crmrfcpar.

CALL FUNCTION 'Z_GET_SC_DELADDRESS' DESTINATION gv_rfcdest

EXPORTING

scitem_id = gt_scitem_id

IMPORTING

scdel_details = gt_scitem_address_details.

IF sy-subrc <> 0.

MESSAGE e000 WITH text-e01 text-e02.

ELSE.

ENDIF.

ENDIF.

SORT gt_scitem_address_details BY object_id number_int.

  • Filling all selected data in display table

LOOP AT gt_mseg_data INTO gs_mseg_data.

  • Adding MSEG/MKPF/MAKT fields

gs_disp_table-bukrs = gs_mseg_data-bukrs.

gs_disp_table-mblnr = gs_mseg_data-mblnr.

gs_disp_table-budat = gs_mseg_data-budat.

gs_disp_table-werks = gs_mseg_data-werks.

gs_disp_table-sakto = gs_mseg_data-sakto.

gs_disp_table-matnr = gs_mseg_data-matnr.

gs_disp_table-maktx = gs_mseg_data-maktx.

gs_disp_table-menge = gs_mseg_data-menge.

gs_disp_table-meins = gs_mseg_data-meins.

IF gs_mseg_data-menge IS NOT INITIAL.

gs_disp_table-unit_price = gs_mseg_data-dmbtr / gs_mseg_data-menge.

ENDIF.

gs_disp_table-dmbtr = gs_mseg_data-dmbtr.

  • Address details

READ TABLE gt_address_data INTO gs_address_data

WITH KEY lgort = gs_mseg_data-umlgo

werks = gs_mseg_data-umwrk

BINARY SEARCH.

gs_disp_table-region = gs_address_data-region.

gs_disp_table-name2 = gs_address_data-name2.

gs_disp_table-taxjurcode = gs_address_data-taxjurcode.

  • Adding Product Code

READ TABLE gt_tax_details INTO gs_tax_details

WITH KEY matnr = gs_mseg_data-matnr.

IF sy-subrc = 0.

gs_disp_table-procd = gs_tax_details-procd.

gs_disp_table-matkl = gs_tax_details-matkl.

CLEAR gs_t023t.

READ TABLE gt_t023t INTO gs_t023t

WITH KEY matkl = gs_tax_details-matkl

BINARY SEARCH.

gs_disp_table-wgbez = gs_t023t-wgbez.

ENDIF.

IF gs_mseg_data-bwart = gc_bwart_ebp.

  • For EBP

CLEAR: lv_object_id,

lv_number_int.

SPLIT gs_mseg_data-ablad AT '\' INTO lv_object_id

lv_number_int.

CLEAR gs_scitem_address_details.

READ TABLE gt_scitem_address_details

INTO gs_scitem_address_details

WITH KEY object_id = lv_object_id

number_int = lv_number_int

BINARY SEARCH.

gs_disp_table-region = gs_scitem_address_details-region.

gs_disp_table-name2 = gs_scitem_address_details-name_2.

gs_disp_table-taxjurcode = gs_scitem_address_details-taxjurcode.

ENDIF.

APPEND gs_disp_table TO gt_disp_table.

CLEAR: gs_disp_table,

gs_tax_details,

gs_address_data.

ENDLOOP.

ENDFORM. " fetch_data

&----


*& Form display_alv

&----


FORM display_alv .

PERFORM get_alv_events.

PERFORM fieldcat_init.

PERFORM build_top_of_page CHANGING gt_listheader.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_bypassing_buffer = 'X'

i_buffer_active = ' '

i_callback_program = gv_repid

it_fieldcat = gt_fieldcat[]

it_events = gt_events

is_layout = gs_layout

TABLES

t_outtab = gt_disp_table

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno

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

ENDIF.

ENDFORM. " display_alv

&----


*& Form get_alv_events

&----


FORM get_alv_events .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = gt_events

EXCEPTIONS

list_type_wrong = 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.

gs_events-form = 'STD_TOP_OF_PAGE'.

MODIFY gt_events FROM gs_events TRANSPORTING form WHERE name =

'TOP_OF_PAGE'.

ENDFORM. " get_alv_events

&----


*& Form fieldcat_init

&----


FORM fieldcat_init.

DATA: ls_fieldcat TYPE slis_fieldcat_alv.

DATA: pos TYPE i VALUE 1.

PERFORM fill_fieldcat_table USING pos 'BUKRS' 'MSEG'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MBLNR' 'MSEG'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'REGION' 'ADRC'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'BUDAT' 'MKPF'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'WERKS' 'MSEG'.

pos = pos + 1.

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = 'NAME2'.

ls_fieldcat-tabname = 'GT_DISP_TABLE'.

ls_fieldcat-ref_fieldname = 'NAME2'.

ls_fieldcat-ref_tabname = 'MSEG'.

ls_fieldcat-reptext_ddic = text-c02.

ls_fieldcat-seltext_l = text-c02.

ls_fieldcat-seltext_m = text-c02.

ls_fieldcat-seltext_s = text-c02.

ls_fieldcat-ddic_outputlen = 15.

APPEND ls_fieldcat TO gt_fieldcat.

CLEAR ls_fieldcat.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'TAXJURCODE' 'ADRC'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'SAKTO' 'MSEG'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MATNR' 'MSEG'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MAKTX' 'MAKT'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MATKL' 'MARA'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'WGBEZ' 'T023T'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'PROCD' 'T007A'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MENGE' 'MSEG'.

pos = pos + 1.

PERFORM fill_fieldcat_table USING pos 'MEINS' 'MSEG'.

pos = pos + 1.

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = 'UNIT_PRICE'.

ls_fieldcat-tabname = 'GT_DISP_TABLE'.

ls_fieldcat-ref_fieldname = 'DMBTR'.

ls_fieldcat-ref_tabname = 'MSEG'.

ls_fieldcat-reptext_ddic = text-c01.

ls_fieldcat-seltext_l = text-c01.

ls_fieldcat-seltext_m = text-c01.

ls_fieldcat-seltext_s = text-c01.

ls_fieldcat-ddic_outputlen = 15.

APPEND ls_fieldcat TO gt_fieldcat.

CLEAR ls_fieldcat.

pos = pos + 1.

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = 'DMBTR'.

ls_fieldcat-tabname = 'GT_DISP_TABLE'.

ls_fieldcat-ref_fieldname = 'DMBTR'.

ls_fieldcat-ref_tabname = 'MSEG'.

ls_fieldcat-reptext_ddic = text-c04.

ls_fieldcat-seltext_l = text-c04.

ls_fieldcat-seltext_m = text-c04.

ls_fieldcat-seltext_s = text-c04.

ls_fieldcat-ddic_outputlen = 15.

APPEND ls_fieldcat TO gt_fieldcat.

CLEAR ls_fieldcat.

pos = pos + 1.

gs_layout-box_fieldname = 'BOX'.

ENDFORM. " fieldcat_init1

&----


*& Form fill_fieldcat_table

&----


FORM fill_fieldcat_table USING p_pos

value(p_fieldname)

value(p_tabname).

DATA: ls_fieldcat TYPE slis_fieldcat_alv.

ls_fieldcat-col_pos = p_pos.

ls_fieldcat-fieldname = p_fieldname.

ls_fieldcat-tabname = 'GT_DISP_TABLE'.

ls_fieldcat-ref_fieldname = p_fieldname.

ls_fieldcat-ref_tabname = p_tabname.

APPEND ls_fieldcat TO gt_fieldcat.

CLEAR ls_fieldcat.

ENDFORM. " fill_fieldcat_table

&----


*& Form build_top_of_page

&----


FORM build_top_of_page CHANGING l_top_of_page TYPE slis_t_listheader.

DATA:ls_line TYPE slis_listheader.

CLEAR ls_line.

ls_line-typ = 'H'.

ls_line-info = gv_title .

APPEND ls_line TO l_top_of_page.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-t02.

WRITE sy-datum TO ls_line-info.

APPEND ls_line TO l_top_of_page.

CLEAR ls_line.

ENDFORM. " build_top_of_page

&----


*& Form std_top_of_page

&----


FORM std_top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = gt_listheader

i_logo = 'ENJOYSAP_LOGO'.

ENDFORM. "std_top_of_page

Reward points if useful.

Regards,

Atish

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
935

Also, here is a very simply example of using the function module based ALV tool.




report zrich_0003 .



* Global ALV Data Declarations
type-pools: slis.

* Internal Tables
data: begin of ialv occurs 0,
      test1(10) type c,
      test2(10) type c,
      end of ialv.

data: fieldcat  type slis_t_fieldcat_alv.

start-of-selection.

  perform get_data.
  perform call_alv.

*********************************************************************
*      Form  GET_DATA
*********************************************************************
form get_data.

  ialv-test1 = 'ABC'.
  ialv-test2 = 'DEF'.
  append ialv.

  ialv-test1 = 'GHI'.
  ialv-test2 = 'JKL'.
  append ialv.


  ialv-test1 = '123'.
  ialv-test2 = '456'.
  append ialv.


endform.                    "GET_DATA

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

*  CALL_ALV
************************************************************************

form call_alv.

  perform build_field_catalog.

* Call ABAP List Viewer (ALV)
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      it_fieldcat  = fieldcat
    tables
      t_outtab     = ialv.

endform.                    "CALL_ALV

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

* BUILD_FIELD_CATALOG
************************************************************************

form build_field_catalog.


  clear: fieldcat. refresh: fieldcat.

  data: tmp_fc type slis_fieldcat_alv.

  tmp_fc-reptext_ddic = 'Test1'.
  tmp_fc-fieldname    = 'TEST1'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.

  tmp_fc-reptext_ddic = 'Test2'.
  tmp_fc-fieldname    = 'TEST2'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.


endform.                    "BUILD_FIELD_CATALOG


Regards,

RIch Heilman

Read only

Former Member
0 Likes
935

Answered.