Example 1
In this exanmple the name of a table control isd substituted by a field 
symbol. Thus you cal call the form with any internal table, using the name of 
the tablæe control as a parameter. form insert_row
using p_tc_name.
field-symbols <tc> type cxtab_control. "Table control
assign (p_tc_name) to <tc>.
* insert 100 lines in table control
<tc>-lines = 100.
Example 2
TYPES:
  BEGIN OF st_mytable,
    name1 TYPE string,
    name2 TYPE string,
    age TYPE i,
  END OF st_mytable.
DATA:
  gi_mytable TYPE STANDARD TABLE OF st_mytable,
  g_mytable  TYPE st_mytable.
*------------------------------
* Define field symbols
*------------------------------
FIELD-SYMBOLS:
  <myfield1> TYPE ANY,
  <myfield2> TYPE ANY,
  <myfield3> TYPE ANY,
  <myline>  TYPE ANY.
*------------------------------
* Fill table with data
*------------------------------
g_mytable-name1 = 'John'.
g_mytable-name2 = 'Johnson'.
g_mytable-age   = 25.
APPEND g_mytable TO gi_mytable.
g_mytable-name1 = 'Claudio'.
g_mytable-name2 = 'Jensen'.
g_mytable-age   =  45.
APPEND g_mytable TO gi_mytable.
*------------------------------
* The normal way to do it
*------------------------------
LOOP AT gi_mytable INTO g_mytable.
  WRITE: / g_mytable-name1, g_mytable-name2 ,g_mytable-age.
ENDLOOP.
SKIP 2.
*------------------------------
* Do it with field symbols
*------------------------------
LOOP AT gi_mytable ASSIGNING <myline>.
  ASSIGN COMPONENT 1 OF STRUCTURE <myline> TO <myfield1>.
  ASSIGN COMPONENT 2 OF STRUCTURE <myline> TO <myfield2>.
  ASSIGN component 3 OF STRUCTURE <myline> TO <myfield3>.
  WRITE: / <myfield1>,<myfield2>,<myfield3>.
ENDLOOP.
*------------------------------
* Unassign field symbols
*------------------------------
UNASSIGN <myfield1>.
UNASSIGN <myfield2>.
UNASSIGN <myfield3>.
UNASSIGN <myline>.
No comments:
Post a Comment