Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

about bapi with java

Former Member
0 Likes
561

hi expert's ,

i wanted to know how we can do bapi with java ...?

how we can retrive data from java.

means what will be the coding for java?

may be m not able to explain but plz help me with this...

Regards

Pankaj.

2 REPLIES 2
Read only

Former Member
0 Likes
498

you can wirte code in SAP itself. you can create BAPI in sap get the data from java and upload data through bapi into SAP.

you can get data from java through file...

Read only

Former Member
0 Likes
498

Hi

lets see if this helps.

Calling BAPIs from Java

This is an example program for calling a BAPI from the IBM development platform, Access Builder for SAP R/3.

Detailed program examples are shipped with the Access Builder for R/3.

Access Builder for SAP R/3

//Importing the required classes:

import com.sap.rfc.*;

import com.sap.rfc.exception.*;

import com.ibm.sap.bapi.*;

import com.ibm.sap.bapi.generated.*;

//Connecting to the R/3 System:

static private IRfcConnection establishConnection(MiddlewareInfo aMiddlewareInfo)

throws JRfcRemoteException

{

IRfcConnection aConnection = null ;

ConnectInfo aConnectInfo = null ;

UserInfo aUserInfo = null ;

String orbServerName = aMiddlewareInfo.getOrbServerName() ;

// Please adjust the values written in UPPERCASE LETTERS

// in the lines below so that they fit to your needs!

// If you don't know the correct values ask your system

// administrator!

// After correcting these values you should change the

// <bAdjusted> variable in the following line

// from "false" to "true".

// Then you can re-compile ("javac SampleCompanyCode.java") and

// re-run ("java SampleCompanyCode -conn JNI") this sample...

boolean bAdjusted = true;

if (!bAdjusted) {

throw (new JRfcRfcConnectionException (

"Please adjust the Connection-Parameters to your

needs! (See method \"establishConnection\")"));

}

//Connection information:

aConnectInfo = new ConnectInfo (

3, // int aRfcMode 3=R/3 or 2=R/2

null, // String aDestination

"9.7.12.7", // String aHostName YOUR HOSTNAME (e.g. IP-

//address)

0, // int aSystemNo YOUR SYSTEM-NUMBER

null, // String aGatewayHost

null, // String aGatewayService

null, // String aSystemName

null, // String aGroupName

null, // String aMsgServer

false, // Boolean isLoadBalancing

true); // Boolean isCheckAuthorization

//User information:

aUserInfo = new UserInfo (

"MUSTER", // String aUserName, YOUR USERID

"IDES", // String aPassword, YOUR PASSWORD

"800", // String aClient, YOUR CLIENT NUMBER

"e", // String aLanguage, YOUR PREFERRED

//LANGUAGE

1103); // int aCodePage YOUR REQUIRED CODEPAGE

//Technical conversion for the selected middleware;

// Open connection:

IRfcConnectionFactory aConnectionFactory = FactoryManager.getSingleInstance().getRfcConnectionFactory() ;

aConnection = aConnectionFactory.createRfcConnection(aConnectInfo, aUserInfo) ;

aConnection.open() ;

//Returning the connection:

return aConnection ;

}

//Calling the main method:

public static void main (java.lang.String[] args)

//Setting up the connection using the selected middleware:

{

MiddlewareInfo aMiddlewareInfo = new MiddlewareInfo(args) ;

FactoryManager aFactoryManager = FactoryManager.getSingleInstance() ;

aFactoryManager.setMiddlewareInfo(aMiddlewareInfo) ;

//Initializing the connection object:

IRfcConnection aConnection = null ;

try

{

aConnection = establishConnection(aMiddlewareInfo) ;

}

catch (Exception ex)

{

System.out.println("ERROR : Could not create connection : " + ex) ;

System.exit(-1) ;

}

System.out.println("Connection established.");

// --- TEST CODE (start) -


try

{

printList(aConnection) ;

//Calling the BAPI:

//Declare an empty Object ID for the Business Object

//CompanyCode:

objectId = CompanyCode.getEmptyObjectId() ;

//Entering a value in the object ID:

objectId.getKeyField("COMPANYCODEID").setString("1000") ;

//Instantiate the object CompanyCode with the object ID:

companyCode = new CompanyCode(objectId) ; // Create 2nd

CompanyCode

System.out.println ("Successfully created new CompanyCode : '" + companyCode + "'") ;

printDetails(companyCode, aConnection) ;

}

// --- TEST CODE (end) -


catch (Exception ex)

{

System.out.println ("Unexpected exception occurred:");

System.out.println (ex);

}

}

private static void printDetails(CompanyCode companyCode, IRfcConnection connection)

{

try

{

//Declare the parameters of the BAPI CompanyCode.GetDetail:

CompanyCodeGetdetailParams aCompanyCodeGetdetailParams =

new CompanyCodeGetdetailParams() ;

//Aufruf des BAPIs CompanyCode.GetDetail auf die Objektinstanz:

companyCode.getdetail(connection, aCompanyCodeGetdetailParams);

//Splitting the parameter object into its separate components

//(Struktur):

Bapi0002_2Structure struct = aCompanyCodeGetdetailParams.getCompanycodeDetail() ;

System.out.println ("The details of the companycode are : ") ;

//Splitting the structure into individual fields:

System.out.println ("CompCode : '" + struct.getCompCode() + "'" );

System.out.println ("CompName : '" + struct.getCompName() + "'" );

System.out.println ("City1 : '" + struct.getCity() + "'" );

System.out.println ("Country1 : '" + struct.getCountry() + "'" );

System.out.println ("Currency : '" + struct.getCurrency() + "'" );

System.out.println ("Langu1 : '" + struct.getLangu() + "'" );

System.out.println ("ChrtAccts : '" + struct.getChrtAccts() + "'" );

System.out.println ("FyVariant : '" + struct.getFyVariant() + "'" );

System.out.println ("VatRegNo : '" + struct.getVatRegNo() + "'" );

System.out.println ("Company : '" + struct.getCompany() + "'" );

System.out.println ("AddrNo : '" + struct.getAddrNo() + "'" );

System.out.println() ;

}

catch (Exception ex)

{

System.out.println("Exception in printDetails() : " + ex) ;

}

return;

}

private static void printList(IRfcConnection connection)

{

try

{

//Declaring the parameter object:

CompanyCodeGetlistParams aCompanyCodeGetlistParams =

new CompanyCodeGetlistParams() ;

//Actual BAPI call:

CompanyCode.getlist(connection, aCompanyCodeGetlistParams);

//Splitting the parameter objects into its separate components

//(Table):

Bapi0002_1Table table = aCompanyCodeGetlistParams.getCompanycodeList();

int rowCount = table.getRowCount() ;

System.out.println ("Returned table has " + rowCount + " lines.");

//Evaluating the table row by row:

for (int i = 0; i < rowCount; i++)

{

Bapi0002_1TableRow row = table.getRow(i) ;

System.out.println("\t" + row.getCompCode() + "\t" + row.getCompName()) ;

}

System.out.println() ;

}

catch (Exception ex)

{

System.out.println("Exception in printList() : " + ex) ;

}

return;

}

}

Regards

Neha