Abap 如何用多个数据库表填充内部表?

Abap 如何用多个数据库表填充内部表?,abap,opensql,internal-tables,Abap,Opensql,Internal Tables,我已经声明了一个内部表 DATA ITAB_DEPT TYPE TABLE OF ZCLOUD9_DEPT WITH HEADER LINE. SELECT A~DEPT_ID A~DEPT_NAME A~DEPT_NO A~EMP_ID B~FIRST_NAME B~LAST_NAME INTO TABLE ITAB_DEPT FROM ZCLOUD9_DEPT AS A INNER JOIN ZCLOUD9_EMP AS B ON A~EMP_ID = B~EMP_ID WHERE A~

我已经声明了一个内部表

DATA ITAB_DEPT TYPE TABLE OF ZCLOUD9_DEPT WITH HEADER LINE.

SELECT A~DEPT_ID A~DEPT_NAME A~DEPT_NO A~EMP_ID B~FIRST_NAME B~LAST_NAME
INTO TABLE ITAB_DEPT FROM ZCLOUD9_DEPT AS A
INNER JOIN  ZCLOUD9_EMP AS B
ON A~EMP_ID = B~EMP_ID
WHERE A~DEPT_ID = MEM_DEPT_ID.

WRITE AT: /1 'Department ID' , 15 'Dept Name' , 30 'Tel No' , 40 'Dept I/C ID' , 50 'Dept I/C'.
uline.
LOOP AT ITAB_DEPT.
WRITE AT: /1 ITAB_DEPT-DEPT_ID , 15 ITAB_DEPT-DEPT_NAME ,
30 ITAB_DEPT-DEPT_NO, 40 ITAB_DEPT-EMP_ID , 50 ITAB_DEPT-FIRST_NAME , 59 ITAB_DEPT-LAST_NAME.

当我激活程序时,语法错误表明itab_部门没有名为first_name/last_name的组件。您应该声明类似于此的“itab_部门”

types: begin of struct_dept.
    include type zcloud9_dept.
    include type zcloud9_emp.
types: end of struct_dept.

data: itab_dept type table of struct_dept with header line.
现在,“ITAB_DEPT”只包含“ZCLOUD9_DEPT”表的字段。您还需要'ZCLOUD9_EMP'字段来加入它们


这可能不是开箱即用,但它应该让您走上正确的道路。

那又怎样?错误很明显,您的表itab_dept似乎没有字段名。您将ITAB_DEPT声明为ZCLOUD9_DEPT类型的表,因此请查看该表/结构,看看它是否真的没有该字段。如果没有,你知道发生了什么。您必须使用所需字段定义ITAB_部门。