1、Create Table Control Using ABAP ProgrammingCreate Table Control Using ABAP ProgrammingCreate Table Control Using ABAP ProgrammingIn last two weeks, I have learned self-taught how to createtable controlinSAPScreen usingABAP 4. After trial and error, finally I have finished my small project. While lea
2、rning about table control, I useSAP Helpas main reference, some websites and presentation slides from Michael Adams, Queensland University of Technology.A Table Control is a screen container or object that allows display of multiple rows of a table (databaseorinternal table) on a screen. It is good
3、for displaying a one-to-many relationship on the one screen. The table control object has many features built in to enhance screen display and usability.Table Control features allow horizontal & vertical scrolling column width resizing scrolling within a field (where contents are wider than the scre
4、en field width) reordering the sequence of columns saving the current display settings for future use selection of table rows & columnsFormatting features include automatic table resizing on window resize separator lines between rows & columns column header fields for all columnsHere steps to create
5、 table control1. Declare the table controlAs well as drawing the table control on the screen it is necessary to declare the table control as a data item (in the TOP include program for the transaction).CONTROLS ctrl TYPE TABLEVIEW USING SCREEN scr. is the name of the table control on a screen in the
6、 ABAP program corresponds to a complex type (CXTAB_CONTROL defined in the ABAP dictionary) is the screen from which the table control will get its initial values2. Adding table control to a screenIn the graphical screen editor choose the table control element button. Use the left mouse button to pos
7、ition and size the control on the screen.Then input the name of table control.3. Adding Field to a table controlTo add field to table control, we can retrieve from table or internal table. Click on icon “dictionary/program field window” or function key F6.There two option while retrieve field, i.e.
8、based on database table or internal table. If want to retrieve from database table, input the name of table then click push button “Get from Dictionary”. If want to retrieve from internal table, input the internal table name then click push button “Get from program”.Mark the field to be added to tab
9、le control, and then click on push button OK.Drag selected fields into table then release the mouse button.Here the fields we selected will be displayed in reversed order. I do not exactly why it happens. I have tried some ways and tricks to display in correct order, but the fields still displayed i
10、n reversed order. Finally, to get the correct order I selected the fields one by one.4. Adding label for each columnLabel column is text field. To add it, just click on the text field icon, drag it onto header of the column and then type the label.Table Control PrincipleThere are a set of programmin
11、g principles that should be adhered to when using table controls and step loops. Data from the database should be initially loaded into an internal table. This means that the database is accessed for read purposes only once in the transaction. Next the rows of the internal table are loaded into the
12、table control. Any changes that are made to the data are then saved back to the internal table. At the end of the transaction, the contents of the internal table can be written back to the database, again to minimize database I/O.PAI logic for screen 1 (see screen below) loads the internal table wit
13、h data from the database according to the entries supplied by the user.PBO logic for screen 2 (see screen below) populates the table control from the internal table (buffer).User action in screen 2 triggers the PAI logic. PAI logic updates the internal table with new values entered (into the table c
14、ontrol screen fields) by the user.PAI logic is triggered by actions such as scrolling down a single row as well as actions such as BACK, EXIT, etc.Unless the user action causes the transaction to leave the current screen, after the PAI modules have been executed, the PBO modules for the screen are e
15、xecuted again. Thus the table control fields are updated or refreshed after every user action.PBO (Process Before Output)In PBO processing fields are transported from the module pool to the screen in a predefined order. The table control step loop is processed row by row. Fields with corresponding n
16、ames are transported from the module pool to the screen. After the step loop has been processed all remaining module pool fields are transported to the screen.PAI (Process After Input) All screen fields that do not belong to a table control and are not specified in a FIELD statement are transported to module pool fields Tabl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1