Without BPM:Call RFC using JCO in interface mapping using java mapping
Hi all
I have a very small scenario where REQUEST from the customer comes via Web Service all i have to do is to read the request using SOAP adapter and call an interface mapping(lets say the name is IM_TEST) inside which there is a JAVA MAPPING program written which will call an RFC in CRM using JCO.
Now this was really simple and i cud test the Interface mapping successfully, but the problem is when loading the scenario in integration directory i have certain things to do
1. to set the SENDER AGREEMENT which i did correctly
2. set the RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT now here i am stuck because there is no receiver in my case as the RFC is called inside the mapping only.
can i call one more message mapping in IM_TEST which will write file onto the XI directory and then in RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT i can mention the reciever as FTP.
I tried it but i gives the following error
Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_TEST_WRITE_FILE: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Parsing an empty source. Root element expected!
Please help me how to complete the scenario so that customer can run it end to end.
<REMOVED BY MODERATOR>
Edited by: Prateek Raj Srivastava on May 12, 2010 1:44 PM
Stefen
What do i do then...actually this is the project requirement. They want a very fast response from PI and thats why they wnt us to omit BPM and the Graphical mapping from the scenario.
I am able to test the interface mapping which calls the the Java mapping inside which there is an RFC call, but i cannot implement it end - to - end as there is no receiver business system in this case. The only business system i have is the SOAP sender.
I am really troubled now, please help me with a solution.
Is there any other possible way through which the process can become very fast whic hcan meet their requirement.
Regards
Naina
Similar Messages
-
Can we call RFC in any other way except using adaptive
Hi,
I want to know if there is any possible way to call RFC other than using the adaptive model.
Answers will rewarded.
RegardsHi,
you can use JCO or Enterprise Connector to connect with R/3.
JCO-->http://www.sapdevelopment.co.uk/java/jco/jcohome.htm
EC-->http://help.sap.com/saphelp_webas630/helpdata/en/79/c6213e225f9a0be10000000a114084/content.htm
Regards,
Naga -
Calling RFC-enabled function as web service using XI 3.0
Hi,
I have a problem when trying to use web services (sending a soap-req. to XI 3.0 based on the generated WSDL from Integration Directory).
According to the message monitoring, all steps in the central pipeline executes just fine until the last step - CALL ADAPTER.
I don't think this is an authorization issue since I have tested the XIISUSER/pwd against the URL for adapter engine.
Seems to me that the problem is related to the msg sent to AE:
"HTTP response contains status code 401 with the description Unauthorized XML tag Envelope missing in SOAP message header (SAP XI Extension)"
How to proceed from here?Hi Torstein,
<i>Seems to me that the problem is related to the msg sent to AE:
"HTTP response contains status code 401 with the description Unauthorized XML tag Envelope missing in SOAP message header (SAP XI Extension)"
</i>
According to you, the problem occurs within the SOAP envelope. Does your incoming SOAP message looks like the one below here?
If that's not the case, then make sure your SOAP/Web Service client is sending a valid SOAP envelope/request (like the sample below) to XI.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Inbound Message -->
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Header/>
<SOAP:Body>
<ns1:WebServiceRequest xmlns:ns1='http://company.com/xi/webservice/myws' SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<Customer xsi:type='xsd:string'>000025</Customer>
<CompanyCode xsi:type='xsd:string'>BE01</CompanyCode>
<KeyDate xsi:type='xsd:string'>20050310</KeyDate>
<Selection>
<OpenItems xsi:type='xsd:string'>X</OpenItems>
<ClearItems xsi:type='xsd:string'></ClearItems>
<GLItems xsi:type='xsd:string'></GLItems>
<Dunning>
<From xsi:type='xsd:string'>A</From>
<To xsi:type='xsd:string'>Z</To>
</Dunning>
</Selection>
</ns1:WebServiceRequest>
</SOAP:Body>
</SOAP:Envelope>
Cheers,
R. -
Hi All,
I am using JCO Connection from a Webdypro Java Application to access the ERP backend, and fetch all the vendors for a particular Purchasing Organization.
I am using the FM RFC_READ_TABLE. But I have to pick data from 2 tables here LFA1 and LFM1, as one contains vendor details and one contains Vendor - Purchasing Organization Mapping. Can I use RFC_READ_TABLE to fetch data from both these table using a single Joint query. Tried but getting exceptions while executing the functions.
First fetching all the related vendors from LFM1, and adding these vendor IDs to the query on LFA1 worked. But it seems I cant add more than 900 vendor ids to the query. And customer is targetting more than 1000.
When I added more than 900 vendor ids to the query, I get the following exception
com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Error in module RSQL of the database interface.#
So can you help me here with any kind of solution,
1) Is it possible to fire a joint query with both these tables involved, through JCO.
or 2) is there anyway to avoid the exception mentioned above and add more than 900 vendor ids to the query.
Regards,
PrakashHI Lavanya,
Do you think this is due to time out issues.
Because so far, in my system and as well as customer's system we havent faced any timeout issues.
When I didnt pass any search parameters to the query I was still able to retreieve all the records in the table, without any timeout exceptions (though there were performance issues).
When I went through other forums, they said this particular exception occurs when they had used more than 900(approx) parameters in the query (IN Parameters).
My query goes like this.
Select Field1, Field2 from LFA1 where Field0 = '1' or field0 ='2' or field0='3'.... or field0 = '900' .
Saravanan had suggested to create a BAPI which does this Joint query stuff in the backend itself. But since customer is going live in a week approving any development in the backend is not possible now.
So is there any work around to get through this exception, or is there any other RFC already available that can take in joint queries.
Regards,
Prakash -
Hi All ,
I need to call the Remote Function module Directly in Flex without using the Web service .
Is t possible ? If Yes then how can we call the RFC's in Flex Coding .Hi Everybody,
Could somebody reply to this thread. We also have the same kind of requirment.
Does anybody have idea on how to call RFC'S in flex builder witout using webservices?
Please guide us.
Regards
Sireesha. -
Using EJB Local Interface problem
Hi to all
I have got a problem in using Local EJB Interface in Weblogic , please attention to my description
I use JDeveloper as IDE
At first I create an Application in JDeveloper that has two projects that their names are Model and ViewContorller that first one contains my EJB and another contains my JSP page respectively
The EJB code is :
@Stateless(name="AliEJB001Bean")
@Remote
@Local
public class AliEJB001Bean implements AliEJB001, AliEJB001Local {
public AliEJB001Bean() {
public String Hi(){
return "Hi000";
And its Local Interface code is :
@Local
public interface AliEJB001Local {
String Hi();
I deploy Model project to an EJB Jar file that its name is AliEE1ejb1.jar
and I deploy the ViewContorller project to a WAR file that its name is AliEE1WebApp.war
Now I add this tags to web.xml
<ejb-local-ref>
<ejb-ref-name>ali/testejb</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>model.AliEJB001Local</local>
</ejb-local-ref>
Then I deploy the Application to an EAR file by name AliEE1
After those I run my JSP page witch calls the EJB in JDeveloper (through Local EJB Interface) , JDeveloper deploy my Application to the ItegratedWeblogicServer
Ultimately the JSP can calls the EJB through Local Interface and use the Hi method and shows me the result but JDeveloper while compiles the application give me these Warnings :
Warning: <May 15, 2011 9:02:52 AM PDT> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verbose option for more details. Please see the error message(s) below.>
Warning: There are 1 nested errors:
Warning: weblogic.servlet.internal.dd.compliance.ComplianceException: Element "<ejb-local-ref>" with ejb-ref-name "ali/testejb" must either specify a valid ejb-link element or have a corresponding ejb-reference-descriptor element in weblogic.xml with a valid jndi-name.
Warning: at weblogic.servlet.internal.dd.compliance.BaseComplianceChecker.addDescriptorError(BaseComplianceChecker.java:74)
Warning: at weblogic.servlet.internal.dd.compliance.BaseComplianceChecker.addDescriptorError(BaseComplianceChecker.java:80)
Warning: at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.validate(EJBRefsComplianceChecker.java:97)
Warning: at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.checkEJBLocalRef(EJBRefsComplianceChecker.java:47)
Warning: at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.check(EJBRefsComplianceChecker.java:39)
Warning: at weblogic.servlet.internal.dd.compliance.ComplianceUtils.checkCompliance(ComplianceUtils.java:48)
Warning: at weblogic.servlet.jsp.JspcInvoker.checkCompliance(JspcInvoker.java:145)
Warning: at weblogic.servlet.jsp.JspcInvoker.compile(JspcInvoker.java:198)
Warning: at weblogic.application.compiler.AppcUtils.compileWAR(AppcUtils.java:376)
Warning: at weblogic.application.compiler.WARModule.compile(WARModule.java:245)
Warning: at weblogic.application.compiler.flow.SingleModuleCompileFlow.proecessModule(SingleModuleCompileFlow.java:18)
Warning: at weblogic.application.compiler.flow.SingleModuleFlow.compile(SingleModuleFlow.java:36)
Warning: at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
Warning: at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Warning: at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
Warning: at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
Warning: at weblogic.application.compiler.WARCompiler.compile(WARCompiler.java:29)
Warning: at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:112)
Warning: at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:37)
Warning: at weblogic.application.compiler.Appc.runBody(Appc.java:198)
Warning: at weblogic.utils.compiler.Tool.run(Tool.java:158)
Warning: at weblogic.utils.compiler.Tool.run(Tool.java:115)
Warning: at weblogic.application.compiler.Appc.main(Appc.java:257)
Warning: at weblogic.appc.main(appc.java:14)
According to the warning messages I wanna add <ejb-link> tag to the web.xml for resolving warnings I add the <ejb-link> like this:
<ejb-local-ref>
<ejb-ref-name>ali/testejb</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>model.AliEJB001Local</local>
<ejb-link>AliEE1ejb1.jar#AliEJB001Bean </ejb-link>
</ejb-local-ref>
But when JDeveloper want deploy my application again it shows me this Error
[09:29:59 AM] Redeploying Application...
<May 15, 2011 9:29:59 AM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1305476999381' for task '7'. Error is: 'weblogic.application.ModuleException: Could not setup environment'
weblogic.application.ModuleException: Could not setup environment
at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
Truncated. see log file for complete stacktrace
Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'AliEE1ejb1.jar#AliEJB001Bean' declared in the ejb-ref or ejb-local-ref 'ali/testejb' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:464)
at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
Truncated. see log file for complete stacktrace
>
<May 15, 2011 9:29:59 AM PDT> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 9 task for the application 'AliEE1'.>
<May 15, 2011 9:29:59 AM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'AliEE1'.>
<May 15, 2011 9:29:59 AM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: Could not setup environment
at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
Truncated. see log file for complete stacktrace
Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'AliEE1ejb1.jar#AliEJB001Bean' declared in the ejb-ref or ejb-local-ref 'ali/testejb' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:464)
at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
Truncated. see log file for complete stacktrace
>
[09:30:00 AM] #### Deployment incomplete. ####
[09:30:00 AM] Remote deployment failed
Do you know how I can solve this issue ?
thanksThank you so much
I find out the solution
I have to define my EJB in ejb-jar.xml like this
<enterprise-beans>
<session>
<ejb-name>ReplicableSFSB2</ejb-name>
<business-local>model2.AliEJB001Local</business-local>
<business-remote>model2.AliEJB001</business-remote>
<ejb-class>model2.AliEJB001Bean</ejb-class>
<session-type>Stateless</session-type>
</session>
</enterprise-beans>
And then I use the EJB name witch I defined in <ejb-name> tag in <ejb-link> tag of web.xml
like this
<ejb-local-ref>
<ejb-ref-name>ali/testejb2</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>model2.AliEJB001Local</local>
<ejb-link>Model2EJB.jar#ReplicableSFSB2</ejb-link>
</ejb-local-ref> -
Handling Java Mapping Exception in BPM Transformation step
Dear SDN members,
I have developed a File to File scenario using BPM as follows.
Step 1:
Sender file adapter picks the file from FTP server and using file content conversion mapped to XML structure.
Step 2:
BPM will recieve the XML payload , immediately in the block a transformation step is called with an interface mapping. In the interface mapping a Java mapping will be executed with certain data validations on the XML payload. If found any invalid data is there a suitable excptions will be raised . Here the transformation step should be catch the error and control should be sent to exception block to place the recived file as a error file.
else if the transformation is executed with out any issues, the file will be placed in success folder.
But in the transformation step, though java mapping thorwing exceptions, the control not going into exception block, instead it is continuing to next step i.e the file is placing in the success folder.
Can anybody tell me, how to handle the exceptions raised in java mapping in the BPM transformation step?
I have refered all the SDN blogs, forums related to this issue, but could not able to find the answer. Please help me?
Thanks & Regards
Vijayanand PoreddyHi Abhishek,
Once the file is picked from FTP server then sent to BPM,
the BPM steps
Step1:
-->Recive
Step 2:
Block Starts
---Block Start: New Transaction
---Block End : New Transaction
---Exception : Error
Step 3
Inside the Block
Transformation Step
--Interface Mapping: <IM Name>
-- Check box ticked for Create New Transcation
-- Exceptions
--System Error: Error
--Source Message: Message recieved in Recieve Step (Step 1)
Step 4:
--Send
--Source Maessage: Output message from the Transformation Step
Block End
Inserted a Exception Branch for Block
Steps inside Exception Branch
-Control
--Throw Alert
--Alert Name
In the above scenario
The transformation step is not throwing error even my interface mapping going to error. The same transformation step if i place outside the block next to recieve step, then the transformation step is throwing error and BPM stops the process.
Also, when transformation is inside the block, i have used the exception handling on the send step inside the block. here it is throwing error as the source message payload is empty. because in the preceding transformation step the interface mapping is failed due to which there the target will not be filled. But even though it is not entered into exception block.
Regards
Vijayanand Poreddy -
Using Container Object in Java Mapping
Hi All,
I need to use a Container object inside a Java Mapping, just like the one wich is used in the Graphical Mapping.
Here is the scenario:
I have an Interface Mapping with three steps on it.
The first step is a Java Mapping just to put some info in the Container. The second step is a XSLT transformation that uses an XSLT file to transforms from IDOC to xCBL. The third step is another Java Mapping that get the info from the Container and insert in the xCBL.
Does any one knows how to do it inside the Java Mapping Code? We cannot make modifications in the XSLT file because of some internal restrictions.
Thanks,Hi,
If you make the container variable is a part of your message (input of Java Mapping) then you can access as normal fields.
Just have a look at these discussions-
How to use Container Variable across Maps
xi 3.0 - Using BPM variables in messages
Hope this helps,
Regards,
Moorthy -
Call ABAP FM from XI Java mapping
Can you please provide me some documentation on how to make a call to ABAP function module from Java mapping.
Basically this would be a RFC lookup from Java mapping.
Any recomendations on which one is a standard approach among ABAP Mapping vs JAVA mapping within XI.
Your responses are appreciated.
TNVHi TNV,
<i>I am more looking into using RFC call from java mapping.</i>
The article by Michal can be used to make the RFC lookup not only from an User Defined Function but also from a java mapping.
You can write any piece of java code inside the EXECUTE() method of your Java Mapping including the RFC Lookup API code in michal's article.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/xi%20mapping%20lookups%20rfc%20api.pdf
Regards.
Bhavesh -
How to PI call R/3 RFC without BPM.
Hi Expert.
Why PI direct call RFC probably is not a possibility of doing without BPM.
It makes RFC of separate way, it calling it is made Report program where there is a possibility of doing.
Different adapter where it becomes direct call, RFC piece bay occupational calling there probably is not a possibility of doing.Krishna Moorthy P, Thank you so much your answer.
I add question.
My scenario is very simple.
Case 1. File to RFC to JDBC Scenario. (Sync)
Using BPM. PI call File adatper, and PI call RFC Function, and RFC return data send to PI to JDBC.
Case 2. QRFC to JDBC Scenario.(Async)
Using se37 for back job. So, Back job Function send to PI to JDBC.
In this two case, to what kind of is the efficiency better.
<b>I think that case 2 is performance better case1.</b>
It isn't like that? Krishna Moorthy P
I wating for your answer.
Message was edited by:
JuYeop Kim -
Error while calling RFC when using BSP Web Interface
Hi,
we have a problem with the Authorization when we use an Web Interface for BSP. We have assigned all roles to the user which were mentioned in the SAP standard documentation:
R_AREA
R_METHOD
R_PACKAGE
R_PARAM
R_PLEVEL
R_PM_NAME
R_PROFILE
R_STS_PT
R_STS_SUP
R_WEBITF
S_RS_ADMWB
S_RS_AUTH
S_RS_COMP
S_RS_COMP1
S_RS_DAS
S_RS_ICUBE
but we still get the error message: "Error while calling RFC".
When using a user with SAP_ALL, it works.
What can we do?
Thx for your time.
JoergActually that's surprising - because BSP (Business Server Pages) and RFC (Remote Function Call) are not related; they use totally different transport protocols (http vs. RFC). Even if an BSP application is calling a function module remotely (acting as RFC client) no authorizations for S_RFC are required - in the calling system (but in the called system, i.e. the RFC server).
Since assigning SAP_ALL seems to "cure" the problem, it seems to be an authorization issue, indeed. In that case it makes sense to use the authorization trace (ST01 - notice: that's specific to one single ABAP application server; you might have to activate the trace on multiple instances) to find out which authorizations are checked / demanded. -
Hi All,
I am calling custom function module from MII using JCO and I am facing one problem. Problem is that if any new field is added in function module in ECC side that is not appearing in RFC structure until we restart the MII server. Can anybody provide any solution. I am using MII 12.1 SP5.
Thanks in Advance
ChandanI faced this same issue. Only one solution is to reset the JCo Proxy by running following URL in the same MII server
http://<MII Server>/XMII/JCOProxy?mode=reset
This will reset the JCo cache and the new added fields in RFC at SAP end will be reflected in the Request/Response xml structure of the RFC in BLS
Regards
Som -
Exception when using jco to call rfc
Hi All,
When I used JCO to call rfc 'RFC_GET_TABLE_ENTRIES' to get the records of the table 'MARC'. I met the following Exception, it seems that there are too many records in the table. And I have used the import parameter 'MAX_ENTRIES' to set the number of records , but it seems no use. So is there any suggestion to solve this problem?
Exception in thread "main" com.sap.conn.jco.JCoException: (104) RFC_ERROR_SYSTEM_FAILURE: No storage space available for extending an internal table.
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:602)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1679)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1018)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1071)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1056)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:251)
at JTest.step4WorkWithTable(JTest.java:179)
at JTest.main(JTest.java:351)
Caused by:
RfcException: [null]
message: No storage space available for extending an internal table.
Return code: RFC_SYS_EXCEPTION(3)
error group: 104
key: RFC_ERROR_SYSTEM_FAILURE
message class: SR
message type: A
message number: 044
message parameter 0: TSV_TNEW_PAGE_ALLOC_FAILED
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1927)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1631)
... 6 more
Caused by: com.sap.conn.rfc.exceptions.RfcGetException: No storage space available for extending an internal table.
at com.sap.conn.rfc.engine.RfcImp.ab_rfcerror(RfcImp.java:1233)
at com.sap.conn.rfc.engine.RfcGet.rfcget_run(RfcGet.java:128)
at com.sap.conn.rfc.engine.RfcGet.ab_rfcget(RfcGet.java:23)
at com.sap.conn.rfc.engine.RfcRcv.ab_rfcreceive(RfcRcv.java:32)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1884)
... 7 more
Thank you very muchCongrats Darek!
That function really works... here is my program test:
package integracao.sap.teste;
import java.util.Properties;
import integracao.sap.config.ConfigUtil;
import integracao.sap.funcao.RFC_READ_TABLE;
import com.sap.mw.jco.IRepository;
import com.sap.mw.jco.JCO;
public class TestJCOError {
private static Properties config;
private static JCO.Client createJCOClient(){
JCO.Client client = JCO.createClient(config.getProperty("numClient"), config.getProperty("user"), config.getProperty("password"), "EN", config.getProperty("host"), config.getProperty("numPrograma"));
return (client);
@param args
public static void main(String[] args) {
config = ConfigUtil.getConfig();
JCO.Client client = createJCOClient();
client.connect();
IRepository repository = JCO.createRepository("REP", client);
JCO.Function func = RFC_READ_TABLE.createFunction(repository);
func.getImportParameterList().setValue("MARC", "QUERY_TABLE");
func.getImportParameterList().setValue(";", "DELIMITER");
func.getTableParameterList().getTable("OPTIONS").appendRow();
func.getTableParameterList().getTable("OPTIONS").setValue("MATNR = '000000000000000011'", "TEXT");
func.getTableParameterList().getTable("FIELDS").appendRow();
func.getTableParameterList().getTable("FIELDS").setValue("MATNR", "FIELDNAME");
client.execute(func);
JCO.Table table = func.getTableParameterList().getTable("DATA");
System.out.println("NumRows: " + table.getNumRows());
System.out.println("Content: " + table.getValue("WA"));
Result:
NumRows: 1
Content: 000000000000000011
Hope it helps everybody!
Regards,
Danilo Andrade -
How to call multiple request to CRM and R/3 without BPM
Hi all
I have a scenario where a SOAP request will come to XI via webservice
I then have to call an interface mapping which has Java mapping in it(the java code is basically calling an RFC in CRM) - then i'll receive the response of interface mapping and send it back to the customer.
Step 2 :The SOAP request which i have received in the first place is to be written as a flat/xml file onto a directory for backup purpose
Step 3: there will be a separate process where the response of rfc will be fed to an IDOC request structure and send to R/3 as a dashboard IDOC.
All this is done without BPM.
So my first problem is "how to write an incoming SOAP request to a file without using BPM?? "
Second I knw that interface mapping can be directly added in Integration directory's Interface determination by making the property as enhanced but "In the Sender Service i write the Business system which contains soap comm channel and in the interface i write the outbound synchronous interface which is the SOAP outbound that hits the xi for the first time But i am not sure what service do i write in the receiver section as Interface mapping is in XI only....theres no other business system or communication channel involved in between."
I really need help...plz help meYes abhishek
Client dont want BPM involved as it makes the process really slow
First of all i wanna knw how to use enhanced option in an interface determination....in the ID
as i am trying to load my interface mapping but it says no object found
I am giving you the structure of interface mapping
MI_OB_SAX_MAP (outbound async source interface of interface mapping )
MI_IB_SAX_MAP (inbound async target interface of interface mapping)
MT_OB_SAX_MAP (source message)
JavaClass - test_java/sax_map (Java mapping program)
MT_IB_SAX_MAP (target message
Now when i am trying to configure this in ID
BS__ (Sender business system)
MI_OS_TEST_JAVAMAP (sender SOAP interface)
But i dnt what receiver business system should i select in receiver service ??
as the java mapping is calling RFC inside the code...so no other business system involved
i m stuck.....if u could plz have a look into it -
SOAP to RFC synchronous scenario with File without BPM
Hi Folks,
I have a requirement that has to be done with out BPM!!!
Requirement:
Soap will trigger the request to SAP(RFC) and SAP sends the response to a file and then after SOAP has to recieve the ACK from PI.
1) Can we do this by without using BPM
2)Can we use without BPM module entries for SOAP Sender
Please suggest and help me out in this
Thanks in advance,
Regards
vivekHi Vivek,
Why not have the SOAP interface defined as synchronous?
You can avoid using BPM that way.
Best Regards,
Ravi
Maybe you are looking for
-
Gag. Ever since I updated iTunes my playback has been marred by skipping. Not jumping tracks mind you, just horribly stuttered playback. The computer seems to be hustling harder since the upgrade as well. I have fast everything and it's driving me cr
-
URGENT: ADF Faces table updating issue.
I have a project that uses JSF, ADF Faces, EJB 3.0, and the ADF binding framework. In this project, I have a page with a databound ADF Faces Table. The table has a number of read-only columns and two read-write columns. I also have an Edit button tha
-
Problem with ABAP Import in Installation
Hi all. We are installing an ECC 6.0 system and during the installation on the import ABAP phase an error keeps coming up that the Logwriter is switched off. How and where does 1 turn this on? Is it in the MaxDB Gui that we're using or can it be done
-
Scenarios in XI [Points guaranteed]
Hello all, I am new to XI. Can someone kindly give me a couple of scenarios to work upon and enhance my knowledge. Can you also tell me what is the time give actually in real time to generally perform a task assigned. Thanks in advance, Sriram
-
I'm looking at the following reference and a bit confused about the Full Resynchronization process http://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta038.htm From one hand it says : "you run RESYNC CATALOG When You made changes to the phys