RFC BAPI execution authorizations.
Hi all.
In my company development teams are trying to use SAP RFC connections in order to connect it's .NET, java, etc applications. They need a sap user to establish the connection and I don't know what authorizations (objects) I need to put in their roles in order to allow the connection estrictly to the BAPIs the need to use.
I used to put transactions on a role, but with BAPIs and function modules I don't know how to proceed. I need to create a transaction for every BAPI or FM they need?.
Thanks in advance for your help.
Rolls-Royce solution: Create a test frame in SE37 and execute the BAPI(s) in sequence with an ST01 trace on providing only the import parameters which you want to use and activate in them. This will influence the checks performed, so just looking in the code is not enough...
Then maintain SU24 for the BAPI (not a transaction code!) and add the BAPI to the role menu (ignore S_DEVELOP and the other usual red-herrings in the trace).
BAPIs by definition should never make an S_TCODE authority-check so you should never need to grant any.
Cheers,
Julius
Similar Messages
-
RFC/BAPI Exception in PI 7.0
Hi there,
currently we have a scenario where the message come from middleware and pass through PI to POSDM system via RFC.
my target structue is an BAPI .
for some reason if the BAPI execution gets failed on POSDM system then the BAPI should return some exception back to PI system,
can this be achived only by just adding the fault message type (ExchangeFaultData) in Inbound MI, whill this setting sufficient to get any error info from BAPI to PI via rfc, or do we need to do some exception mapping? if so can some one explain/Monika,
RFM that pretends to be a BAPI has to follow a few strict rules. Some of them are :
- BAPI is called always synchronously and are always successful i.e. errors are returned in EXPORT parameter (so no matter if BAPI created some document/posting or not is successful!)
- it does not return exceptions!
so you should not advise to make use exceptions ... otherwise it will not be a BAPI
The one of possible solution is to wrap BAPI either using proxy or RFM and then you can propagate exceptions to SAP PI.
/Jakub -
Scenario File to RFC (BAPI): BAPI not executed successful
Hi Dear Friends!
At execution of asynchronous Scenario File to RFC (BAPI BAPI_ACC_DOCUMENT_POST)
I have the following error in RWB Communication Channel (RFC receiver):
- Error: 2007-07-25 11:08:25 EEST: Message processed for interface BAPI_ACC_DOCUMENT_POST:
com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message
to remote system:com.sap.aii.af.rfc.core.client.RfcClientBapiException:
BAPI not executed successful
Simultaniously <b>Test Configuration</b> was executed successfully. And mapping is good.
But I don't any message in <b>target system</b> in <b>sxmb_moni</b> (formed by BAPI).
In <b>XI system</b> I see in <b>sxmb_moni</b>:
<Trace level="1" type="T">--start sender interface action determination</Trace>
<Trace level="1" type="T">select interface mi_sender*</Trace>
<Trace level="1" type="T">select interface namespace urn:file:to:bapi</Trace>
<Trace level="1" type="T">no interface found</Trace>
<Trace level="1" type="T">--start receiver interface action determination</Trace>
<Trace level="1" type="T">Loop 0000000001</Trace>
<Trace level="1" type="T">select interface *</Trace>
<Trace level="1" type="T">select interface namespace</Trace>
<Trace level="1" type="T">no interface found</Trace>
<Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
Please help me understand my error.
With the best regards,
Natalia MaslovaHi, Dear Friends! Thanks for support!
My settings of
Connection between systems:
DX7 01 (client 001) - XI Integration Server and DE2 13 (client 200) - target system.
Phisically both systems are in one server: 10.20.30.24 (srv24)
Business system DE2_200 has Communication Channel: cc_bapi_r, its settings (in Integration Builder Configuration):
Adapter Type: RFC
Receiver
Transport Protocol: RFC
Message Protocol: RFC (RFC XML)
Adapter Engine: Integration Server
RFC Client Parameter:
RFC Server Type: SAP System
Application Server: 10.20.30.24
System Number: 13
Authentication Mode: Use Logon Data for SAP System
Logon User: n_maslova
Logon Password: *******=*******
Logon Language: EN
Logon Client: 200
Maximum Connections: 1
x Advanced Mode
x Send 'Confirm Transaction'
x Commit Handling for Single BAPI Calls
x BAPI Advances Mode
Successful RETURN-TYPE Values: 0
As I understand these settings are the settings of RFC-destination for target system DE2 13 (200) from XI (DX7 01 001).
In SLD, Business system DE2_200 is defined as:
Integration:
Role: Application System
Related Integration Server: DX7_001
Technical System: DE2 on srv24
Client: 200 of DE2
Logical System Name: DE1CLNT200
In target system DE2 13 (200) with the help of transaction sm59 I created
RFC-destination DX7_001 of type H:
Technical setting parameters:
Target Host: 10.20.30.24
Prefix Path: /sap/xi/engine/?type=entry
Service Number: 8001
Registration and Safe:
SSL: Non active.
SSL: client certificate: DFAULT SSL-client
Enter to system:
Language: EN
Client: 001
User: PIAPPLUSER
Status PW: saved
Password: ********
After that in this system DE2 13 (200) with the help of transaction sxmb_adm I set in Integration Engine -> Configuration -> Configurate Integration Engine
(Change Global Configuration Data):
Role of Business System: Application System
Related Integr. Server: dest://DX7_001
Best regards,
Natalia -
How to verify if the RFC/BAPIs on ECC6 ides are unicode (UTF16) enabled
Hello,
I am not a SAP expert however I have knowledge about SAP RFCSDK. Let me give some background about what I am trying to do which would help to clear my question a bit more.
1. I have a program written in "C", which uses RFCSDK to communicate with SAP server for integration. This program works fine with non unicode RFCSDK 6.40
2. For one of my need, I need to add UTF16 support to this code. So I am using unicode version of RFCSDK 6.40 with SAPwithUNICODE flag set. And using librfc32u.dll (Build : Tue Apr 08 09:22:11 2008, File version : 6405, 5, 228, 5755, Product version : 6405.5.228)
3. I am using code page : 4103 (UTF16LE) in RfcOpenEx while communicating with SAP server.
4. I am able to logon to the SAP server (version ECC6) successfully and also able to execute RFC_GET_FUNCTION_INTERFACE successfully to get interface info of the RFC. I am using function "RfcGetStructureInfoAsTable" from RFCSDK to get structure info, which also seems to be OK.
After gathering the above info when I am trying to execute a BAPI I am getting "RFC_SYS_EXCEPTION" error.
5. I am trying to execute "BAPI_EMPLOYEE_GETLIST" and I have already checked all the import parameters (including field values in RFC_PARAMETER structure) and they all seems to be correct. On execution I am getting following error in the trace file (.trc).
T:3480 Error in program 'nleiact': ======> "SELECT ... LIKE ..." with leading, but no closing inverted comma.
T:3480 Error in program 'nleiact': <* RfcReceive [1] : returns 3:RFC_SYS_EXCEPTION
T:3480 Error in program 'nleiact': <* RfcCallReceive [1] : returns 3:RFC_SYS_EXCEPTION
I was wondering if the RFC/BAPI on the SAP server might not be unicode (UTF16) enabled as one of the cause of this failure.
Could somebody help me to point out a method to verify whether the RFC/BAPIs on this SAP server are unicode enabled or not?
Also (I know it is against guidelines of forum of having multiple questions in one post) could somebody point out if I am doing something wrong or missing something in procedure (as described above.) of using unicode RFCSDK?
Thanks
Prasanna Joshi
Edited by: Prasanna Joshi on Feb 4, 2009 4:15 PMFinding out the system code page you may need to first look this fm SCP_CODEPAGE_BY_EXTERNAL_NAME and also check other function module under function group SCPA
PS These fm are not RFC's you may need to write wrapper above these to use.
a® -
File to RFC/BAPI - Async- How to capture response field value
Hi,
I am doing File to RFC/BAPI Scenario. I have Two BAPI's. THe same source xml file is mapped to the Two Target BAPI's.
For the first flow i.e File to BAPI1, I need to capture BAPI Response, field value and pass this value as Input to the BAPI2.
How do I proceed with the Mapping. I am working on PI 7.1
Any input would be Appreciated.
Thanks & Regards,
VarunHi Varun,
apparently you need a Business Process:
XML -> BP (asynchronous), Map to Bapi1 request structure
BP -> BAPI 1 (synchronous)
Transformations step with multi mapping merging XML and Bapi1 response to Bapi2 request structure
BP-> BAPI2
Regards,
Udo -
ALE/IDOC and RFC/BAPI Integration Scenarios with SAP DS for ESA v3
Hi,
we are planning two PoCs of Integration Plattforms. One of our major requirement set is SAP Integration into our existing SOA.
Because we also have R/3 4.7 Systems in production, we are planning to test ALE/IDOC and RFC/BAPI Integration scenarios with these Integration Plattforms.
My question is:
We are looking for are smart solution to get a SAP Test Environment, where we can test ALE/IDOC und RFC/BAPI Integration scenarios.
It is possible to do this with SAP DS for ESA v3 or shall we better use IDES for that purpose?
Best regards,
StevenHi Abhishek,
This is our scenario. We are doing an integration of SAP HR r/3 system with the CRM system. We need housing information details of the employees which we have in custom infotype 9310 in SAP HR system and we need those details in the CRM system. So am planning out for an ALE/IDOC approach for the integration and gonna maintain the 9310 details in a custom table. In the CRM system, we gonna build a BOL layer for accessing the 9310 details. Also i'm preparing a HLD for this process. I wanna read and go through few same HLD's before i submit my proposal to my client. Please suggest me and help me out.
Thanks in advance.
Regards,
Arunmozhi. -
How to use field symbols while creating a new RFC Bapi
Hi all,
I have written a RFC Bapi in the traditional way.
I need to replace all with field symbols (import. export. tables and source code).
What is the syntax ?
Any sample codng will be more helpful.
Regards
SenthilPlease search for available information on "field symbols" before posting
Thread locked
Thomas -
Passing values to RFC/BAPI Table
Hi,
I am having a very strange problem. While passing the values to RFC/BAPI table using add method the values are not passed to backend SAP. Below is the code which I am using just to pass some data in RFC/BAPI table.
The same code was working few days back. Is there any configuration in JCO or any other problems other than the code?
Your l help is greatly appreciated.
public void executeZtest_Function_Input( )
// //@@begin executeZtest_Function_Input()
// //$$begin Service Controller(943377124)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
try{
Ztest_Function_Input input = new Ztest_Function_Input();
for (int i=0; i<5;i++){
Zhr_Ear_Cclist cc =new Zhr_Ear_Cclist();
cc.setFi_User("[email protected]");
input.addIcc_List(cc);
wdContext.nodeZtest_Function_Input().bind(input);
wdContext.currentZtest_Function_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
} catch(WDDynamicRFCExecuteException ce) {
manager.reportException(ce.getMessage(), false);
//$$end
//@@endHi Raksh,
I also got the same problem. Please check the following ways then you will solve problem.
1. First check the appropriate BAPI in SAP GUI Software. You have to determine where is the problem?. Is it in Dynpro or BAPI itself?.
2. Suppose the BAPI structure change you will wont't run. If BAPI strusture change you have to reimport BAPI.
3. Please check the JCo connectio using test Button. Then redeploy your project.
4. Rebuild your project then redeploy.
Check the above ways you may get answer.
Kind Regards,
S.Saravanan -
How to passing lowercase values to RFC/BAPI using webdynpro for JAVA
Hi Exerts,
When we sending values to RFC/BAPI through webdynpro (JAVA), the values are sent in capital (uppercase) letters to ECC.
So if we fill xxxx, it is send like XXXX. Why? and how to avoid this?
Thanks in advance,
JoeriHi,
There could be two possibility if you are storing this value in ABAP table.
1. You are entering value in UPPERCASE in your webdynpro application.
2. The data stored in ABAP table, converts value in small to upper case.
1. Can you tell me how you are passing this value, is user entering value in some input field which is binded to some context and this value are you passing to RFC/BAPI...???
Or else before passing value to RFC/BAPI you can use toLowerCase string function and the npass this value to RFC/BAPI
e.g String name = wdContext().currentContextelement().getName().toLowercase();
Now pass this name to RFC/BAPI is should go as lowercase only..
This is from webdynpro java side..
2. If you are storing this value in ABAP table, check the domain/type of variable in ABAP table for which you are storing the value. Ask ABAPper, so that this value are stored in small case letter.
There is one tick in domain which you need to remove so that it stores in lower case. I dont have exact information but you can consult this with ABAPer.
Hope this information helps guy ..!!!!
Regards,
Jigar -
Hi All
I am learning XI and the difference between " ALE, IDOC, RFC, BAPI, BADI "
Not clear and when to use what and how in point of XI ?
Pl..clarify me
Adv..thanks and points
--- Rakesh BeheraHi
This will expalin you every thing ...pl..go through
The interface concept of the classic R/3 is based on two different strategies: Remote Function Calls (RFC) and data exchange through IDoc message documents. RFC makes direct and synchronous calls of a program in the remote system. If the caller is an external program it will call an RFC-enabled function in R/3 and if the calling program is the R/3 system it will call an RFC-function in another R/3-system or it will call a non-R/3 program through a gateway-proxy (usually rfcexec.exe). BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
The philosophical difference between EDI and ALE can be pinned as follows: If we send data to an external partner, we generally speak of EDI, while ALE is a mechanism to reliable replicate data between trusting systems to store a redundant copy of the IDoc data. The difference is made clear, when we think of a purchase order that is sent as an IDoc. If we send the purchase order to a supplier then the supplier will store the purchase order as a sales order. However, if we send the purchase order via ALE to another R/3 system, then the receiving system will store the purchase order also as a purchase order.
I hope this will help you to understand the difference bet..those
regards
--- prasad -
Documentation on Function Modules,RFC,BAPI
hi friends,
I have to give training in these 3 topics(function module,RFC,BAPI) .can u please help me with the documentation part .
thankuhi,
give your mail id, such i can forward documents to that.
regards,
Pavan -
Is there a common RFC/BAPI so that using it I can create multi report in EP
Hi,
I am new to EP ..
I have to generate some 25 reports of R3 systems which shoudl be exposed to EP. After going thru the docs on EP..
It says that for every reports I need to create either an RFC or a BAPI. But It is a tedious job to create RFC functions for every report. Since these report is already there(Written) in the R3 System. I hate to convert these again as an RFC for every report.
Is there a common RFC /BAPI where I need to pass required parameters and the transaction code for a specific report instead of creating a new RFC for every reports. so that that specific RFC will do the job for me.
Is there a better/intelligent way to accomplish this task.
Please do not say use SAP trasnational iViews ... As this expose the SAP GUI directly to the user..thru this one can trigger new transactions ... Correct me if I am wrong.
thanks
Pkiranthanks mario,
very helpful answer
pkiran -
BAPI execution in webdynpro returns only a few records
Hi,
I'm executing a BAPI in my webdynpro application and it is returning only a few records from backend table. When i execute the BAPI in R/3 with the same input i'm getting all the records. In webdynpro i'm getting only 22 records for different set of inputs while in R/3 i'm getting all records(37,41 etc). Any help in this regard will be valuable.
Regards,
ShabeerHi,
I am invalidating the output node after execution of BAPI. The BAPI is executing properly and it is returning records also.But the problem is with the number of records returned by BAPI. As i've mentioned earlier it is always returning 22 records, eventhough the actual output contains more than 22 records(I checked this in R/3). I was told that the BAPI is calling a transaction(i don't know whether it is the problem since i am not familiar with ABAP and R/3 that much).Is it possible that webdynpro is fetching records even before the BAPI execution is complete in R/3 and hence returning partial output(I'm not sure about this thing) ?
Any help in this regard will be valuable.
Thanks and regards,
Shabeer -
Http == rfc (bapi) - bapi not created
Hi
I've got an http <==> rfc (bapi) scenario. QoS is Best Effort. I am using SAP's http test tool. After enabling the "synch-logging" I can see two successful rows. I am using the bapi "bapi_master_savedata".
Some weird things:
- no material master data is created.
- The parts of the response message are only "Call Adapter" and "Request Message Mapping", nothing else.
Thanks
Go:khanHi
I think you pointed to the right problem.
I haven't written something like that before, but I will try if there is no other solution.
So I don't need any wrapper for a syn. rfc call with SP 14??
But the following article doesn't use any wrapper "/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit ??
Thanks
Go:khan -
Dear team,
Is there any built in RFC/BAPI in R/3 to update UDCODE and Inspection lot fields in QALS and QAVE tables(QM related).
PRUEFLOS from QALS and dataelement:: QPLOS
VBEWERTUNG from QAVE and data element : QBEWERTUNG
Thanks.
-DrumiHey Did you check this one.
As per your requirement hope this can be used. BAPI_INSPLOT_SETUSAGEDECISION
You can also check the following Bussiness Objects
BUS2045
BUS204501
BUS204502
BUS204503
Hope this helps,
Bhargav.
Maybe you are looking for
-
What's the best way for a web app to handle logins and sessions?
I'm deploying in JBoss, using JSF. As is often the case, I keep User information in an entity bean. My question is, what's the best way to handle this bean? My inclination is to create a login page with a LoginBackingBean atached to it. When the user
-
SAP R/3 Connection in WEB AS 6.40
Hello, I am currently in the process of <i>migrating our enterprise application from Jboss to SAPWAS 6.40</i>. One of the tasks is to get the SAP R/3 connectivity happening in SAP WAS server. We connect to the SAP R/3 system from our java classes and
-
Exception in thread main java.lang.NoClassDefFoundError: com/object/msg/SmsService caused by: java.lang.NotFoundException: com.object.msg.SmsService at java.net........................ at java.security....... I'm trying to send SMS using this code an
-
Problem with BAPI_OUTB_DELIVERY_CHANGE to update serial numbers
hi All, I am using BAPI_OUTB_DELIVERY_CHANGE to update serial numbers. i am executing this directly in se37 giving delivery number alone in import parameters header_data, header_control and delivery. and giving delivery numer, item no and random seri
-
When you make a Apple ID how can you choose none for credit card type
When you make a Apple ID how can you choose none for credit card type