Java JCo SAP XI RFC SAP R/3 6.C ... Unicode issue
Hello,
My scenario is very simple. I'd like to connect a Java program to a SAP R/3 (MDMP) for RFC calls (in both direction), using SAP XI (some of the RFC calls will redirected to some other systems). I use SAP JCo v2.1.8 and tried with Java 1.4.2_09 and Java 6.0.
It works well when the Java program is calling a function module, but when SAP R/3 is doing it, the returned texts looks like: S#A#P# #J#C#o# #v#2#.#1#.#8# #(#2#0#0#6#-#1#2#-#1#1#)# (the text should be SAP JCo v2.1.8).
It looks like an issue with Unicode. Although I didn't check the Unicode checkbox in the RFC sender adapter (the RFC receiver one doesn't offer the possibility to specify unicode or not).
Do anyone have a solution ? Is it a code in the Java program or something to set in SAP XI / SAP R/3 ?
Thanks in advance for your help.
This is a workaround solution. In the case of this prototype it is ok, but the final plan is to migrate a web based application. It was directly connected to one SAP R/3, but now we would like to connect it to SAP XI because a few RFC calls will be re-directed to some other systems, but the majority of them will we'll still be sent to the SAP R/3. We don't want to make development on this part for cost reason (and time). Plus on some text there are the "#" character that is legitimate.
Similar Messages
-
Writing a java program to access SAP tables using SAP JCO
Hi all,
I have a requirement where I need to access the VBAK table and get some values out of it based on a query on some of it fields. I would like to know how this can be done via a Java program by utilising the SAP JCo library. Has anyone done this before? A sample program would be very helpful.
Thanks in advance!Hi SAM,
Welcome to SDN!!!!!!
Chk this help doc.
http://help.sap.com/saphelp_nw04/helpdata/en/35/42e13d82fcfb34e10000000a114084/frameset.htm
Also chk these thread.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8798be90-0201-0010-d093-85f728778d37
Re: How to access SAP database tables with Java (Jco)
Regards.
Maha -
Org.apache.jasper.JasperException; JCO error when Importing SAP Roles in C
Hello experts,
I have installed BOXI 3.1 SP3, Integration kit SP2, BW/BI 7.0 and ECC 6.0 on Windows 2008/64bit.
My goal is to import the roles into CMS from SAP BW/BI but getting the follwoing errors:
JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc
C:\Windows\SysWOW64\sapjcorfc.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform.
java.library.path [C:\Windows\SysWOW64\;D:\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\]
org.apache.jasper.JasperException
I followed the note 1292144 - JCO error when Importing SAP Roles in CMC,but unfortunately without success.
I installed SAP JCo Release 2.1.9 (64bit)
Best regards
Lutz
Edited by: Lutz Heinrich on Aug 12, 2010 4:17 PMInstall the 32bit version of the Java connector. BOBJ is 32bit so even on 64bit Windows you need the 32bit version of the Java Connector.
Regards,
Stratos -
URGENT HELP !JCO RETURN structure from SAP
Hello,
I am working on my intern project and I got some trouble.
I have used JDBC to access a table in Oracle(this is an independent DB)I updated a column in the table and selected all data that
was marked as 6 based on the update(SAP needs this data). I passed the values to a JCO application,
which connects to SAP and send the data (I presume what I'm doing is correct) to a structure in SAP.
SAP does some internal calculations with the data and should return the data back using the same
structure but this time with some changes on the data.
For example the field steuk is marked as 7 if the data processing was successful and if the data
structure wasn't successful a 6 will be return.
The return Values should be updated in the oracle DB indicating if the transfer was successful
or not. And next time the same data will be sent to SAP following the same path.
Now when I look at the return getString data in Eclipse, the result seems ambiguous.I don't see the data I presumably
sent to the SAP structure using:
JCO.ParameterList list = function.getTableParameterList();
JCO.Table ztable = list.getTable("ZSAORA_RUECK");
for (int i = 0; i < 19; i++) {
ztable.appendRow();
ztable.setValue(value,field name);
Am I doing some thing wrong here??? Any Help will be highly appreciated. Codes could be sent to [email protected]
BELOW are the codes:
CONNECTING TO test_table in Oracle DB:
import java.sql.*;
public class DatabaseConnect {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet re = null;
String[] ParamArray;
ParamArray = new String[24];
//Properties logon;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection
("jdbc:oracle:thin:@226.190.0.1:1521:testdb","test","test1");
stmt = con.createStatement ();
stmt.executeUpdate("UPDATE test_table set steuk = 6 WHERE steuk = 5");
ResultSet rs = stmt.executeQuery("SELECT mandt,kokrs,werks,arbpl,aufnr,vornr,ile01,"+
"lsa01,ism01,ile02,lsa02,ism02,ile03,lsa03,ism03,"+
"ile04,lsa04,ism04,steuk,matnr,budat,kostl,pernr,"+
"rueckid FROM test_table where steuk =6");
while (rs.next()) {
for (int i = 1; i <= 24; i++){
ParamArray[i-1] = rs.getString(i);
System.out.print(rs.getString(i) + 't');
System.out.println();
} catch(Exception e) {
e.printStackTrace();
} finally {
try
if(stmt != null) stmt.close();
if(con != null) con.close();
} catch (Exception exception) {
exception.printStackTrace();
// Bapi call
TryBapi sap = new TryBapi(ParamArray);
BELOW IS THE JCO Code which connects to SAP and send data to the structure:
import com.sap.mw.jco.IFunctionTemplate;
import com.sap.mw.jco.JCO;
public class TryBapi extends Object {
JCO.Client mConnection;
JCO.Repository mRepository;
OrderedProperties logonProperties;
public TryBapi(String[] paramArray){
try {
logonProperties = OrderedProperties.load("/logon.properties");
mConnection = JCO.createClient((String)logonProperties.get("jco.client.client"),
(String)logonProperties.get("jco.client.user"),
(String)logonProperties.get("jco.client.passwd"),
null,
(String)logonProperties.get("jco.client.ashost"),
String)logonProperties.get("jco.client.sysnr")
mConnection.connect();
mRepository = new JCO.Repository("SAPJCO",mConnection);
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
JCO.Function function = null;
JCO.Table tab = null;
try {
function = this.createFunction("Z_UPDATE_SAORA_RUECK");
if (function == null) {
System.out.println("Z_UPDATE_SAORA_RUECK not found in SAP.");
System.exit(1);
JCO.ParameterList list = function.getTableParameterList();
JCO.Table ztable = list.getTable("ZSAORA_RUECK"); //inserting 24 records loop.
for (int i = 0; i < 24; i++) {
ztable.appendRow(); //ztable.setValue(value, field name)
ztable.setValue("300","MANDT");
ztable.setValue("KOKRS" + i, "KOKRS");
ztable.setValue("WERKS" + i, "WERKS");
ztable.setValue("ARBPL" + i, "ARBPL");
ztable.setValue("AUFNR" + i, "AUFNR");
ztable.setValue("VORNR" + i, "VORNR");
ztable.setValue("ILE01" + i, "ILE01");
ztable.setValue("LSA01" + i, "LSA01");
ztable.setValue("ISM01" + i, "ISM01");
ztable.setValue("ILE02" + i, "ILE02");
ztable.setValue("LSA02" + i, "LSA02");
ztable.setValue("ISM02" + i, "ISM02");
ztable.setValue("ILE03" + i, "ILE03");
ztable.setValue("LSA03" + i, "LSA03");
ztable.setValue("ISM03" + i, "ISM03");
ztable.setValue("ILE04" + i, "ILE04");
ztable.setValue("LSA04" + i, "LSA04");
ztable.setValue("ISM04" + i, "ISM04");
ztable.setValue("STEUK" + i, "STEUK");
ztable.setValue("MATNR" + i, "MATNR");
ztable.setValue("BUDAT" + i, "BUDAT");
ztable.setValue("KOSTL" + i, "KOSTL");
ztable.setValue("PERNR" + i, "PERNR");
ztable.setValue("RUECKID" + i, "RUECKID");
list.setValue(ztable,"ZSAORA_RUECK");
function.setTableParameterList(list);
mConnection.execute(function);
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
JCO.Table codes = null;
try {
codes = function.getTableParameterList().getTable("ZSAORA_RUECK");
System.out.println("Return Values starts HERE:");
for (int i =0; i < codes.getNumRows(); i++){
codes.setRow(i);
System.out.println(codes.getString("MANDT")+ 't'+
codes.getValue("KOKRS")+ 't'+
codes.getString("WERKS")+ 't'+
codes.getString("ARBPL")+ 't'+
codes.getString("AUFNR")+ 't'+
codes.getString("VORNR")+ 't'+
codes.getString("ILE01")+ 't'+
codes.getString("LSA01")+ 't'+
codes.getString("ISM01")
/* codes.getString("ILE02")+ 't'+
codes.getString("LSA02")+ 't'+
codes.getString("ISM02")+ 't'+
codes.getString("ILE03")+ 't'+
codes.getString("LSA03")+ 't'+
codes.getString("ISM03")+ 't'+
codes.getString("ILE04")+ 't'+
codes.getString("LSA04")+ 't'+
codes.getString("ISM04")+ 't'+
codes.getString("STEUK")+ 't'+
codes.getString("MATNR")+ 't'+
codes.getString("BUDAT")+ 't'+
codes.getString("KOSTL")+ 't'+
codes.getString("PERNR")+ 't'+
codes.getString("RUECKID") */
catch (Exception ex) {
ex.printStackTrace();
System.exit(2);
mConnection.disconnect();
public JCO.Function createFunction(String name) throws Exception {
try {
IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase());
if (ft == null)
return null;
return ft.getFunction();
catch (Exception ex) {
throw new Exception("Problem retrieving JCO.Function object.");
Message was edited by: Rudolph Emange
Message was edited by: Rudolph EmangeHi Astrid,
Thank you for your remarks. The problem I'm having is that when I do send the values to SAP using the loop:
JCO.ParameterList list = function.getTableParameterList();
JCO.Table ztable = list.getTable("ZSAORA_RUECK");
for (int i = 0; i < 19; i++) {
ztable.appendRow();
ztable.setValue(value,field name);
I do expect to have(or see) some values when I do access the same table structure(This is just a structure and
not a real table as I do understand that there is a different between a structure and a table in SAP) and
not the field names back.In the second try and catch block:
try {
codes = function.getTableParameterList().getTable("ZSAORA_RUECK");
System.out.println("Return Values starts HERE:");
for (int i =0; i < codes.getNumRows(); i++){
codes.setRow(i);
System.out.println(codes.getString("MANDT")+ 't'+
codes.getValue("KOKRS")+ 't'+
codes.getString("WERKS")+ 't'+
codes.getString("ARBPL")+ 't'+
codes.getString("AUFNR")+ 't'+
codes.getString("VORNR")+ 't'+
codes.getString("ILE01")+ 't'+
codes.getString("LSA01")+ 't'+
codes.getString("ISM01")
I'm trying to access the values I sent in the first try and catch block. I presume I should see some real values and not the
field names.This is how my output looks like:
300 KOKR WERK ARBPL0 AUFNR0 VORN ILE
300 KOKR WERK ARBPL1 AUFNR1 VORN ILE
300 KOKR WERK ARBPL2 AUFNR2 VORN ILE
300 KOKR WERK ARBPL3 AUFNR3 VORN ILE
300 KOKR WERK ARBPL4 AUFNR4 VORN ILE
300 KOKR WERK ARBPL5 AUFNR5 VORN ILE
This does not reflect the values but the field names. Why is it this way? Does it mean that my array is wrong or I'm not at all
sending the values. Please HELP ME OUT HERE.
Could any one show me a better way how to send the values selected from Oracle table using perhaps an
ARRAY to the ZSAORA_RUECK structure in SAP?
I am trying to send the values from the select statement in the first jdbc application
to the value field in ztable.setValue(value, field name).
My Regards!
Message was edited by: Rudolph Emange -
RFC- SAP XI- PLAINHTTP SYNC causing Problem
Hi,
I am trying to set up a Scenario that sends a synchronous
Request from SAP via RFC to a selfwritten HTTP Receiver,
using the Plain HTTP Adapter. I want to receive my request
by my server (that part works allready)and send my response through the same connection back.
Everytime I send something back I get an
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_CLIENT</SAP:Code>
<SAP:P1>402</SAP:P1>
<SAP:P2>ICM_HTTP_TIMEOUT
My response looks like this (and references the request message ID)
POST /?msgguid=AF49CDF02A7911DAA426000854D162F4&service=
BS_HttpTestService&namespace=http%3a%2f%2fhchgmbh%2ede%2fxi%2fTestRFC2HTTPScenario_1&interface=MI_TESTHTTPMESSAGE HTTP/1.0
content-type: text/xml
content-length: 256
connection: close
accept: /
user-agent: BS_HttpTestService
host: 192.168.1.225:44831
accept-encoding: gzip
<?xml version="1.0" encoding="UTF-8"?>
<ns:MT_TESTHTTPMESSAGE_RESPONSExmlns:ns="http://hchgmbh.de/xi/TestRFC2HTTPScenario_1">
<HAUPTKNOTENRES><RFELD1>Anton</RFELD1><RFELD2>Myer</RFELD2><RFELD3>rules</RFELD3></HAUPTKNOTENRES></ns:MT_TESTHTTPMESSAGE_RESPONSE>
1. Is that scenario working that way?
2. If not, what do I have to response(message format)?
Please help, I am new to that HTTP Stuff...
Kind regards
DanielHi Robin and all,
maybe I need to make that more clear,
I build a complete synchronous scenario in ID,
RFC -> XI -> PLAINHTTP everythings works fine until my
Java program catches the response message,
when I try to use the still open connection (through
that Xi has allready sended my the request) to put the
XML-Message (Response message type referenced at the
response tab of my synchronous interface)back, I get a
time out in XI.
1. Question: Can I use the socket object in my Java
progtam to send my response directly back
2. If yes what besides the XML message payload is needed
3. Will I have to reference the incoming Message ID to
make clear my message is the synchronous response?
Thanks for helping me with that.. (answer will be rewarded)
Daniel
with a synchronous Interface on inbound (HTTP) side and
I catch
the sendes request message from HTTP Plain Adapter in my
Java Program (socket server object),
I keep the connection open and I through the same
connection the Response Payload (which is
the XML representation from my Response - Message Type
as defined in XI), looks like this: -
Nullpointer exception in SAP code (RFC model related)
Hi,
Some threads have already been opened on this issue, but none of them give me a solution.
The problem is that a Nullpointerexception is thrown when I create a new Input element (to bind it to the input node of my rfc model).
As you can see in the stack trace, the nullpointerexception is thrown in SAP code.
This happens for all function modules I've created myself (even the simplest ones with no parameters/no code), but for the SAP BAPIs it works???
So this is not an issue related to Javaconnectors/my java code because it works for BAPIs (I'm doing exactly the same).
I've already restarted the J2EE server, recreated the whole application, tested with new applications (to avoid any caching problems) but nothing works.
I've been trying to resolve this issue for several hours without success. It's really frustrating.
Any help appreciated!
Jeroen
java.lang.NullPointerException
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.AiiModelClass.createNewBaseTypeDescriptor(AiiModelClass.java:220)
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.AiiModelClass.descriptor(AiiModelClass.java:186)
at com.eozen.aif.ce5solman.Z_Jver_Create_Infosheet_Input.<init>(Z_Jver_Create_Infosheet_Input.java:51)
at com.eozen.jver.aif.Infosheets.wdDoInit(Infosheets.java:98)
at com.eozen.jver.aif.wdp.InternalInfosheets.wdDoInit(InternalInfosheets.java:181)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:95)I suddenly realized there is one last option and it works: I managed to sidestep the problem by doing the rfc via an R/3 SAP system that forwards the call to the CRM system. (The CRM 5.0 system is the one causing the nullpointerexception).
Maybe some incompatibilities between J2EE/WDP SP14 & CRM 5.0? -
Com.sap.guid.GUID com.sap.mw.rfc.engine.GUID
Hi to All!
I am looking for javadoc for the classes com.sap.guid.GUID and com.sap.mw.rfc.engine.GUID.
Has anybody a link for me
Regards
HermannHi Nagarjuna,
You can paste the conection properties?.
try {
// Change the logon information to your own system/user
mConnection =
JCO.createClient("001", // SAP client
"<userid>", // userid
"****", // password
null, // language
"<hostname>", // application server host name
"00"); // system number
mConnection.connect();
mRepository = new JCO.Repository("ARAsoft", mConnection);
You need use server router string or simple server hostname??.
if you need use route string conection, concatenate router string with hostname:
try {
// Change the logon information to your own system/user
mConnection =
JCO.createClient("001", // SAP client
"<userid>", // userid
"****", // password
null, // language
"<router string><hostname>", // application server host name
"00"); // system number
mConnection.connect();
mRepository = new JCO.Repository("ARAsoft", mConnection);
get us more details pls, -
Hi I am getting the following error on link related to Guided procedure step only for few people not for every one. Once i delete the browser cookies are cache it is working fine. Please let me know , if any one could had same issue or if any one know the reason, it is completely showing related to Standard GP service related exception. Also this errors are not coming all the time consistently, it is happening randomly. but when u get the error if you delete the cookies from browser and log off and login again from portal it is working fine.
Path to object does not exist at com.sap.nw.eu.gp, the whole lookup name is sap.com/com.sap.nw.eu.gp/GPService.
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at com.sap.nw.eu.gp, the whole lookup name is sap.com/com.sap.nw.eu.gp/GPService.
at com.sap.engine.services.jndi.implserver.ServerContextImpl.getLastContainer(ServerContextImpl.java:278)
at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:627)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:344)
at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:254)
at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:271)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.caf.eu.gp.ui.inst.CInstantiation.wdDoInit(CInstantiation.java:161)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiation.wdDoInit(InternalCInstantiation.java:148)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:864)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1362)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:355)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:192)
at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
Exception occured during processing of Web Dynpro application sap.com/caf~eu~gp~ui~inst/AInstantiation. The causing exception is nested.
[EXCEPTION]
java.lang.NullPointerException
at com.sap.caf.eu.gp.ui.inst.CInstantiation.getProcessTemplate(CInstantiation.java:732)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiation.getProcessTemplate(InternalCInstantiation.java:203)
at com.sap.caf.eu.gp.ui.inst.VInstantiation.dispatch(VInstantiation.java:182)
at com.sap.caf.eu.gp.ui.inst.VInstantiation.onEventShowInstantiationView(VInstantiation.java:564)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalVInstantiation.wdInvokeEventHandler(InternalVInstantiation.java:291)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Component.fireEvent(Component.java:285)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiationInterface.wdFireEventShowInstantiationView(InternalCInstantiationInterface.java:174)
at com.sap.caf.eu.gp.ui.inst.CInstantiationInterface.setTemplateId(CInstantiationInterface.java:116)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiationInterface.setTemplateId(InternalCInstantiationInterface.java:129)
at com.sap.caf.eu.gp.ui.inst.WInstantiationInterfaceView.onPlugDefault(WInstantiationInterfaceView.java:83)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalWInstantiationInterfaceView.wdInvokeEventHandler(InternalWInstantiationInterfaceView.java:105)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingInterfaceView.invokeEventHandler(DelegatingInterfaceView.java:85)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:162)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:375)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:864)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1362)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:355)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:192)
at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)Govardan,
Thanks for the reply. We don't have any custom code related to GP or CAF. We created the GP Process and in the process, we attached the PCD objects to the callable object to call.
In the entire error trace it is referring only sap standard classes only. Also we haven't done any customization Except GP Process creation as i mentioned above.
com.sap.caf.eu.gp.ui.inst.CInstantiation.getProcessTemplate(CInstantiation.java:732),
if you look at my initial report , there are two exceptions i have mentioned. before coming the above error i have observed the following error in the log file, First it is logging the following error and then next showing the above error. Looks like GPService is not able to lookup .
Path to object does not exist at com.sap.nw.eu.gp, the whole lookup name is sap.com/com.sap.nw.eu.gp/GPService.
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at com.sap.nw.eu.gp, the whole lookup name is sap.com/com.sap.nw.eu.gp/GPService.
at com.sap.engine.services.jndi.implserver.ServerContextImpl.getLastContainer(ServerContextImpl.java:278)
at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:627)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:344)
at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:254)
at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:271)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.caf.eu.gp.ui.inst.CInstantiation.wdDoInit(CInstantiation.java:161)
at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiation.wdDoInit(InternalCInstantiation.java:148)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:864)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1362)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:355)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:192)
at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:783)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:303)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:185)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
Thanks -
Oracle - XI - SAP ( Using RFC )
Hi,
My scenario is Oracle -> XI -> SAP ( Using RFC ), the message in SXMB_MONI is showing success. But iam getting an error on the RFC Side which is as follows.
2006-04-19 00:21:39 Error Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
2006-04-19 00:21:39 Error Delivery of the message to the application using connection AFW failed, due to: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>.
If anybody has the right idea plz let me know.
Thanks,
Kittu.hi,
My payload looks like this .Is that OK or do u find any thing missing in that?
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MTI_BOM xmlns:ns="urn:cts:xi:manufacturing:lean:bom">
- <row>
<MATERIAL_NUM>100-02</MATERIAL_NUM>
<BOM_COMPONENT>115100-01</BOM_COMPONENT>
<CONFIGURED_BOM />
<COMPONENT_QUANTITY>1</COMPONENT_QUANTITY>
<CHANGE_NUMBER>500111</CHANGE_NUMBER>
<VALID_FROM_DATE />
<BOM_ITEM_NUMBER>10</BOM_ITEM_NUMBER>
<COMPONET_UOM>EA</COMPONET_UOM>
<IND_SUB_ITEM_EXIST />
<IND_RELEVENCY_TO_COSTING />
<INSTALATION_POINT_SUBITEM />
<SUB_ITEM_QUANTITY />
<STATUS>UPD</STATUS>
</row>
Regards,
Kittu. -
SAP CPS - Starting SAP RFC-Agent fails
Dear Developers
I try to start an SAP RFC-Agent for a specific SAP instance (which is one of the test environments) and a client in a Redwood Cronacle Repository Version 7.0.3 which fails.
I get the following error message:
Redwood Cronacle for SAP Agent V7.0.3.0 Production build 20071219
(C) Copyright 1993-2007 Redwood Technology B.V., Houten, The Netherlands All rights reserved.
2009/07/22 10:26:43: Daemon start
Info: This SAP Agent can not be used to connect to SAP production systems
Info: This SAP Agent can not be used to connect to SAP production systems
Redwood Cronacle for SAP Agent V7.0.3.0 Production build 20071219
Stop at 2009/07/22 10:27:21
With the command "show license" in Redwood Shell rs I can see that there is a line which checks whether the SAP instance is productive or not ("Y SAP non-production"). I know this check is not there in Version 7.0.4 but at this point in time we cannot upgrade our whole platform.
I went to my inhouse SAP colleagues. They checked the definition for that SAP instance and that client. It is defined as test and not productive. Nevertheless the check in Redwood Cronacle brings back that it is a productive system.
Best regards,
StephanHi Stephan,
From your description you seem pretty sure that in your Test SAP Instance, having used transaction SCC4 the client role is configured as a non-production client? And I assume from SAP CPS the SAP connect string defined uses the same client and is definitely pointing to your Test SAP instance?
With regards to the license check not being there in 7.0.4 and not wanting to upgrade. You shouldn't need to. As I understand things the license key was included without considering/understanding the practical implications, e.g. how was a customer going to import thier existing Batch into a test CPS environment if they cannot initially connect to production!! And as you know was later removed again. All you need to do I believe is create an OSS message including you current license information and ask that a new key be generated that has the restriction removed. You should then be able to just apply the new license over the old. SAP should include the necessary instructions for applying the license.
Regards,
Simon -
SOAP service /sap/bc/soap/rfc/sap does not exist
Hi!
I implement ABAP-Proxy to SOAP scenario.
For the receiver communication channel (SOAP Adapter) I need to put target-URL
http://<server>:8000/sap/bc/soap/rfc/sap/BAPI_MATERIAL_EXISTENCECHECK?sap-client=200.
Unfortunately the URL cannot be displayed in brwoser.
I also could not detect the appropriate SICF service sap/bc/soap/rfc/sap under tcode SICF.
Can some one help me to solve this problem?
Thank you very much!
regards
HolgerHi!
What is the difference between the both URL's?
http://<server>:8000/sap/bc/soap/wsdl11?services=BAPI_NAME&sap-client=200
http://<server>:8000/sap/bc/soap/rfc/sap/BAPI_MATERIAL_EXISTENCECHECK?sap-client=200.
Thank you!
regards
Holger -
3rd party to sap using RFC adapter
Hi Folks,
I'm sending some IDOC to sap from the 3rd party. I have to use RFC (TRFC call) adapter as sender and IDOC as receiver adapter.
Can you please suggest me how to configure teh sender side.
Regards....>
santosh nayak wrote:
> Hi Folks,
> I'm sending some IDOC to sap from the 3rd party. I have to use RFC (TRFC call) adapter as sender and IDOC as receiver adapter.
> Can you please suggest me how to configure teh sender side.
>
> Regards....
In order to use RFC as sender need to configure the below
SAP Side
RFC destination of type T using SM59 tcode
PI side
RFC destination of TYPE t type using same tcode
Note the progid provided should be same in both RFC destionations
Then during execution of RFC in SAP side need to provide the RFC destionation created there
HTH
Rajesh -
SAP.Connector.Rfc.dll installing to 2 directories
I am installing SAPGUI Frontend components including the BW and BI add-on components on a Windows XP/SP2 system with .NET 1.1 already loaded.
I've read on this forum that SAP.Connector.Rfc.dll and other .NET assemblies are installed to the GAC, but I saw on a test machine where this assembly (and others) were installed to both the GAC and to the ProgramFiles\sap\frontend\bw directory as well.
Is there a requirement for the .NET assemblies to be in the bw directory ( or other private SAP directory as opposed to the GAC? )
If anybody from SAP knows the answer, it would be much appreciated. Thanks!
Thanks,
Owen
Message was edited by:
Owen GilmoreHi Sowmya C,
How are you doing ?
Upon addition of any SAP component, the reference is added automatically.
However, in the event that the reference to "SAP.Connector.dll"
is not present, you can add it through the references tab, provided that the SAP.NET Connector is installed on the local machine [as this will allow you to add the dll reference locally, like you would reference anyother local assembly]
It is of type .NET dll
with respect,
amit -
Adobe Form Data Integration into SAP using RFC
Hi All,
I have created a Adobe Form, there is a button Called Submit ,On clicking that button the Adobe form must call a RFC function Module and pass the data from the form to Function Module.
I have written the below code for the submit button but it is not working.Please Lemme know if u have any solutions..
Below is my code
//Submit this form to SAP using web services
var webService = xfa.resolveNode("xfa.record.WEBSERVICE");
xfa.host.messageBox ("test 3");
var response = Net.SOAP.request(
cURL: webService.value,
oRequest: {
"urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET":{
TIMESHEET: t_time_record,
HEADTIME: wa_head
cContentType: "text/xml"
xfa.host.messageBox ("test 4");
var success = response["urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET.Response"]["SUCCESS"];
var response = response["urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET.Response"]["RESPONSE"];
if (success == "X") {
xfa.host.messageBox(response, "Response from SAP", 3);
CONFIRMED.rawValue = "Yes";
ConfirmedLogo.presence = "visible";
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
if (oFields.item(nNodeCount).border.fill.color.value == "255,0,0")
oFields.item(nNodeCount).border.fill.color.value = "255,255,255";
if (oFields.item(nNodeCount).ui.oneOfChild.className == "button") //Hide all buttons
oFields.item(nNodeCount).presence = "hidden";
ZUPDATETIMESHEET is my Function Module.
t_time_record and wa_head are the parameters being passed to the function Module.
Please lemme know if i have to do any settings and configurations also...
I have attached the entire code in the below file...
Thanks in AdvanceMaruti,
1. Just use the RFC's that does the update.
2. There are update flags for each field that you would like to update. These flags should be marked be marked for update. They come along with the classes that are generated when you import the RFC's.
3 Call BAPI_TRANSACTION_COMMIT afterwards.
All the above steps have to be done in the program.
Sumit. -
Connecting SAP ERP and SAP XI via RFC (in cluster)
Hi all,
I have a strange problem with SAP ERP and SAP XI (production systems). Both systems are installed in cluster. I am trying to connect both systems via RFC, so I configurred TCP connection using SM59. But, when I try to test connection, I am always getting error "Program xxxx is not registered". When I register the program on the sender communication channel on different system (develop system - different machine), connection works fine. Configuration on both SAP XI production and development systems is identical. I just cannot understand, why production SAP ERP does not see registered program on production SAP XI. Has anybody experiences with this? Or any other ideas where should be the problem?Are you configuring the RFC Sender adapter with load balancing?
what is the hostname you're using for ERP?
Is it the message server's?
Also, make sure the dispatcher is properly configured, sending the requisitions to the application servers.
Regards,
Henrique.
Maybe you are looking for
-
Different partner apps share sso schema?
Sorry if this is a stupid question. Part of the setup and configuration of a partner application is the creation of a database schema, one in which we install the sso pl/sql packages, etc... I have several partner applications. Does each partner appl
-
Hello- I think there may not be a way around this but i figured Id ask. I have a 13" MacBook, my fiance a 24" iMac. Trying to use Illustrator on my baby screen is no fun at all. I dont have the right hardware to try to connect my mac to his and use h
-
SQL query performance difference with Index Hint in Oracle 10g
Hi, I was having a problem in SQL select query which was taking around 20 seconds to get the results. So, by hit and trail method I added Index Oracle Hint into the same query with the list of indexes of the tables and the results are retrieved with
-
system times me out after being in room after 5 minutes, says it is because of inactivity. can this please be changed? thanks
-
Installation will not accept my serial number to install Adobe 8
I have a Dell XPS M1530, laptop. I installed Adobe Photoshop Elements 8 on my computer in March, and the program worked correctly. I had Windows Vista on my computer. I just did a clean installation of Windows 7 to replace Vista. I cannot reinst