‎2008 Jun 16 7:28 AM
HI Gurus!
i want to run a cycle through bdc - VA01 - VL01N - VF01 .
once the user will fill details for VA01 then bdc will generate order [VA01 ] ,then delivery[VL01N] and invoicing [ VF01 ].
so to run multiple Transactions in a bdc we have use call session?
Do in call session , i can record this cycle of multiple transactions?
Plzz help me ! urgent!
Rahul
‎2008 Jun 16 7:38 AM
Hi,
You are absolutely wright.
USE:
Call Transaction C_Va01 Using T_Bdcdata
Mode w_mode
Mode C_N
Update C_Sync
Messages Into T_Messtab.
*
refresh t_bdcdata.
Clear: w_vbeln, w_sales_order.
DESCRIBE TABLE t_messtab LINES w_no_of_lines_of_messtab.
LOOP AT t_messtab FROM w_no_of_lines_of_messtab
WHERE ( msgid = 'V1' )
AND ( msgnr = '260' )
AND ( msgnr = '261' )
AND ( tcode = 'VA01' )
AND ( dyname = 'SAPMV45A' )
AND ( dynumb = '4001' )
AND ( msgtyp = 'S' ).
*Delivery is not created @ this point in time
w_vbeln = t_messtab-msgv3.
w_sales_order = t_messtab-msgv2.
Endloop.
*
From the above you will get the order no so wait for a while by using CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
SECONDS = 10
to ensure that all databases have been updated & then proceed with CALL Transaction of VL01N etc etc....
Regards
Raju Chitale
‎2008 Jun 16 7:49 AM
Hi Raju!
there is no way in batch input session where we can records a cycle of multiple t-codes.
regards,
Rahul
‎2008 Jun 16 7:55 AM
Hi,
You need to have three different recordings one each for VA01, VL01N & VF01. Once you are theu with VA01 updation use the FM ENQUE_SLEEP to wait for a while & then get the order no by looping at the 'Messages' trapped in CALL TRANSACTION of VA01. Use that order no & fire CALL TRANSACTION for VL01N. Again wait a while by using the above mentioned FM & pick up the delivery no ( again by looping at the messages received from cALL TRAN ) & again CALL TRANSACTION For VF01 by using the delivery no obtained above.
I hope this clarifies the matter.
Regads
Raju Chitale