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

regarding subroutine pool

Former Member
0 Likes
620

hai friends ,

i am sorry.the coding has benn changed little bit now.

the perform in se71 is.

PERFORM SUB_FORM2 IN PROGRAM ZSSS_NEW

USING &EKKO-EBELN&

CHANGING &L_KBERT&

ENDPERFORM

FORM sub_form2 TABLES in_tab STRUCTURE itcsy

out_tab STRUCTURE itcsy.

TYPES : BEGIN OF ty_itab,

kschl TYPE konv-kschl,

kbetr TYPE konv-kbetr,

END OF ty_itab.

DATA : t_itab TYPE STANDARD TABLE OF ty_itab,

wa_itab TYPE ty_itab.

DATA :

l_knumv TYPE knumv,

l_ebeln TYPE ebeln.

break damlek.

READ TABLE in_tab WITH KEY name = 'EKKO-EBELN'.

IF sy-subrc = 0.

l_ebeln = in_tab-value.

ENDIF.

SELECT SINGLE knumv FROM ekko INTO l_knumv WHERE ebeln = l_ebeln.

if not l_knumv is initial.

SELECT kschl kbetr

FROM konv

INTO corresponding fields of table t_itab

where knumv = l_knumv.

endif.

break damlek.

if sy-subrc = 0.

loop at t_itab into wa_itab.

READ TABLE out_tab with key = 'KONV-KNUMV'.

out_tab-value = wa_itab-kbetr.

modify out_tab.

endif.

now here upto itab i am gettinfg the value of kbert,but i want to populate it into out_tab so that i can print it in po.

plz give me the solution.

5 REPLIES 5
Read only

Former Member
0 Likes
602

U cannot pass table data(mutiple records) directly to out_tab. By using out_tab parameter u can pass only 1 value at a time.

To pass table data u have to use a standard text where all table records need to be pass from this subroutine pool.

For details pl. check this link.

http://www.saptechnical.com/Tutorials/Smartforms/PassingTableData/Script1.htm

and one this when u r reading form out_tab u should use "NAME" as key.

loop at t_itab into wa_itab.

READ TABLE out_tab with key name = 'KONV-KNUMV'.

out_tab-value = wa_itab-kbetr.

modify out_tab.

Regards,

Joy.

Edited by: Joyjit Ghosh on Jul 3, 2008 5:01 PM

Read only

0 Likes
602

thannx for ur reply ghosh,

here as i am passinfg only one value(i.e.wa_itab-kbetr) why the value is not getting populated into out_tab.

Read only

0 Likes
602

Ok,..I think u are populating data into wrong parameter, name should be L_KBERT not KONV-KNUMV.

Check this modified code:

PERFORM SUB_FORM2 IN PROGRAM ZSSS_NEW

USING &EKKO-EBELN&

CHANGING &L_KBERT&

ENDPERFORM

FORM sub_form2 TABLES in_tab STRUCTURE itcsy

out_tab STRUCTURE itcsy.

TYPES : BEGIN OF ty_itab,

kschl TYPE konv-kschl,

kbetr TYPE konv-kbetr,

END OF ty_itab.

DATA : t_itab TYPE STANDARD TABLE OF ty_itab,

wa_itab TYPE ty_itab.

DATA :

l_knumv TYPE knumv,

l_ebeln TYPE ebeln.

break damlek.

READ TABLE in_tab WITH KEY name = 'EKKO-EBELN'.

IF sy-subrc = 0.

l_ebeln = in_tab-value.

ENDIF.

SELECT SINGLE knumv FROM ekko INTO l_knumv WHERE ebeln = l_ebeln.

if not l_knumv is initial.

SELECT kschl kbetr

FROM konv

INTO corresponding fields of table t_itab

where knumv = l_knumv.

endif.

break damlek.

if sy-subrc = 0.

loop at t_itab into wa_itab.

READ TABLE out_tab with key name = 'L_KBERT'.

out_tab-value = wa_itab-kbetr.

modify out_tab.

endif.

Regards,

Joy.

Read only

0 Likes
602

hai,

but it is going to dump when i read out_tab with l_kbetr (or) konv-kbetr.so with which field i have to read this table and i am getting the value into l_kbetr but not into out_tab-value.can u give reply immediately.

Read only

0 Likes
602

Hi,

Sorry for my late reply..if ur prob. is not solved yet then try this modified code.

PERFORM SUB_FORM2 IN PROGRAM ZSSS_NEW

USING &EKKO-EBELN&

CHANGING &L_KBERT&

ENDPERFORM

FORM sub_form2 TABLES in_tab STRUCTURE itcsy

out_tab STRUCTURE itcsy.

TYPES : BEGIN OF ty_itab,

kschl TYPE konv-kschl,

kbetr TYPE konv-kbetr,

END OF ty_itab.

DATA : t_itab TYPE STANDARD TABLE OF ty_itab,

wa_itab TYPE ty_itab.

DATA :

l_knumv TYPE knumv,

l_ebeln TYPE ebeln.

break damlek.

READ TABLE in_tab WITH KEY 'EKKO-EBELN'.

IF sy-subrc = 0.

l_ebeln = in_tab-value.

ENDIF.

SELECT SINGLE knumv FROM ekko INTO l_knumv WHERE ebeln = l_ebeln.

if not l_knumv is initial.

SELECT kschl kbetr

FROM konv

INTO corresponding fields of table t_itab

where knumv = l_knumv.

endif.

break damlek.

if sy-subrc = 0.

loop at t_itab into wa_itab.

READ TABLE in_tab with key 'L_KBERT'.

if sy-subrc = 0.

out_tab-value = wa_itab-kbetr.

modify out_tab INDEX SY-TABIX.

endif.

endif.

Regards,

Joy.