SAP NetWeaver RFC SDK 7.50
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Metadata and Repository API

Functions for creating and looking up metadata descriptions in the R/3 DDIC. More...

Modules

 Metadata for structures/line-types
 Functions for creating, reading and traversing through structure descriptions.
 
 Metadata for function modules
 Functions for creating, reading and traversing through function module descriptions.
 
 Metadata for ABAP classes
 Functions for creating, reading and traversing through ABAP class descriptions.
 

Classes

struct  _RFC_TYPE_DESC_HANDLE
 Handle to a cached metadata description of a structure or table type. More...
 
struct  _RFC_FUNCTION_DESC_HANDLE
 Handle to a cached metadata description of a function module. More...
 
struct  _RFC_CLASS_DESC_HANDLE
 Handle to a cached metadata description of a class. More...
 
struct  _RFC_FIELD_DESC
 Structure for reading (RfcGetFieldDescByIndex() or RfcGetFieldDescByName()) or defining (RfcAddTypeField()) the properties of a field in a structure/table. More...
 
struct  _RFC_PARAMETER_DESC
 Structure for reading (RfcGetParameterDescByIndex() or RfcGetParameterDescByName()) or defining (RfcAddParameter()) the properties of a parameter in a function module. More...
 
struct  _RFC_EXCEPTION_DESC
 Structure for reading (RfcGetExceptionDescByIndex() or RfcGetExceptionDescByName()) or defining (RfcAddException()) the properties of an exception key in a function module. More...
 
struct  _RFC_CLASS_ATTRIBUTE_DESC
 Structure for reading (RfcGetParameterDescByIndex() or RfcGetParameterDescByName()) or defining (RfcAddParameter()) the properties of a parameter in a function module. More...
 
struct  _RFC_METADATA_QUERY_RESULT_ENTRY
 Structure containing the error that occurred during the metadata query. More...
 

Enumerations

enum  _RFC_DIRECTION { RFC_IMPORT = 0x01, RFC_EXPORT = 0x02, RFC_CHANGING = RFC_IMPORT | RFC_EXPORT, RFC_TABLES = 0x04 | RFC_CHANGING }
 Used in RFC_PARAMETER_DESC::direction for specifying the direction of a function module parameter. More...
 
enum  _RFC_CLASS_ATTRIBUTE_TYPE { RFC_CLASS_ATTRIBUTE_INSTANCE, RFC_CLASS_ATTRIBUTE_CLASS, RFC_CLASS_ATTRIBUTE_CONSTANT }
 Determines the type of an ABAP Object attribute. More...
 
enum  _RFC_METADATA_OBJ_TYPE { RFC_METADATA_FUNCTION, RFC_METADATA_TYPE, RFC_METADATA_CLASS }
 An RFC_METADATA_OBJ_TYPE indicates whether in a call to RfcGetMetadataQueryFailedEntry() or RfcGetMetadataQuerySucceededEntry() you are interested in the error/success message for a function module (_FUNCTION), structure/table (_TYPE) or ABAP Class (_CLASS). More...
 

Functions

DECL_EXP
RFC_FUNCTION_DESC_HANDLE
SAP_API 
RfcGetFunctionDesc (RFC_CONNECTION_HANDLE rfcHandle, SAP_UC const *funcName, RFC_ERROR_INFO *errorInfo)
 Returns the function description that is valid for the system to which rfcHandle points to. More...
 
DECL_EXP
RFC_FUNCTION_DESC_HANDLE
SAP_API 
RfcGetCachedFunctionDesc (SAP_UC const *repositoryID, SAP_UC const *funcName, RFC_ERROR_INFO *errorInfo)
 Looks for a cached function description. More...
 
DECL_EXP RFC_RC SAP_API RfcAddFunctionDesc (SAP_UC const *repositoryID, RFC_FUNCTION_DESC_HANDLE funcDesc, RFC_ERROR_INFO *errorInfo)
 Adds a function description to the cache for the specified R/3 System. More...
 
DECL_EXP RFC_RC SAP_API RfcRemoveFunctionDesc (SAP_UC const *repositoryID, SAP_UC const *functionName, RFC_ERROR_INFO *errorInfo)
 Removes a function description from the cache for the specified R/3 System. More...
 
DECL_EXP RFC_TYPE_DESC_HANDLE
SAP_API 
RfcGetTypeDesc (RFC_CONNECTION_HANDLE rfcHandle, SAP_UC const *typeName, RFC_ERROR_INFO *errorInfo)
 Returns the structure description that is valid for the system to which rfcHandle points to. More...
 
DECL_EXP RFC_TYPE_DESC_HANDLE
SAP_API 
RfcGetCachedTypeDesc (SAP_UC const *repositoryID, SAP_UC const *typeName, RFC_ERROR_INFO *errorInfo)
 Looks for a cached structure/table description. More...
 
DECL_EXP RFC_RC SAP_API RfcAddTypeDesc (SAP_UC const *repositoryID, RFC_TYPE_DESC_HANDLE typeHandle, RFC_ERROR_INFO *errorInfo)
 Adds a type description to the cache. More...
 
DECL_EXP RFC_RC SAP_API RfcRemoveTypeDesc (SAP_UC const *repositoryID, SAP_UC const *typeName, RFC_ERROR_INFO *errorInfo)
 Removes a type description from the cache. More...
 
DECL_EXP RFC_CLASS_DESC_HANDLE
SAP_API 
RfcGetClassDesc (RFC_CONNECTION_HANDLE rfcHandle, SAP_UC const *className, RFC_ERROR_INFO *errorInfo)
 Returns the class description that is valid for the system to which rfcHandle points to. More...
 
DECL_EXP RFC_CLASS_DESC_HANDLE
SAP_API 
RfcGetCachedClassDesc (SAP_UC const *repositoryID, SAP_UC const *className, RFC_ERROR_INFO *errorInfo)
 Looks for a cached class description. More...
 
DECL_EXP RFC_RC SAP_API RfcAddClassDesc (SAP_UC const *repositoryID, RFC_CLASS_DESC_HANDLE classDesc, RFC_ERROR_INFO *errorInfo)
 Adds a class description to the cache for the specified R/3 System. More...
 
DECL_EXP RFC_RC SAP_API RfcRemoveClassDesc (SAP_UC const *repositoryID, SAP_UC const *className, RFC_ERROR_INFO *errorInfo)
 Removes a class description from the cache for the specified R/3 System. More...
 
DECL_EXP RFC_RC SAP_API RfcClearRepository (SAP_UC const *repositoryID, RFC_ERROR_INFO *errorInfo)
 Removes all metadata from the repository cache of the specified R/3 System. More...
 
DECL_EXP RFC_RC SAP_API RfcSaveRepository (SAP_UC const *repositoryID, FILE *const targetStream, RFC_ERROR_INFO *errorInfo)
 Stores the currently cached objects of a repository into a JSON formatted text file. More...
 
DECL_EXP RFC_RC SAP_API RfcLoadRepository (SAP_UC const *repositoryID, FILE *const targetStream, RFC_ERROR_INFO *errorInfo)
 Retrieves metadata from a JSON formatted text file and creates the according repository to use for function calls. More...
 
DECL_EXP
RFC_METADATA_QUERY_RESULT_HANDLE
SAP_API 
RfcCreateMetadataQueryResult (RFC_ERROR_INFO *errorInfo)
 Creates the metadata query resultMetadata query results contain the names of functions, types and classes queried successfully, and the corresponding errors, if the query failed. More...
 
DECL_EXP RFC_RC SAP_API RfcDestroyMetadataQueryResult (RFC_METADATA_QUERY_RESULT_HANDLE handle, RFC_ERROR_INFO *errorInfo)
 Destroys the metadata query resultReleases all resources allocated by the metadata query result. More...
 
DECL_EXP RFC_RC SAP_API RfcDescribeMetadataQueryResult (RFC_METADATA_QUERY_RESULT_HANDLE handle, RFC_METADATA_OBJ_TYPE type, unsigned *successful, unsigned *failed, RFC_ERROR_INFO *errorInfo)
 Describes the metadata query resultReturns the number of succeeded and failed entries in the metadata query result. More...
 
DECL_EXP RFC_RC SAP_API RfcGetMetadataQueryFailedEntry (RFC_METADATA_QUERY_RESULT_HANDLE handle, RFC_METADATA_OBJ_TYPE type, unsigned index, RFC_METADATA_QUERY_RESULT_ENTRY *entry, RFC_ERROR_INFO *errorInfo)
 Returns the error entry from the metadata query resultReturns the object name and the error text, if an error occurred during the query. More...
 
DECL_EXP RFC_RC SAP_API RfcGetMetadataQuerySucceededEntry (RFC_METADATA_QUERY_RESULT_HANDLE handle, RFC_METADATA_OBJ_TYPE type, unsigned index, RFC_ABAP_NAME succeedObj, RFC_ERROR_INFO *errorInfo)
 Returns a succeeded entry from the metadata query resultReturns the object name of a successfully queried object. More...
 
DECL_EXP RFC_RC SAP_API RfcMetadataBatchQuery (RFC_CONNECTION_HANDLE rfcHandle, const SAP_UC **functionNames, unsigned functionCount, const SAP_UC **typeNames, unsigned typeCount, const SAP_UC **classNames, unsigned classCount, RFC_METADATA_QUERY_RESULT_HANDLE handle, RFC_ERROR_INFO *errorInfo)
 Queries the meta data for function, type and class lists. More...
 

Detailed Description

Functions for creating and looking up metadata descriptions in the R/3 DDIC.

Functions for traversing through metadata descriptions.

Enumeration Type Documentation

Determines the type of an ABAP Object attribute.

Enumerator
RFC_CLASS_ATTRIBUTE_INSTANCE 

Instance attribute (object member)

RFC_CLASS_ATTRIBUTE_CLASS 

Class attribute (global)

RFC_CLASS_ATTRIBUTE_CONSTANT 

A constant.

Definition at line 689 of file sapnwrfc.h.

Used in RFC_PARAMETER_DESC::direction for specifying the direction of a function module parameter.

Enumerator
RFC_IMPORT 

Import parameter. This corresponds to ABAP IMPORTING parameter.

RFC_EXPORT 

Export parameter. This corresponds to ABAP EXPORTING parameter.

RFC_CHANGING 

Import and export parameter. This corresponds to ABAP CHANGING parameter.

RFC_TABLES 

Table parameter. This corresponds to ABAP TABLES parameter.

Definition at line 642 of file sapnwrfc.h.

An RFC_METADATA_OBJ_TYPE indicates whether in a call to RfcGetMetadataQueryFailedEntry() or RfcGetMetadataQuerySucceededEntry() you are interested in the error/success message for a function module (_FUNCTION), structure/table (_TYPE) or ABAP Class (_CLASS).

It needs to be passed to the above two functions.

Enumerator
RFC_METADATA_FUNCTION 
RFC_METADATA_TYPE 
RFC_METADATA_CLASS 

Definition at line 5382 of file sapnwrfc.h.

Function Documentation

DECL_EXP RFC_RC SAP_API RfcAddClassDesc ( SAP_UC const *  repositoryID,
RFC_CLASS_DESC_HANDLE  classDesc,
RFC_ERROR_INFO errorInfo 
)

Adds a class description to the cache for the specified R/3 System.

This API should be used with care and is only for special scenarios, e.g. if you want to write an RFC server that offers/uses classes, which do not exist in the R/3 system's DDIC. If repositoryID is NULL, the description is added to the "default repository".

Parameters
[in]*repositoryIDSystem ID of R/3 System, to whose cache you want to add the class description, or NULL for the default repository.
[in]classDescThe class description.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcAddFunctionDesc ( SAP_UC const *  repositoryID,
RFC_FUNCTION_DESC_HANDLE  funcDesc,
RFC_ERROR_INFO errorInfo 
)

Adds a function description to the cache for the specified R/3 System.

This API should be used with care and is only for special scenarios, e.g. if you want to write an RFC server that offers function modules, which do not exist in the R/3 system's DDIC. If repositoryID is NULL, the description is added to the "default repository".

Parameters
[in]*repositoryIDSystem ID of R/3 System, to whose cache you want to add the function description, or NULL for the default repository.
[in]funcDescThe function description.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcAddTypeDesc ( SAP_UC const *  repositoryID,
RFC_TYPE_DESC_HANDLE  typeHandle,
RFC_ERROR_INFO errorInfo 
)

Adds a type description to the cache.

Parameters
[in]*repositoryIDSystem ID of R/3 System, to whose cache you want to add the type description, or NULL for the default repository.
[in]typeHandleThe type description.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcClearRepository ( SAP_UC const *  repositoryID,
RFC_ERROR_INFO errorInfo 
)

Removes all metadata from the repository cache of the specified R/3 System.

If repositoryID is NULL, the "default repository" is cleared.

Parameters
[in]*repositoryIDSystem ID of R/3 System, whose cache you want to clear, or NULL for the default repository.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_METADATA_QUERY_RESULT_HANDLE SAP_API RfcCreateMetadataQueryResult ( RFC_ERROR_INFO errorInfo)

Creates the metadata query resultMetadata query results contain the names of functions, types and classes queried successfully, and the corresponding errors, if the query failed.

Parameters
[out]*errorInfoMore details in error case
Returns
Handle to a metadata query result
DECL_EXP RFC_RC SAP_API RfcDescribeMetadataQueryResult ( RFC_METADATA_QUERY_RESULT_HANDLE  handle,
RFC_METADATA_OBJ_TYPE  type,
unsigned *  successful,
unsigned *  failed,
RFC_ERROR_INFO errorInfo 
)

Describes the metadata query resultReturns the number of succeeded and failed entries in the metadata query result.

The entries' content can be read with RfcGetMetadataQueryFailedEntry() and RfcGetMetadataQuerySucceededEntry().

Parameters
[in]handleHandle to a metadata query result
[in]typeType of the metadata objects you are interested in
[out]*successfulNumber of metadata objects queried successfully
[out]*failedNumber of metadata objects that could not be queried
[out]*errorInfoMore details in error case
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcDestroyMetadataQueryResult ( RFC_METADATA_QUERY_RESULT_HANDLE  handle,
RFC_ERROR_INFO errorInfo 
)

Destroys the metadata query resultReleases all resources allocated by the metadata query result.

Parameters
[in]handleHandle to a metadata query result
[out]*errorInfoMore details in error case
Returns
RFC_RC
DECL_EXP RFC_CLASS_DESC_HANDLE SAP_API RfcGetCachedClassDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  className,
RFC_ERROR_INFO errorInfo 
)

Looks for a cached class description.

This API should be used with care and is only for special scenarios, for example: 1. You know for sure, that a class description has already been cached via RfcGetClassDesc(), and don't want to open an extra rfcHandle that will never be used. In this case simply use the SAP System ID as the repositoryID. 2. You have created a hard-coded repository via RfcAddClassDesc(), which contains classes that do not exist in the backend's DDIC.

If repositoryID is NULL, the "default repository" is used.

Parameters
[in]*repositoryIDSystem ID of R/3 System, for which this class description has been cached, or NULL in case you want to look for it in the default repository.
[in]*classNameName of the class.
[out]*errorInfoRequested class name not in cache?
Returns
The requested class description.
DECL_EXP RFC_FUNCTION_DESC_HANDLE SAP_API RfcGetCachedFunctionDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  funcName,
RFC_ERROR_INFO errorInfo 
)

Looks for a cached function description.

This API should be used with care and is only for special scenarios, for example: 1. You know for sure, that a function description has already been cached via RfcGetFunctionDesc(), and don't want to open an extra rfcHandle that will never be used. In this case simply use the SAP System ID as the repositoryID. 2. You have created a hard-coded repository via RfcAddFunctionDesc(), which contains function modules that do not exist in the backend's DDIC.

If repositoryID is NULL, the "default repository" is used.

Parameters
[in]*repositoryIDSystem ID of R/3 System, for which this function module description has been cached, or NULL in case you want to look for it in the default repository.
[in]*funcNameName of the function module.
[out]*errorInfoRequested function name not in cache?
Returns
The requested function description.
DECL_EXP RFC_TYPE_DESC_HANDLE SAP_API RfcGetCachedTypeDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  typeName,
RFC_ERROR_INFO errorInfo 
)

Looks for a cached structure/table description.

Similar to RfcGetTypeDesc(), but it only looks into the cache. Again it should almost never be necessary to get a metadata description of a single structure.

Parameters
[in]*repositoryIDSystem ID of R/3 System, for which this type description has been cached, or NULL in case you want to look for it in the default repository.
[in]*typeNameName of the DDIC structure/table.
[out]*errorInfoRequested type name not in cache?
Returns
The requested type description.
DECL_EXP RFC_CLASS_DESC_HANDLE SAP_API RfcGetClassDesc ( RFC_CONNECTION_HANDLE  rfcHandle,
SAP_UC const *  className,
RFC_ERROR_INFO errorInfo 
)

Returns the class description that is valid for the system to which rfcHandle points to.

If the class description is already in the repository cache for that system ID, it will be returned immediately (from the cache), otherwise it will be looked up in the system's DDIC using the rfcHandle. The result from the DDIC lookup will then be placed into the cache for later use.

The RFC Runtime maintains a cache for every R/3 System ID, as the meta data could be different from R/3 release to R/3 release. This is the main API that should be used.

Parameters
[in]rfcHandleOpen client connection to the R/3 System, for which you need the class description.
[in]*classNameName of the class to look up.
[out]*errorInfoMore error details in case something goes wrong.
Returns
The metadata description of the given function module.
DECL_EXP RFC_FUNCTION_DESC_HANDLE SAP_API RfcGetFunctionDesc ( RFC_CONNECTION_HANDLE  rfcHandle,
SAP_UC const *  funcName,
RFC_ERROR_INFO errorInfo 
)

Returns the function description that is valid for the system to which rfcHandle points to.

If the function description is already in the repository cache for that system ID, it will be returned immediately (from the cache), otherwise it will be looked up in the system's DDIC using the rfcHandle. The result from the DDIC lookup will then be placed into the cache for later use.

The RFC Runtime maintains a cache for every R/3 System ID, as the meta data could be different from R/3 release to R/3 release. This is the main API that should be used.

Parameters
[in]rfcHandleOpen client connection to the R/3 System, for which you need the function module description.
[in]*funcNameName of the function module to look up.
[out]*errorInfoMore error details in case something goes wrong.
Returns
The metadata description of the given function module.
DECL_EXP RFC_RC SAP_API RfcGetMetadataQueryFailedEntry ( RFC_METADATA_QUERY_RESULT_HANDLE  handle,
RFC_METADATA_OBJ_TYPE  type,
unsigned  index,
RFC_METADATA_QUERY_RESULT_ENTRY entry,
RFC_ERROR_INFO errorInfo 
)

Returns the error entry from the metadata query resultReturns the object name and the error text, if an error occurred during the query.

Parameters
[in]handleHandle to a metadata query result
[in]typeType of the requested object
[in]indexIndex of the requested object. Must be between 0 and "failed - 1", where "failed" is the value returned from RfcDescribeMetadataQueryResult() for the given RFC_METADATA_OBJ_TYPE.
[in,out]*entryPointer to the allocated structure to store the name of the metadata object and the error text
[out]*errorInfoMore details in error case
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcGetMetadataQuerySucceededEntry ( RFC_METADATA_QUERY_RESULT_HANDLE  handle,
RFC_METADATA_OBJ_TYPE  type,
unsigned  index,
RFC_ABAP_NAME  succeedObj,
RFC_ERROR_INFO errorInfo 
)

Returns a succeeded entry from the metadata query resultReturns the object name of a successfully queried object.

Parameters
[in]handleHandle to a metadata query result
[in]typeType of the requested object
[in]indexIndex of the requested object. Must be between 0 and "successful - 1", where "successful" is the value returned from RfcDescribeMetadataQueryResult() for the given RFC_METADATA_OBJ_TYPE.
[in,out]*succeedObjPointer to the allocated buffer to store the name of the metadata object
[out]*errorInfoMore details in error case
Returns
RFC_RC
DECL_EXP RFC_TYPE_DESC_HANDLE SAP_API RfcGetTypeDesc ( RFC_CONNECTION_HANDLE  rfcHandle,
SAP_UC const *  typeName,
RFC_ERROR_INFO errorInfo 
)

Returns the structure description that is valid for the system to which rfcHandle points to.

If the structure description is already in the repository cache for that system ID, it will be returned immediately (from the cache), otherwise it will be looked up in the system's DDIC using the rfcHandle. The result from the DDIC lookup will then be placed into the cache for later use.

The RFC Runtime maintains a cache for every R/3 System ID, as the meta data could be different from R/3 release to R/3 release.

Note
Normally it should not be necessary to lookup separate structure descriptions. They are already looked up as part of the function module, in which they are used.
Parameters
[in]rfcHandleOpen client connection to the R/3 System, for which you need the structure description.
[in]*typeNameName of a DDIC structure or table.
[out]*errorInfoMore error details in case something goes wrong.
Returns
The metadata description of the given structure/table.
DECL_EXP RFC_RC SAP_API RfcLoadRepository ( SAP_UC const *  repositoryID,
FILE *const  targetStream,
RFC_ERROR_INFO errorInfo 
)

Retrieves metadata from a JSON formatted text file and creates the according repository to use for function calls.

This function will create a repository with the given ID - or a default repository, if the ID is NULL - and populate it with the function descriptions and parameter descriptions contained in the JSON formatted text file (see RfcSaveRepository()). That way the RFC program does not need to fetch the metadata from the backend DDIC, which is useful, if you want to improve the startup performance of your program or if your program is an RFC server that does not have login parameters for the backend. It is also possible to use JSON files created by SAP .NET Connector and SAP Java Connector.

Note
Special care needs to be taken to guarantee that the loaded metadata indeed matches the function and structure descriptions defined in the backend system(s) against which it is to be used. Otherwise the risk of data corruption is very high.
If a repository with the given ID already exists, RfcLoadRepository() will delete it and replace it with the contents of the JSON file.
Parameters
[in]*repositoryIDSystem ID of R/3 System, for which you want to use the metadata contained in the JSON file, or NULL for the default repository.
[in]*targetStreamFILE pointer opened by the user.
[out]*errorInfoMore error details in case something goes wrong.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcMetadataBatchQuery ( RFC_CONNECTION_HANDLE  rfcHandle,
const SAP_UC **  functionNames,
unsigned  functionCount,
const SAP_UC **  typeNames,
unsigned  typeCount,
const SAP_UC **  classNames,
unsigned  classCount,
RFC_METADATA_QUERY_RESULT_HANDLE  handle,
RFC_ERROR_INFO errorInfo 
)

Queries the meta data for function, type and class lists.

Queries the meta data for function, type and class lists. All meta data is fetched using one roundtrip, the result is cached in the repository cache.

Note
You can use this feature only, if your backend system supports it. SAP Note 1456826 describes the required minimum support package level that the backend system must have. If the backend system supports it, open the RFC_CONNECTION_HANDLE with the additional logon parameter USE_REPOSITORY_ROUNDTRIP_OPTIMIZATION=1, before you pass it to RfcMetadataBatchQuery().
Parameters
[in]rfcHandleOpen client connection to the R/3 System, for which you need the function module, type or class descriptions.
[in]*functionNamesNames of the function modules to look up
[in]functionCountLength of the function name list
[in]*typeNamesNames of the types (structures and tables) to look up
[in]typeCountLength of the type name list
[in]*classNamesNames of the classes to look up
[in]classCountLength of the class name list
[in]handleQuery result, may be null
[out]*errorInfoMore error details in case something goes wrong
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcRemoveClassDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  className,
RFC_ERROR_INFO errorInfo 
)

Removes a class description from the cache for the specified R/3 System.

If repositoryID is NULL, the description is removed from the "default repository".

Parameters
[in]*repositoryIDSystem ID of R/3 System, from whose cache you want to remove the class description, or NULL for the default repository.
[in]*classNameThe name of the ABAP class, whose description you want to remove.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcRemoveFunctionDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  functionName,
RFC_ERROR_INFO errorInfo 
)

Removes a function description from the cache for the specified R/3 System.

This API can be used, e.g. if the signature (imports, exports, etc.) of a function module has been changed in the backend, while the external RFC program is still running. If the RFC library continues using the old cached metadata description, garbage values (if fields have been deleted from the function module) or missing values (if new fields have been added to the function module) will result. If repositoryID is NULL, the description is removed from the "default repository".

Parameters
[in]*repositoryIDSystem ID of R/3 System, to whose cache you want to add the function description, or NULL for the default repository.
[in]*functionNameThe name of the function module, whose description is to be removed from the cache.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcRemoveTypeDesc ( SAP_UC const *  repositoryID,
SAP_UC const *  typeName,
RFC_ERROR_INFO errorInfo 
)

Removes a type description from the cache.

Parameters
[in]*repositoryIDSystem ID of R/3 System, from whose cache you want to remove the type description, or NULL for the default repository.
[in]*typeNameThe name of the type, whose description is to be removed from the cache.
[out]*errorInfoNot much that can go wrong here.
Returns
RFC_RC
DECL_EXP RFC_RC SAP_API RfcSaveRepository ( SAP_UC const *  repositoryID,
FILE *const  targetStream,
RFC_ERROR_INFO errorInfo 
)

Stores the currently cached objects of a repository into a JSON formatted text file.

This function will create a JSON formatted text file that contains all currently cached function module descriptions with their parameters, so it can be reloaded at another time (see RfcLoadRepository()) without opening connections to the backend and fetching metadata from the DDIC. This JSON file can also be used by the SAP .NET Connector and SAP Java Connector.

Parameters
[in]*repositoryIDSystem ID of R/3 System, whose cache you want to save, or NULL for the default cache.
[in]*targetStreamFILE pointer opened by the user.
[out]*errorInfoMore error details in case something goes wrong.
Returns
RFC_RC