⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example2.java

📁 SAP ERP的二次开发
💻 JAVA
字号:
/** * Example2.java * Property of SAP AG, Walldorf * (c) Copyright SAP AG, Walldorf, 2000-2003. * All rights reserved. */import com.sap.mw.jco.*;/** * @version 1.0 * @author  SAP AG, Walldorf */public class Example2 {  // The MySAP.com system we gonna be using  static final String SID = "R3";  // The repository we will be using  IRepository repository;  public Example2()  {    try {      // Add a connection pool to the specified system      //    The pool will be saved in the pool list to be used      //    from other threads by JCO.getClient(SID).      //    The pool must be explicitely removed by JCO.removeClientPool(SID)      JCO.addClientPool( SID,         // Alias for this pool                         10,          // Max. number of connections                         "000",       // SAP client                         "johndoe",   // userid                         "*****",     // password                         "EN",        // language                         "appserver", // host name                         "00" );      // Create a new repository      //    The repository caches the function and structure definitions      //    to be used for all calls to the system SID. The creation of      //    redundant instances cause performance and memory waste.      repository = JCO.createRepository("MYRepository", SID);    }    catch (JCO.Exception ex) {      System.out.println("Caught an exception: \n" + ex);    }  }  // Retrieves and prints information about the remote system  public void systemInfo()  {    try {      // Get a function template from the repository      IFunctionTemplate ftemplate = repository.getFunctionTemplate("RFC_SYSTEM_INFO");      // if the function definition was found in backend system      if(ftemplate != null) {        // Create a function from the template        JCO.Function function = ftemplate.getFunction();        // Get a client from the pool        JCO.Client client = JCO.getClient(SID);        // We can call 'RFC_SYSTEM_INFO' directly since it does not need any input parameters        client.execute(function);        // The export parameter 'RFCSI_EXPORT' contains a structure of type 'RFCSI'        JCO.Structure s = function.getExportParameterList().getStructure("RFCSI_EXPORT");        // Use enumeration to loop over all fields of the structure        System.out.println("System info for " + SID + ":\n" +        				   "--------------------");        for (JCO.FieldIterator e = s.fields(); e.hasMoreElements(); ) {          JCO.Field field = e.nextField();          System.out.println(field.getName() + ":\t" + field.getString());        }//for        System.out.println("\n\n");        // Release the client into the pool        JCO.releaseClient(client);      }      else {	    System.out.println("Function RFC_SYSTEM_INFO not found in backend system.");	  }    }	catch (Exception ex) {	  System.out.println("Caught an exception: \n" + ex);	}  }  // Retrieves and displays a sales order list  public void salesOrders()  {	JCO.Client client = null;    try {      // Get a function template from the repository      IFunctionTemplate ftemplate = repository.getFunctionTemplate("BAPI_SALESORDER_GETLIST");      // if the function definition was found in backend system      if(ftemplate != null) {		// Create a function from the template		JCO.Function function = ftemplate.getFunction();		// Get a client from the pool		client = JCO.getClient(SID);		// Fill in input parameters		JCO.ParameterList input = function.getImportParameterList();		input.setValue("0000001200", "CUSTOMER_NUMBER"   );		input.setValue(      "1000", "SALES_ORGANIZATION");		input.setValue(         "0", "TRANSACTION_GROUP" );		// Call the remote system		client.execute(function);		// Print return message		JCO.Structure ret = function.getExportParameterList().getStructure("RETURN");		System.out.println("BAPI_SALES_ORDER_GETLIST RETURN: " + ret.getString("MESSAGE"));		// Get table containing the orders		JCO.Table sales_orders = function.getTableParameterList().getTable("SALES_ORDERS");		// Print results		if (sales_orders.getNumRows() > 0) {		  // Loop over all rows		  do {		    System.out.println("-----------------------------------------");		    // Loop over all columns in the current row		    for (JCO.FieldIterator e = sales_orders.fields(); e.hasMoreElements(); ) {			  JCO.Field field = e.nextField();			  System.out.println(field.getName() + ":\t" + field.getString());		    }//for		  } while(sales_orders.nextRow());		}		else {		  System.out.println("No results found");		}//if      }      else {	    System.out.println("Function BAPI_SALESORDER_GETLIST not found in backend system.");	  }//if    }    catch (Exception ex) {      System.out.println("Caught an exception: \n" + ex);    }    finally {	  // Release the client to the pool      JCO.releaseClient(client);	}  }  protected void cleanUp() {    JCO.removeClientPool(SID);  }  public static void main(String[] argv)  {    Example2 e = new Example2();    e.systemInfo();    e.salesOrders();    e.cleanUp();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -