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: 

read table statement

Former Member
0 Kudos

Hi All,

I want read a line from an internal table( itab ) using read table statement, by matching a field ( itab-f1 ) with a value in the variable ( var1 ).

how can i do this ?.

Thanks, Sudeep..

Message was edited by:

Sudeep VD

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,


read table itab with key f1 = var1.
if sy-subrc eq 0. 
-----" Record Found .
else.
-----"Record not found.
endif.

Message was edited by:

Perez C

8 REPLIES 8

Former Member
0 Kudos

Hi,


read table itab with key f1 = var1.
if sy-subrc eq 0. 
-----" Record Found .
else.
-----"Record not found.
endif.

Message was edited by:

Perez C

Former Member
0 Kudos

Hi,

you can use this statement,

READ TABLE ITAB INTO <workarea> WITH KEY F1 = VAR1.

Regards,

Samson Rodrigues.

Former Member
0 Kudos

Hi,

Use like this

Read table itab with key f1 eq var1.

Reward points if useful.

Regards,

Vimal

former_member386202
Active Contributor
0 Kudos

Hi,

Refer this code.

LOOP AT i_lqua INTO wa_lqua.

*--Check if zero stock line checkbox is selected or not

IF p_sline = c_chk AND wa_lqua-gesme = c_zero.

*--Clear

CLEAR wa_lqua.

CONTINUE.

ENDIF.

CLEAR wa_makt.

READ TABLE i_makt INTO wa_makt WITH KEY matnr = wa_lqua-matnr

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-maktx = wa_makt-maktx. "Pass Material Description

ENDIF.

CLEAR wa_mara.

READ TABLE i_mara INTO wa_mara WITH KEY matnr = wa_lqua-matnr

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-mtart = wa_mara-mtart. "Pass Material Type

ENDIF.

CLEAR wa_pkhd.

READ TABLE i_pkhd INTO wa_pkhd WITH KEY matnr = wa_lqua-matnr

werks = wa_lqua-werks

lgnum = wa_lqua-lgnum

lgtyp = wa_lqua-lgtyp

lgpla = wa_lqua-lgpla

umlgo = wa_lqua-lgort

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-prvbe = wa_pkhd-prvbe. "Pass Supply Area

ENDIF.

CLEAR wa_mbew.

READ TABLE i_mbew INTO wa_mbew WITH KEY matnr = wa_lqua-matnr

bwkey = wa_lqua-werks

BINARY SEARCH.

IF sy-subrc = 0.

CASE wa_mbew-vprsv.

WHEN lc_vprsv_v.

*--Calculate Total Value

lv_gesme = wa_lqua-gesme * wa_mbew-verpr.

wa_final-verpr = wa_mbew-verpr. "Pass Unit Price

WHEN lc_vprsv_s.

*--Calculate Total Value

lv_gesme = wa_lqua-gesme * wa_mbew-stprs.

wa_final-verpr = wa_mbew-stprs. "Pass Unit Price

ENDCASE.

ENDIF.

wa_final-matnr = wa_lqua-matnr. "Pass Material Number

wa_final-lgpla = wa_lqua-lgpla. "Pass Storage Bin

wa_final-charg = wa_lqua-charg. "Pass Batch

wa_final-werks = wa_lqua-werks. "Pass Plant

wa_final-lgort = wa_lqua-lgort. "Pass Storage Location

wa_final-lgtyp = wa_lqua-lgtyp. "Pass Storage Type

CASE wa_lqua-bestq.

WHEN space.

wa_final-feldv = text-012. "Pass Available Stock

WHEN 'Q'.

wa_final-feldv = text-017. "Pass Stock in Quality Control

WHEN 'R'.

wa_final-feldv = text-018. "Pass Returns Stock

WHEN 'S'.

wa_final-feldv = text-008. "Pass Blocked stock

ENDCASE.

wa_final-einme = wa_lqua-gesme. "Pass the Quantity

wa_final-tval = lv_gesme. "Pass The Total Value

APPEND wa_final TO i_final.

*--Clear

CLEAR : wa_lqua,

wa_final,

lv_gesme.

ENDLOOP. "loop at i_lqua into wa_lqua

Regards,

Prashant

0 Kudos

Hi Prashant

I have a problem in this report. I am unable to see material no and description in my AVL grid report

Can you comment and correct my report please and where is the problem

Thanks in advanced ,

Piroz

report ZCHGDOC_BY_SALES no standard page heading

line-size 132.

type-pools:

slis. " ALV types

  • Tables

tables:

cdhdr, " Change documents: Header

cdpos, " Change documents: Items

vbak, " Sales order: Header

mara, " Material Number

makt, " Material Description

user_addr, " User Address

vbap. " Contract order: Items

  • Types

types:

  • ------------------------------------------------------------------*

begin of ty_cdhdr,

objectclas like cdhdr-objectclas, " Object class

objectid like cdhdr-objectid, " Object value

changenr like cdhdr-changenr, " Document change number

username like cdhdr-username, " Changed by

udate like cdhdr-udate, " Changed on

utime like cdhdr-utime, " Changed at

tcode like cdhdr-tcode, " Transaction code

end of ty_cdhdr,

ty_it_cdhdr type ty_cdhdr occurs 0,

  • ------------------------------------------------------------------*

begin of ty_cdpos,

objectclas like cdpos-objectclas, " Object class

objectid like cdpos-objectid, " Object value

changenr like cdpos-changenr, " Document change number

tabname like cdpos-tabname, " Table name

tabkey like cdpos-tabkey, " Table key

fname like cdpos-fname, " Field name

chngind like cdpos-chngind, " Change indicator

value_new like cdpos-value_new, " New value of field

value_old like cdpos-value_old, " Old value of field

end of ty_cdpos,

ty_it_cdpos type ty_cdpos occurs 0,

  • ------------------------------------------------------------------*

begin of ty_dd03l,

tabname like dd03l-tabname,

fieldname like dd03l-fieldname,

as4local like dd03l-as4local,

as4vers like dd03l-as4vers,

rollname like dd03l-rollname,

end of ty_dd03l,

ty_it_dd03l type ty_dd03l occurs 0,

  • ------------------------------------------------------------------*

begin of ty_dd04t,

rollname like dd04t-rollname,

ddlanguage like dd04t-ddlanguage,

as4local like dd04t-as4local,

as4vers like dd04t-as4vers,

scrtext_l like dd04t-scrtext_l,

end of ty_dd04t,

ty_it_dd04t type ty_dd04t occurs 0,

  • ------------------------------------------------------------------*

begin of ty_kna1,

kunnr like kna1-kunnr, " Customer number

name1 like kna1-name1, " Customer name

end of ty_kna1,

ty_it_kna1 type ty_kna1 occurs 0,

  • ------------------------------------------------------------------*

begin of ty_user_addr,

bname like user_addr-bname, " user no

name_textc like user_addr-name_textc , " Username

end of ty_user_addr,

ty_it_user_addr type ty_user_addr occurs 0,

  • ------------------------------------------------------------------*

begin of ty_vbap,

vbeln like vbap-vbeln, " Contract number

posnr like vbap-posnr, " Contract item

matnr like vbap-matnr, " Material

abgru like vbap-abgru, " Reason for rejection

werks like vbap-werks, " Plant

arktx like vbap-arktx, " Product description

maktx like makt-maktx, " Production Description

end of ty_vbap,

ty_it_vbap type ty_vbap occurs 0,

begin of ty_makt,

vbeln like vbap-vbeln, " Contract number

posnr like vbap-posnr, " Contract item

matnr like vbap-matnr, " Material

maktx like makt-maktx, " Production Description

end of ty_makt,

ty_it_makt type ty_makt occurs 0,

----


begin of ty_mara,

matnr like mara-matnr, " Material

extwg like mara-extwg, " External material group

mstav like mara-mstav, " Blocking reason

mstdv like mara-mstdv, " Blocking reason valid from

end of ty_mara,

ty_it_mara type ty_mara occurs 0,

----


begin of ty_marc,

matnr like marc-matnr, " Material

werks like marc-werks, " Plant

mmsta like marc-mmsta, " Blocking reason

mmstd like marc-mmstd, " Blocking reason valid from

end of ty_marc,

ty_it_marc type ty_marc occurs 0,

  • ------------------------------------------------------------------*

ty_text(500) type c,

ty_lines type tline,

ty_it_lines type ty_lines occurs 0,

begin of ty_merged,

vbeln like vbak-vbeln, " Sales order number

erdat like vbak-erdat, " Created on

auart like vbak-auart, " Order type

faksk like vbak-faksk, " Billing block in SD document

netwr like vbak-netwr, " Net value

waerk like vbak-waerk, " Currency

vkorg like vbak-vkorg, " Sales organisation

vtweg like vbak-vtweg, " Distribution channel

vkbur like vbak-vkbur, " Sales office

fkara like vbak-fkara, " Proposed billing type

kunnr like vbak-kunnr, " Sold-to party

bname like vbak-bname , " User No

xblnr like vbak-xblnr, " Reference

fbuda like vbkd-fbuda, " Date services rendered

username like cdhdr-username, " Changed by

udate like cdhdr-udate, " Changed on

utime like cdhdr-utime, " Changed at

tcode like cdhdr-tcode, " Transaction code

tabname like cdpos-tabname, " Table name

tabkey like cdpos-tabkey, " Table key

fname like cdpos-fname, " Field name

chngind like cdpos-chngind, " Change indicator

value_new like cdpos-value_new, " New value of field

value_old like cdpos-value_old, " Old value of field

scrtext_l like dd04t-scrtext_l, " Description of field

intnote type ty_text, " Internal note

hdrnote type ty_text, " Header note

name1 like adrc-name1, " Sold-to party name

matnr like vbap-matnr, " Material No

arktx like vbap-arktx,

end of ty_merged,

ty_it_merged type ty_merged occurs 0,

begin of ty_vbak,

vbeln like vbak-vbeln, " Sales order number

erdat like vbak-erdat, " Created on

auart like vbak-auart, " Order type

faksk like vbak-faksk, " Billing block in SD document

netwr like vbak-netwr, " Net value

waerk like vbak-waerk, " Currency

vkorg like vbak-vkorg, " Sales organisation

vtweg like vbak-vtweg, " Distribution channel

vkbur like vbak-vkbur, " Sales office

fkara like vbak-fkara, " Proposed billing type

kunnr like vbak-kunnr, " Sold-to party

xblnr like vbak-xblnr, " Reference

objectid like cdhdr-objectid, " Change document object

matnr like vbap-matnr,

end of ty_vbak,

ty_it_vbak type ty_vbak occurs 0,

begin of ty_vbkd,

vbeln like vbkd-vbeln, " Sales order number

posnr like vbkd-posnr, " Sales order item

fbuda like vbkd-fbuda, " Date services rendered

end of ty_vbkd,

ty_it_vbkd type ty_vbkd occurs 0.

  • Internal tables

data:

it_cdhdr type ty_it_cdhdr,

it_cdpos type ty_it_cdpos,

it_fieldcat type slis_t_fieldcat_alv,

it_kna1 type ty_it_kna1,

it_user_addr type ty_it_user_addr,

it_merged type ty_it_merged,

it_vbak type ty_it_vbak,

  • Material No

it_vbap type ty_it_vbap,

it_mara type ty_it_mara,

it_makt type ty_it_makt,

it_vbkd type ty_it_vbkd.

data:

wa_vbak type ty_vbak.

data:

st_tvariant like disvariant,

st_variant like disvariant.

constants:

co_as4local_a like dd03l-as4local " Active version

value 'A',

co_objectclas_verkbeleg like cdhdr-objectclas

value 'VERKBELEG',

co_posnr_initial like vbkd-posnr " Initial item number

value is initial,

co_posnr_initial_2 like vbap-posnr " Initial item number

value is initial,

co_save_u type c " User display variant

value 'U', " saving allowed.

co_trvog_0 like vbak-trvog " Sales order

value '0'.

data:

va_exit type c, " ALV display

va_tabix like sy-tabix.

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

select-options:

" s_vkorg for vbak-vkorg OBLIGATORY, " Sales organisation

s_vkorg for vbak-vkorg , " Sales organisation

s_vkbur for vbak-vkbur, " Sales office

s_vtweg for vbak-vtweg, " Distribution channel

s_vbeln for vbak-vbeln, " Sales order number

s_kunnr for vbak-kunnr, " sold to party

"s_matnr for vbap-matnr, " Material No

s_usrnme for cdhdr-username, " Changed by

s_udate for cdhdr-udate. " Changed on

selection-screen: end of block b1,

begin of block b2 with frame title text-002.

parameters:

p_varint like disvariant-variant. " Display variant.

selection-screen: end of block b2.

  • Initialization

initialization.

  • Load display variant.

if not p_varint is initial.

move st_variant to st_tvariant.

move p_varint to st_tvariant-variant.

call function 'REUSE_ALV_VARIANT_EXISTENCE'

exporting

i_save = co_save_u

changing

cs_variant = st_tvariant.

st_variant = st_tvariant.

else.

clear st_variant.

st_variant-report = sy-repid.

endif.

at selection-screen on value-request for p_varint.

  • Provide display variant list for this program.

call function 'REUSE_ALV_VARIANT_F4'

exporting

is_variant = st_variant

i_save = co_save_u

importing

e_exit = va_exit

es_variant = st_tvariant

exceptions

not_found = 2.

if sy-subrc eq 2.

message id sy-msgid type 'S'

number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

else.

if va_exit eq space.

st_variant = st_tvariant.

p_varint = st_tvariant-variant.

endif.

endif.

  • At selection screen

at selection-screen.

  • Load display variant.

if not p_varint is initial.

move st_variant to st_tvariant.

move p_varint to st_tvariant-variant.

call function 'REUSE_ALV_VARIANT_EXISTENCE'

exporting

i_save = co_save_u

changing

cs_variant = st_tvariant.

st_variant = st_tvariant.

else.

clear st_variant.

st_variant-report = sy-repid.

endif.

  • Start of selection

----


  • Extract order details from VBAK

select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara

kunnr xblnr

from vbak

into table it_vbak

where vkorg in s_vkorg

and vkbur in s_vkbur

and kunnr in s_kunnr

and vbeln in s_vbeln.

if sy-subrc ne 0.

  • No data found for selection

message s001(zgen).

exit.

endif.

loop at it_vbak into wa_vbak.

va_tabix = sy-tabix.

wa_vbak-objectid = wa_vbak-vbeln.

modify it_vbak from wa_vbak

index va_tabix

transporting objectid.

endloop.

----


  • Extract Change data

select objectclas objectid changenr username udate utime tcode

from cdhdr

into table it_cdhdr

for all entries in it_vbak

where objectclas eq co_objectclas_verkbeleg

and objectid eq it_vbak-objectid

and username in s_usrnme

and udate in s_udate.

if sy-subrc eq 0.

select objectclas objectid changenr tabname tabkey fname chngind

value_new value_old

from cdpos

into table it_cdpos

for all entries in it_cdhdr

where fname NE 'CMPRE_FLT'

and objectclas eq it_cdhdr-objectclas

and objectid eq it_cdhdr-objectid

and changenr eq it_cdhdr-changenr.

endif.

  • Extract customer details from KNA1

select kunnr name1

from kna1

into table it_kna1

for all entries in it_vbak

where kunnr eq it_vbak-kunnr.

----


Changes are made here -

Select MATNR from VBAP into table it_vbap

for all entries in it_vbak

where vbeln = it_vbak-vbeln.

if sy-subrc eq 0.

sort it_vbap by vbeln posnr.

Select MAKTX from MAKT into table it_makt

for all entries in it_vbap

where

matnr eq it_vbap-matnr

and SPRAS = sy-langu.

if sy-subrc eq 0.

sort it_makt by matnr.

endif.

endif.

  • Extract general material details from MARA

  • select matnr

  • from vbap

  • into table it_vbap

  • for all entries in it_vbap

  • where vbeln eq it_vbap-vbeln

  • and matnr eq it_vbap-matnr.

*

  • select maktx from makt

  • into table it_vbap

  • for all entries in it_vbak

  • where matnr eq it_vbap-matnr.

*

----


*

*select MAKTX from MAKT

*into table it_vbap "<<<<<<if you have maktx in the structure

*for all entries in it_vbap

*where

*matnr eq it_vbap-matnr.

*

*select a~vbeln a~matnr

  • from vbap as a

  • inner join makt as b

  • on bmatnr = amatnr

  • into table it_vbap

  • for all entries in it_vbak

  • where

  • a~vbeln eq it_vbak-vbeln and

  • b~spras eq sy-langu.

    • Extract general material details from MARA

*

  • -----------------------------------------------------------*

    • -----------------End of Change ----------------------*

  • Extract Contract No from vbkd.

select vbeln posnr fbuda

from vbkd

into table it_vbkd

for all entries in it_vbak

where vbeln eq it_vbak-vbeln

and posnr eq co_posnr_initial.

perform merge_data tables it_cdhdr

it_cdpos

it_kna1

it_user_addr

it_merged

it_vbak

it_makt

it_vbap

it_vbkd.

if it_merged[] is initial.

message s001(zgen).

exit.

endif.

  • Release memory no longer required.

free: it_cdhdr,

it_cdpos,

it_kna1,

it_user_addr,

it_vbak,

it_makt,

it_vbap,

it_vbkd.

  • Build field catalog for call to report function

perform build_field_catalog tables it_fieldcat.

  • Output report.

perform output_report tables it_fieldcat

it_merged.

&----


*& Form merge_data

&----


  • text

----


form merge_data tables pa_it_cdhdr type ty_it_cdhdr

pa_it_cdpos type ty_it_cdpos

pa_it_kna1 type ty_it_kna1

pa_it_user_addr type ty_it_user_addr

pa_it_merged type ty_it_merged

pa_it_vbak type ty_it_vbak

pa_it_makt type ty_it_makt

pa_it_vbap type ty_it_vbap

pa_it_vbkd type ty_it_vbkd.

  • Local internal tables

data:

lit_dd03l type ty_it_dd03l,

lit_dd04t type ty_it_dd04t.

  • Local work areas

data:

lwa_cdhdr type ty_cdhdr,

lwa_cdpos type ty_cdpos,

lwa_dd03l type ty_dd03l,

lwa_dd04t type ty_dd04t,

lwa_kna1 type ty_kna1,

lwa_user_addr type ty_user_addr,

lwa_merged type ty_merged,

lwa_vbak type ty_vbak,

lwa_vbap type ty_vbap,

lwa_makt type ty_makt,

lwa_vbkd type ty_vbkd.

  • Local variables

data:

lva_dd03l_tabix like sy-tabix,

lva_dd04t_tabix like sy-tabix.

  • Sort Data

sort pa_it_cdhdr by objectid changenr.

sort pa_it_cdpos by objectid changenr tabname tabkey fname.

sort pa_it_kna1 by kunnr.

sort pa_it_vbap by matnr.

sort pa_it_user_addr by bname.

sort pa_it_vbak by vbeln.

sort pa_it_vbkd by vbeln.

  • Change here

*loop at pa_it_vbap into lwa_vbap.

  • read table pa_it_vbak into lwa_vbak with key vbeln = lwa_vbap-vbeln.

  • check sy-subrc eq 0.

  • move-corresponding lwa_vbak to lwa_merged.

    • End of Changes here

*

  • endloop.

loop at pa_it_vbak into lwa_vbak.

clear lwa_merged.

  • Assign sales order fields to reporting work area

lwa_merged-vbeln = lwa_vbak-vbeln.

lwa_merged-erdat = lwa_vbak-erdat.

lwa_merged-auart = lwa_vbak-auart.

lwa_merged-faksk = lwa_vbak-faksk.

lwa_merged-netwr = lwa_vbak-netwr.

lwa_merged-waerk = lwa_vbak-waerk.

lwa_merged-vkorg = lwa_vbak-vkorg.

lwa_merged-vtweg = lwa_vbak-vtweg.

lwa_merged-vkbur = lwa_vbak-vkbur.

lwa_merged-fkara = lwa_vbak-fkara.

lwa_merged-kunnr = lwa_vbak-kunnr.

  • lwa_merged-vbeln = lwa_vbap-vbeln.

  • lwa_merged-bname = 1wa_user_addr-bname.

lwa_merged-xblnr = lwa_vbak-xblnr.

  • Assgin Material to reporting work area

lwa_merged-matnr = lwa_vbap-matnr.

  • Get name of sold-to party from PA_IT_KNA1

clear lwa_kna1.

read table pa_it_kna1 into lwa_kna1

with key kunnr = lwa_vbak-kunnr

binary search.

lwa_merged-name1 = lwa_kna1-name1.

  • Get Material No and Description

  • Read Table

CLEAR lwa_makt.

READ TABLE pa_it_makt INTO lwa_makt WITH KEY matnr = lwa_vbap-matnr

BINARY SEARCH.

IF sy-subrc = 0.

lwa_merged-maktx = lwa_makt-maktx. "Pass Material Description

ENDIF.

  • Get business data from PA_IT_VBKD.

clear lwa_vbkd.

read table pa_it_vbkd into lwa_vbkd

with key vbeln = lwa_vbak-vbeln

binary search.

lwa_merged-fbuda = lwa_vbkd-fbuda.

  • Get internal note text for sales order

perform read_text using '0002'

'1'

lwa_merged-vbeln

'VBBK'

lwa_merged-intnote.

  • Get header note 1 text for sales order

perform read_text using 'Z002'

'1'

lwa_merged-vbeln

'VBBK'

lwa_merged-hdrnote.

  • Determine if change documents exist for sales order.

clear lwa_cdhdr.

read table pa_it_cdhdr into lwa_cdhdr

with key objectid = lwa_vbak-objectid.

if sy-subrc ne 0.

continue.

endif.

loop at pa_it_cdhdr into lwa_cdhdr

from sy-tabix.

lwa_merged-username = lwa_cdhdr-username.

lwa_merged-udate = lwa_cdhdr-udate.

lwa_merged-utime = lwa_cdhdr-utime.

lwa_merged-tcode = lwa_cdhdr-tcode.

clear lwa_cdpos.

read table pa_it_cdpos into lwa_cdpos

with key objectid = lwa_cdhdr-objectid

changenr = lwa_cdhdr-changenr

binary search.

loop at pa_it_cdpos into lwa_cdpos

from sy-tabix.

lwa_merged-tabname = lwa_cdpos-tabname.

lwa_merged-tabkey = lwa_cdpos-tabkey.

lwa_merged-fname = lwa_cdpos-fname.

lwa_merged-chngind = lwa_cdpos-chngind.

lwa_merged-value_new = lwa_cdpos-value_new.

lwa_merged-value_old = lwa_cdpos-value_old.

  • Get description for field - determine date element

clear lwa_dd03l.

read table lit_dd03l into lwa_dd03l

with key tabname = lwa_cdpos-tabname

fieldname = lwa_cdpos-fname

binary search.

lva_dd03l_tabix = sy-tabix.

if sy-subrc ne 0.

select single tabname fieldname as4local as4vers rollname

from dd03l

into lwa_dd03l

where tabname eq lwa_cdpos-tabname

and fieldname eq lwa_cdpos-fname

and as4local eq co_as4local_a.

if sy-subrc eq 0.

insert lwa_dd03l into lit_dd03l

index lva_dd03l_tabix.

endif.

endif.

  • If data element was found, get description

if not lwa_dd03l is initial.

clear lwa_dd04t.

read table lit_dd04t into lwa_dd04t

with key rollname = lwa_dd03l-rollname

ddlanguage = sy-langu

binary search.

lva_dd04t_tabix = sy-tabix.

if sy-subrc ne 0.

select single rollname ddlanguage as4local as4vers scrtext_l

from dd04t

into lwa_dd04t

where rollname eq lwa_dd03l-rollname

and ddlanguage eq sy-langu.

if sy-subrc eq 0.

insert lwa_dd04t into lit_dd04t

index lva_dd04t_tabix.

else.

lwa_dd04t-scrtext_l = 'Description for field not found'.

endif.

endif.

endif.

lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.

append lwa_merged to pa_it_merged.

at end of changenr.

  • Only process field changes for this change document.

exit.

endat.

endloop.

at end of objectid.

  • Initialise work area so we know change document for order has

  • been processed.

clear lwa_merged.

  • Only process change documents for this sales order.

exit.

endat.

endloop.

endloop.

  • end of loop

endform. " merge_data

&----


*& Form build_field_catalog

&----


  • text

----


form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.

data:

  • Local variable

lva_col_pos type slis_fieldcat_alv-col_pos,

  • Local structure

st_fieldcat type slis_fieldcat_alv.

lva_col_pos = 0.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'VBELN'.

st_fieldcat-ref_tabname = 'VBAK'.

st_fieldcat-ref_fieldname = 'VBELN'.

st_fieldcat-row_pos = '1'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'VKBUR'.

st_fieldcat-ref_tabname = 'VBAK'.

st_fieldcat-ref_fieldname = 'VKBUR'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '6'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'VKORG'.

st_fieldcat-ref_tabname = 'VBAK'.

st_fieldcat-ref_fieldname = 'VKORG'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '6'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'KUNNR'.

st_fieldcat-ref_tabname = 'VBAK'.

st_fieldcat-ref_fieldname = 'KUNNR'.

st_fieldcat-row_pos = '1'.

st_fieldcat-col_pos = lva_col_pos.

st_fieldcat-outputlen = '6'.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'NAME1'.

st_fieldcat-ref_tabname = 'KNA1'.

st_fieldcat-ref_fieldname = 'NAME1'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '15'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'MATNR'.

st_fieldcat-ref_tabname = 'VBAP'.

st_fieldcat-ref_fieldname = 'MATNR'.

st_fieldcat-row_pos = '1'.

st_fieldcat-col_pos = lva_col_pos.

st_fieldcat-outputlen = '6'.

append st_fieldcat to pa_it_fieldcat.

*

*clear st_fieldcat.

  • add 1 to lva_col_pos.

  • st_fieldcat-tabname = 'PA_IT_MERGED'.

  • st_fieldcat-fieldname = 'MATNR'.

  • st_fieldcat-ref_tabname = 'MARA'.

  • st_fieldcat-ref_fieldname = 'MATNR'.

  • st_fieldcat-row_pos = '1'.

  • st_fieldcat-col_pos = lva_col_pos.

  • st_fieldcat-outputlen = '6'.

  • append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'SCRTEXT_L'.

st_fieldcat-ref_tabname = 'DD04T'.

st_fieldcat-ref_fieldname = 'SCRTEXT_L'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '20'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'UDATE'.

st_fieldcat-ref_tabname = 'CDHDR'.

st_fieldcat-ref_fieldname = 'UDATE'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '10'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'USERNAME'.

st_fieldcat-ref_tabname = 'CDHDR'.

st_fieldcat-ref_fieldname = 'USERNAME'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '6'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

*

  • clear st_fieldcat.

  • add 1 to lva_col_pos.

  • st_fieldcat-tabname = 'PA_IT_MERGED'.

  • st_fieldcat-fieldname = 'FNAME'.

  • st_fieldcat-ref_tabname = 'CDPOS'.

  • st_fieldcat-ref_fieldname = 'FNAME'.

  • st_fieldcat-row_pos = '4'.

  • st_fieldcat-outputlen = '8'.

  • st_fieldcat-col_pos = lva_col_pos.

  • append st_fieldcat to pa_it_fieldcat.

*

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'CHNGIND'.

st_fieldcat-ref_tabname = 'CDPOS'.

st_fieldcat-ref_fieldname = 'CHNGIND'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '8'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'WAERK'.

st_fieldcat-ref_tabname = 'VBAK'.

st_fieldcat-ref_fieldname = 'WAERK'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '5'.

st_fieldcat-col_pos = lva_col_pos..

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'VALUE_NEW'.

st_fieldcat-ref_tabname = 'CDPOS'.

st_fieldcat-ref_fieldname = 'VALUE_NEW'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '6'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

clear st_fieldcat.

add 1 to lva_col_pos.

st_fieldcat-tabname = 'PA_IT_MERGED'.

st_fieldcat-fieldname = 'VALUE_OLD'.

st_fieldcat-ref_tabname = 'CDPOS'.

st_fieldcat-ref_fieldname = 'VALUE_OLD'.

st_fieldcat-row_pos = '1'.

st_fieldcat-outputlen = '6'.

st_fieldcat-col_pos = lva_col_pos.

append st_fieldcat to pa_it_fieldcat.

endform. " build_field_catalog

&----


*& Form output_report

&----


  • text

----


form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv

pa_it_merged type ty_it_merged.

  • Local variables

data:

lva_formname type slis_formname,

lva_repid like sy-repid.

lva_repid = sy-repid.

lva_formname = 'ALV_USER_COMMAND'.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = lva_repid

i_callback_user_command = lva_formname

i_save = 'A'

is_variant = st_variant

it_fieldcat = pa_it_fieldcat[]

tables

t_outtab = pa_it_merged

exceptions

program_error = 1

others = 2.

endform. " output_report

&----


*& Form alv_user_command

&----


  • text

----


form alv_user_command using pa_ucomm like sy-ucomm

pa_selfield type slis_selfield.

  • Local work areas

data:

lwa_merged type ty_merged.

clear lwa_merged.

read table it_merged into lwa_merged

index pa_selfield-tabindex.

case pa_selfield-fieldname.

when 'VBELN'.

  • Contract Number

set parameter id 'AUN' field lwa_merged-vbeln.

call transaction 'VA03' and skip first screen.

  • S_BCE_68001393

when 'USERNAME'.

  • Username

set parameter id 'username' field lwa_merged-username.

call transaction 'S_BCE_68001393' and skip first screen.

when 'KUNNR'.

  • Customer number

set parameter id 'KUN' field lwa_merged-kunnr.

set parameter id 'VKO' field space.

set parameter id 'VTW' field space.

set parameter id 'SPA' field space.

call transaction 'XD03' and skip first screen.

endcase.

endform. " alv_user_command

&----


*& Form read_text

&----


  • text

----


form read_text using pa_id

pa_inline_count

pa_name

pa_object

pa_text.

  • Local internal tables

data:

lit_inlines type ty_it_lines,

lit_lines type ty_it_lines.

  • Local work areas

data:

lwa_lines type ty_lines.

  • Local variables

data:

lva_tdname like thead-tdname.

refresh: lit_inlines,

lit_lines.

lva_tdname = pa_name.

call function 'READ_TEXT_INLINE'

exporting

id = pa_id

inline_count = pa_inline_count

language = sy-langu

name = lva_tdname

object = pa_object

tables

inlines = lit_inlines

lines = lit_lines

exceptions

id = 1

language = 2

name = 3

not_found = 4

object = 5

reference_check = 6

others = 7.

loop at lit_lines into lwa_lines.

concatenate pa_text

lwa_lines-tdline

into pa_text separated by space.

endloop.

endform. " read_text ENDLOOP.

Former Member
0 Kudos

Hi,

read table itab with key f1 = var1.

0 Kudos

Problem solved..

Many Thanks, Sudeep..

Former Member
0 Kudos

Hi Sudeep,

Do this it will help you.

Read Table itab with key f1 = var1.

Its better use F1 help if you want to see the SYNTAX.

Kindly reward if useful

Rohit G