1、工作区内容分配到指针&读取分配后指针里字段内容
DATA: CS_VBKOK TYPE VBKOK
ASSIGN cs_vbkok TO FIELD-SYMBOL(<cs_vbkok>).
CHECK <cs_vbkok> IS ASSIGNED.
ASSIGN COMPONENT 'FIELDNAME' OF STRUCTURE <cs_vbkok> TO FIELD-SYMBOL(<fd_h>).
CHECK <fd_h> IS ASSIGNED.
WRITE:/ <fd_h>.
UNASSIGN: <cs_vbkok>,<fd_h>.
DATA: BEGIN OF LINE,
COL1 TYPE I VALUE 'AA',
COL2 TYPE I VALUE 'BB',
COL3 TYPE I VALUE 'CC',
END OF LINE.
DATA COMP(5) VALUE 'COL3'.
FIELD-SYMBOLS: <F1>, <F2>, <F3>.
ASSIGN LINE TO <F1>.
ASSIGN COMP TO <F2>.
DO 3 TIMES.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE <F1> TO <F3>.
WRITE <F3>.
ENDDO.
ASSIGN COMPONENT <F2> OF STRUCTURE <F1> TO <F3>.
WRITE / <F3>.
输出如下:
AA BB CC
CC
2、单字段值分配到指针
data: lv_field(14).
concatenate 'IT_WOG-WOG0' l_ind into lv_field.
assign (lv_field) to field-symbols(<fd>).
check <fd> is assigned.
write:/ <fd>.
UNASSIGN <fd>.
3、读取内表数据到指针
DATA: CT_VBPOK TYPE TT_VBPOK
READ TABLE ct_vbpok WITH KEY wms_rfpos = lv_posnr ASSIGNING FIELD-SYMBOL(<cs_vbpok>).
CHECK <cs_vbpok> IS ASSIGNED.
ASSIGN COMPONENT 'FIELDNAME' OF STRUCTURE <cs_vbpok> TO FIELD-SYMBOL(<fd_i>).
CHECK <fd_i> IS ASSIGNED.
WRITE:/ <fd_i>.
UNASSIGN: <cs_vbpok>,<fd_i>.
4、内表行项目内容修改(不需要MODIFY ... INDEX SY-TABIX)
LOOP AT gt_out ASSIGNING FIELD-SYMBOL(<fs_out>).
"默认X销售需求,可选择Y试验,C零时插单
<fs_out>-zjhlx = 'X'.
READ TABLE gt_makt INTO DATA(ls_makt) WITH KEY matnr = <fs_out>-matnr.
IF sy-subrc = 0.
<fs_out>-maktx = ls_makt-maktx.
ENDIF.
READ TABLE gt_mkal INTO DATA(ls_mkal) WITH KEY matnr = <fs_out>-matnr
werks = <fs_out>-pwwrk
verid = <fs_out>-verid.
IF sy-subrc = 0.
<fs_out>-verid_desc = ls_mkal-text1.
ENDIF.
<fs_out>-zrets = p_zrets.
ENDLOOP.
5、内表新增行项目
"新增行项目到内表GT_OUT.
LOOP AT lt_out INTO DATA(ls_out).
APPEND INITIAL LINE TO gt_out ASSIGNING <fs_out>.
CHECK <fs_out> IS ASSIGNED.
MOVE-CORRESPONDING ls_out TO <fs_out>.
"销售组织
READ TABLE lt_tvkot INTO DATA(ls_tvkot) WITH KEY vkorg = <fs_out>-vkorg.
IF sy-subrc = 0.
<fs_out>-vkorg_desc = ls_tvkot-vtext.
ENDIF.
"部门
READ TABLE lt_tspat INTO DATA(ls_tspat) WITH KEY spart = <fs_out>-spart.
IF sy-subrc = 0.
<fs_out>-spart_desc = ls_tspat-vtext.
ENDIF.
"审核状态
IF <fs_out>-sdabw = 'X'.
<fs_out>-sdabw_desc = gc_sdabw_1.
ENDIF.
UNASSIGN <fs_out>.
ENDLOOP.
6、增强过程中,跨程序读取值
如:读取MM03 的销售组织数据1的 物料号、销售组织、分销渠道等信息。程序SAPLMGMM对应工作区RMMG1
ASSIGN ('(SAPLMGMM)RMMG1') TO FIELD-SYMBOL(<fs_rmmg1>).
CHECK <fs_rmmg1> IS ASSIGNED.
ASSIGN COMPONENT 'MATNR' OF STRUCTURE <fs_rmmg1> TO FIELD-SYMBOL(<fd_matnr>).
ASSIGN COMPONENT 'VKORG' OF STRUCTURE <fs_rmmg1> TO FIELD-SYMBOL(<fd_vkorg>).
ASSIGN COMPONENT 'VTWEG' OF STRUCTURE <fs_rmmg1> TO FIELD-SYMBOL(<fd_vtweg>).
CHECK <fd_matnr> IS ASSIGNED AND <fd_vkorg> IS ASSIGNED AND <fd_vtweg> IS ASSIGNED.
7、