Should we call a transaction within RFC
Hi,
I have a scenario like this.
There is a portal application where in customers can create inbound delivery.
What I am thinking is portal application will invoke a RFC passing the required data. Within the RFC I can write the BDC code for transaction VL31N to create inbound delivery.
I just wanted to know if this is the correct way to do this.
Should we call a transaction within a RFC ? What are the pros n cons associated with this ?
Is there ne BAPI to create Inbound Delivery (VL31N) ?
Regards,
Nitin
Hi Nitin,
There's unfortunately no BAPI available to create an inbound delivery. So considering that, what you're doing is fine.
I did not get what you meant by calling a transaction within an RFC in this context. If you're talking about a Portal application, what's the point in calling the transaction in the RFC ? Or did you mean that you want to use CALL TRANSACTION USING... ?
Regards,
Anand Mandalika.
Similar Messages
-
Calling Batch Input within RFC
Hello experts.
I need to call a Batch Input within a RFC Function. I heard that approach might bring some problems, taking into account that the RFC function must act as a Web Service for a .Net application calling.
Has anybody came up with a similar situation?
Thank you in advance.
Regards,
Andrés Sarcevic.Hello Andres
Two things come into my mind with this scenario:
1) Does the batch input require that the executing user is a dialog user? If so then the RFC user must be a dialog user as well.
2) Does the RFC user have sufficient authorizations to execute the batch input?
Regards
Uwe -
Call a transaction in a new session within a program
Hi Friends,
I have a requierment to call a custom Z Tcode within a module pool program. When I click on a particular pushbutton the custom transaction should get called in such a way that user should be able to be in the called transaction as well as in the calling program.
Can someone please help me on how to go about this? I have tried SUBMIT, CALL TRANSACTION, LEAVE TRANSACTION, etc.,
Thanks,
DikshithaHi dixitha,
1. You want to open VA01 in NEW WINDOW
2. You want to PASS some values to VA01 (eg. Order Type, Sales Organization etc)
There are two things.
1. As mentioned by Vinod, use the function module
DATA: bdcdata TYPE TABLE OF BDCDATA.
CALL FUNCTION 'CKEKUTIL_CALL_TRANSACTION_TASK'
EXPORTING
transaction = 'VA01'
* MODE = 'A'
* UPDATE = 'S'
TABLES
bdcdata_imp = bdcdata "Blank table
2. BUT, this will ONLY open the tcode VA01 with BLANK values.
If you have made a BDC program, then you will understand that
for filling up values automatically, we have to pass some informatino
(eg. program name, screen number, X
field name, field value
field name, field value ) etc.
to this , using the tables parameter BDCDATA_IMP.
So for eg., the values for this itab will be
PROGRAM DYNPRO DYNBEGIN FNAM FVAL
SAPMV45A 0101 X
VBAK-AUART OR
VBAK-VKORG 1000
This will open VA01 tcode, with order type as OR (Standard order)
and Sales organization as 1000.
(You can use SHDB tcode to get the screen field names and values and the full recording)
Hope this helps.
regards,
amit m. -
Call transaction from RFC?
Hi Experts,
I need to call Different transactions from a RFC.
I am looking for different approaches to achieve this.
One Idea is RFC will take input parameters as
-Transaction name
-Field names to be updated with its values (as a table)
Now in RFC, it should be able to update this transactionu2019s fields with the values provided in table parameter.
RFC will fill up the BDC table with the needed data, and will call the needed transaction to update the data.
Once the execution is complete, RFC will send back the different messages (error, info, and warning) through Table parameter.
Now, I do not have much of ABAP experience so I need your help in following
1) Should I use BDC recording in RFC?
2) Can BDC send back all the messages encountered while calling the transaction?
3) Is there any other way to approach this requirement?
Thank you in advance.
Regards,
Ashish ShahHi Amitava,
This RFC might be called from any WebBased application , like Portal , Visual Composer or WebDynpro for Java.
One more idea , may be an extension to my current idea is:
To add one more input parameter to RFC, a table with single field of type string.
Populate this table with entire BDC recording for one particular transaction, and pass it as an input parameter of RFC.
Once in RFC , this BDC recording can be used to populate BDC table and then pass this table to call transaction statement.
Do you see any sense in this logic?
Regards,
Ashish Shah -
Hi ,
I am trying to do a call transaction through RFC call from a Middleware which is a CPIC user (only communication Non dialog User ) .
Call transaction does gets executed without any error but it does not update any data.But when I run it through my user id it works absolutely fine .
I am not sure what is causing the issue
Security authorization?
RFC through Non Dialog user ?
Paramters missing in RFC ?
Paramatertes missing in call transaction option?
If anyone of you has faced a similiar issue then please let me know the path forward.
Thanks
VikasHi Vikas,
The problem is in Authorization? And check the mode of Process Synchoronus or asynchoronous? Both the RFC and CALL transaction should be Same /
Thanks
MAnju -
Lag when calling BLS Transaction from within another
Using MII 12.0.
In MII class, they told us a "best practice" was to check the "Reload Transaction after Execution" box in the configuration of a Transaction call within a BLS. The reasoning behind it was that should this not be checked, a previous result of that called BLS transaction would still be cached in memory and used instead of the newly assigned values from within your calling BLS.
Checking the "Reload transaction after Execution" box forces MII to reload that transaction when it is called.
In time analysis, what has been noticed is that there's a significant - up to 9 seconds - lag time when one BLS calls another BLS. On a time-sensitive operation, that is an eternity. That amount of overhead defeats any hope of using common code libraries.
Questions -
1. Is this a true "best practice", or is it one that adds unnecessary overhead to a BLS?
2. If the calling BLS executes 1 time - but is subject to be executed multiple times over a certain interval - is checking the Reload box of the BLS it is calling unnecessary?
3. Even if you pass new data each time you call that BLS, is it still going to use/return whatever data it has cached until the cache expires?
4. Is there another way to ensure that the called BLS uses the data you pass it (and returns the corresponding result set) without incurring the amount of overhead that we have noted?
ThanksThe version we're on is 12.0.6 Build 13, and moving to 12.1 (something I am not directly involved in). In this version, I'm not seeing the menu options you describe, so it's apparently in 12.1 or later.
The issue we are having if the "Reload transaction after execution" box is not selected is indeed caching of values.
For example -
BLS1 runs every 5 minutes
BLS2 is called from BLS1, and in this case, retrieves error log info from a table - a common module used by several BLS's.
BLS3 is also called from BLS1, and in this case, writes to an error log using information retrieved from BLS2 from within the execution of BLS1. BLS2 & BLS3's calls are in 2 separate sequences, one after the other.
If BLS2 & BLS3 DO NOT have the "Reload Transaction after execution" checked, each will run with whatever the cached data in memory is for them, even though inside BLS1 I am assigning values to the input of BLS1 to send to BLS2, and passing the returned data from BLS2 into BLS3. Unless it's checked, BLS2 & BLS3 would continue to be called, however, it would be with whatever data has been cached for them.
If that "Reload" switch is checked, it will reload each transaction & call it with whatever data is being passed.
This was mentioned in the MII class I was in also. This is a generalization, but the way they described it was being similar to how you might save a web page to your local PC, and that unless that page is refreshed & changed, that from that point on, every time you brought up your saved web page, it would always display the same values in it. They didn't go into great deal to explain the mechanics of it, but MII would only load it the first time it executed, and that unless you forced it (by checking the Reload switch), it would always execute using the same cached values no matter what you were passing. -
Hi,
i´ve developed an RFC FM and within this FM i use
CALL FUNCTION '
NUMBER_GET_NEXT'
in order to get a sequential number each time the FM is called.
When this RFC FM is called from XI
i get exception 1 (INTERVAL_NOT_FOUND)
Why is this happening?
How can i solve this problem?
Best regards.Hi,
i just do this:
DATA: l_number(15) TYPE C.
IF l_number IS INITIAL.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '00'
OBJECT = 'ZVLBSOLICI'
IMPORTING
NUMBER = l_number
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8.
ENDIF.
Best regards. -
Where should i call the rfc function module? in xi or in r/3
where should i call the rfc function module?
for the synch scenario: file < -- > xi <---> rfc
i know the type of rfc is tcp/ip; but i'm not sure with the followings,
and with some trials i can not even see any message via rwb even all the setting
can be activated without errors.
where should i create the rfc destination? in r/3 or xi
where should i call the rfc via abap program? in r/3 or xi
i guess the calling program should belong to the different server with the rfc itself....
so confused....
Thanks for your reply!!
Junif i create the destination in xi point to r/3, then i call the rfc use the destination in r/3 right ?
The call doesnt use the destination in R3. XI has the RFC destination which is just used to connect to the R3 system
but where i need to create the fm via se37? in xi or r/3 ?
In R3
Regards,
Prateek -
Invoke MII Transaction thru RFC Call from SAP
Hi,
We want to get the data from Oracle DB table thru MII (12.0.2).
We need to use RFC call from SAP to MII.
Is it possible to invoke the MII transaction thru RFC by setting in Message Listener?
We have used iDoc messages but not tried with RFC.
How to do that?
Regards,
SenthilI feel MII doesn't have anything equivalent to RFC in ECC. You may try web services in an ABAP program
Hope the article below helps you
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/9f101377-0c01-0010-269f-c3ee905d583b&overridelayout=true
Regards,
Musarrat -
Open ERP transaction within CRM 2007 using wizard for transaction launcher
Hello everybody,
I am trying to launch a SAP ERP transaction within SAP CRM 2007 using the transaction launcher wizard.
First I maintained all necessary setting for the RFC connections (in ERP and CRM) using for example transaction SM59 and BD87, e.g. the master data replication is working fine. Second I created a business object type based on the SAP Standard business object TSTC and set the u201CExecuteu201D method to u201CSynchronousu201D in SAP ERP.
Afterwards I created the URL for our ITS server and started the transaction launcher in CRM. During the step u201CFurther technical detailsu201D I selected as transaction type u201CBOR transactionu201D and chose our logical system (ERP) and added our newly created BOR object type as well as the method u201CExecuteu201D. If I now press the u201CNextu201D button the error message u201CAn RFC destination could not be specified for the logical system XYu201D is shown.
Any help is highly appreciated.
Thanks lot and kind regards,
FranziskaHi,
The error you get is because the client you have mentioned for logical system mapping and the client in which you created the BOR object are not same.
Remember, for sucessfull transaction Launcher Configurations,
1) The client in which WEB UI Runs
2) The Logical System mapping and client mentioned in ITS url
3) The client is which you created the BOR object.
4) The client on which you are configuring transaction launcher wizard
ALL SHOULD BE THE SAME CLIENT, unless you are using the OWNLOGSYS concept for logical system mapping.
For example,
If my WEB UI is on client 200 of development system,
then i must create TSTC based BOR in client 200 , Map logical system for client 200 and configure trnsaction launcher in client 200.
In this approach, you cant transport the developments to other system and client ( like Quality and production system) , hence its advicible to create a logical system with name OWNLOGSYS. The name of logical system must be kept OWNLOGSYS in all the systems and clients so that then you can transport yout transaction launcher developments and the error you get now will not come. It its not possible to maintain the logical system with this name in all the system , then you will have to do as i mentioned in points 1 to 4.
Hope this helps.
Thanks & Regards,
Suchita -
How to call a transaction (in a new session) from a program
Hi ,
I need to call a transaction from my report on the click of a button in toolbar.
But the transaction should open in a new session.
This is the code that i have written, MM03 is getting opened in the same session.
call transaction 'MM03' and skip first screen.
Hope that my question is clear.
Thanking you in advance..
Shankarcheck this
<b>CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
DESTINATION 'NONE'
EXPORTING
TCODE = 'SM59'
EXCEPTIONS
COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
SYSTEM_FAILURE = 2 MESSAGE MSG_TEXT.
IF SY-SUBRC NE 0.
WRITE: MSG_TEXT.
ELSE.
WRITE: 'O.K.'.
ENDIF.</b>
<b>u can avoid such errors thru this FM
check FI_DUPLICATE_INVOICE_SHOW program for sample code.</b>
regards
Prabhu
Message was edited by: Prabhu Peram -
How to call 2 transactions in a single screen
Hi All,
I need to call 2 Standard transaction in a single screen.
ie: 1 transaction should be displayed in first half of the sceen and another transaction should be in the next half. How we can do this.
Thanks
Partha.Attach two subscren in that screen and call the transactions from the seperate subscreens.
-
Error while calling MII transaction as web service
Hi all,
I am using MII version 12.1.8
When i try calling a BLS as a web service i am getting an error as " [ERROR] Error Invoking Web Service Action: Status (502): Proxy Error ( No data record is available. ) "
The same WSDLGen url is working from the browser. The path is http://<server>:50000/XMII/WSDLGen/<TrxPath>
I also gave Proxy Host and Proxy Port in System Management --> System Administration
Is there anything i am missing in the web service action.
Kindly help
Regards
MuzammilHi Diana,
It is working now. I removed the proxy settings from system administrator and added a new credential alias for web service. And then it started working..
The scenario which i am trying is as mentioned. We need to call a transaction from a diiferent MII Server. So at first i was trying with the Trx within the same server.
Hope this is the best way to access the transaction from a different server.
Regards
Muzammil -
Possible to call a transaction from a planning book using a macro button?
Hi All,
Is it somehow possible to call a transaction using a macro button in the planning book? Also, the current selection should be passed as input parameters to the transaction.
In my example, I am trying to run the transaction /SAPAPO/MC90 - Release to Supply Network Planning from the Demand Planning Planning Book/Data View. This way if planners need to change forecasts mid month for specific selections, they can easily transfer to SNP without having to go out of interactive planning.
Thank you,
MariaHello Maria,
It's possible to call a transaction from a planning book using a macro button.
What you can do is ..... Create a function module and inside it use the command "Call Transaction Tcode" (ABAPer can do this) to call ur specific transaction. And this module can in turn be called from your macro. Please find the below link which explanis how to call a function module from a macro. Do let me know if you need more information on this.
Calling a function module from APO Macro
Regards,
Siva. -
Call a transaction with Application WD ABAP
Dear Expert.
In this moment I have the following requirement:
I created an Application WD ABAP and created a button that must call a transaction of R/3 in the portal.
I created a Transaction Iview and for this iView I created a Page. Now I want that when the enduser press the button in the application WD ABAP, the system call the transaction.
How Can solve this issue?
Thanks in advance for you help.
Regardsthe wizard tool will create the OBN call for you, just go to portal navigation in the wizard tool.
your IVIEW parameters should be pass in the OBN call.
thanks!
Jason PV
Maybe you are looking for
-
How do I design a background in AE then link it to my video in Premiere CS6?
Please help! I've been agonizing over this for days; watching videos on YouTube, but can't find the answer. I've done a video for YouTube and it's just me talking, BUT, I shot it in front of a curtain behind me that I don't like. I want to replace
-
IPod Shuffle second generation not recognized by my computer
I wish somenone can help. Since I have bought my iPod, I was never able to connect it to my computer or any other computer (all PC's using Vista or XP). Always the same message "USB device not recognized". I have the latest iTunes version (8.0.0.35)
-
PO Output message triggering for change in PO
Hi, We have configured a output message type for PO create . The output message is defiend for condition record doc type, partner as LS and medium A(ALE) and partner name. Once PO is created the output is getting triggered and idoc created.If I make
-
I'm trying to restore my iPhone 5 iOS 6.0.2 but it says I'm unable to because my backups aren't compatible because they're iOS 6.1. Please help!
-
I have tried to do a clean install but it fails to resolve the above output message. Therefore I am now attaching my debug information to this forum hoping someone can help me in finding a solution to my problem. This error message will keep popping