Application Development 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: 

alv

Former Member
0 Kudos

Hi,

How can i create ALV display for output in BDC?

Regards,

Hema

2 REPLIES 2

Former Member
0 Kudos

Hi Hema,

Kindly check the coding below :

[code]

An ALV program that calls a ME21N via BDC

Tips by: Sam Hearn

Here is an ALV program that calls a ME21N via BDC. There is a LOT of code here you don't need (ex: the ability to run the ALV in background for huge amounts of data yet keep the ALV sort & mod abilities, the ability for different users to set their own sort combinations etc), but if you go to the CALL_CRYSTAL form, you will see I do another perform, called BUILD_BDC. This will show you how to use the CALL TRANSACTION, with a message table. I have a loop inside the message table after I return from ME21N to display an info message with the doc number. Using this loop, you can find your delivery numbers for your second BDC.

----


  • Author : Sam Hearn *

  • Date : 2004-08-31 *

  • *

  • Description : This program was copied from the ZMRP21 *

  • *

--


[START OF REPORT]-

report zjmrp message-id zaberd no standard page heading

line-count 65(1) line-size 162.

--


[TABLES]-

tables: mara, " General Material Data

marc, "

sscrfields. " Fields on selection screens

type-pools: slis.

--


[INTERNAL WORK AREAS]-

----


for MD_ABBL_REPORTING -

data: i_crpes like crpes.

data begin of i_mdps occurs 100.

include structure mdps.

data end of i_mdps.

----


SORTING TABLES -

data begin of i_sortord occurs 100.

include structure zsort_list.

data end of i_sortord.

data: fname(5).

data: f01(10),f02(10),f03(10),f04(10),f05(10),f06(10),f07(10),f08(10),

f09(10),f10(10),f11(10),f12(10),f13(10),f14(10),f15(10),f16(10),

f17(10),f18(10),f19(10),f20(10).

field-symbols <fs1>.

--


FILENAME DEFINITION--

data: sap1filp(132) value '/usr/sap/interfaces/reports/zmrp21_'.

data: sap1fil(132),

getfil(132).

ranges s_wrkst for mara-wrkst.

ranges s_groes for mara-groes.

data: begin of disp_tab occurs 0, "Internal table for ALV data

ckbox(1) type c, " Selection Box (input)

matkl like mara-matkl, " Material Group

matnr like mara-matnr, " Material Number

maktx like makt-maktx, " Description

bismt like mara-bismt, " Old material

wrkst like mara-wrkst, " Basic material

groes like mara-groes, " Size/dimension

werks like marc-werks, " Plant

dispo like marc-dispo, " MRP controller

bstmi like marc-bstmi, " Min Run Length

lbkum like mbew-lbkum, " On Hand

eisbe like marc-eisbe, " Safety stock

idprq like mdps-mng01, " Independant Req

deprq like mdps-mng01, " Dependant Req

reqrq like mdps-mng01, " Requisitions

storq like mdps-mng01, " STO's

convert like mdps-mng01, " Qty to convert (input)

deldat like sy-datum, " Delivery date (input)

end of disp_tab.

data: begin of i_fldw, "Storage area for DISP_TAB data

ckbox(1) type c, " Selection Box (input)

matkl like mara-matkl, " Material Group

matnr like mara-matnr, " Material Number

maktx like makt-maktx, " Description

bismt like mara-bismt, " Old material

wrkst like mara-wrkst, " Basic material

groes like mara-groes, " Size/dimension

werks like marc-werks, " Plant

dispo like marc-dispo, " MRP controller

bstmi like marc-bstmi, " Min Run Length

lbkum like mbew-lbkum, " On Hand

eisbe like marc-eisbe, " Safety stock

idprq like mdps-mng01, " Independant Req

deprq like mdps-mng01, " Dependant Req

reqrq like mdps-mng01, " Requisitions

storq like mdps-mng01, " STO's

convert like mdps-mng01, " Qty to convert

deldat like sy-datum, " Delivery date (input)

end of i_fldw.

*

data: begin of i_fcc occurs 100,

chkbox(1), " Checkbox

matkl(10), " Material Group

matnr(18), " Material Number

maktx(40), " Description

bismt(18), " Old material

wrkst(48), " Basic material

groes(32), " Size/dimension

werks(04), " Plant

dispo(03), " MRP controller

bstmi(13), " Min Run Length

lbkum(13), " On Hand

eisbe(13), " Safety stock

idprq(25), " Independant Req

deprq(25), " Dependant Req

reqrq(25), " Requisitions

storq(25), " STO's

convert(25), " Qty to convert

deldat(10), " Delivery date

end of i_fcc.

data begin of bdcdata occurs 20.

include structure bdcdata.

data end of bdcdata.

data begin of messtab occurs 10.

include structure bdcmsgcoll.

data end of messtab.

data: i_fieldcat_alv type slis_t_fieldcat_alv,

w_fieldcat_alv like line of i_fieldcat_alv,

wa_repid type sy-repid,

w_variant type disvariant,

wx_variant type disvariant,

w_callback_ucomm type slis_formname,

w_variant_save(1) type c,

w_exit(1) type c,

w_layout type slis_layout_alv,

lst_is_print type slis_print_alv,

lin type i.

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

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

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

selection-screen: begin of block main with frame title text-008.

select-options: w_wrkst for mara-wrkst no intervals no-extension,

w_groes for mara-groes no intervals no-extension,

w_matnr for mara-matnr no intervals no-extension,

w_matkl for mara-matkl no intervals no-extension,

w_dispo for marc-dispo,

w_date for sy-datum no intervals no-extension.

parameter: p_modes type c default 'N' no-display.

parameter: w_ast as checkbox default 'X'.

selection-screen: begin of block immed with frame title text-001.

selection-screen: begin of line.

selection-screen: comment 1(29) text-002. "Output directly to printer?

parameters: pa_print as checkbox.

selection-screen: end of line.

selection-screen: end of block immed.

selection-screen: begin of block variant with frame title text-003.

parameters: p_vari type slis_vari.

selection-screen: end of block variant.

selection-screen begin of block sub2 with frame title text-007.

parameter: w_new radiobutton group rad1.

parameter: w_fil radiobutton group rad1.

parameter: w_save as checkbox.

parameter: sapfil(132) type c default '001.dat' lower case obligatory.

selection-screen end of block sub2.

selection-screen function key 1.

selection-screen function key 2.

selection-screen: end of block main.

$$----


*

$$ Initialization

$$----


*

initialization.

perform init_variant.

perform variant_default using p_vari.

perform added_inits.

$$----


*

$$ At Selection Screen

$$----


*

at selection-screen.

perform variant_fill.

perform added_functions.

$$----


*

$$ At Selection Screen Value Request

$$----


*

at selection-screen on value-request for p_vari.

perform variant_f4 using p_vari.

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

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

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

start-of-selection.

perform get_data.

perform fieldcat_build.

perform layout_build.

perform save_list_order.

perform call_crystal.

end-of-selection.

&----


*& Form init_variant

&----


form init_variant.

clear: w_variant.

wa_repid = sy-repid.

w_variant-report = wa_repid.

w_variant-username = sy-uname.

w_variant_save = 'A'. "All types

endform.

&----


*& Form variant_default

&----


form variant_default using p_variant.

wx_variant = w_variant.

if not p_variant is initial.

wx_variant-variant = p_variant.

endif.

call function 'LVC_VARIANT_DEFAULT_GET'

exporting

i_save = w_variant_save

changing

cs_variant = wx_variant

exceptions

wrong_input = 1

not_found = 2

program_error = 3

others = 4.

case sy-subrc.

when 0.

p_variant = wx_variant-variant.

when 2.

clear: p_variant.

endcase.

endform.

&----


*& Form variant_fill

&----


form variant_fill.

clear: w_variant.

if p_vari is initial.

w_variant-variant = 'STANDARD'.

w_variant-report = wa_repid.

else.

w_variant-variant = p_vari.

w_variant-report = wa_repid.

call function 'LVC_VARIANT_EXISTENCE_CHECK'

exporting

i_save = w_variant_save

changing

cs_variant = w_variant

exceptions

others = 01.

if sy-subrc ne 0.

message i005.

endif.

endif.

endform.

&----


*& Form variant_f4

&----


form variant_f4 using p_variant.

call function 'LVC_VARIANT_F4'

exporting

is_variant = w_variant

i_save = w_variant_save

importing

e_exit = w_exit

es_variant = wx_variant

exceptions

not_found = 1

program_error = 2

others = 3.

if sy-subrc <> 0.

message i006.

endif.

if w_exit is initial.

w_variant-variant = wx_variant-variant.

p_variant = wx_variant-variant.

endif.

endform.

&----


*& Form get_data

&----


  • text

----


form get_data.

concatenate sap1filp sapfil into sap1fil.

if w_new = 'X'.

clear disp_tab.

select matkl matnr bismt wrkst groes

into (disp_tab-matkl, disp_tab-matnr, disp_tab-bismt,

disp_tab-wrkst, disp_tab-groes)

from mara where matnr in w_matnr

and matkl in w_matkl

and groes in s_groes

and wrkst in s_wrkst

and mstae = ''.

i_fldw = disp_tab.

select matnr werks dispo eisbe

into (disp_tab-matnr, disp_tab-werks,

disp_tab-dispo, disp_tab-eisbe)

from marc where matnr = disp_tab-matnr

and werks eq '7000'

and dispo in w_dispo.

select single lbkum into disp_tab-lbkum from mbew

where matnr = disp_tab-matnr

and bwkey = disp_tab-werks.

refresh i_mdps.

call function 'MD_ABBL_REPORTING'

exporting

ematnr = disp_tab-matnr

ewerks = disp_tab-werks

ecrpes = i_crpes

tables

mdpsx = i_mdps

exceptions

error_matmaster = 1

others = 2.

if sy-subrc = 0.

if w_date[] is initial.

w_date-low = '99991231'.

w_date-sign = 'I'.

w_date-option = 'EQ'.

append w_date.

endif.

loop at i_mdps.

case i_mdps-delkz.

when 'U1'.

if i_mdps-dat00 le w_date-low.

disp_tab-deprq = disp_tab-deprq + i_mdps-mng01.

endif.

when 'VC'.

if i_mdps-dat00 le w_date-low.

disp_tab-idprq = disp_tab-idprq + i_mdps-mng01.

endif.

when 'BA'.

disp_tab-reqrq = disp_tab-reqrq + i_mdps-mng01.

when 'BE'.

disp_tab-storq = disp_tab-storq + i_mdps-mng01.

endcase.

endloop.

endif.

select single bstmi into disp_tab-bstmi from marc

where matnr = disp_tab-matnr

and werks = disp_tab-werks.

select single maktx into disp_tab-maktx from makt

where matnr = disp_tab-matnr

and spras = 'E'.

if disp_tab-lbkum > 0 or

disp_tab-idprq > 0 or

disp_tab-deprq > 0 or

disp_tab-reqrq > 0 or

disp_tab-storq > 0.

append disp_tab.

endif.

disp_tab = i_fldw.

endselect.

endselect.

else.

  • Open the datainfil.

open dataset sap1fil in text mode.

if sy-subrc <> 0.

write:/ 'Upload File Not Found'.

exit.

endif.

refresh i_fcc.

  • Loop At data set.

do.

read dataset sap1fil into i_fcc.

if sy-subrc <> 0. exit. endif.

move-corresponding i_fcc to disp_tab.

append disp_tab.

enddo.

  • Close Dataset.

close dataset sap1fil.

endif.

endform. " get_data

&----


*& Form fieldcat_build

&----


  • Build up the headers for the fields in the Grid Display, and set

  • the key-fields for freeze while scrolling.

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

form fieldcat_build.

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = wa_repid

i_internal_tabname = 'DISP_TAB'

i_inclname = wa_repid

changing

ct_fieldcat = i_fieldcat_alv.

loop at i_fieldcat_alv into w_fieldcat_alv.

case w_fieldcat_alv-fieldname.

when 'CKBOX'.

w_fieldcat_alv-seltext_s = text-011.

w_fieldcat_alv-seltext_m = text-011.

w_fieldcat_alv-seltext_l = text-011.

w_fieldcat_alv-reptext_ddic = text-011.

w_fieldcat_alv-key = 'X'.

w_fieldcat_alv-edit = 'X'.

w_fieldcat_alv-checkbox = 'X'.

when 'MATKL'.

w_fieldcat_alv-key = 'X'.

when 'MATNR'.

w_fieldcat_alv-key = 'X'.

w_fieldcat_alv-hotspot = 'X'.

when 'WERKS'.

w_fieldcat_alv-key = ''.

when 'IDPRQ'.

w_fieldcat_alv-seltext_s = text-009.

w_fieldcat_alv-seltext_m = text-009.

w_fieldcat_alv-seltext_l = text-009.

w_fieldcat_alv-reptext_ddic = text-009.

w_fieldcat_alv-key = ''.

when 'DEPRQ'.

w_fieldcat_alv-seltext_s = text-004.

w_fieldcat_alv-seltext_m = text-004.

w_fieldcat_alv-seltext_l = text-004.

w_fieldcat_alv-reptext_ddic = text-004.

w_fieldcat_alv-key = ''.

when 'REQRQ'.

w_fieldcat_alv-seltext_s = text-005.

w_fieldcat_alv-seltext_m = text-005.

w_fieldcat_alv-seltext_l = text-005.

w_fieldcat_alv-reptext_ddic = text-005.

w_fieldcat_alv-key = ''.

when 'STORQ'.

w_fieldcat_alv-seltext_s = text-006.

w_fieldcat_alv-seltext_m = text-006.

w_fieldcat_alv-seltext_l = text-006.

w_fieldcat_alv-reptext_ddic = text-006.

w_fieldcat_alv-key = ''.

when 'CONVERT'.

w_fieldcat_alv-seltext_s = text-010.

w_fieldcat_alv-seltext_m = text-010.

w_fieldcat_alv-seltext_l = text-010.

w_fieldcat_alv-reptext_ddic = text-010.

w_fieldcat_alv-key = ''.

w_fieldcat_alv-edit = 'X'.

when 'DELDAT'.

w_fieldcat_alv-seltext_s = text-012.

w_fieldcat_alv-seltext_m = text-012.

w_fieldcat_alv-seltext_l = text-012.

w_fieldcat_alv-reptext_ddic = text-012.

w_fieldcat_alv-key = ''.

w_fieldcat_alv-edit = 'X'.

when others.

endcase.

modify i_fieldcat_alv from w_fieldcat_alv.

endloop.

endform.

&----


*& Form layout_build

&----


form layout_build.

w_layout-zebra = 'X'.

w_layout-no_vline = ''.

w_layout-colwidth_optimize = 'X'.

w_layout-detail_popup = 'X'.

w_layout-detail_initial_lines = 'X'.

endform.

*&----


*& Form call_crystal

*&----


  • text

*----


form call_crystal.

w_callback_ucomm = 'CALLBACK_UCOMM'.

  • If Batch write to list for spool output availability

if sy-batch = 'X' or

pa_print = 'X'.

if pa_print = 'X'.

lst_is_print-print = 'X1'.

endif.

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

i_callback_program = wa_repid

i_default = 'X'

i_save = 'A'

is_variant = w_variant

is_layout = w_layout

i_callback_user_command = w_callback_ucomm

it_fieldcat = i_fieldcat_alv

is_print = lst_is_print

tables

t_outtab = disp_tab.

if sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

else.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_background_id = 'SIWB_WALLPAPER'

i_callback_program = wa_repid

i_default = 'X'

i_save = 'A'

is_variant = w_variant

is_layout = w_layout

i_callback_user_command = w_callback_ucomm

it_fieldcat = i_fieldcat_alv

tables

t_outtab = disp_tab.

if sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

else.

loop at disp_tab

where ckbox = ' '.

delete disp_tab.

endloop.

describe table disp_tab lines lin.

if lin ne 0.

perform build_bdc.

endif.

endif.

endif.

endform. " call_crystal

&----


*& Form added_functions

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form added_functions.

refresh:s_wrkst, s_groes.

loop at w_wrkst.

if w_ast = 'X'.

concatenate w_wrkst-low '*' into w_wrkst-low.

w_wrkst-option = 'CP'.

endif.

move-corresponding w_wrkst to s_wrkst.

translate s_wrkst-low to upper case.

append s_wrkst.

translate s_wrkst-low to lower case.

append s_wrkst.

endloop.

loop at w_groes.

if w_ast = 'X'.

concatenate '' w_groes-low '' into w_groes-low.

w_groes-option = 'CP'.

endif.

move-corresponding w_groes to s_groes.

translate s_groes-low to upper case.

append s_groes.

translate s_groes-low to lower case.

append s_groes.

endloop.

*

if sscrfields-ucomm = 'FC01'.

call function 'Z_POPUP_TO_LIST_SORT_ORDER'

exporting

t_title = 'Setup Sorting Order'

w_popup = 'X'

tables

sortlist = i_sortord.

endif.

if sscrfields-ucomm = 'FC02'.

call function 'Z_POPUP_TO_LIST_FILES'

exporting

t_title = 'Basic Material Search Files'

dir_name = '/usr/sap/interfaces/reports'

file_mask = 'zmrp21_*'

importing

selfilename = getfil.

if not getfil is initial.

sapfil = getfil.

endif.

endif.

endform. " added_functions

&----


*& Form added_inits

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form added_inits.

move 'Setup Sorting Order ' to sscrfields-functxt_01.

move 'Display Files on Server' to sscrfields-functxt_02.

refresh i_sortord.

i_sortord-fieldname = 'matkl'.

i_sortord-ddtext = 'Material Group'.

append i_sortord.

i_sortord-fieldname = 'matnr'.

i_sortord-ddtext = 'Material Number'.

append i_sortord.

i_sortord-fieldname = 'maktx'.

i_sortord-ddtext = 'Material Description'.

append i_sortord.

i_sortord-fieldname = 'bismt'.

i_sortord-ddtext = 'Old material'.

append i_sortord.

i_sortord-fieldname = 'wrkst'.

i_sortord-ddtext = 'Basic material'.

append i_sortord.

i_sortord-fieldname = 'groes'.

i_sortord-ddtext = 'Size/dimension'.

append i_sortord.

i_sortord-fieldname = 'werks'.

i_sortord-ddtext = 'Plant'.

append i_sortord.

i_sortord-fieldname = 'dispo'.

i_sortord-ddtext = 'MRP controller'.

append i_sortord.

i_sortord-fieldname = 'bstmi'.

i_sortord-ddtext = 'Min lot size'.

append i_sortord.

i_sortord-fieldname = 'lbkum'.

i_sortord-ddtext = 'On Hand'.

append i_sortord.

i_sortord-fieldname = 'eisbe'.

i_sortord-ddtext = 'Safety stock'.

append i_sortord.

i_sortord-fieldname = 'idprq'.

i_sortord-ddtext = 'Independant Req'.

append i_sortord.

i_sortord-fieldname = 'deprq'.

i_sortord-ddtext = 'Dependant Req'.

append i_sortord.

i_sortord-fieldname = 'reqrq'.

i_sortord-ddtext = 'Requisitions'.

append i_sortord.

i_sortord-fieldname = 'storq'.

i_sortord-ddtext = 'STO''s'.

append i_sortord.

endform. " added_inits

&----


*& Form save_list_order

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form save_list_order.

call function 'Z_POPUP_TO_LIST_SORT_ORDER'

exporting

t_title = 'Setup Sorting Order'

w_popup = ' '

tables

sortlist = i_sortord.

loop at i_sortord.

write sy-tabix to fname right-justified.

translate fname using ' 0'.

concatenate 'f' fname+2(2) into fname.

assign (fname) to <fs1>.

<fs1> = i_sortord-fieldname.

translate <fs1> to upper case.

endloop.

sort disp_tab ascending by

(f01) (f02) (f03) (f04) (f05) (f06) (f07) (f08) (f09) (f10) (f11)

(f12) (f13) (f14) (f15) (f16) (f17) (f18) (f19) (f20).

endform. " save_list_order

----


  • FORM user_command *

----


form callback_ucomm using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

case r_ucomm.

when '&IC1'.

if rs_selfield-sel_tab_field = 'DISP_TAB-MATNR'.

set parameter id 'MAT' field rs_selfield-value.

set parameter id 'WRK' field '7000'.

set parameter id 'BERID' field ' '.

call transaction 'MD04'.

endif.

when others.

endcase.

endform.

&----


*& Form build_bdc

&----


  • text

----


form build_bdc.

data: lgpro like marc-lgpro,

first(1) type c,

wa_date like sy-datum.

  • PREPARE BDC

refresh bdcdata.

clear bdcdata.

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=MEDOCTYPE'.

perform bdcitem using 'MEPO_TOPLINE-BSART'

'UB'.

perform bdcitem using 'MEPO_TOPLINE-BEDAT'

sy-datum.

*

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=MEV4000BUTTON'.

perform bdcitem using 'MEPO_TOPLINE-SUPERFIELD'

'5200'.

*

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=TABHDT9'.

*

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=MEV4001BUTTON'.

perform bdcitem using 'MEPO1222-EKORG'

'7000'.

perform bdcitem using 'MEPO1222-EKGRP'

'J10'.

perform bdcitem using 'MEPO1222-BUKRS'

'ABFI'.

*

first = 'Y'.

loop at disp_tab.

clear lgpro.

if not wa_date is initial and

disp_tab-deldat is initial.

disp_tab-deldat = wa_date.

endif.

select single lgpro into lgpro

from marc

where matnr = disp_tab-matnr and

werks = '7000'.

*

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'/00'.

perform bdcitem using 'MEPO1211-EMATN(01)'

disp_tab-matnr.

perform bdcitem using 'MEPO1211-MENGE(01)'

disp_tab-convert.

perform bdcitem using 'MEPO1211-EEIND(01)'

disp_tab-deldat.

perform bdcitem using 'MEPO1211-NAME1(01)'

'7000'.

perform bdcitem using 'MEPO1211-LGOBE(01)'

lgpro.

*

if first = 'Y'.

first = 'N'.

wa_date = disp_tab-deldat.

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=MEPO1211EDITFILTER'.

*

perform bdchead using 'SAPLSKBH'

'1500'.

perform bdcitem using 'BDC_OKCODE'

'=DTC_WLSE'.

*

perform bdchead using 'SAPLSKBH'

'1500'.

perform bdcitem using 'BDC_OKCODE'

'=DTC_CONT'.

*

perform bdchead using 'SAPLSSEL'

'1104'.

perform bdcitem using 'BDC_OKCODE'

'=%00411050000197408'.

*

perform bdchead using 'SAPLALDB'

'3000'.

perform bdcitem using 'BDC_OKCODE'

'=NOINT'.

*

perform bdchead using 'SAPLALDB'

'3000'.

perform bdcitem using 'BDC_OKCODE'

'=ACPT'.

perform bdcitem using 'RSCSEL-ILOW_E(01)'

'1'.

perform bdcitem using 'RSCSEL-IHIGH_E(01)'

'99999'.

*

perform bdchead using 'SAPLSSEL'

'1104'.

perform bdcitem using 'BDC_OKCODE'

'=CRET'.

endif.

*

endloop.

*

perform bdchead using 'SAPLMEGUI'

'0014'.

perform bdcitem using 'BDC_OKCODE'

'=MESAVE'.

*

call transaction 'ME21N' using bdcdata

mode p_modes

update 'S' messages into messtab.

loop at messtab.

if messtab-msgv2+0(4) = '4500'.

message i001 with messtab-msgv1 messtab-msgv2 'created'.

endif.

endloop.

endform. " build_bdc

&----


*& Form bdchead

&----


  • text

----


  • -->P_1713 text

  • -->P_1714 text

----


form bdchead using p_program

p_dynpro.

clear bdcdata.

move : p_program to bdcdata-program,

p_dynpro to bdcdata-dynpro,

'X' to bdcdata-dynbegin.

append bdcdata.

endform. " bdchead

&----


*& Form bdcitem

&----


  • text

----


  • -->P_1718 text

  • -->P_1719 text

----


form bdcitem using p_fnam

p_fval.

clear bdcdata.

move p_fnam to bdcdata-fnam.

write p_fval to bdcdata-fval left-justified.

append bdcdata.

endform. " bdcitem

[/code]

Reward pts if found usefull:)

Regards

Sathish

Former Member
0 Kudos

Hi Hema,

Alv is used for reporting purposes and bdc for uploading purposes.

Please be specific about your requirement.

Thanks,

Aleem.