Java connector example code
are there any java connector code samples which demonstrate on how to do simple queries as searching a customer and displaying the customer's address details? or modify an existing customer entry and such?
kind regards
pascal
thanks, this was really helpful!
now i need to get the right vCompany. according to the api-docs that's an instance of ICompany and it seems like this is the way to set all the connection parameters... how do i do that?
maybe i should be more precise.. what exact properties of the ICompany do i have to set in order to connect to a company?
i tried with the folowing but did not succeed:
vCompany = SBOCOMUtil.newCompany();
vCompany.setServer("10.0.0.152"); //the sap / sql server's ip address
vCompany.setCompanyDB("SBODemo_Swiss");
vCompany.setUserName("username");
vCompany.setPassword("password");
vCompany.connect(); //returns -8008 (Error while trying to initialize database)
(of course i replaced username and password with those of a valid user)
if i add those two lines before the connect statement:
vCompany.setDbUserName("sa");
vCompany.setDbPassword("password");
connect returns -111 which means "Connection to SBO-Common has failed"
adding a line that sets the language doesn't change anything..
now i don't know if this really was a step forward or not, but i think it was since i get -8008 even if i enter the wrong ip ...
what am i missing?
if all these questions have already been answered in a tutorial or in any document, please give me a link or a hint what to look for, since i didn't find it so far.
kind regards
pascal suter
<i>i keep updating this post as i proceed and as long as i don't get an answer ;)</i>
Message was edited by: Pascal Suter
Similar Messages
-
ECM java client - example code
Hi,
Enviroment: ECM 11.x
I need to write ADF application integrated wit ECM. Is there any public java codes with examples ? I mean somethink like examples for SOA Suite http://java.net/projects/oraclesoasuite11g/pages/Home covers e.g. example how to write custom worklist. My requairement is to write some functionality from ECM console, so it would be useful to have some java api usage examples.
KubaActually, what workflows you intend to use? And, what's your use case what-so-ever?
I hope I won't confuse you, but in fact, you could mean three things:
- use UCM native (iDocScript workflows)
- use BPEL workflows
- use BPM workflows (as BPM Suite is now also part of the license)
The last is completely driven from the BPM side, so there you don't need to do anything.
The second works like this: you may define a criteria workflow which passes the item to a BPEL workflow. When BPEL finishes, it passes the workflow back to release the item. If you have samples for SOA Suite, you could reuse them.
Only for UCM native workflows, you would need to write your own codes (calling services - most likely WS), but havinf the first two options, is it worth? -
I want the example code for Calendar() and TimeZone() in java
Hi,
I want the example code for the TimeZone() and Calendar() class in java
because i new to java, i am not able to understand the concepts properly.
Thanks...Hi Paolo Dema.
What are the exact spefications of your computer?
Also did you computer come with 10.6 ot 10.5?.
You may try entering the MPN (marketing part number) Format: M*****/**
The MPN can be found on the product packaging or the System Profiler. -
Example code for Trigering a workflow using WAPI from JAVA based tool
Hi Experts,
I am the newest guy in SAP workFlow and BAPI world. I need to trigger a workflow defined in WebFlow engine from a Java client. I know i can use JCo and to use WAPI to get workflow information but i am not sure how it works. Can you give me some example code to trigger one workflow defined in WebFlow using WAPI? If there is any alternative i am interested to know that as well.
Thanks in advance.
Regards,
RiyadhUse Function Module SWE_EVENT_CReate top trigger event that is linked with a Workflow.
<b>Please reward points if useful</b>
INCLUDE <cntn01> .
DATA:i_emp_details TYPE STANDARD TABLE OF p0001, "Employee Details
wa_request TYPE p0001, "Workarea for Employee details
v_country_grp TYPE molga, "Country SubGrouping
v_object_key TYPE sweinstcou-objkey. "Key for the buisness object ZWOBUSTRIP
CONSTANTS: c_bo_trip TYPE swo_objtyp VALUE 'ZWOBUSTRIP',
c_event_trip TYPE swo_event VALUE 'TripCreate',
c_infy_type_1 TYPE infty VALUE '0001'.
Event Container declaration
swc_container i_event_cont.
swc_create_container i_event_cont.
Reading the INFO TYPE 0001 to obtain the
Employee details
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
pernr = i_emp_number
infty = c_infy_type_1
begda = sy-datum
endda = sy-datum
TABLES
infty_tab = i_emp_details
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
SY-SUBRC check is not required as the error
handelling will be done by WorkFlow rule
resolution.
CLEAR wa_request.
READ TABLE i_emp_details INTO wa_request INDEX 1.
IF sy-subrc = 0.
Retrieving the Country SubGrouping for the employee
SELECT SINGLE molga
FROM t001p
INTO v_country_grp
WHERE werks = wa_request-werks
AND btrtl = wa_request-persk.
ENDIF.
Sending the relevant data to event container
swc_set_element i_event_cont 'EmpId' i_emp_number.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'PersonnelArea' wa_request-werks.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'CountryGrouping' v_country_grp.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpSubGrp' wa_request-persk.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpTripId' i_emp_trip.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
Raising the event to trigger the workflow
v_object_key = i_emp_number.
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = c_bo_trip
objkey = v_object_key
event = c_event_trip
TABLES
event_container = i_event_cont
EXCEPTIONS
objtype_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
COMMIT WORK.
ENDFUNCTION.
Thanks
Arghadip -
Example code for each and every class in java API
hi,
Is there any place where i can get example code for eacha and every class in java API.
for eample...if i wanna find sample codes for all the clases in java.lang.*
please let me know ASAP.
thanks in advanceCrossposted here: http://forum.java.sun.com/thread.jsp?thread=570264&forum=54&message=2820774
-
Hi,
where can i find the BI Java Connector Files:
bi_sdk_jdbc.rar
bi_sdk_xmla.rar
bi_sdk_sapq.rar
bi_sdk_odbo.rar
Can anyone help me?hi Christian,
these files should be included in bi java sdk
https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/webcontent/uuid/78b3db58-0501-0010-b895-f75cd8fdf674 [original link is broken]
hope this helps. -
Thru Java connector to update SAP by BAPI
Dear...
How to bring the data from external application through the Java connector to SAP? Pls help....Hai Check the following Document & Links
Bapi to create customer master
BAPI_CUSTOMER_CREATEFROMDATA
BAPI_CUSTOMER_CREATEFROMDATA1
Or you can use FM SD_CUSTOMER_MAINTAIN_ALL
what is BAPI?
BAPI stands for Business API(Application Program Interface).
I have answered this question before..
A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
You can make your function module remotely enabled in attributes of Function module but
A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
Check these Links out
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Please check out this thread..
Re: bapi
Also refer to the following links..
www.sappoint.com/abap/bapiintro.pdf
www.sap-img.com/bapi.htm
www.sap-img.com/abap/bapi-conventions.htm
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
<b>Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
Java Connector(JCO) can call not only BAPI's but also the function modules which are remotely enabled..
BAPI's as i said earlier are remotely enabled function modules..
Hence, JCO can call also BAPI's(n not only BAPI's as u mentioned).</b>
Thanks & regards
Sreenivasulu P -
JCo( Java Connector)
Hi Guys,
Any one give some info abt JCo( Java Connector). Thanks in advance.
Thanks
Kiran.BHi Kiran,
Check the following example
SAP Java Connector - Excample 1: Simple RFC call
Scenario
We will call the RFC function module ZNAS_HIE1_GET_MEMBER_FARM.that returns members that have owned a farm. Input to the function is a farm number, and output is a table of members that have owned the farm and Owner number (Sequence number of owners).
Class testJCO is excuted and calls class GetMemberFarm method GetMemberFarmFromSap. Input parameters to GetMemberFarm are Farm and Owner number.
GetMemberFarmFromSap executes RFC ZNAS_HIE1_GET_MEMBER_FARM, that returns a table of members that have owned the farm from the input parameters.
GetMemberFarmFromSap loops through the table and finds the member where ZZCHCODE (Owner numer), is equal owner number from the input-parameters. and returns the member.
Code
Class testJCO
public class testJco
public static void main(String[] args)
GetMemberFarm testGetMemberFarm = new GetMemberFarm();
String memberFarm= testGetMemberFarm.GetMemberFarmFromSap("0111020155","02");
System.out.println("Memberfarm: " + memberFarm);
Class GetMemberFram
import com.sap.mw.jco.*; //The JCO
public class GetMemberFarm {
public String GetMemberFarmFromSap(String farm, String OwnerNumber)
{ String zzmemb ="";
String memberFarm = "";
JCO.Repository mRepository;
JCO.Client mConnection = null;
JCO.Function myFunction = null;
//Create Connection to SAP
try
mConnection = JCO.createClient("800", //SAP client
"HFR", //User ID
"vimmer3", //Password
"EN", //Language
"53.205.22.71", //Host
"03"); //System
mConnection.connect();
System.out.println("Connection OK");
catch (Exception ex)
System.out.println(ex);
// Create function and parameters
try
//Create repository
mRepository = new JCO.Repository( "GetMember", mConnection );
//Get a function template from the repository
IFunctionTemplate ftemplate = mRepository.getFunctionTemplate("ZNAS_HIE1_GET_MEMBER_FARM");
//Create function
myFunction = new JCO.Function(ftemplate);
System.out.println("Function created");
//Set import parameter
JCO.Field zzfarm = myFunction.getImportParameterList().getField("ZZFARM");
zzfarm.setValue(farm);
System.out.println("Parameters ok");
catch (Exception ex)
System.out.println(ex);
// Execute function
try
mConnection.execute(myFunction);
System.out.println("RFC Call OK");
catch (Exception ex)
{ System.out.println(ex); //Exception from function
// Handle return table GT_HIERARCHY
// Loop over the table and find the record that
// has ZZCHCODE = OwnerNumber from the
// method parameters, and return Member for the
// record
JCO.Table gt_HIERARCHY = null;
try
gt_HIERARCHY=myFunction.getTableParameterList().getTable("GT_HIERARCHY");
//Loop thhrough table and return the member that has
// changecode (ZZCHCODE) = 02
for (int i = 0; i < gt_HIERARCHY.getNumRows(); i++)
{ gt_HIERARCHY.setRow(i);
String zzchcode = gt_HIERARCHY.getString("ZZCHCODE");
if (zzchcode.equals(OwnerNumber))
zzmemb = gt_HIERARCHY.getString("ZZMEMB");
catch (Exception ex)
{ System.out.println(ex);
// Disconnect from SAP
try
mConnection.disconnect();
System.out.println("Disconnected from SAP");
catch (Exception ex)
System.out.println(ex);
return zzmemb;
} //public class GetMemberFarm
Tips and tricks for the Java connector
How to set and import parameter - Field
Give the import parameter SALESDOCUMENT the value "00006973":
JCO.Field SalesDocumentField = jcoFunction.getImportParameterList().getField("SALESDOCUMENT");
SalesDocumentField.setValue("00006973");
How to handle an import parameter - Table
JCO.Table ORDER_PARTNERS = jcoFunction.getTableParameterList().getTable("ORDER_PARTNERS");
ORDER_PARTNERS.appendRow();
ORDER_PARTNERS.setValue("AG","PARTN_ROLE");
ORDER_PARTNERS.setValue("0000001032","PARTN_NUMB");
How to handle an import parameter - Structure
JCO.Structure order_header_inx = jcoFunction.getImportParameterList().getStructure("ORDER_HEADER_INX");
order_header_inx.setValue("I","UPDATEFLAG");
order_header_inx.setValue("X","DOC_TYPE");
How to handle an export parameter - Table
JCO.Table myTable = jcoFunction.getTableParameterList().getTable("STATUSINFO");
for (int i=0; i < myTable.getNumRows(); i++)
myTable.setRow(i);
// Retrieve the value of the field DOC_DATE
oDocDate = myTable.getField("DOC_DATE").getValue();
How to handle BAPI return table
Meesage type and message is stored in vector bapiReturn.
Vector bapiReturn;
JCO.Table jcoReturn = jcoFunction.getTableParameterList().getTable("RETURN");
for (int i = 0; i < jcoReturn.getNumRows(); i++)
{ jcoReturn.setRow(i);
String Message = jcoReturn.getField("TYPE").getValue() + " " +
jcoReturn.getField("MESSAGE").getValue();
bapiReturn.setSize(i + 1);
bapiReturn.setElementAt(new String(Message),i );
Using COMMIT
try
{ // Get a function template from the repository
IFunctionTemplate ftemplate = mRepository.getFunctionTemplate("BAPI_TRANSACTION_COMMIT");
// Create a function from the template
jcoCommit = new JCO.Function(ftemplate);
if ( jcoCommit == null )
// Do something..;
catch (Exception mException)
{ mException.printStackTrace(); }
// Execute COMMIT
try
{ sapConnection1.mConnection.execute(jcoCommit);
catch (Exception mException)
{ mException.printStackTrace(); }
Thanks and Good Luck
AK -
Error while deploying MDM Java Connector for EP
Hi,
i am a newbie to MDM.i am trying to develop a portal component with the blog "Using MDM5.5 Java Connector with SAP Enterprise Portal 6.0" as reference.
i created an MDM system in portal and the connection tests passed.
But when i deploy the code i get the following exception-
java.lang.NullPointerException
at com.sap.mdm.connector.connection.MdmConnectionFactory.getConnectionEx(MdmConnectionFactory.java:170)
at com.sap.portal.ivs.internalconnector.ConnectionProvider.getConnection(ConnectionProvider.java:304)
at com.sap.portal.ivs.internalconnector.ConnectionProvider.getConnection(ConnectionProvider.java:258)
at com.sapportals.portal.ivs.cg.ConnectorService.getConnection(ConnectorService.java:478)
at com.sapportals.portal.ivs.cg.ConnectorService.getConnection(ConnectorService.java:85)
at com.cts.mdm.MDMtestcomp.doContent(MDMtestcomp.java:36)(this points to the line <b>connection = cgService.getConnection("MDM_SYSTEM_ALIAS", prop);</b>)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
This is my code-
IConnectorGatewayService cgService = (IConnectorGatewayService)
PortalRuntime.getRuntimeResources().getService(IConnectorService.KEY);
ConnectionProperties prop =
new ConnectionProperties(request.getLocale(), request.getUser());
IConnection connection = null;
connection = cgService.getConnection("MDM_SYSTEM_ALIAS", prop);
INative nativeInterface = connection.retrieveNative();
CatalogData catalog = new CatalogData();
catalog = (CatalogData)
nativeInterface.getNative(CatalogData.class.getName());
ResultSetDefinition rsd = new ResultSetDefinition("Customers");
rsd.AddField("Name");
Search search = new Search("Customers");
A2iResultSet rs = null;
rs = catalog.GetResultSet(search,rsd,"Name",true,0);
response.write(rs.GetFields().toString());
Have i missed anything?
Should i deploy any .jar file? (i've already deployed MDM4J.jar) and referenced it in portalapp!
Thanks in advance
SwarnaDeepikaHello Swarna:
I believe than rather than deploying the MDM4J.jar, you should deploy this components:
com.sap.mdm.tech.mdm4j.sda
com.sap.mdm.tech.connector.sda
BPMDMTECHN00_0.sca
BPMDMAPPLI00_0.sca
Once you deploy those, you should have no problems. Another solution would be to take your MDM4J.jar and wrap it into an SDA, then deploy, but that would be pretty much the same.
Those components are included on your MDM CD. Please ensure you use the same Version/support package/hotfix all over your landscape.
I hope that helps
Alejandro -
SAP Business One - Java Connector
Hi All,
<br/><br/>
We have a SAP Business One Application installed on a laptop. The requirement is to be able to use the SAP Java API to update tables in the system. We are not allowed to connect directly to the database and was advised to use the API instead.
<br/><br/>
The downloaded API that we are using is "sapjco30P_6-10005324 32 bit.zip". I have included the dll file contained in this package in the WINDOWS/system32 folder. I am using Eclipse as IDE and already included the "sapjco3.jar" in the classpath.
<br/><br/>
First question: Am I using the right Java Connector for SAP Business One?
<br/><br/>
I got sample code on how to connect using JCO:
<br/><br/>
package sample;<br/><br/>
import java.io.File;<br/>
import java.io.FileOutputStream;<br/>
import java.util.Properties;<br/>
import java.util.concurrent.CountDownLatch;<br/><br/>
import com.sap.conn.jco.AbapException;<br/>
import com.sap.conn.jco.JCoContext;<br/>
import com.sap.conn.jco.JCoDestination;<br/>
import com.sap.conn.jco.JCoDestinationManager;<br/>
import com.sap.conn.jco.JCoException;<br/>
import com.sap.conn.jco.JCoField;<br/>
import com.sap.conn.jco.JCoFunction;<br/>
import com.sap.conn.jco.JCoFunctionTemplate;<br/>
import com.sap.conn.jco.JCoStructure;<br/>
import com.sap.conn.jco.JCoTable;<br/>
import com.sap.conn.jco.ext.DestinationDataProvider;<br/><br/>
public class StepByStepClient<br/>
{<br/>
static String ABAP_AS = "ABAP_AS_WITHOUT_POOL";<br/>
static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";<br/>
static String ABAP_MS = "ABAP_MS_WITHOUT_POOL";<br/>
static<br/>
{<br/>
Properties connectProperties = new Properties();<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "localhost");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "06");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "000");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_USER, "manager"); //sapuser<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "manager"); //sap1234<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");<br/>
createDataFile(ABAP_AS, "jcoDestination", connectProperties);<br/><br/>
connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10");<br/>
createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);<br/><br/>
connectProperties.clear();<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_MSHOST, "localhost");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_R3NAME, "SID");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "000");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_USER, "manager"); //sapuser<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "manager"); //sap1234<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_GROUP, "GROUP");<br/>
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");<br/>
createDataFile(ABAP_MS, "jcoDestination", connectProperties);<br/>
}<br/><br/>
static void createDataFile(String name, String suffix, Properties properties)<br/>
{<br/>
File cfg = new File(name"."suffix);<br/>
if(!cfg.exists())<br/>
{<br/>
try<br/>
{<br/>
FileOutputStream fos = new FileOutputStream(cfg, false);<br/>
properties.store(fos, "for tests only !");<br/>
fos.close();<br/>
}<br/>
catch (Exception e)<br/>
{<br/>
throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);<br/>
}<br/>
}<br/>
}<br/><br/>
public static void step1Connect() throws JCoException<br/>
{<br/>
JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS);<br/>
System.out.println("Attributes:");<br/>
System.out.println(destination.getAttributes());<br/>
System.out.println();<br/><br/>
destination = JCoDestinationManager.getDestination(ABAP_MS);<br/>
System.out.println("Attributes:");<br/>
System.out.println(destination.getAttributes());<br/>
System.out.println();<br/>
}<br/><br/>
public static void main(String[] args) throws JCoException<br/>
{<br/>
step1Connect();<br/>
}<br/>
}<br/>
<br/><br/>
Each time I run the application I run into an error:
<br/><br/>
Attributes:<br/>
Exception in thread "main" com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: Connect to SAP gateway failed<br/>
Connection parameters: TYPE=A DEST=ABAP_AS_WITHOUT_POOL ASHOST=localhost SYSNR=06 PCS=1<br/><br/>
LOCATION CPIC (TCP/IP) on local host with Unicode<br/>
ERROR connection to partner '127.0.0.1:3306' broken<br/>
TIME Mon May 09 10:46:46 2011<br/>
RELEASE 720<br/>
COMPONENT NI (network interface)<br/>
VERSION 40<br/>
RC -6<br/>
MODULE gwxx.c<br/>
LINE 646<br/>
DETAIL NiIRead: P=127.0.0.1:3306; L=0.0.0.0:50496<br/>
SYSTEM CALL GwRead<br/>
ERRNO 10054<br/>
ERRNO TEXT WSAECONNRESET: Connection reset by peer<br/>
COUNTER 2<br/><br/>
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:662)<br/>
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1362)<br/>
at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:721)<br/>
at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:103)<br/>
at com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:293)<br/>
at com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManager.java:46)<br/>
at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:262)<br/>
at com.sap.conn.jco.rt.RfcDestination.initialize(RfcDestination.java:509)<br/>
at com.sap.conn.jco.rt.RfcDestination.getAttributes(RfcDestination.java:347)<br/>
at com.sap.conn.jco.rt.RfcDestination.getAttributes(RfcDestination.java:27)<br/>
at sample.StepByStepClient.step1Connect(StepByStepClient.java:74)<br/>
at sample.StepByStepClient.main(StepByStepClient.java:304)<br/>
Caused by: RfcException: [null]<br/>
message: Connect to SAP gateway failed<br/>
Connection parameters: TYPE=A DEST=ABAP_AS_WITHOUT_POOL ASHOST=localhost SYSNR=06 PCS=1<br/>
<br/><br/>
Second question: What seems to be the problem with my sample application? Do I need to use a different Java Connector for SAP Business One or SAP Business One does not support Java Connector?
<br/><br/>
Please help.
<br/><br/>
Thank you all.
Edited by: kevinroy on May 9, 2011 4:51 AMHi,<br/>
Thank you very much for the reply. I am now able to move forward with what I am doing.<br/>
I used the following code in connecting but am encountering an error:<br/>
public class ConnectSAP {
// company interface
public ICompany company;
private SBOErrorMessage errMsg = null;
public static void main(String[] args) {
ConnectSAP company = new ConnectSAP();
company.conn();
//method make connection andinitialize company instance
public int conn() {
int rc = 0;
try {
company = SBOCOMUtil.newCompany();
company.setServer("192.168.0.216"); //192.168.0.216
company.setCompanyDB("SBODemoUS");
company.setUserName("manager");
company.setPassword("manager");
company.setDbServerType(SBOCOMConstants.BoDataServerTypes_dst_MSSQL2005);
company.setUseTrusted(new Boolean(false));
company.setLanguage(SBOCOMConstants.BoSuppLangs_ln_English);
company.setDbUserName("username");
company.setDbPassword("password");
//company.setAddonIdentifier("...");
//company.setLicenseServer("...");
rc = company.connect();
if (rc == 0) {
System.out.println("Connected!");
} else {
errMsg = company.getLastError();
System.out.println(
"I cannot connect to database server: "
+ errMsg.getErrorMessage()
+ " "
+ errMsg.getErrorCode());
} catch (Exception e) {
e.printStackTrace();
return -1;
return rc;
public void freeConnection(){
company.disconnect();
}<br/>
I am getting the error "Failed to Connect to SBOCommon -111".<br/>
Error is still the same even if I set UseTrusted to true and comment the DbUserName and DbPassword.<br/>
Do I need to specify the license? Or login to SAP before connecting?<br/>
Thank you. -
How to get pdf file from sap presentation server using java connector
Hi Friends,
with the below code i am able to get po details in pdf in presentation server.
DATA : w_url TYPE string
VALUE 'C:\Documents and Settings\1011\Solutions\web\files\podet.pdf'.
CALL FUNCTION 'ECP_PDF_DISPLAY'
EXPORTING
purchase_order = i_ponum
IMPORTING
PDF_BYTECOUNT =
pdf = file " data in Xsting format
*Converting Xstring to binary_tab
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = file
APPEND_TO_TABLE = ' '
IMPORTING
OUTPUT_LENGTH =
TABLES
binary_tab = it_bin " data in binary format
**Downloading into PDF file
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = w_url
filetype = 'BIN'
TABLES
data_tab = it_bin
when i am using java connector , to retirve the file from presentation server , the follwoing error i am getting...
init:
deps-jar:
compile-single:
run-single:
com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Error in Control Framework
at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1244)
at com.sap.mw.jco.JCO$Client.execute(JCO.java:3842)
at com.sap.mw.jco.JCO$Client.execute(JCO.java:3287)
at PdfGen.<init>(PdfGen.java:35)
at PdfGen.main(PdfGen.java:78)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
i debugged too, problem with <b>gui_download......</b>
I am very glad to all with your suggestions!!
Regards,
Madhu..!!Hi
You can try to create an external command (transaction SM69).......sorry I've forgotten,,,,they works on application
How do you call CL_GUI_FRONTEND_SERVICES=>EXECUTE?
Max
Edited by: max bianchi on Oct 13, 2011 10:27 AM -
How to install the SAP Java Connector
Hi,
I am unsure how to install the SAP Java Connector on Linux (Suse Linux Enterprise 10). The SAP Integration Kit install and admin guide says:
===
u2022 Copy the librfccm library and the libsapjcorfc library to busines
sobjects_root/enterprise120/PLATFORM_PATH, where busines
sobjects_root is the full path to your businessobjects directory,
and PLATFORM_PATH is your platform. For example, PLATFORM_PATH
is solaris_sparc for an installation on Solaris.
u2022 Use symbolic links for the location of the librfccm library and the lib
sapjcorfc library.
u2022 Add the location of the librfccm library and the libsapjcorfc library
to the library path.
===
Do I have to do all 3 steps or is the 1st one (copying of files) enough?
On the other hand, the SAP Java Connector guide says:
===
Then add {sapjco-install-path} to the LD_LIBRARY_PATH environment variable.
Finally, add {sapjco-install-path}/sapjco.jar to your CLASSPATH environment variable.
===
So, what to do?
Thanks!Thanks for your help. So i copied the 2 files as mentioned in point 1.
Where do I have to copy the file sapjco.jar to? There is no shared lib folder after installing BO Edge 3.1 on a Linux system.
I copied the sapjco.jar to /bobje/tomcat/common/lib but still get the message that the Java Connector files are not in the correct directory.
I already copied the files librfccm.so and libsapjcorfc.so to /bobje/enterprise120/linux_x86 .
Thanks again!
Edit: problem solved: Copying the sapjco.so to tomcat/shared/lib is correct, if the directory doesn't exist then just create it (mkdir). The message is just plain information 7 hint. -
Enterprise JavaBeans and SNMP Java Connector
There is possible to develop a Java Connector that will allow my J2EE application to collaborate ( send , receive) SNMP commands with various network devices ( sensors, Access Points, hardware devices).
The information eventualy will be pushed back to the subscribed users using AJAX technologies.
MikeHi,
I do not get your question.....
You want to connect from MI7.1 directly to a BAPI in the Middleware? Well, in 7.0 there was Generic Sync to do that - and I think this should be still there. With Generic sync it was possible to connect to call any BAPI in the middleware directly - if your user had appropiate rights. Check MDK for details.
And if you want to do that in our own app - if this is the intention of your question.... well.... then I would tell you this is under SAP (C), so as you know you could decompile the MI client code, but this is not allowed.
But I guess it was the first thing you are after, so see if that answer helps. But even there you need the running MI middleware - and this thing confused me in your question - are you using MI already or not and what do you want to do?
Regards,
Oliver -
Hi Friends,
In the code ....
I am calling Remote Function module ZRFC_PO_VEND_VALID using java connector and passing PO_Number and Vendor Number as input parameters and after execution it returns (E_POVALID =1 [PO_NUMBER exists for Vendor number] otherwise E_POVALID = 0 )
when i am executing the below code ....in both cases it is returning Zero value.
I tested the function module in se37 its working....
may i know the reason for this....
import com.sap.mw.jco.*;
@author Thomas G. Schuessler, ARAsoft GmbH
http://www.arasoft.de
public class TutorialBapi1 extends Object {
JCO.Client mConnection;
JCO.Repository mRepository;
public TutorialBapi1() {
try {
// Change the logon information to your own system/user
mConnection =
JCO.createClient("100", // SAP client
"abap", // userid
"abap", // password
"en", // language
"sapdev1", // application server host name
"00"); // system number
mConnection.connect();
mRepository = new JCO.Repository("ARAsoft", mConnection);
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
JCO.Function function = null;
JCO.Table codes = null;
try {
function = this.createFunction("ZRFC_PO_VEND_VALID");
if (function == null) {
System.out.println("ZRFC_PO_VEND_VALID" +
" not found in SAP.");
System.exit(1);
//mConnection.execute(function);
JCO.Field vendID = function.getImportParameterList().getField("I_EBELN");
JCO.Field poID = function.getImportParameterList().getField("I_LIFNR");
vendID.setValue("20081");
poID.setValue("4500000017");
try {
mConnection.execute(function);
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
JCO.Field povalid =
function.getExportParameterList().getField("E_POVALID");
//if (povalid.getValue() == null ){
// System.out.println("Error Message");
System.out.println(povalid.getValue());
//if (povalid == null ){
//System.out.println(povalid.getValue("E_POVALID"));
//System.out.println("Error Message");
//System.exit(1);
catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
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.");
public static void main (String args[]) {
TutorialBapi1 app = new TutorialBapi1();
with warm regards,
Madhu.Hi Ravi ,
I tried as per your sugggestion..still getting the same problem.
Regards,
Madhu!! -
Need Standard BAPI To Create Opportunity in SAP Using Java Connector.
Hi All,
What is the standard BAPI to create an opportunity in SAP CRM through Java Connector.
Please share code if available for doing same. I have found BAPI_OPPORTUNITY_CREATE_MULTI .
How to create opportunity in SAP through java connector using BAPI_OPPORTUNITY_CREATE_MULTI .Hi,
I think you can search for it or you can create a thread at ABAP section.
Maybe you are looking for
-
My favourites from ie won't open in my mac
I had my favorite websites transfered from my pc to my mac. They are there, but when i select one of them it won't do anything. I am new to a MAC so I don't know alot yet. Just simple directions would help at this point. Thanks.
-
Bug in Oracle JDBC Drivers with {ts ?}
Oracle fails to set bind variables correctly when using the {ts ?} in an insert. It works ok if you use {d ?}. Ex: String st = "INSERT INTO BL(NM,TSTAMP) VALUES (?,{ts ?} )"; System.out.println(dbConn.nativeSQL(st)); java.sql.PreparedStatement stmt =
-
Function return boolean with combine query and validation
Wondering how would you combine a query and the condition together... Right now i have a computation that would do a single sql query. and in my validation i would use a function return boolean call the result from the computation to do some if state
-
User's profile in Solaris Express Developper Edition
I was just wondering, where is the ".profile" in Solaris Epress DE located. In Solaris 10 it's just located in the user's local directory. In other words how can I edit a user's profile in Solaris Express?
-
Maintenace optimiser, support package Manager, Support package stack
HI all, Could you please enlighten me the differences among Maintenance Optimizer,support package Manager, Support package stack And the purpose and most importantly the documentation to be able to use them in case of implementation phase (I