Parameter | Reference | Type | Length | Default | Optional | Text |
---|---|---|---|---|---|---|
AUTHORITY_CHECK | 0 | 'X' | X | Check authorization ('X'->yes, ' '->no) CHAR 1 | ||
DEVCLASS_GEN | TADIR-DEVCLASS | C | 30 | ' ' | X | |
GENFLAG | TADIR-GENFLAG | C | 1 | ' ' | X | |
GLOBAL_LOCK | 0 | ' ' | X | Great corr. lock (R3TR); space:LIMU-Sp. CHAR 1 | ||
LANGUAGE_UPD_EXIT | TFDIR-FUNCNAME | C | 30 | SPACE | X | Name FuBa for maintenance language change |
MASTER_LANGUAGE | SYST-LANGU | C | 1 | SPACE | X | Maintenance language of overall object |
MODE | 0 | 'MODIFY' | X | Mode ('INSERT','MODIFY','SHOW','FREE') CHAR 6 | ||
OBJECT | 0 | Object (complete lock key) CHAR 40 | ||||
OBJECT_CLASS | 0 | Obj. clss (ABAP,SCUA,SCRP,SLDB,T100... ) CHAR 4 | ||||
REQUEST_LANGUAGE | T002-SPRAS | C | 1 | ' ' | X | Request language (for maintenance language test) |
SUPPRESS_CORR_CHECK | 0 | ' ' | X | Switch off RS_CORR_CHECK ('X'-> yes) CHAR 1 | ||
SUPPRESS_CORR_CHECK_ALTOGETHER | 0 | ' ' | X | |||
SUPPRESS_EDITOR_LOCK_CHECK | 0 | ' ' | X | Switch off editor lock test ('X'->yes) | ||
SUPPRESS_EXTEND_DIALOG | 0 | 'X' | X | Disable dialog in enhancement test ('X': sets EXTEND) | ||
SUPPRESS_LANGUAGE_CHECK | 0 | 'X' | X | Disable maint. lang. test ('X'->yes) CHAR 1 | ||
SUPPRESS_LANGUAGE_DIALOG | 0 | ' ' | X | Disable dialogs in maintenance language test ('X'->yes) | ||
SUPPRESS_UPGRADE_CHECK | 0 | ' ' | X | Disable SMODILOG test on UPGRADE flag ('X'->yes) | ||
TRDIR_INF | TRDIR | u | 170 | X | TRDIR entry for object (saves SELECTs) |
Parameter | Reference | Type | Length | Text |
---|---|---|---|---|
DEVCLASS | TADIR-DEVCLASS | C | 30 | Development class |
ERROR_INFO | DDERR | u | 116 | Error code of Workbench Organizer |
EXTEND | C | C | 0 | Customer enhancement mode ('X'->yes) |
FROZEN | FLAG | C | 1 | |
FROZEN_OBJECTS | TPCHK_FROZEN_OBJECTS | 0 | ||
KORRNUM | E070-TRKORR | C | 20 | Correction number (only with 'INSERT','MODIFY') |
MODIFICATION_LANGUAGE | SYST-LANGU | C | 1 | Maintenance language of (sub-)object |
NEW_MASTER_LANGUAGE | SYST-LANGU | C | 1 | Maintenance language of overall object |
ORDERNUM | E070-TRKORR | C | 20 | |
TADIRE | TADIR | u | 232 | TADIR entry |
TRANSPORT_KEY | TRKEY | u | 198 | Key for transport request (TADIR key) |
Exception | Text |
---|---|
CANCELED_IN_CORR | User canceled correction system dialog box (F12 |
ENQUEUED_BY_USER | Object locked by other user |
ENQUEUE_SYSTEM_FAILURE | Internal error in ENQUEUE function module |
ILLEGAL_PARAMETER_VALUES | Invalid value for MODE or OBJECT_CLASS |
LOCKED_BY_AUTHOR | Editor lock is set (only for SE38) |
NO_MODIFY_PERMISSION | User has no change authorization |
NO_SHOW_PERMISSION | User has no display authorization |
PERMISSION_FAILURE | General exception: Required access denied |
REQUEST_LANGUAGE_DENIED | Unpermitted request language |
RS_ACCESS_PERMISSION is a function module that centralizes those checksand actions that are necessary to edit, display and (after editing)release the following object classes: - Programs - Text elements of programs - Attributes of programs - User-defined types - Screens - Useer interfaces - ABAP/4 Dictionary objects - Logical databases - Messages - EFM objects - EDM objects - Dictionary objects - Function modules and groups (incl. test sequences) - Transaction codes - Dialog modules - Parameter IDs - CATT objects RS_ACCESS_PERMISSION has the following application requirements:
The authorization object S_ADMI_FCT is provisionally assigned toDictionary objects. The authorization objects of both the editor and Dictionary objects areassigned to user-defined types. S_ABAP_SHOW ... Authorization to display objects S_ABAP_ALL ... Authorization to display and maintain objects Dictionary objects use the authorization DDIC. Meaning and values of important parameters: OBJECT_CLASS Class of DW object Lock object 'ABAP' ... Report/module pool/include (edit in ESRDIRE SE38) 'TEXT' ... Text elements of a report/module pool EABAPTEXTE 'ABAT' ... Attributes of a report/module pool ERSDIRE + EABAPTEXTE 'TYPE' ... User-defined types ESRDIRE 'SCUA' ... SCUA user interface ESCUAPAINT 'SCRP' ... Screen processing with Screen Painter ESCRP 'SLDB' ... Logical databases ESRDIRE 'T100' ... Messages ES_MSGSI 'SUFM' ... EFM objects ESFUM 'SUDM' ... EDM objects ESDUM 'FUNC' ... Function modules ESFUNCTION 'FUGR' ... Function groups ES_PROG 'TRAN' ... Transaction codes EEUDB 'DIAL' ... Dialog modules EEUDB 'PARA' ... Parameter IDs EEUDB 'DICT' ... ABAP/4 Dictionary object ESDICT 'SCAT' ... CATT object CATA 'CATU' ... CATT object (variants) CATU OBJECT e.g. lock keys of the DW object according to the lcok object; special structures that contain at least the lock key, for 'EDM', 'EFM' MODUS Intended processing mode 'MODIFY' ... Maintenance mode (object to be changed) 'INSERT' ... Maintenance mode (object recreated and needs an entry in the Table TADIR) 'SHOW' ... Display mode (object cannot be changed) 'FREE' ... End of object processing AUTHORITY_CHECK Authorization chekc yes/no ' ' ... Authorization check suppressed 'X' ... Authorization check performed (default) Depending on the MODE and AUTHORITY_CHECK, the function module performsthe following steps: Mode 'MODIFY'/'INSERT': Checks whether - if AUTHORITY_CHECK = 'X': . the user has the authorization S_EDITOR_ALL for authorization object S_EDITOR or . for 'DDIC': the user has the authorization DDIC for authorization object S_ADMI_FCT or - long-term lock (correction system) is effective - if SUPPRESS_CORR_CHECK = ' ': . no lock is effective through non-translated texts (textlog) - short-term lock (ENQUEUE) is effective - the original language of the DW object to be processed (import parameter MASER_LANGUAGE) matches the logon language. If the languages differ, you can branch immediately to "Change original language" where the conversion to another language is triggered. The translation tools are integrated into the conversion. The conversion is performed for all relevant sub-objects together (e.g. a program includes not just the ABAP/4 text elements, but also all GUI components and all screens). After the translation tools, processing branches to a function module specified in the parameter LANGUAGE_UPD_EXIT. There, you must program those parts of the language conversion that are not connected with pure translation of texts. - an SAP object is to be processed in a customer system and that the import parameter MASTER_LANGUAGE matches the logon language. If they differ, the value of MODIFICATION_LANGUAGE is set to the value of MASTER_LANGUAGE. If they match, the user must decide in a dialog box whether he wishes to process the DW obejct in the SAP maintenance language (MASTER_LANGUAGE) or in the logon language, and MODIFICATION_LANGUAGE is then set accordingly. If, after returning from RS_ACCESS_PERMISSION, the parameters NEW_MASTER_LANGUAGE and MODIFICATION_LANGUAGE do not match, the DW object must be offered for processing in the language MODIFICATION_LANGUAGE and missing texts supplemented from the NEW_MASTER_LANGUAGE. If all checks are successful, the object is locked (with ENQUEUE). It is also locked if the check for a match between the original language and the logon language fails but the user decides in the dialog not to switch the original language, i.e. to maintain in the logon language. In the 'INSERT' mode, a correction system dialog box always appears. Here, you must specify the development attributes of the new object. 'SHOW' mode: Checks whether the user has the authorization S_EDITOR_SHOW for the authorization object S_EDITOR. No authorization is checked for DDIC and DOCU. If the check is successful, the object is unlocked, apart from ABAP/4 Dictionary objects (with ENQUEUE). 'FREE' mode: The object is unlocked (with DEQUEUE). Interaction with other function modules: In 'MODIFY' mode, RS_ACCESS_PERMISSION calls the function moduleRS_CORR_CHECK which checks whether the correction system has set along-term lock. If access is not denied by the correction system and ifthe object to be processed is not yet contained in a correction, theobject is n o t y e t included in a correction. This happens onlywhen RS_CORR_INSERT is called. This function module must be bound tothe saving of the object to be processed. In 'MODIFY' mode, theprocessing of an object typically looks as follows: Begin processing: RS_ACCESS_PERMISSION with mode = 'MODIFY' (first) save: RS_CORR_INSERT End of processing: RS_ACCESS_PERMISSION mit Modus = 'FREE' Special features of EXCEPTIONs: - Normally, all exceptions are triggered in the form MESSAGE .... RAISING .... An exception to this rule is PERMISSION_FAILURE which is taken over by RS_CORR_CHECK and passed on with RAISE . You can assume that this this exception occurs only if the correction system has already conducted an error dialog with the user. - ENQUEUED_BY_USER Object locked by another user; on return from RS_MODE, the name of this user can be found in SY-MSGV1. |