ABAP-指针用法()

1、定义指针
指针的定义主要有以下语句:

定义任意类型的指针,但是不具备栏位结构(仅仅是一个地址)
FIELD-SYMBOLS <carrid> TYPE any.

参考数据库表定义(这种指针是含有栏位结构的,参考内表同理)
FIELD-SYMBOLS <sflight> TYPE sflight.
FIELD-SYMBOLS <sflight> TYPE sflight.
FIELD-SYMBOLS <sflight> LIKE LINE OF sflight.

动态定义具有栏位结构的指针类型
DATA:tabname TYPE tabname VALUE 'SFLIGHT',
     dref    TYPE REF TO data.
FIELD-SYMBOLS:<itab> TYPE ANY TABLE.
CREATE DATA dref TYPE TABLE OF (tabname).
ASSIGN dref->* TO <itab>.

2、指针的分配(常用句法)
分配某个变量给指针
ASSIGN var TO <field-symbols>.

分配结构中的某个字段的地址指针
ASSIGN COMPONENT pos OF STRUCTURE strud TO <field-symbols>.

分配整个内表给指针(指针必须定义为有栏位结构的类型)
READ TABLE itab
INDEX/WITH
INDEX key ASSIGNING <field-symbols>.
LOOP AT itab
  ASSIGNING <field-symbols>.
ENDLOOP.

分配类的方法或借口给指针
ASSIGN dref->* <field-symbols>.

直接在SQL语句中分配
SELECT * FROM (tabname) UP TO 20 ROWS
  INTO TABLE <itab>.

转载于:ABAP指针常用语法(笔记)_Smallbites的博客-CSDN博客_abap 指针

————————
1、定义指针
指针的定义主要有以下语句:

定义任意类型的指针,但是不具备栏位结构(仅仅是一个地址)
FIELD-SYMBOLS <carrid> TYPE any.

参考数据库表定义(这种指针是含有栏位结构的,参考内表同理)
FIELD-SYMBOLS <sflight> TYPE sflight.
FIELD-SYMBOLS <sflight> TYPE sflight.
FIELD-SYMBOLS <sflight> LIKE LINE OF sflight.

动态定义具有栏位结构的指针类型
DATA:tabname TYPE tabname VALUE 'SFLIGHT',
     dref    TYPE REF TO data.
FIELD-SYMBOLS:<itab> TYPE ANY TABLE.
CREATE DATA dref TYPE TABLE OF (tabname).
ASSIGN dref->* TO <itab>.

2、指针的分配(常用句法)
分配某个变量给指针
ASSIGN var TO <field-symbols>.

分配结构中的某个字段的地址指针
ASSIGN COMPONENT pos OF STRUCTURE strud TO <field-symbols>.

分配整个内表给指针(指针必须定义为有栏位结构的类型)
READ TABLE itab
INDEX/WITH
INDEX key ASSIGNING <field-symbols>.
LOOP AT itab
  ASSIGNING <field-symbols>.
ENDLOOP.

分配类的方法或借口给指针
ASSIGN dref->* <field-symbols>.

直接在SQL语句中分配
SELECT * FROM (tabname) UP TO 20 ROWS
  INTO TABLE <itab>.

转载于:ABAP指针常用语法(笔记)_Smallbites的博客-CSDN博客_abap 指针