"In ABAP it is very convenient to run a report using a Variant. Basically a report can have several Variants linked to it. If you use a variant then the data entry time is reduced considerably and this also reduces data entry errors. The load on the ABAP processing is also reduced. To create a Variant you may need the necessary authorizations. Most of the times while testing programs you will need to run a report using a variant and hence having the authorization to create a Variant is necessary. To create a Variant go to the main reporting screen, enter the name of the report for which you want to create the variant and select goto Variants option from the menu. The system displays the initial screen for the Variants. For creating a Variant you need to enter all the mandatory fields. Also you need to give a unique name for the Variant. Follow the naming convention rules. You may have to create several Variants for a particular report. Once a Variant is created you ca also schedule to run the report in the background using this Variant. For each variant that you create you need to give a brief description which will help to explain the purpose of the variant and help to distinguish the various Variants that you have created. You may want to protect your Variant by selecting the Protect Variant option. This option enables only the person who has created the Variant to change or delete it. While Running a report directly from the menu you can use the Run with Variant option and then select the desired variant from the dropdown list. Remember that Variants are report dependant. So to create a Variant you need to first create an ABAP report (Executable Program with selection screen). Once you successfully create all the variants for an ABAP report, you will save considerable amount of time which would otherwise have been spent in entering the same data again and again."
"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."
If you wish to POPUP a screen in SAP ABAP then it can be done as shown below. Do experiment with the X,Y co-ordinates for the POP-UP Screen. The following program pulls out sales orders from the sap database and displays them on the screen. When the user clicks on a particular sales order, it displays the Sales order number and the Customer number in the POP-UP Screen
SAP ABAP Function Module to Read Files and Directories from the Presentation Server
The following function module reads files and directories from the presentation server and stores it in the internal table. This fucntion module can be used to read all the files and directories from the entered directory.
TMP_GUI_DIRECTORY_LIST_FILES
Please find a program that shows the parameters that need to be passed to this function module.
REPORT ZEX_GETDIRFROMPRE .
Parameters: p_dir(100) type c.
Data: d_filecount type i, d_dircount type i, int_filetab like SDOKPATH occurs 0 with header line, int_dirtable like SDOKPATH occurs 0 with header line.
CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES' EXPORTING DIRECTORY = p_dir FILTER = '*.*' IMPORTING FILE_COUNT = d_filecount DIR_COUNT = d_dircount TABLES FILE_TABLE = int_filetab DIR_TABLE = int_dirtable EXCEPTIONS CNTL_ERROR = 1 OTHERS = 2 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
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.