"In SAP for logging in to the system you need a user ID and a password. This user ID is created by the system administrator. The first time you login to the SAP system you need to change that password which has been assigned to you while creating the user ID. Every user ID will have certain roles assigned to it. The System Admin (Basis Administrator) is responsible for creating these roles after consulting the Functional team. Each user will typically have several roles assigned to their user ID. The user roles are predefined in the SAP system and each employee would have a combination of several roles which have been predefined in the SAP system. The roles are defined using the activity groups in the SAP system. A proper understating of the activity groups is necessary for creating and assigning Roles in the SAP system. Once a pre-defined user role is assigned to a user the system then automatically displays the appropriate User menu when the user logs on and provides the required authorization. An activity group can contain Transactions, Reports, Files, Web Links. Once the activity group has been assigned it defines the user specific menus. Once the user logs on to SAP a user specific menu is displayed this menu is controlled by the activity group that has been assigned to the user. To display a list of descriptions of the pre-defined user roles, select Tools---- Administration----User Maintenance--'Repository Infosys--' Activity Groups----' List of activity groups according to complex selection criterion---' Selection according to activity group name or call transaction S_BCE_68001418. The pre-defined user roles are delivered as templates and have names beginning with 'SAP_' and suffix _AG. Composite activity groups can be built with individual activity groups. A composite activity group does not contain any authorization."
"The SAP Control Framework is used for the communication between the controls on the presentation server and the ABAP application server. In ABAP Objects, it is programmed, and contains a set of global classes that you can find in the Class Browser under Basis -> Frontend Services. Between the application server and presentation server these classes encapsulate the communication, which is implemented using Remote Function Calls. There is a global class, which encapsulates all application controls. In the class Browser under Basis -> Frontend Services or Basis -> Components Integration, you can find the SAP Basis Controls."
SAP ABAP Determining The Attributes Of Data Objects At Runtime
Attributes of SAP ABAP Data Objects can be determined at Runtime. The following attributes can be determined at runtime.
FIELD LENGTH DATA TYPE OUTPUT LENGTH DECIMAL PLACES CONVERSION ROUTINE DISTANCE BETWEEN TWO FIELDS HELP TEXT ID
The statement used for determining the attributes of a field is DESCRIBE. We have seen earlier how we can use DESCRIBE to find attributes of a internal Table. See the post on Internal Table Basics.
Please find below the Syntax used to determine the attributes of SAP ABAP Data Objects at runtime.
Once the above statement is executed the type of the field <field> is obtained in the variable <t>.
Example.
REPORT ZEX_ATTRIBUTES .
Data: d_intiger type i, d_float type f, d_packed type p, d_character type c, d_date type d, d_numc type n, d_time type t, d_hexa type x, d_type type c.
DESCRIBE FIELD d_intiger type d_type. Write:/ 'd_intiger', d_type.
DESCRIBE FIELD d_float type d_type. Write:/ 'd_float', d_type.
DESCRIBE FIELD d_packed type d_type. Write:/ 'd_packed', d_type.
DESCRIBE FIELD d_character type d_type. Write:/ 'd_character', d_type.
DESCRIBE FIELD d_date type d_type. Write:/ 'd_date', d_type.
DESCRIBE FIELD d_numc type d_type. Write:/ 'd_numc', d_type.
DESCRIBE FIELD d_time type d_type. Write:/ 'd_time', d_type.
DESCRIBE FIELD d_hexa type d_type. Write:/ 'd_hexa', d_type.
The output of the above program is as follows.
Finding Attributes of a field
d_intiger I d_float F d_packed P d_character C d_date D d_numc N d_time T d_hexa X
Finding the Length at Runtime.
Syntax
DESCRIBE FIELD <field> LENGTH <l>.
The length of the filed <field> is obtained in <l>.
Example.
REPORT ZEX_ATTRIBUTES1 .
Data: d_char(8) type c, d_len type i.
move 'TEXT' to d_char. DESCRIBE FIELD d_char LENGTH d_len. Write:/ d_char, 'Length', d_len.
We will now see an example of finding out the conversion routine at runtime. As we have seen earlier the Domain AUART has a conversion routine AUART. We will now determine this by using the example given below.
REPORT ZEX_ATTRIBUTES_CONVERSIONR .
data: d_ord like vbak-auart, d_mask(10).
DESCRIBE FIELD d_ord EDIT MASK d_mask. Write:/ d_mask.
Always specify your conditions in the Where-clause instead of checking
them yourself with check statements. The database system can then use an index
(if possible) and the network load is considerably less.
Always use Pretty Printer and Extended Program Check before releasing the code.
Do not leave unused code in the program. Comment the code thoroughly. Align the comments and the Code. Follow the SAP Standards and SAP Best Practices guidelines. It’s a good practice to take a dump of the code on your local drive.