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

How to write - Perform using variable changing tables

Former Member
0 Likes
15,050

hi Gurus,

I am facing an issue while writing a perform statement in my code.

-


PERFORM get_pricing(zvbeln) USING nast-objky

CHANGING gt_komv

gt_vbap

gt_komp

gt_komk.

-


in program zvbeln :-

-


FORM get_pricing USING p_nast_objky TYPE nast-objky

tables p_gt_komv type table komv

p_gt_vbap type table vbapvb

p_gt_komp type table komp

p_gt_komk type table komk.

BREAK-POINT.

DATA: lv_vbeln TYPE vbak-vbeln.

MOVE : p_nast_objky TO lv_vbeln.

CALL FUNCTION '/SAPHT/DRM_ORDER_PRC_READ'

EXPORTING

iv_vbeln = lv_vbeln

TABLES

et_komv = p_gt_komv

et_vbap = p_gt_vbap

et_komp = p_gt_komp

et_komk = p_gt_komk.

ENDFORM. " GET_PRICING

But its giving an error . please let me know how i can solve this .

1 ACCEPTED SOLUTION
Read only

Former Member
5,908

Hi,

Please incorporate these changes and try.

perform get_pricing(zvbeln) TABLES gt_komv gt_vbap gt_komp gt_komk

USING nast-obky.

in program zvblen.

Form get_pricing TABLES p_gt_komv type table komv

p_gt_vbap type table vbapvb

p_gt_komp type table komp

p_gt_komk type table komk

USING p_nast_objky TYPE nast-objky.

REST OF THE CODE SAME.

End form.

Note : Please check lv_vbeln after the move statement.

Hope this will help you.

Regards,

Smart Varghese

9 REPLIES 9
Read only

Former Member
0 Likes
5,908

sure its giving error.

at point oif call of function you have 1 using and 1 changing parameter.

in your form itself you got 1 using and 1 tables parameter. this will dump forever.

Read only

0 Likes
5,908

hi Florian,

Can u please suggest me a solution

Regards

Avi

Read only

0 Likes
5,908

yeah i can:


PERFORM get_pricing(zvbeln) USING nast-objky
TABLES gt_komv
gt_vbap
gt_komp
gt_komk.

Edited by: Florian Kemmer on May 26, 2009 1:16 PM

Read only

Former Member
0 Likes
5,908

Hi,

Try like below:


PERFORM get_pricing(zvbeln) Tables gt_komv
USING nast-objky

gt_vbap
gt_komp
gt_komk.


--------------------------------------------------------------------------------
in program zvbeln :-

--------------------------------------------------------------------------------

FORM get_pricing tables p_gt_komv structure komv
USING p_nast_objky TYPE nast-objky

p_gt_vbap type table vbapvb
p_gt_komp type table komp
p_gt_komk type table komk.
BREAK-POINT.
DATA: lv_vbeln TYPE vbak-vbeln.
MOVE : p_nast_objky TO lv_vbeln.

CALL FUNCTION '/SAPHT/DRM_ORDER_PRC_READ'
EXPORTING
iv_vbeln = lv_vbeln
TABLES
et_komv = p_gt_komv
et_vbap = p_gt_vbap
et_komp = p_gt_komp
et_komk = p_gt_komk.

ENDFORM. " GET_PRICING

Regards,

Himanshu

Read only

0 Likes
5,908

Hi Himanshu,

I am getting the same error.

I want to fill tables gt_komv, gt_vbap ,gt_komp ,gt_komk in program ZREAD_PRICE. using nast-objky using function module CALL FUNCTION '/SAPHT/DRM_ORDER_PRC_READ' in program ZVBELN

"""A PERFORM was used to call the routine "GET_PRICING" of the program "ZVBELN"

The current call contains 6 actual parameter(s),

but the routine "GET_PRICING" expects 9 parameters."""

Read only

0 Likes
5,908

Try this

PERFORM get_pricing(zvbeln) 
        TABLES gt_komv
               gt_vbap
               gt_komp
               gt_komk
        USING nast-objky.



*--------------------------------------------------------------------------------
*in program zvbeln :-
*
*--------------------------------------------------------------------------------

FORM get_pricing tables p_gt_komv type table komv
                        p_gt_vbap type table vbap
                        p_gt_komp type table komp
                        p_gt_komk type table komk
                 USING p_nast_objky TYPE nast-objky.

BREAK-POINT.
DATA: lv_vbeln TYPE vbak-vbeln.
MOVE : p_nast_objky TO lv_vbeln.

CALL FUNCTION '/SAPHT/DRM_ORDER_PRC_READ'
EXPORTING
iv_vbeln = lv_vbeln
TABLES
et_komv = p_gt_komv
et_vbap = p_gt_vbap
et_komp = p_gt_komp
et_komk = p_gt_komk.

ENDFORM. " GET_PRICING

Read only

agnihotro_sinha2
Active Contributor
0 Likes
5,908

hi,

you have missed changing parameter:

FORM get_pricing USING p_nast_objky TYPE nast-objky

CHANGING p_gt_komv type table komv

ags.

Read only

Former Member
5,909

Hi,

Please incorporate these changes and try.

perform get_pricing(zvbeln) TABLES gt_komv gt_vbap gt_komp gt_komk

USING nast-obky.

in program zvblen.

Form get_pricing TABLES p_gt_komv type table komv

p_gt_vbap type table vbapvb

p_gt_komp type table komp

p_gt_komk type table komk

USING p_nast_objky TYPE nast-objky.

REST OF THE CODE SAME.

End form.

Note : Please check lv_vbeln after the move statement.

Hope this will help you.

Regards,

Smart Varghese

Read only

Former Member
0 Likes
5,908

Hi,

U follow the link: [perform|;

In u'r code changing parameter is missing form...endform.

Naveen M.