八十、SAP中数据库操作之 (FOR ALL ENTRIES IN )用法,比较难明白
一、代码如下
二、查询结果如下
三、我们把it_spfli的内表内容添加两个
四、结果如下,查询的是所有的JFK和SFO机场。
*&---------------------------------------------------------------------* *& Report Z_TIANPAN_20190717_HELLO *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT z_tianpan_20190717_hello. * 定义ty_spfli的内表 DATA: BEGIN OF ty_spfli, airpfrom LIKE spfli-airpfrom, airpto LIKE spfli-airpto, fldate LIKE sflight-fldate, deptime LIKE spfli-deptime, END OF ty_spfli. * 定义内表和工作区都为it_spfli的内表 DATA: it_spfli LIKE ty_spfli OCCURS 0 WITH HEADER LINE . it_spfli-airpto = 'JFK'. APPEND it_spfli . it_spfli-airpto = 'SFO'. APPEND it_spfli . * 查询语句, SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE it_spfli FOR ALL ENTRIES IN it_spfli WHERE spfli~airpto = it_spfli-airpto . * 输出 LOOP AT it_spfli. WRITE: / '【from ', it_spfli-airpfrom, 'to = ',it_spfli-airpto, '】 航班日期:' , it_spfli-fldate, ' 出发时间: ', it_spfli-deptime . ENDLOOP. * 字符串拼接 WRITE: / '青青子衿' & '悠悠我心'.
总结:
SAP里面的SQL语句奇葩的一米,常规的SQL的用法很多都用不了,ORDER BY不能加载最后,一加就报错,搞到半夜,气死我了。
学无止境,且行且珍惜。