SAP Function RPY_CLIF_MULTI_READ_LOCK - Read and lock classes/interfaces

Parameter Reference Type Length Default Optional Text
CICO_REQUEST_NO RPYGSGF-CICO_REQNO C 20 Transport request number
DEVELOPMENT_CLASS RPYCLGF-DEVCLASS C 30 SPACE X Development class
LANGUAGE SYST-LANGU C 1 SY-LANGU X Language

Parameter Reference Length Optional Text
ATTRIBUTE_SET RPYCLAT 504 Output: Attributes
CLASS_INTERFACE_IDS RPYCLOK 30 X INput: Class/interface IDs
CLASS_INTERFACE_INFO_SET RPYCLCI 140 Output: Basic information about classes and interfaces
ERROR_SET RPYGSER 268 Output: Error messages
EVENT_SET RPYCLEV 236 Output: Events
EXCEPTION_SET RPYCLEX 200 Output: Exceptions
FRIENDS_RELATION_SET RPYCLFR 102 Output: Friend relationships
INSTANCE_RELATION_SET RPYCLIR 92 Output: Instance relationships
META_RELATION_SET RPYCLMR 134 Output: Metarelationships
METHOD_SET RPYCLME 236 Output: Methods
PARAMETER_SET RPYCLPA 463 Output: Parameters

Functionality
This function module checks out a set of object types (classes orinterfaces) in LOCK mode. This means:
The full object types are read. A full object type consists of basicinformation, components (attributes, methods, events), subcomponents(parameters, exceptions) and outgoing relationships (is friends with,inherits from, contains, references).
The system checks the user's authorization when reading (not yetimplemented).
The object types read are included in a correction or repair request.They are therefore locked, and cannot be changed by other users.
The following criteria must be met in order for the check out to work:
There must be a valid correction or repair request. If necessary, youcan generate one using the function moduleRPY_CICO_REQUEST_OPEN.
None of the objects that you want to read may be locked by anothercorrection or repair request.
If the conditions are not met, or another error occurs during checkout, the check out does not take place and no object type data isreturned by the function module. The relevant error messages are placedin the error table ERROR_SET.
In the import parameter CICO_REQUEST_NO, enter the number of thecorrection or repair request.
In the table parameter CLASS_INTERFACE_IDS, enter the names of theobject types for which you want to read information.
By default, all long texts are reaed in the system language. If youwant to read texts in a different language, enter its ID in the importparameter LANGUAGE.
The information about the object types read by the system is passedback to the caller in the relevant tables parameters (for example,events in the table EVENT_SET).
The funciton module does not trigger any exceptions. Problem and errormessages are returned to the user in the error tableERROR_SET. If the entire check out is successful, theerror table is empty.
You can release the correction or repair request using the functionmodule RPY_CICO_REQUEST_CLOSE. Thisreleases the lock on the object types that have been read.

Example
The following call checks out the object types 'EXAMPLE001' to'EXAMPLE003':
* Data declaration
DATA: CLIF_KEYS LIKE RPYCLOK OCCURS 100 WITH HEADER LINE.
DATA: CLIFS LIKE RPYCLCI OCCURS 100 WITH HEADER LINE.
DATA: ATTRIBUTES LIKE RPYCLAT OCCURS 100 WITH HEADER LINE.
DATA: METHODS LIKE RPYCLME OCCURS 100 WITH HEADER LINE.
DATA: EVENTS LIKE RPYCLEV OCCURS 100 WITH HEADER LINE.
DATA: PARAMETERS LIKE RPYCLPA OCCURS 100 WITH HEADER LINE.
DATA: EXCEPTIONS LIKE RPYCLEX OCCURS 100 WITH HEADER LINE.
DATA: METARELS LIKE RPYCLMR OCCURS 100 WITH HEADER LINE.
DATA: IMPLRELS LIKE RPYCLIR OCCURS 100 WITH HEADER LINE.
DATA: FRIENDRELS LIKE RPYCLFR OCCURS 100 WITH HEADER LINE.
DATA: ERRORS LIKE RPYGSER OCCURS 100 WITH HEADER LINE.
DATA: REQNO LIKE RPYGSGF-CICO_REQNO
[* Create new request if necessary
CALL FUNCTION RPY_CICO_REQUEST_OPEN
...
IMPORTING
CICO_REQUEST_NO = REQNO
... ]
* Fill input parameters
CLIF_KEYS-CLSNAME = 'EXAMPLE001'. APPEND CLIF_KEYS.
CLIF_KEYS-CLSNAME = 'EXAMPLE002'. APPEND CLIF_KEYS.
CLIF_KEYS-CLSNAME = 'EXAMPLE003'. APPEND CLIF_KEYS.
* Call function module
CALL FUNCTION 'RPY_CLIF_MULTI_READ_LOCK'
EXPORTING
CICO_REQUEST_NO = REQNO
* LANGUAGE = SY-LANGU
TABLES
CLASS_INTERFACE_IDS = CLIF_KEYS
CLASS_INTERFACE_INFO_SET = CLIFS
ATTRIBUTE_SET = ATTRIBUTES
METHOD_SET = METHODS
EVENT_SET = EVENTS
PARAMETER_SET = PARAMETERS
EXCEPTION_SET = EXCEPTIONS
META_RELATION_SET = METARELS
INSTANCE_RELATION_SET = IMPLRELS
FRIENDS_RELATION_SET = FRIENDRELS
ERROR_SET = ERRORS
EXCEPTIONS
OTHERS = 1.
* Error processing
LOOP AT ERROR_SET.
...
ENDLOOP.

Further information
Other function modules in the Class Library API:
RPY_CLIF_MULTI_READ
RPY_CLIF_MULTI_INSERT
RPY_CLIF_COMP_MULTI_INSERT
RPY_CLIF_REL_MULTI_INSERT
RPY_CLIF_INFO_UPDATE
RPY_CLIF_COMP_UPDATE
RPY_CLIF_REL_UPDATE
RPY_CLIF_COMP_DELETE
RPY_CLIF_REL_DELETE
RPY_CLIF_DELETE