zoukankan      html  css  js  c++  java
  • 通过例子学习ABAP(二)--内表的赋值

    这是一个很有趣的例子,可以反映出带表头的内表和不带表头的内表赋值的区别。

          例子中先定义了一个结构化的字段LINE,包含了COL1和COL2两个字段。通过 APPEND line TO etab. 将值赋给ETAB之后,DEBUG看到的结果是:

       这时候再通过   MOVE etab[] TO ftab1. 语句将值赋给ITAB1中后,可以看到FTAB1表的结果是:

     

    可以清楚的看到有表头的表etab和无表头的表 ftab1结果是不一样的,所以赋值和输出的方式也不同。无表头的表需要再定义一个与该内表结构相同的工作区对象供程序使用,将数据写入内表时,必须首先给工作区赋值,然后在工作区添加或者插入内表。从内表中取值时,需要用已定义的内表行内容覆盖工作区的内容,然后再从程序中使用工作区的内容。

      *&---------------------------------------------------------------------*
    *& Report  ZTEST_SD1
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*

    REPORT  ZTEST_SD1.
    * move

    DATABEGIN OF line,
            col1(1TYPE c,
            col2(1TYPE c,
          END OF line.

    DATA: etab LIKE TABLE OF line WITH HEADER LINE,
          ftab1 LIKE TABLE OF line.

    line-col1 = 'A'line-col2 = 'B'.

    APPEND line TO etab.
    LOOP AT ETAB.
    WRITE: / ETAB-COL1, ETAB-COL2.
    ENDLOOP.

    MOVE etab[] TO ftab1.
    DATA wa LIKE LINE OF ftab1.

    LOOP AT ftab1 INTO WA.
      WRITE : / WA-COL1 ,WA-COL2.
    ENDLOOP.

    LOOP AT ftab1 INTO line .
      WRITE: / line-col1, line-col2.
    ENDLOOP.

    SKIP.
    ULINE.

     
  • 相关阅读:
    Zabbix的前台SQL注射漏洞利用
    LeetCode OJ--Permutation Sequence *
    LeetCode OJ--Next Permutation *
    LeetCode OJ--Permutations II
    LeetCode OJ--Permutations *
    小算法-计算下一个排列
    LeetCode OJ--Gas Station**
    LeetCode OJ--Insert Interval **
    LeetCode OJ--Search Insert Position
    Ruby自动化测试(操作符的坑)
  • 原文地址:https://www.cnblogs.com/elegantok/p/1323565.html
Copyright © 2011-2022 走看看