ABAP中两个DATABASE TABLE 的JOIN方法

*SAP做JOIN操作的方式,一种是se11建视图(view),在视图中将两个表JOIN起来,另一种是OPEN SQL方式,直接JOIN两个表
*OPEN SQL 和T-SQL在写法上要注意几点,
*一:OPEN SQL表字段用‘~’表示,T-SQL表字段用‘.’表示

*二:OPEN SQL取多个字段用空格分隔,T-SQL取多个字段用逗号分隔。

*ZHYUSERVIEW为视图

*TABLES:ZHYUSERVIEW.
*SELECT * FROM ZHYUSERVIEW.
*  WRITE: / ZHYUSERVIEW-MAINID,'  ',ZHYUSERVIEW-LINEID,'  ',ZHYUSERVIEW-NAME,'  ',ZHYUSERVIEW-ADDR.
*ENDSELECT.



TABLES:ZHYUSERMAIN,ZHYUSERLINE.
DATA: BEGIN  OF VIEWTAB,
  MAINID  TYPE  I,
  LINEID  TYPE  I,
  NAME  LIKE ZHYUSERMAIN-NAME,
  ADDR  LIKE ZHYUSERLINE-ADDR,
   END  OF VIEWTAB.
DATA:TEMPTABLE  LIKE  TABLE  OF VIEWTAB.
SELECT B~MAINID B~ ID  AS LINEID A~NAME B~ADDR
   INTO CORRESPONDING  FIELDS  OF  TABLE TEMPTABLE  FROM ZHYUSERMAIN  AS A
  INNER  JOIN ZHYUSERLINE  AS B
   ON A~ ID = B~MAINID.

LOOP  AT TEMPTABLE  INTO VIEWTAB.
   WRITE: / VIEWTAB-MAINID, '  ',VIEWTAB-LINEID, '  ',VIEWTAB-NAME, '  ',VIEWTAB-ADDR.
ENDLOOP.

你可能感兴趣的:(JOIN,table,database,SAP)