Java 连接 SAP 配置文件


com.sap.mw.jco

Class JCO

java.lang.Object
  |
  +--com.sap.mw.jco.JCO

public class JCO
extends java.lang.Object

The SAP Java Connector (JCo) package provides an API which enables communication with SAP systems. The toolkit supports client as well as server functionality.

 


Inner Class Summary
static class JCO.AbapException 
          A convenience class on top of JCO.Exception that reports errors which occurred in a SAP system function module
static class JCO.Attributes 
          Attributes is a class which holds a number of attributes of a connection, such as codepage information, system information of the partner, etc.
static class JCO.BasicRepository 
          The meta data repositories are needed to get the technical description of functions and parameters used for fullfiling of RFC calls.
static class JCO.Client 
          This object holds all information necessary to establish a connection to a remote JCO server, i.e. either a SAP system or an external JCO compliant server, respectively.
static class JCO.Connection 
          JCO Client object base class.
static class JCO.ConversionException 
          JCO conversion exception.
static class JCO.Exception 
          General JCO exception object.
static class JCO.Field 
          Class to represent a data field in a record (i.e. parameter list, table, structure).
static class JCO.FieldIterator 
          Encapsulates an iterator for the fields of a record
static class JCO.Function 
          Class that represents a function.
static class JCO.FunctionTemplate 
          Encapsulates all meta data of a function and its import, export, and table parameters.
static interface JCO.IDocument 
          Interface for IDoc class libraries.
static class JCO.J2EEAbapException 
          A convenience class that wraps a JCO.AbapException.
static class JCO.MetaData 
          Implements the meta data for a data structure, i.e. table, structure, or parameter list, respectively.
static class JCO.ParameterList 
          A class that encapsulates a parameter list used to pass on data to a function.
static class JCO.Pool 
          This class encapsulates a connection pool.
static interface JCO.PoolChangedListener 
          JCO connection listener object This listener will can implemented by an application that is interested in getting information on the changes of a connection pool.
static class JCO.PoolManager 
          This manager handles all pool objects.
static class JCO.Record 
          Base class for all data-structures used throughout the JCO toolkit.
static class JCO.Repository 
          Implementation of the SAP system repository.
static class JCO.Request 
          A class that encapsulates a request
static class JCO.Response 
          A class that encapsulates a response
static class JCO.Server 
          Encapsulates the basic JCO server functionality.
static interface JCO.ServerErrorListener 
          JCO server error listener interface.
static interface JCO.ServerExceptionListener 
          JCO server exception listener interface.
static interface JCO.ServerStateChangedListener 
          JCO server state change listener interface.
static class JCO.ServerThread 
          This class implements the minimal set of methods which are necessary to embed a JCO.Server.
static class JCO.Structure 
          Class that encapsulates a composite data structure.
static class JCO.Table 
          Class that encapsulates a database table
static class JCO.Throughput 
          JCO Throughput class.
static interface JCO.TraceListener 
          JCO trace listener interface.

 

Field Summary
static int EXPORT_PARAMETER 
          Flag that indicates a export parameter
static char IDOC_VERSION_2 
          IDOC Version 2
static char IDOC_VERSION_3 
          IDOC Version 3
static char IDOC_VERSION_DEFAULT 
          IDOC Version default
static int IMPORT_PARAMETER 
          Flag that indicates an import parameter
static int INACTIVE_PARAMETER 
          Flag that indicates that the parameter is being excluded from a call
static int OPTIONAL_PARAMETER 
          Flag that indicates an optional parameter
static byte SNC_DEFAULT 
          Flag for secure network communication, uses built-in default settings
static byte SNC_INTEGRITY 
          Flag for secure network communication, ensure integrity of each data packet
static byte SNC_MAX 
          Flag for secure network communication, uses maximal available security
static byte SNC_OPEN 
          Flag for secure network communication, enables plain text communication, but with authorization
static byte SNC_PRIVACY 
          Flag for secure network communication, privacy protects each data packet
static byte STATE_BUSY 
          Flag which indicates that the connection is busy
static byte STATE_CONNECTED 
          Flag which is being set if the client connection is connected
static byte STATE_DISCONNECTED 
          Flag which is being set if the connection is in a closed state
static byte STATE_LISTENING 
          Flag which indicates that the server is listening
static byte STATE_STARTED 
          Flag which is being set if the server has been started
static byte STATE_STOPPED 
          Flag which is being set if the server has been stopped
static byte STATE_SUSPENDED 
          Flag which indicates that the connection has been temporarily suspended
static byte STATE_TRANSACTION 
          Flag which indicates that the connection is handling a transaction
static byte STATE_USED 
          Flag which indicates that the client connection is allocated by a pool
static int TYPE_BCD 
          Packed BCD number, any length between 1 and 16 bytes.
static int TYPE_BYTE 
          Raw data, binary, fixed length, zero padded.
static int TYPE_CHAR 
          1-byte or multibyte character.
static int TYPE_DATE 
          Date ( YYYYYMMDD ).
static int TYPE_EXCEPTION 
          ABAP exception.
static int TYPE_FLOAT 
          Floating point,double precision.
static int TYPE_INT 
          4-byte integer .
static int TYPE_INT1 
          1-byte integer .
static int TYPE_INT2 
          2-byte integer .
static int TYPE_INVALID 
          The field info does not contain a valid JCO data-type
static int TYPE_ITAB 
          Internal table.
static int TYPE_NUM 
          Digits, fixed size,'0' padded.
static int TYPE_STRING 
          Unicode string in UTF8 encoding.
static int TYPE_STRUCTURE 
          A heterogeneous structure.
static int TYPE_TABLE 
          A Table.
static int TYPE_TIME 
          Time (HHMMSS).
static int TYPE_XSTRING 
          Unicode string in binary encoding.
static int UNINITIALIZED 
          The field info was not initialized yet
static int UNINITIALIZED_PARAMETER 
          Flag that indicates an uninitialized parameter

 

Method Summary
static void addClientPool(java.lang.String key, int max_connections, java.util.Properties properties) 
          Creates an instance of a client pool to a remote SAP system
static void addClientPool(java.lang.String key, int max_connections, java.lang.String[][] params) 
          Creates an instance of a client pool to a remote SAP system using an array to specify the connection parameters.
static void addClientPool(java.lang.String key, int max_connections, java.lang.String gwhost, java.lang.String gwserv, java.lang.String tpname) 
          Creates an instance of a client pool to a remote JCO server program
static void addClientPool(java.lang.String key, int max_connections, java.lang.String gwhost, java.lang.String gwserv, java.lang.String tpname, java.lang.String tphost) 
          Creates an instance of a client pool to a remote JCO server program.
static void addClientPool(java.lang.String key, int max_connections, java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String ashost, java.lang.String sysnr) 
          Creates an instance of a client pool to a remote SAP system (no load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
static void addClientPool(java.lang.String key, int max_connections, java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String mshost, java.lang.String r3name, java.lang.String group) 
          Creates an instance of a client pool to a remote SAP system (with load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
static void addClientPool(java.lang.String key, int max_connections, java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String ashost, java.lang.String sysnr, java.lang.String gwhost, java.lang.String gwserv) 
          Creates an instance of a client pool to a remote SAP system (no load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
static void addServerErrorListener(JCO.ServerErrorListener listener) 
          Adds an error listener to the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
static void addServerExceptionListener(JCO.ServerExceptionListener listener) 
          Adds an exception listener to the list of listeners.
If a listener is added as listener during firing of an event, it wont be notified about the last event.
static void addServerStateChangedListener(JCO.ServerStateChangedListener listener) 
          Adds a state changed listener to the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
static void addTraceListener(JCO.TraceListener listener) 
          Adds a trace listener to the list of listeners
static JCO.Client createClient(java.util.Properties properties) 
          Creates an instance of a client connection to a remote SAP system.
static JCO.Client createClient(java.lang.String[][] params) 
          Creates an instance of a client to a remote SAP system using an array to specify the connection parameters.
static JCO.Client createClient(java.lang.String gwhost, java.lang.String gwserv, java.lang.String tpname) 
          Creates an instance of a client connection to a remote RFC server program
static JCO.Client createClient(java.lang.String gwhost, java.lang.String gwserv, java.lang.String tpname, java.lang.String tphost) 
          Creates an instance of a client connection to a remote RFC server program
static JCO.Client createClient(java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String url) 
          Creates an instance of a client connection to a remote SAP system (with load balancing)
static JCO.Client createClient(java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String ashost, java.lang.String sysnr) 
          Creates an instance of a client connection to a remote SAP system (no load balancing)
static JCO.Client createClient(java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String mshost, java.lang.String r3name, java.lang.String group) 
          Creates an instance of a client connection to a remote SAP system (with load balancing)
static JCO.Client createClient(java.lang.String client, java.lang.String user, java.lang.String passwd, java.lang.String lang, java.lang.String ashost, java.lang.String sysnr, java.lang.String gwhost, java.lang.String gwserv) 
          Creates an instance of a client connection to a remote SAP system (no load balancing)
static JCO.Function createFunction(java.lang.String name, JCO.ParameterList input, JCO.ParameterList output, JCO.ParameterList tables) 
          Creates a new JCO Function
static JCO.ParameterList createParameterList() 
          Returns a newly created parameter list
static JCO.ParameterList createParameterList(IMetaData meta_data) 
          Returns a newly created and preconfigured parameter list as specified by the meta data
static IRepository createRepository(java.lang.String name, JCO.Client client) 
          Creates a new repository
static IRepository createRepository(java.lang.String name, java.lang.String pool_name) 
          Creates a new repository
static IRepository createRepository(java.lang.String name, java.lang.String[] pool_names) 
          Creates a new repository
static JCO.Structure createStructure(IMetaData meta_data) 
          Creates a new structure with data fields as described by the specified meta data
static JCO.Structure createStructure(java.lang.String name) 
          Creates a empty structure
static JCO.Table createTable(IMetaData meta_data) 
          Creates a new table with a column layout as described by the specified meta data
static JCO.Table createTable(java.lang.String name) 
          Creates a new table
static void fireTrace(int level, java.lang.String message) 
          Issues a trace message.
static JCO.Client getClient(java.lang.String key) 
          Returns a client connection from the specified pool.
If no clients are available in pool, pool will wait max max_wait_time ms until an other thread releases a client.
static JCO.Client getClient(java.lang.String key, boolean reset) 
          Returns a client connection from the specified pool.
Note: Any client obtained by this method must be released with JCO.releaseClient()
static JCO.PoolManager getClientPoolManager() 
          Returns the pool manager
static com.sap.mw.jco.IMiddleware getMiddlewareImplementation() 
          Returns the middleware implementation that is currently loaded
Note: This function is for internal use only.
static java.lang.String getMiddlewareLayer() 
          Returns the name of the middleware layer that is currently loaded
static java.lang.String getMiddlewareProperty(java.lang.String key) 
          Returns the middleware property for the specifid key or null if not found
static java.lang.String[][] getMiddlewarePropertyInfo() 
          Returns information about the properties which are understood by the middleware implementation.
static java.lang.String getMiddlewareVersion() 
          Returns the version of the loaded middleware
static java.util.Properties getProperties() 
          Returns properties as set by this implementation
static java.lang.String getProperty(java.lang.String key) 
          Returns the property for the specifid key or null if not found
static java.lang.String[][] getPropertyInfo() 
          Returns information about the properties which are understood by the JCO implementation.
static int getTraceLevel() 
          Returns the trace level
static java.lang.String getVersion() 
          Returns the version of the loaded middleware
static void releaseClient(JCO.Client client) 
          Releases a client connection to its pool.
It is neccessary to release all client connections that are obtained with JCO.getClient().
static void removeClientPool(java.lang.String key) 
          Delete a client pool from the pool list.
Note: The routine will close all open connections of the specified pool forcefully, before the pool is being removed.
static void removeServerErrorListener(JCO.ServerErrorListener listener) 
          Removes an error listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
static void removeServerExceptionListener(JCO.ServerExceptionListener listener) 
          Removes an exception listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
static void removeServerStateChangedListener(JCO.ServerStateChangedListener listener) 
          Removes a state changed listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
static void removeTraceListener(JCO.TraceListener listener) 
          Removes a trace listener from the list of listeners
static void setMiddlewareLayer(java.lang.String middleware_layer) 
          Sets the middleware layer to load
static void setMiddlewareProperty(java.lang.String key, java.lang.String value) 
          Sets a middleware property.
static void setProperty(java.lang.String key, java.lang.String value) 
          Sets the property for the given key.
static void setTraceLevel(int level) 
          Sets the trace level
static void setTracePath(java.lang.String path) 
          Sets the path to write trace files
static void testCodepage(java.lang.String codepage) 
          Deprecated. This method will be removed or modified in the next release.
static void testCodepage(java.lang.String codepage, int mode) 
          Deprecated. This method will be removed or modified in the next release.

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

 

Field Detail

 

UNINITIALIZED

public static final int UNINITIALIZED
The field info was not initialized yet

TYPE_INVALID

public static final int TYPE_INVALID
The field info does not contain a valid JCO data-type

TYPE_CHAR

public static final int TYPE_CHAR
1-byte or multibyte character. Fixed sized, blank padded. Corresponds to ABAP type 'C'.

TYPE_DATE

public static final int TYPE_DATE
Date ( YYYYYMMDD ). Corresponds to ABAP type 'D'.

TYPE_BCD

public static final int TYPE_BCD
Packed BCD number, any length between 1 and 16 bytes. Corresponds to ABAP type 'P'.

TYPE_TIME

public static final int TYPE_TIME
Time (HHMMSS). Corresponds to ABAP type 'T'

TYPE_BYTE

public static final int TYPE_BYTE
Raw data, binary, fixed length, zero padded. Corresponds to ABAP type 'X'.

TYPE_ITAB

public static final int TYPE_ITAB
Internal table. (Not used)

TYPE_NUM

public static final int TYPE_NUM
Digits, fixed size,'0' padded. Corresponds to ABAP type 'N'.

TYPE_FLOAT

public static final int TYPE_FLOAT
Floating point,double precision. Corresponds to ABAP type 'F'.

TYPE_INT

public static final int TYPE_INT
4-byte integer . Corresponds to ABAP type 'I'.

TYPE_INT2

public static final int TYPE_INT2
2-byte integer . Corresponds to ABAP type 's'.

TYPE_INT1

public static final int TYPE_INT1
1-byte integer . Corresponds to ABAP type 'b'.

TYPE_STRING

public static final int TYPE_STRING
Unicode string in UTF8 encoding. Corresponds to ABAP type 'g'.

TYPE_XSTRING

public static final int TYPE_XSTRING
Unicode string in binary encoding. Corresponds to ABAP type 'y'.

TYPE_STRUCTURE

public static final int TYPE_STRUCTURE
A heterogeneous structure. Corresponds to ABAP type 'u'.

TYPE_TABLE

public static final int TYPE_TABLE
A Table. Corresponds to ABAP type 'h'.

TYPE_EXCEPTION

public static final int TYPE_EXCEPTION
ABAP exception.

IDOC_VERSION_DEFAULT

public static final char IDOC_VERSION_DEFAULT
IDOC Version default

IDOC_VERSION_2

public static final char IDOC_VERSION_2
IDOC Version 2

IDOC_VERSION_3

public static final char IDOC_VERSION_3
IDOC Version 3

IMPORT_PARAMETER

public static final int IMPORT_PARAMETER
Flag that indicates an import parameter

EXPORT_PARAMETER

public static final int EXPORT_PARAMETER
Flag that indicates a export parameter

OPTIONAL_PARAMETER

public static final int OPTIONAL_PARAMETER
Flag that indicates an optional parameter

UNINITIALIZED_PARAMETER

public static final int UNINITIALIZED_PARAMETER
Flag that indicates an uninitialized parameter

INACTIVE_PARAMETER

public static final int INACTIVE_PARAMETER
Flag that indicates that the parameter is being excluded from a call

STATE_DISCONNECTED

public static final byte STATE_DISCONNECTED
Flag which is being set if the connection is in a closed state

STATE_CONNECTED

public static final byte STATE_CONNECTED
Flag which is being set if the client connection is connected

STATE_STOPPED

public static final byte STATE_STOPPED
Flag which is being set if the server has been stopped

STATE_STARTED

public static final byte STATE_STARTED
Flag which is being set if the server has been started

STATE_BUSY

public static final byte STATE_BUSY
Flag which indicates that the connection is busy

STATE_LISTENING

public static final byte STATE_LISTENING
Flag which indicates that the server is listening

STATE_USED

public static final byte STATE_USED
Flag which indicates that the client connection is allocated by a pool

STATE_TRANSACTION

public static final byte STATE_TRANSACTION
Flag which indicates that the connection is handling a transaction

STATE_SUSPENDED

public static final byte STATE_SUSPENDED
Flag which indicates that the connection has been temporarily suspended

SNC_OPEN

public static final byte SNC_OPEN
Flag for secure network communication, enables plain text communication, but with authorization

SNC_INTEGRITY

public static final byte SNC_INTEGRITY
Flag for secure network communication, ensure integrity of each data packet

SNC_PRIVACY

public static final byte SNC_PRIVACY
Flag for secure network communication, privacy protects each data packet

SNC_DEFAULT

public static final byte SNC_DEFAULT
Flag for secure network communication, uses built-in default settings

SNC_MAX

public static final byte SNC_MAX
Flag for secure network communication, uses maximal available security
Method Detail

testCodepage

public static void testCodepage(java.lang.String codepage)
Deprecated. This method will be removed or modified in the next release.

 

Tests native codepage converter Internal use only.

testCodepage

public static void testCodepage(java.lang.String codepage,
                                int mode)
Deprecated. This method will be removed or modified in the next release.

 

Tests native codepage converter Internal use only.

getMiddlewareImplementation

public static final com.sap.mw.jco.IMiddleware getMiddlewareImplementation()
Returns the middleware implementation that is currently loaded
Note: This function is for internal use only. Do not use in application programs.
Returns:
the implementation of middleware layer currently used

getMiddlewareLayer

public static final java.lang.String getMiddlewareLayer()
Returns the name of the middleware layer that is currently loaded
Returns:
the name middleware layer currently used

setMiddlewareLayer

public static final void setMiddlewareLayer(java.lang.String middleware_layer)
Sets the middleware layer to load
Parameters:
middleware_layer - the middleware layer to load

getVersion

public static final java.lang.String getVersion()
Returns the version of the loaded middleware
Returns:
the version of the loaded middleware

getPropertyInfo

public static final java.lang.String[][] getPropertyInfo()
Returns information about the properties which are understood by the JCO implementation. Each element of the array is a set of two Strings containg the name and description of a property, respectively.
Returns:
information about the properties which are understood by the implementation.

getProperties

public static final java.util.Properties getProperties()
Returns properties as set by this implementation
Returns:
properties as set by this implementation

getProperty

public static final java.lang.String getProperty(java.lang.String key)
Returns the property for the specifid key or null if not found
Parameters:
key - the property name
Returns:
the property for the specifid key or null if not found

setProperty

public static final void setProperty(java.lang.String key,
                                     java.lang.String value)
Sets the property for the given key. Defined properties are
property name description
jco.jarm turns on jARM monitoring (allowed values are 1 or 0)
jco.jdsr turns on jDSR monitoring (allowed values are 1 or 0)
jco.jdsr.comp_name sets the component name in dsr context
Parameters:
key - the property name
value - the value of the property

getMiddlewareVersion

public static final java.lang.String getMiddlewareVersion()
Returns the version of the loaded middleware
Returns:
the version of the loaded middleware

getMiddlewareProperty

public static final java.lang.String getMiddlewareProperty(java.lang.String key)
Returns the middleware property for the specifid key or null if not found
Returns:
the middleware property for the specifid key

setMiddlewareProperty

public static final void setMiddlewareProperty(java.lang.String key,
                                               java.lang.String value)
Sets a middleware property.
Parameters:
key - the name of the property
value - the value of the property or null if the property should be removed

Depending on the type of middleware layer loaded, the properties that will be recognized may vary.
For com.sap.mw.jco.rfc.MiddlewareRFC, i.e. the default RFC layer, the supported properties are:

 

jco.middleware.snc_lib Path to the SNC library
jco.middleware.wait_for_request_time Time in seconds to wait incessantly for incoming requests
jco.middleware.max_startup_delay Maximum server startup delay time in seconds
jco.middleware.allow_start_of_programs List of programs that are allowed to be started by the RFC library

 


getMiddlewarePropertyInfo

public static final java.lang.String[][] getMiddlewarePropertyInfo()
Returns information about the properties which are understood by the middleware implementation. Each element of the array is a set of two Strings containg the name and description of a property, respectively.
Returns:
information about the properties which are understood by the implementation.

getTraceLevel

public static int getTraceLevel()
Returns the trace level
Returns:
the global trace level

setTraceLevel

public static void setTraceLevel(int level)
Sets the trace level
Parameters:
level - the global trace level. Pass 0 to switch the tracing off.

setTracePath

public static void setTracePath(java.lang.String path)
Sets the path to write trace files
Parameters:
path - to write the trace files. Pass "." to write the trace files in current folder.

addTraceListener

public static void addTraceListener(JCO.TraceListener listener)
Adds a trace listener to the list of listeners
Parameters:
listener - the listener to add
See Also:
removeTraceListener(com.sap.mw.jco.JCO.TraceListener)

removeTraceListener

public static void removeTraceListener(JCO.TraceListener listener)
Removes a trace listener from the list of listeners
Parameters:
listener - the listener to remove
See Also:
addTraceListener(com.sap.mw.jco.JCO.TraceListener)

fireTrace

public static void fireTrace(int level,
                             java.lang.String message)
Issues a trace message.
Parameters:
level - the trace level
message - the trace message

addServerExceptionListener

public static void addServerExceptionListener(JCO.ServerExceptionListener listener)
Adds an exception listener to the list of listeners.
If a listener is added as listener during firing of an event, it wont be notified about the last event.
Parameters:
listener - the listener to add
See Also:
removeServerExceptionListener(com.sap.mw.jco.JCO.ServerExceptionListener)

removeServerExceptionListener

public static void removeServerExceptionListener(JCO.ServerExceptionListener listener)
Removes an exception listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
Parameters:
listener - the listener to remove
See Also:
addServerExceptionListener(com.sap.mw.jco.JCO.ServerExceptionListener)

addServerErrorListener

public static void addServerErrorListener(JCO.ServerErrorListener listener)
Adds an error listener to the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
Parameters:
listener - the listener to add
See Also:
removeServerErrorListener(com.sap.mw.jco.JCO.ServerErrorListener)

removeServerErrorListener

public static void removeServerErrorListener(JCO.ServerErrorListener listener)
Removes an error listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
Parameters:
listener - the listener to remove
See Also:
addServerErrorListener(com.sap.mw.jco.JCO.ServerErrorListener)

addServerStateChangedListener

public static void addServerStateChangedListener(JCO.ServerStateChangedListener listener)
Adds a state changed listener to the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
Parameters:
listener - the listener to add
See Also:
removeServerStateChangedListener(com.sap.mw.jco.JCO.ServerStateChangedListener)

removeServerStateChangedListener

public static void removeServerStateChangedListener(JCO.ServerStateChangedListener listener)
Removes a state changed listener from the list of listeners.
If a listener is removed from the list of listeners during firing of an event, it will be notified about the last event.
Parameters:
listener - the listener to remove
See Also:
addServerStateChangedListener(com.sap.mw.jco.JCO.ServerStateChangedListener)

createClient

public static JCO.Client createClient(java.util.Properties properties)
Creates an instance of a client connection to a remote SAP system.
Parameters:
properties - the connection parameters as a property list.
Returns:
the newly created client. Depending on the type of middleware layer loaded, the properties recognized by this method may vary.
For com.sap.mw.jco.rfc.MiddlewareRFC, i.e. the default RFC layer, the supported properties are:

 

jco.client.client SAP client
jco.client.user Logon user
jco.client.alias_user Alias user name
jco.client.passwd Logon password
jco.client.lang Logon language
jco.client.sysnr SAP system number
jco.client.ashost SAP application server
jco.client.mshost SAP message server
jco.client.gwhost Gateway host
jco.client.gwserv Gateway service
jco.client.r3name R/3 name
jco.client.group Group of SAP application servers
jco.client.tpname Program ID of external server program
jco.client.tphost Host of external server program
jco.client.type Type of remote host 2 = R/2, 3 = R/3, E = External
jco.client.trace Enable/disable RFC trace (0 or 1)
jco.client.codepage Initial codepage in SAP notation
jco.client.abap_debug Enable ABAP debugging 0 or 1
jco.client.use_sapgui Use remote SAP graphical user interface (0/1/2)
jco.client.getsso2 Get/Don't get a SSO ticket after logon (1 or 0)
jco.client.mysapsso2 Use the specified SAP Cookie Version 2 as logon ticket
jco.client.x509cert Use the specified X509 certificate as logon ticket
jco.client.lcheck Enable/Disable logon check at open time, 1 (enable) or 0 (disable)
jco.client.grt_data Additional data for GUI
jco.client.use_guihost Host to which to redirect the remote GUI
jco.client.use_guiserv Service to which to redirect of the remote GUI
jco.client.use_guiprogid Program ID of the server which starts the remote GUI
jco.client.snc_mode Secure network connection (SNC) mode, 0 (off) or 1 (on)
jco.client.snc_partnername SNC partner, e.g. p:CN=R3, O=XYZ-INC, C=EN
jco.client.snc_qop SNC level of security, 1 to 9
jco.client.snc_myname SNC name. Overrides default SNC partner
jco.client.snc_lib Path to library which provides SNC service
jco.client.dest R/2 destination
jco.client.saplogon_id String defined for SAPLOGON on 32-bit Windows
jco.client.extiddata Data for external authentication (PAS)
jco.client.extidtype Type of external authentication (PAS)
jco.client.idle_timeout Idle timeout (in seconds) for the connection after which it will be closed by R/3. 
Only positive values are allowed.
jco.client.dsr Enable/Disable dsr support (0 or 1)

 

Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter. The logon with SSO or X.509 is based on SNC-encryption and can only be used in combination with a secure network connection.


createClient

public static JCO.Client createClient(java.lang.String[][] params)
Creates an instance of a client to a remote SAP system using an array to specify the connection parameters. Each item in the array is a name/value pair where the first element is the name and the second is the value associated with the name, e.g.
     static String[][] login_params  = {
        { "client" ,   "000"      },
        { "user"   ,   "johndoe"  },
        { "passwd" ,   "whoknows" },
        { "lang"   ,   "EN"       },
        ...
     };

        ...

     JCO.Client = JCO.createClient(login_params);

 
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter. The logon with SSO or X.509 is based on SNC-encryption and can only be used in combination with a secure network connection.
Parameters:
params - the connection parameters as an two-dimemsional array

createClient

public static JCO.Client createClient(java.lang.String client,
                                      java.lang.String user,
                                      java.lang.String passwd,
                                      java.lang.String lang,
                                      java.lang.String ashost,
                                      java.lang.String sysnr)
Creates an instance of a client connection to a remote SAP system (no load balancing)

 

Parameters:
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
ashost - Host name of the application server
sysnr - SAP system number
Returns:
the newly created client

createClient

public static JCO.Client createClient(java.lang.String client,
                                      java.lang.String user,
                                      java.lang.String passwd,
                                      java.lang.String lang,
                                      java.lang.String ashost,
                                      java.lang.String sysnr,
                                      java.lang.String gwhost,
                                      java.lang.String gwserv)
Creates an instance of a client connection to a remote SAP system (no load balancing)
Parameters:
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
ashost - Host name of the application server
sysnr - SAP system number
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
Returns:
the newly created client

createClient

public static JCO.Client createClient(java.lang.String client,
                                      java.lang.String user,
                                      java.lang.String passwd,
                                      java.lang.String lang,
                                      java.lang.String mshost,
                                      java.lang.String r3name,
                                      java.lang.String group)
Creates an instance of a client connection to a remote SAP system (with load balancing)
Parameters:
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
mshost - Host name of the message server
r3name - Name of the SAP system
group - Name of the group of application servers
Returns:
the newly created client

createClient

public static JCO.Client createClient(java.lang.String client,
                                      java.lang.String user,
                                      java.lang.String passwd,
                                      java.lang.String lang,
                                      java.lang.String url)
Creates an instance of a client connection to a remote SAP system (with load balancing)
Parameters:
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
url - the url to the remote host
Returns:
the newly created client

createClient

public static JCO.Client createClient(java.lang.String gwhost,
                                      java.lang.String gwserv,
                                      java.lang.String tpname)
Creates an instance of a client connection to a remote RFC server program
Parameters:
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
tpname - Program ID of an registered RFC server program
Returns:
the newly created client

createClient

public static JCO.Client createClient(java.lang.String gwhost,
                                      java.lang.String gwserv,
                                      java.lang.String tpname,
                                      java.lang.String tphost)
Creates an instance of a client connection to a remote RFC server program
Parameters:
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
tpname - Program ID of an registered RFC server program
tphost - Host name where the external server runs
Returns:
the newly created client

getClientPoolManager

public static JCO.PoolManager getClientPoolManager()
Returns the pool manager
Returns:
the pool manager

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String[][] params)
Creates an instance of a client pool to a remote SAP system using an array to specify the connection parameters. Each item in the array is a name/value pair where the first element is the name and the second is the value associated with the name, e.g.
     static String[][] login_params  = {
        { "client" ,   "000"      },
        { "user"   ,   "johndoe"  },
        { "passwd" ,   "whoknows" },
        { "language" , "EN"       },
        ...
     };

        ...

     JCO.Client = JCO.getClient(MY_POOL);

 
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
params - the connection parameters as an two-dimensional array For a list of supported properties
Throws:
JCO.Exception - thrown if a pool with the specified name already exists
See Also:
createClient(Properties properties)

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.util.Properties properties)
Creates an instance of a client pool to a remote SAP system
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
properties - the connection parameters as a property list
Throws:
JCO.Exception - thrown if a pool with the specified name already exists
See Also:
createClient(Properties properties)

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String client,
                                 java.lang.String user,
                                 java.lang.String passwd,
                                 java.lang.String lang,
                                 java.lang.String ashost,
                                 java.lang.String sysnr)
Creates an instance of a client pool to a remote SAP system (no load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
ashost - Host name of the application server
sysnr - SAP system number
Throws:
JCO.Exception - thrown if a pool with the specified name already exists

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String client,
                                 java.lang.String user,
                                 java.lang.String passwd,
                                 java.lang.String lang,
                                 java.lang.String ashost,
                                 java.lang.String sysnr,
                                 java.lang.String gwhost,
                                 java.lang.String gwserv)
Creates an instance of a client pool to a remote SAP system (no load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
ashost - Host name of the application server
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
sysnr - SAP system number
Throws:
JCO.Exception - thrown if a pool with the specified name already exists

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String client,
                                 java.lang.String user,
                                 java.lang.String passwd,
                                 java.lang.String lang,
                                 java.lang.String mshost,
                                 java.lang.String r3name,
                                 java.lang.String group)
Creates an instance of a client pool to a remote SAP system (with load balancing).
Note: Depending on the SAP system release, logins using Single-Sign-On (SSO) or X509 certificates are being supported.
For SSO specify the user to be $MYSAPSSO2$ and pass the base64 encoded ticket as as the passwd parameter.
For X509 specify the user to be $X509CERT$ and pass the base64 encoded certificate as the passwd parameter.
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
client - SAP logon client
user - SAP logon user
passwd - SAP logon password
lang - SAP logon language
mshost - Host name of the message server
r3name - Name of the SAP system
group - Name of the group of application servers
Throws:
JCO.Exception - thrown if a pool with the specified name already exists

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String gwhost,
                                 java.lang.String gwserv,
                                 java.lang.String tpname)
Creates an instance of a client pool to a remote JCO server program
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
tpname - Program ID of an registered JCO server program
Throws:
JCO.Exception - thrown if a pool with the specified name already exists

addClientPool

public static void addClientPool(java.lang.String key,
                                 int max_connections,
                                 java.lang.String gwhost,
                                 java.lang.String gwserv,
                                 java.lang.String tpname,
                                 java.lang.String tphost)
Creates an instance of a client pool to a remote JCO server program.
Parameters:
key - the name of the pool
max_connections - max. number of connections allowed for the pool.
 Important:See also OSS notes 314530 and 316877 on how to setup the number of external connections in the SAP system and/or the SAP gateway.
gwhost - Host name of the SAP gateway
gwserv - Service number of the SAP gateway
tpname - Program ID of an registered JCO server program
tphost - Host name where the external server runs
Throws:
JCO.Exception - thrown if a pool with the specified name already exists

removeClientPool

public static void removeClientPool(java.lang.String key)
Delete a client pool from the pool list.
Note: The routine will close all open connections of the specified pool forcefully, before the pool is being removed.
Parameters:
key - the name of the pool

getClient

public static JCO.Client getClient(java.lang.String key)
Returns a client connection from the specified pool.
If no clients are available in pool, pool will wait max max_wait_time ms until an other thread releases a client. If no clients are released during the waiting and a client could not be allocated, a pool throws JCO.Exception with the error group set to JCO.Exception.JCO_ERROR_RESOURCE.
Parameters:
key - the name of the pool from which to take the connection from
Returns:
a client connection from the specified pool or null
Throws:
JCO.Exception - with the error group set to JCO.Exception.JCO_ERROR_RESOURCE, if a client could not be allocated, i.e. the client pool is exhausted
JCO.Exception - thrown if a client connection could not be established due to wrong logon data, network problems, etc.
See Also:
JCO.PoolManager.setMaxWaitTime(long)Note: Any client obtained by this method must be released with JCO.releaseClient()releaseClient(com.sap.mw.jco.JCO.Client)

getClient

public static JCO.Client getClient(java.lang.String key,
                                   boolean reset)
Returns a client connection from the specified pool.
Note: Any client obtained by this method must be released with JCO.releaseClient()
Parameters:
key - the name of the pool from which to take the connection from
reset - if true reset the connection, e.g. free all resources that might have been allocated on either the server side or by the local middleware library. On systems below SAP system 4.0A resetting a connection effectively means closing and subsequently reopening the connection which is a very expensive process. However, several scenarios (e.g. BAPIs) might need such reinitialized connections.
JCO.releaseClient(Client client) will reset the connection automatically.
Returns:
a client connection from the specified pool or null
Throws:
JCO.Exception - with the error group set to JCO.Exception.JCO_ERROR_RESOURCE, if a client could not be allocated, i.e. the client pool is exhausted
JCO.Exception - thrown if a client connection could not be established due to wrong logon data, network problems, etc.
See Also:
releaseClient(com.sap.mw.jco.JCO.Client)

releaseClient

public static void releaseClient(JCO.Client client)
Releases a client connection to its pool.
It is neccessary to release all client connections that are obtained with JCO.getClient(). Otherwise the pool will run out of connections at some time. As a result a JCO.Exception of the groupJCO_ERROR_RESOURCE will be thrown by the JCO.getClient() method. 
The pool checks the client and decides to put it back to the cache or to remove it. 
Note: After releasing a JCO.Client instance with this method you have to clear all references to it. Otherwise there will be a JCO.Exception thrown if it used once again. 
On SAP systems equal or above 4.0A the method resets the connection, i.e. frees all resources and context allocated on the server side (i.e. '/n' in SAP system) or by the local middleware layer.
Parameters:
client - the client to be released to the pool
Throws:
JCO.Exception - thrown if a connection could not be released cleanly
See Also:
getClient(java.lang.String)JCO.Pool.setResetOnRelease(boolean)

createParameterList

public static JCO.ParameterList createParameterList()
Returns a newly created parameter list
Returns:
an empty parameter list

createParameterList

public static JCO.ParameterList createParameterList(IMetaData meta_data)
Returns a newly created and preconfigured parameter list as specified by the meta data
Returns:
a preconfigured parameter list

createStructure

public static JCO.Structure createStructure(java.lang.String name)
Creates a empty structure
Parameters:
name - the name of the structure

createStructure

public static JCO.Structure createStructure(IMetaData meta_data)
Creates a new structure with data fields as described by the specified meta data
Parameters:
meta_data - the meta data which describe the layout of the structure

createTable

public static JCO.Table createTable(java.lang.String name)
Creates a new table
Parameters:
name - the name of the table

createTable

public static JCO.Table createTable(IMetaData meta_data)
Creates a new table with a column layout as described by the specified meta data
Parameters:
meta_data - the meta data which describe the columns of the table

createFunction

public static JCO.Function createFunction(java.lang.String name,
                                          JCO.ParameterList input,
                                          JCO.ParameterList output,
                                          JCO.ParameterList tables)
Creates a new JCO Function
Parameters:
name - the name of the function
input - the list of import parameters
output - the list of export parameters
tables - the list of table parameters
Returns:
the newly created function

createRepository

public static IRepository createRepository(java.lang.String name,
                                           java.lang.String pool_name)
Creates a new repository
Parameters:
name - the name of the new repository
pool_name - the name of the client pool which the repository uses to dynamically query the remote SAP system dictonary.

createRepository

public static IRepository createRepository(java.lang.String name,
                                           java.lang.String[] pool_names)
Creates a new repository
Parameters:
name - the name of the new repository
pool_names - the names of the client pools which the repository uses to dynamically query the remote SAP system dictonary.

createRepository

public static IRepository createRepository(java.lang.String name,
                                           JCO.Client client)
Creates a new repository
Parameters:
name - the name of the new repository
client - the client used to dynamically access the SAP system dictonary


展开阅读全文

没有更多推荐了,返回首页