.trc or * rfc_.trc, depending on whether tracing is done on a "per-process" basis or a "per-thread" basis. * is the current process ID, the current thread ID. * @var int */ public const TRACE_LEVEL_BRIEF = 1; /** * Verbose. In addition to 1, the values of the "scalar" RFC parameters as well as the contents of the network * containers are traced. Scalar parameters are primitive types (CHAR, INT, FLOAT, etc) and flat structures. * @var int */ public const TRACE_LEVEL_VERBOSE = 2; /** * Detailed. In addition to 2 the contents of nested structures and tables and hexdumps are traced. * @var int */ public const TRACE_LEVEL_DETAILED = 3; /** * Full. In addition to 3 all API calls of setter and getter functions and table operations are traced. * @var int */ public const TRACE_LEVEL_FULL = 4; /** * Connect to the system using the given parameters. * * @param array $parameters Connection parameters (see `sapnwrfc.ini` documentation for supported keys) * @param array $options Additional options { * @var bool $use_function_desc_cache Use function desc cache (defaults to `true`) * } * * @throws ConnectionException if the connection fails. */ public function __construct(array $parameters, array $options = []) {} /** * Get the connection attributes. * * @return array Array of connection attributes. * * @throws ConnectionException if the connection attributes could not be * fetched. */ public function getAttributes(): array {} /** * @return bool True if ping successful. * * @throws ConnectionException if the ping failed. */ public function ping(): bool {} /** * Lookup a RFC function and return a RemoteFunction object. * * @param string $functionnName Name of the function. * @param bool $invalidateCache If true, invalidates the function desc cache. * * @return RemoteFunction A RemoteFunction class for the RFC function. * * @throws FunctionCallException if the lookup fails or an error is * returned during parameter parsing. */ public function getFunction(string $functionName, bool $invalidateCache = false): RemoteFunction {} /** * Retrieve a SSO ticket from the connection. * * For this to work, the connection must be opened with parameter `GETSSO2=1` * and the profile parameter `login/create_sso2_ticket` must be set to a value * different from '0' in the backend. * * Note: To retrieve a SSO ticket from the connection, SDK version 7.50.1 or * later is required. * * @return string The SSO ticket. * * @throws ConnectionException if no SSO ticket could be retrieved. */ public function getSSOTicket(): string {} /** * Close the connection. * * @return bool True if the connection was closed, false if the connection * is closed already. * * @throws ConnectionException if the connection could not be closed. */ public function close(): bool {} /** * Sets the path to the sapnwrfc.ini file. * * By default, the INI file is searched for in the current directory. * * @param string $path Path to the sapnwrfc.ini file. * * @return bool True if path was set. * * @throws ConnectionException if path could not be set. */ public static function setIniPath(string $path): bool {} /** * Reload the INI file. * * Searches for the INI file either in the path set by * Connection::setIniFile() or in the current directory. * * @return bool True if INI file was reloaded. * * @throws ConnectionException if the INI file could not be reloaded. */ public static function reloadIniFile(): bool {} /** * Set trace directory. * * @param string $path Path to trace directory (must exist). * * @return true True if path was set (BC). * * @throws ConnectionException if path could not be set. */ public static function setTraceDir(string $path): bool {} /** * Set trace level. * * @param int $level Trace level. * * @return true True if trace level was set (BC). * * @throws ConnectionException if level could not be set. */ public static function setTraceLevel(int $level): bool {} /** * Sets the global logon timeout in seconds. * * Sets the timeout for how long the logon in the ABAP backend can take when opening a connection. * The default value is 60 seconds. * * The timeout can also be set via RFC_GLOBAL_LOGON_TIMEOUT in the DEFAULT * section of the sapnwrfc.ini file. * * @param int $timeout Timeout in seconds (1 - 3600). * * @throws ConnectionException if timeout cannot be set or is out of range. */ public static function setGlobalLogonTimeout(int $timeout): void {} /** * Get the extension version. * * @return string The extension version. */ public static function version(): string {} /** * Get the RFC SDK version. * * @return string The RFC SDK version. */ public static function rfcVersion(): string {} } class RemoteFunction { /** * Invoke the RFC function. * * @param array $parameters Function parameters. * @param array $options Additional invoke options { * @var bool $rtrim Right trim CHAR field values. * } * @return array Return value from the backend. * * @throws FunctionCallException if any error occurs during execution. */ public function invoke(array $parameters = [], array $options = []): array {} /** * Make a parameter active or inactive. * * @param string $parameterName The parameter to modify. * @param bool $isActive True to activate the parameter, false to deactivate. * * @throws FunctionCallException if the parameter status could not be set or the connection is already closed. */ public function setParameterActive(string $parameterName, bool $isActive): void {} /** * Check if a parameter is active or inactive. * * @param string $parameterName The parameter to check. * * @return bool True if parameter is active, false if not. * @throws FunctionCallException if the connection is already closed. */ public function isParameterActive(string $parameterName): bool {} /** * Get the function's parameter description. * * @return array The parameter descriptions, indexed by parameter name. * * @throws FunctionCallException if the interface description cannot be retrieved. */ public function getFunctionDescription(): array {} /** * Get the function's name. * * @return string The function name. */ public function getName(): string {} }