Java 连接 SAP 配置文件
?Class?Use?Tree?Deprecated?Index?Help???PREV CLASS? ?NEXT CLASSFRAMES?? ?NO FRAMESSUMMARY: ?INNER?|?FIELD?|?CONSTR?|?METHODDETAIL: ?FIELD?|?CONSTR?|?METHOD
com.sap.mw.jco
java.lang.Object | +--com.sap.mw.jco.JCO
The SAP Java Connector (JCo) package provides an API which enables communication with SAP systems. The toolkit supports client as well as server functionality.
?
?
public static final int UNINITIALIZEDThe field info was not initialized yet
public static final int TYPE_INVALIDThe field info does not contain a valid JCO data-type
public static final int TYPE_CHAR1-byte or multibyte character. Fixed sized, blank padded. Corresponds to ABAP type 'C'.
public static final int TYPE_DATEDate ( YYYYYMMDD ). Corresponds to ABAP type 'D'.
public static final int TYPE_BCDPacked BCD number, any length between 1 and 16 bytes. Corresponds to ABAP type 'P'.
public static final int TYPE_TIMETime (HHMMSS). Corresponds to ABAP type 'T'
public static final int TYPE_BYTERaw data, binary, fixed length, zero padded. Corresponds to ABAP type 'X'.
public static final int TYPE_ITABInternal table. (Not used)
public static final int TYPE_NUMDigits, fixed size,'0' padded. Corresponds to ABAP type 'N'.
public static final int TYPE_FLOATFloating point,double precision. Corresponds to ABAP type 'F'.
public static final int TYPE_INT4-byte integer . Corresponds to ABAP type 'I'.
public static final int TYPE_INT22-byte integer . Corresponds to ABAP type 's'.
public static final int TYPE_INT11-byte integer . Corresponds to ABAP type 'b'.
public static final int TYPE_STRINGUnicode string in UTF8 encoding. Corresponds to ABAP type 'g'.
public static final int TYPE_XSTRINGUnicode string in binary encoding. Corresponds to ABAP type 'y'.
public static final int TYPE_STRUCTUREA heterogeneous structure. Corresponds to ABAP type 'u'.
public static final int TYPE_TABLEA Table. Corresponds to ABAP type 'h'.
public static final int TYPE_EXCEPTIONABAP exception.
public static final char IDOC_VERSION_DEFAULTIDOC Version default
public static final char IDOC_VERSION_2IDOC Version 2
public static final char IDOC_VERSION_3IDOC Version 3
public static final int IMPORT_PARAMETERFlag that indicates an import parameter
public static final int EXPORT_PARAMETERFlag that indicates a export parameter
public static final int OPTIONAL_PARAMETERFlag that indicates an optional parameter
public static final int UNINITIALIZED_PARAMETERFlag that indicates an uninitialized parameter
public static final int INACTIVE_PARAMETERFlag that indicates that the parameter is being excluded from a call
public static final byte STATE_DISCONNECTEDFlag which is being set if the connection is in a closed state
public static final byte STATE_CONNECTEDFlag which is being set if the client connection is connected
public static final byte STATE_STOPPEDFlag which is being set if the server has been stopped
public static final byte STATE_STARTEDFlag which is being set if the server has been started
public static final byte STATE_BUSYFlag which indicates that the connection is busy
public static final byte STATE_LISTENINGFlag which indicates that the server is listening
public static final byte STATE_USEDFlag which indicates that the client connection is allocated by a pool
public static final byte STATE_TRANSACTIONFlag which indicates that the connection is handling a transaction
public static final byte STATE_SUSPENDEDFlag which indicates that the connection has been temporarily suspended
public static final byte SNC_OPENFlag for secure network communication, enables plain text communication, but with authorization
public static final byte SNC_INTEGRITYFlag for secure network communication, ensure integrity of each data packet
public static final byte SNC_PRIVACYFlag for secure network communication, privacy protects each data packet
public static final byte SNC_DEFAULTFlag for secure network communication, uses built-in default settings
public static final byte SNC_MAXFlag for secure network communication, uses maximal available securityMethod Detail
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.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.public static final com.sap.mw.jco.IMiddleware getMiddlewareImplementation()Returns the middleware implementation that is currently loaded
public static final java.lang.String getMiddlewareLayer()Returns the name of the middleware layer that is currently loadedReturns:the name middleware layer currently used
public static final void setMiddlewareLayer(java.lang.String?middleware_layer)Sets the middleware layer to loadParameters:
middleware_layer
?- the middleware layer to loadpublic static final java.lang.String getVersion()Returns the version of the loaded middlewareReturns:the version of the loaded middleware
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.
public static final java.util.Properties getProperties()Returns properties as set by this implementationReturns:properties as set by this implementation
public static final java.lang.String getProperty(java.lang.String?key)Returns the property for the specifid key or?null?if not foundParameters:
key
?- the property nameReturns:the property for the specifid key or?null?if not foundpublic static final void setProperty(java.lang.String?key, java.lang.String?value)Sets the property for the given key. Defined properties are
key
?- the property namevalue
?- the value of the propertypublic static final java.lang.String getMiddlewareVersion()Returns the version of the loaded middlewareReturns:the version of the loaded middleware
public static final java.lang.String getMiddlewareProperty(java.lang.String?key)Returns the middleware property for the specifid key or?null?if not foundReturns:the middleware property for the specifid key
public static final void setMiddlewareProperty(java.lang.String?key, java.lang.String?value)Sets a middleware property.Parameters:
key
?- the name of the propertyvalue
?- the value of the property or?null?if the property should be removedDepending 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_libPath to the SNC libraryjco.middleware.wait_for_request_timeTime in seconds to wait incessantly for incoming requestsjco.middleware.max_startup_delayMaximum server startup delay time in secondsjco.middleware.allow_start_of_programsList of programs that are allowed to be started by the RFC library?
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.
public static int getTraceLevel()Returns the trace levelReturns:the global trace level
public static void setTraceLevel(int?level)Sets the trace levelParameters:
level
?- the global trace level. Pass?0?to switch the tracing off.public static void setTracePath(java.lang.String?path)Sets the path to write trace filesParameters:
path
?- to write the trace files. Pass?"."?to write the trace files in current folder.public static void addTraceListener(JCO.TraceListener?listener)Adds a trace listener to the list of listenersParameters:
listener
?- the listener to addSee Also:removeTraceListener(com.sap.mw.jco.JCO.TraceListener)
public static void removeTraceListener(JCO.TraceListener?listener)Removes a trace listener from the list of listenersParameters:
listener
?- the listener to removeSee Also:addTraceListener(com.sap.mw.jco.JCO.TraceListener)
public static void fireTrace(int?level, java.lang.String?message)Issues a trace message.Parameters:
level
?- the trace levelmessage
?- the trace messagepublic static void addServerExceptionListener(JCO.ServerExceptionListener?listener)Adds an exception listener to the list of listeners.
listener
?- the listener to addSee Also:removeServerExceptionListener(com.sap.mw.jco.JCO.ServerExceptionListener)
public static void removeServerExceptionListener(JCO.ServerExceptionListener?listener)Removes an exception listener from the list of listeners.
listener
?- the listener to removeSee Also:addServerExceptionListener(com.sap.mw.jco.JCO.ServerExceptionListener)
public static void addServerErrorListener(JCO.ServerErrorListener?listener)Adds an error listener to the list of listeners.
listener
?- the listener to addSee Also:removeServerErrorListener(com.sap.mw.jco.JCO.ServerErrorListener)
public static void removeServerErrorListener(JCO.ServerErrorListener?listener)Removes an error listener from the list of listeners.
listener
?- the listener to removeSee Also:addServerErrorListener(com.sap.mw.jco.JCO.ServerErrorListener)
public static void addServerStateChangedListener(JCO.ServerStateChangedListener?listener)Adds a state changed listener to the list of listeners.
listener
?- the listener to addSee Also:removeServerStateChangedListener(com.sap.mw.jco.JCO.ServerStateChangedListener)
public static void removeServerStateChangedListener(JCO.ServerStateChangedListener?listener)Removes a state changed listener from the list of listeners.
listener
?- the listener to removeSee Also:addServerStateChangedListener(com.sap.mw.jco.JCO.ServerStateChangedListener)
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.?
jco.client.clientSAP clientjco.client.userLogon userjco.client.alias_userAlias user namejco.client.passwdLogon passwordjco.client.langLogon languagejco.client.sysnrSAP system numberjco.client.ashostSAP application serverjco.client.mshostSAP message serverjco.client.gwhostGateway hostjco.client.gwservGateway servicejco.client.r3nameR/3 namejco.client.groupGroup of SAP application serversjco.client.tpnameProgram ID of external server programjco.client.tphostHost of external server programjco.client.typeType of remote host 2 = R/2, 3 = R/3, E = Externaljco.client.traceEnable/disable RFC trace (0 or 1)jco.client.codepageInitial codepage in SAP notationjco.client.abap_debugEnable ABAP debugging 0 or 1jco.client.use_sapguiUse remote SAP graphical user interface (0/1/2)jco.client.getsso2Get/Don't get a SSO ticket after logon (1 or 0)jco.client.mysapsso2Use the specified SAP Cookie Version 2 as logon ticketjco.client.x509certUse the specified X509 certificate as logon ticketjco.client.lcheckEnable/Disable logon check at open time, 1 (enable) or 0 (disable)jco.client.grt_dataAdditional data for GUIjco.client.use_guihostHost to which to redirect the remote GUIjco.client.use_guiservService to which to redirect of the remote GUIjco.client.use_guiprogidProgram ID of the server which starts the remote GUIjco.client.snc_modeSecure network connection (SNC) mode, 0 (off) or 1 (on)jco.client.snc_partnernameSNC partner, e.g. p:CN=R3, O=XYZ-INC, C=ENjco.client.snc_qopSNC level of security, 1 to 9jco.client.snc_mynameSNC name. Overrides default SNC partnerjco.client.snc_libPath to library which provides SNC servicejco.client.destR/2 destinationjco.client.saplogon_idString defined for SAPLOGON on 32-bit Windowsjco.client.extiddataData for external authentication (PAS)jco.client.extidtypeType of external authentication (PAS)jco.client.idle_timeoutIdle timeout (in seconds) for the connection after which it will be closed by R/3.??
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.
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.
params
?- the connection parameters as an two-dimemsional arraypublic 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 clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languageashost
?- Host name of the application serversysnr
?- SAP system numberReturns:the newly created clientpublic 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 clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languageashost
?- Host name of the application serversysnr
?- SAP system numbergwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewayReturns:the newly created clientpublic 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 clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languagemshost
?- Host name of the message serverr3name
?- Name of the SAP systemgroup
?- Name of the group of application serversReturns:the newly created clientpublic 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 clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languageurl
?- the url to the remote hostReturns:the newly created clientpublic 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 programParameters:
gwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewaytpname
?- Program ID of an registered RFC server programReturns:the newly created clientpublic 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 programParameters:
gwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewaytpname
?- Program ID of an registered RFC server programtphost
?- Host name where the external server runsReturns:the newly created clientpublic static JCO.PoolManager getClientPoolManager()Returns the pool managerReturns:the pool manager
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 poolmax_connections
?- max. number of connections allowed for the pool.params
?- the connection parameters as an two-dimensional array For a list of supported propertiesThrows:JCO.Exception
?- thrown if a pool with the specified name already existsSee Also:createClient(Properties properties)
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 systemParameters:
key
?- the name of the poolmax_connections
?- max. number of connections allowed for the pool.properties
?- the connection parameters as a property listThrows:JCO.Exception
?- thrown if a pool with the specified name already existsSee Also:createClient(Properties properties)
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).
key
?- the name of the poolmax_connections
?- max. number of connections allowed for the pool.client
?- SAP logon clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languageashost
?- Host name of the application serversysnr
?- SAP system numberThrows:JCO.Exception
?- thrown if a pool with the specified name already existspublic 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).
key
?- the name of the poolmax_connections
?- max. number of connections allowed for the pool.client
?- SAP logon clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languageashost
?- Host name of the application servergwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewaysysnr
?- SAP system numberThrows:JCO.Exception
?- thrown if a pool with the specified name already existspublic 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).
key
?- the name of the poolmax_connections
?- max. number of connections allowed for the pool.client
?- SAP logon clientuser
?- SAP logon userpasswd
?- SAP logon passwordlang
?- SAP logon languagemshost
?- Host name of the message serverr3name
?- Name of the SAP systemgroup
?- Name of the group of application serversThrows:JCO.Exception
?- thrown if a pool with the specified name already existspublic 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 programParameters:
key
?- the name of the poolmax_connections
?- max. number of connections allowed for the pool.gwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewaytpname
?- Program ID of an registered JCO server programThrows:JCO.Exception
?- thrown if a pool with the specified name already existspublic 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 poolmax_connections
?- max. number of connections allowed for the pool.gwhost
?- Host name of the SAP gatewaygwserv
?- Service number of the SAP gatewaytpname
?- Program ID of an registered JCO server programtphost
?- Host name where the external server runsThrows:JCO.Exception
?- thrown if a pool with the specified name already existspublic static void removeClientPool(java.lang.String?key)Delete a client pool from the pool list.
key
?- the name of the poolpublic static JCO.Client getClient(java.lang.String?key)Returns a client connection from the specified pool.
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 fromReturns:a client connection from the specified pool or?nullThrows: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 exhaustedJCO.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)
public static JCO.Client getClient(java.lang.String?key, boolean?reset)Returns a client connection from the specified pool.
key
?- the name of the pool from which to take the connection fromreset
?- 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.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 exhaustedJCO.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)
public static void releaseClient(JCO.Client?client)Releases a client connection to its pool.
client
?- the client to be released to the poolThrows:JCO.Exception
?- thrown if a connection could not be released cleanlySee Also:getClient(java.lang.String)
,?JCO.Pool.setResetOnRelease(boolean)
public static JCO.ParameterList createParameterList()Returns a newly created parameter listReturns:an empty parameter list
public static JCO.ParameterList createParameterList(IMetaData?meta_data)Returns a newly created and preconfigured parameter list as specified by the meta dataReturns:a preconfigured parameter list
public static JCO.Structure createStructure(java.lang.String?name)Creates a empty structureParameters:
name
?- the name of the structurepublic static JCO.Structure createStructure(IMetaData?meta_data)Creates a new structure with data fields as described by the specified meta dataParameters:
meta_data
?- the meta data which describe the layout of the structurepublic static JCO.Table createTable(java.lang.String?name)Creates a new tableParameters:
name
?- the name of the tablepublic static JCO.Table createTable(IMetaData?meta_data)Creates a new table with a column layout as described by the specified meta dataParameters:
meta_data
?- the meta data which describe the columns of the tablepublic static JCO.Function createFunction(java.lang.String?name, JCO.ParameterList?input, JCO.ParameterList?output, JCO.ParameterList?tables)Creates a new JCO FunctionParameters:
name
?- the name of the functioninput
?- the list of import parametersoutput
?- the list of export parameterstables
?- the list of table parametersReturns:the newly created functionpublic static IRepository createRepository(java.lang.String?name, java.lang.String?pool_name)Creates a new repositoryParameters:
name
?- the name of the new repositorypool_name
?- the name of the client pool which the repository uses to dynamically query the remote SAP system dictonary.public static IRepository createRepository(java.lang.String?name, java.lang.String[]?pool_names)Creates a new repositoryParameters:
name
?- the name of the new repositorypool_names
?- the names of the client pools which the repository uses to dynamically query the remote SAP system dictonary.public static IRepository createRepository(java.lang.String?name, JCO.Client?client)Creates a new repositoryParameters:
name
?- the name of the new repositoryclient
?- the client used to dynamically access the SAP system dictonary