开发笔记-内表指针赋值

  RANGES: S_RSTGR  FOR  BSEG-RSTGR  .      "付款原因代码
  RANGES: S_STBLG  FOR  BKPF-STBLG  .      "冲销凭证号

  DATA: LV_FIELDNAME  TYPE CHAR20.
  DATA: LV_FIELDNAME1 TYPE CHAR20.
  DATA: LV_FIELDNAME2 TYPE CHAR20.

  FIELD-SYMBOLS: <FR> , <F1> , <F2> , <F3> , <F4> .
  FIELD-SYMBOLS: <FLT> TYPE STANDARD TABLE.
  FIELD-SYMBOLS: <FLI> ,<FLI_CP> .
  FIELD-SYMBOLS: <FL> , <FH> .
  DATA: LV_DATA TYPE REF TO DATA.
  DATA: ZTFIR139_SC TYPE TABLE OF ZTFIR139_SC WITH HEADER LINE .

  P_BUKRS = P_BUKRS_IN .

  CLEAR ZTFIR139_SC[].
  SELECT * INTO CORRESPONDING FIELDS OF TABLE ZTFIR139_SC[] FROM ZTFIR139_SC
    WHERE ZRANGES <> ''
    .

  LOOP AT ZTFIR139_SC.
    CLEAR LV_FIELDNAME .
    CLEAR LV_FIELDNAME1 .
    LV_FIELDNAME = ZTFIR139_SC-ZRANGES && '_LOW'.
    LV_FIELDNAME1 = ZTFIR139_SC-ZRANGES && '_HIGH'.
    ASSIGN (LV_FIELDNAME) TO <FL> .
    ASSIGN (LV_FIELDNAME1) TO <FH> .
    IF <FL> IS NOT INITIAL.
      CLEAR LV_FIELDNAME2.
      LV_FIELDNAME2 = ZTFIR139_SC-ZRANGES && '[]'.
      ASSIGN (LV_FIELDNAME2) TO <FLT> .
      CREATE DATA LV_DATA LIKE LINE OF <FLT>.
      ASSIGN LV_DATA->* TO <FLI>.
      ASSIGN (ZTFIR139_SC-ZRANGES) TO <FR> .
      ASSIGN COMPONENT 1 OF STRUCTURE <FR> TO <F1> .
      ASSIGN COMPONENT 2 OF STRUCTURE <FR> TO <F2> .
      ASSIGN COMPONENT 3 OF STRUCTURE <FR> TO <F3> .
      ASSIGN COMPONENT 4 OF STRUCTURE <FR> TO <F4> .
      IF <FH> IS NOT INITIAL.
        <F1> = 'I'.
        <F2> = 'BT'.
        <F3> = <FL> .
        <F4> = <FH> .
      ELSE.
        <F1>   = 'I'.
        IF <FL> CS '*'.
          <F2> = 'CP'.
        ELSE.
          <F2> = 'EQ'.
        ENDIF.
        <F3>   = <FL> .
      ENDIF.
      ASSIGN COMPONENT 1 OF STRUCTURE <FLI> TO <FLI_CP> .
      <FLI_CP> = <F1> .
      ASSIGN COMPONENT 2 OF STRUCTURE <FLI> TO <FLI_CP> .
      <FLI_CP> = <F2> .
      ASSIGN COMPONENT 3 OF STRUCTURE <FLI> TO <FLI_CP> .
      <FLI_CP> = <F3> .
      ASSIGN COMPONENT 4 OF STRUCTURE <FLI> TO <FLI_CP> .
      <FLI_CP> = <F4> .
      APPEND <FLI> TO <FLT> .
    ENDIF.
    CLEAR ZTFIR139_SC .
  ENDLOOP.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值