如何将内部表分配到结构中,然后分配到ABAP中的字段
使用下面的代码,我可以检索内部表如何将内部表分配到结构中,然后分配到ABAP中的字段,abap,Abap,使用下面的代码,我可以检索内部表t_t005e,但是当放入wa_upload-region字段时,只检索数据的第一列,但我想检索第三列数据 TYPES: BEGIN OF ty_upload, " ... region TYPE regio, " ... END OF ty_upload. DATA: wa_upload TYPE ty_upload, t_t005e TYPE STANDARD TABLE OF t005e. READ TABLE t_t005e
t_t005e
,但是当放入wa_upload-region
字段时,只检索数据的第一列,但我想检索第三列数据
TYPES: BEGIN OF ty_upload,
" ...
region TYPE regio,
" ...
END OF ty_upload.
DATA: wa_upload TYPE ty_upload,
t_t005e TYPE STANDARD TABLE OF t005e.
READ TABLE t_t005e
INTO wa_upload-region
WITH KEY land1 = 'GB'
regio = 'YK'
counc = ''.
因此,我创建了一个工作区wa_t005e
,其类型与t_t005e
的行相同
我想先将内部表格t_t005e
读入工作区wa_t005e
,然后读入wa_upload-region
字段
以下是我正在进行的工作:
DATA: wa_t005e TYPE t005e.
LOOP AT t_t005e INTO wa_t005e.
ASSIGN COMPONENT wa_t005e-regio OF STRUCTURE
wa_t005e TO <wa_upload-region>.
ENDLOOP.
数据:wa_t005e类型t005e。
在t_t005e处循环,进入W_t005e。
分配组件wa_t005e-结构区域
我要去。
结束循环。
如何将
wa_t005e-regio
的数据输入字段wa_upload-region
?至少在7.40之前的系统中,无法将表中一列的值直接读取到结构的一个字段中。如果您有一个7.40系统,您可以使用这样的:
TRY.
wa_upload-region = t_t005e[ land1 = 'GB' regio = 'YK' counc = '' ]-regio.
CATCH cx_sy_itab_line_not_found.
ENDTRY.
READ TABLE t_t005e INTO wa_t005e WITH KEY land1 = 'GB' regio = 'YK' counc = ''.
wa_upload-region = wa_t005e-regio.
在较旧的系统中,您必须将整个表行读入,然后您可以从中获取字段,如下所示:
TRY.
wa_upload-region = t_t005e[ land1 = 'GB' regio = 'YK' counc = '' ]-regio.
CATCH cx_sy_itab_line_not_found.
ENDTRY.
READ TABLE t_t005e INTO wa_t005e WITH KEY land1 = 'GB' regio = 'YK' counc = ''.
wa_upload-region = wa_t005e-regio.
如果你想使用等等,你也可以这样做。首先,将表行再次读入一个结构(在本例中,是一个保持主题的表行)。然后将结构所需的组件/字段指定给单个值字段符号
DATA: t_upload TYPE STANDARD TABLE OF ty_upload,
t_t005e TYPE STANDARD TABLE OF t005e.
FIELD-SYMBOLS: <fs_upload> TYPE ty_upload,
<fs_t005e> TYPE t005e,
<region> TYPE regio. " or type any
SELECT *
FROM t005e
INTO CORRESPONDING FIELDS OF TABLE t_t005e.
READ TABLE t_t005e ASSIGNING <fs_t005e> WITH KEY land1 = 'GB' regio = 'YK' counc = ''.
ASSIGN COMPONENT 'REGIO' OF STRUCTURE <fs_t005e> TO <region>. " <---
*Other option: number of column
*ASSIGN COMPONENT 3 OF STRUCTURE <fs_t005e> TO <region>.
APPEND INITIAL LINE TO t_upload ASSIGNING <fs_upload>.
<fs_upload>-region = <region>.
WRITE <fs_upload>-region.
DATA:t_上传类型标准表,
t_t005e类型标准表t005e。
字段符号:类型ty_upload,
t005e型,
输入regio。“或键入任何
挑选*
从t005e开始
进入表t_t005e的相应字段。
读取表t_t005e,用键land1='GB'区域='YK'CONNC=''赋值。
将结构的组件“REGIO”分配给。“我是否应该告诉您答案像w_upload-region=w_t005e-REGIO一样简单。
?