2006 Mar 08 8:04 AM
hi,
Yesterday i given my interview. They asked me question: can we update two transactions by using call transaction code. I said no. They asked me the reason.
I could not able to answer. Can anybody tell.
rgds
p.kp
2006 Mar 08 8:10 AM
Hi,
I think it is possible. take the case... when i am uploading material master, i'm checking for material in mara table if it is there then i am using MM02 and updating the Material master, if the material is not there i will use MM01 . so this way i can use two transaction in BDC.
Regards
vijay
2006 Mar 08 8:09 AM
HI kirshna
Acutally we can update two trasaction using TWO CALL TRANSACTION statements in the same BDC PROGRAM.
you cannot update using single CALL TRANSACTION statement.
regards
kishore
2006 Mar 08 8:10 AM
Hi,
I think it is possible. take the case... when i am uploading material master, i'm checking for material in mara table if it is there then i am using MM02 and updating the Material master, if the material is not there i will use MM01 . so this way i can use two transaction in BDC.
Regards
vijay
2006 Mar 08 8:16 AM
Hi again,
they asked me suppose i inserted data in xd01. After creating the customer, i want to update one more screen by using that customer in the same program.
rgds
p.kp
2006 Mar 08 8:19 AM
HI prasad
yes you can do this. first you upload the data into XD01 using
CALL TRANSACTION 'X01' USING bdc_tab MODE 'N' UPDATE 'S'.
then after compelting the task you call one more CALL TRANSACTION in the same program.
for changing.
regards
ksihore
2006 Mar 08 8:26 AM
Hi Krishna,
if you have the BDC data like screen number, screen fields, then you fill the BDC table call it again.
that way you can call it using call transaction after the customer creation.
regards
vijay
2006 Mar 08 8:47 AM
Hi,
here is the Justification for what Vijay said ...
LOOP AT Z_LTMAT001.
SELECT * FROM ZLTMCP001
WHERE MTART = Z_LTMAT001-MTART
AND SPART = Z_LTMAT001-SPART.
MOVE ZLTMCP001-CPMATNR TO WK_CPMATNR.
ENDSELECT.
SELECT * FROM ZLTMCP002
WHERE MTART = Z_LTMAT001-MTART
AND SPART = Z_LTMAT001-SPART.
MOVE ZLTMCP002-CPMATNR TO WK_CPMATNR2.
ENDSELECT.
IF Z_LTMAT001-STATUS = '0'. "o^
MOVE 'MM01' TO WK_TCODE.
PERFORM GENERATE_BDC_DATA1.
else. "ÏX
ELSEIF Z_LTMAT001-STATUS = '1'. "ÏX 00.09.11 mod
MOVE 'MM02' TO WK_TCODE.
PERFORM GENERATE_BDC_DATA2.
ELSE. "g£o^(status =5)
MOVE 'MM01' TO WK_TCODE.
PERFORM GENERATE_BDC_DATA3.
ENDIF.
CALL TRANSACTION WK_TCODE USING BDC_DATA
MODE P_MODE
UPDATE P_UP
MESSAGES INTO BDC_MSG. "19990719 INSERT</b>
hope this way you might have understood as how this works...
Regards,
Santosh P
2006 Mar 08 8:17 AM
Hi paluri,
1. in one program, we can do.
(by using two call transaction statements)
2. But using just one CALL TRANSACTION,
we CANNOT do.
The reason is :
the TCODE, which is specified,
is specified in the SYNTAX ie.
call transcation 'TCODE'
3. If abap was like this, that
we can specify the tcode
in the bdctable itself
(just like progname, screennumber, fnam,fval)
then, it was still possible.
regards,
amit m.
2006 Mar 08 8:23 AM
1. WE <b>CANT CALL TWO TRANSACTIONS</b> BUT WE CAN UPDATE MANY TABLES.
EXMAPLE, CALL TRANSACTION MM01,
DOING UPDATIONS MEANS IT IS UPADTING MANY TABLES LIKE MARA, MARAC MARAD etc. <b>LUW concept</b>
Message was edited by: Hymavathi Oruganti
2006 Mar 08 8:26 AM
Hi oruganti,
we cannot call the two transactions one after another, what is the reason.
rgds
p.kp
2006 Mar 08 8:30 AM
we can call two transactions one after another with two call transaction statements obviously.
<b>with one call transaction statemnt we can call only one transcation</b> as per the syntax of call transaction.
Message was edited by: Hymavathi Oruganti
Message was edited by: Hymavathi Oruganti
2006 Mar 08 8:41 AM
HI prasad
you cannot because call transaction should be followed by certian update statements after wards you can call another tranaction.
regards
kishore