ABAP 动态 SQL

关于Abap 动态字段及指针处理方法,最近整理了一下简单的应用,以供参考:

应用一: Dynamic Field Apply 1

DATA: zpor_wa type z1td1106.
data: begin of itab OCCURS 0,
        zMODEL LIKE z1td1106-ZMODEL,
        ZQTY LIKE z1td1106-QTY01,
      END OF ITAB.

field-SYMBOLS: <wa> type any,
               <wa2> TYPE any.
ASSIGN zpor_wa to <wa>.
select single *
  from z1td1106 into zpor_wa.
while sy-subrc = 0.
  ASSIGN COMPONENT sy-index of STRUCTURE <wa> to <wa2>.
  if sy-index = 5.
    itab-Zmodel = <wa2>.
  endif.
  IF sy-index > 9 and sy-index < 25.
    itab-ZQTY = <wa2>.
  ENDIF.
  APPEND itab.
ENDWHILE.
LOOP AT itab.
  write:/ itab-Zmodel ,':',itab-ZQTY.
ENDLOOP.


* 应用二:Dynamic Field Apply 2
DATA :
  T_A(15) TYPE C VALUE 'ITAB100-',
  T_B(15) TYPE C,
BEGIN OF ITAB100 OCCURS 0,
  A(15) TYPE C,
  B TYPE I,
END OF ITAB100,

BEGIN OF ITAB200 OCCURS 0,
  A1(15) TYPE C,
  A2(15) TYPE C,
  A3(15) TYPE C,
END OF ITAB200.

FIELD-SYMBOLS: <A>.

ITAB100-A = 'A'.
ITAB100-B = 100.
APPEND ITAB100.
ITAB100-A = 'B'.
ITAB100-B = 200.
APPEND ITAB100.
ITAB100-A = 'C'.
ITAB100-B = 300.
APPEND ITAB100.

CLEAR:ITAB200[].
LOOP AT ITAB100.
  CONCATENATE T_A ITAB100-A INTO T_B.
  ASSIGN (T_B) TO <A>.
  ITAB200-A1 = <A>.
  APPEND ITAB200.
ENDLOOP.

LOOP AT ITAB200.
  Write:/ ITAB200-A1,',',ITAB200-A2,',',ITAB200-A3.
ENDLOOP.

转载于:https://www.cnblogs.com/edisonchen/archive/2011/04/30/2033345.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值