便利になったなぁと感じたコマンドのメモです。
NetWeaver7.40 SP2から使えます。

SAP NetWeaver AS for ABAP 7.51 Innovation Package – Overview and Product Highlightsに同じような情報ありました。他にも興味深い内容多かったです。

変数のInline Declaration

変数定義をしながら、値の入れ込みができます。
https://help.sap.com/http.svc/rc/abapdocu_751_index_htm/7.51/en-US/abendata_inline.htm

Report.abap
* 以前の書き方
DATA lv_guid TYPE sysuuid_x16.
lv_guid = cl_system_uuid=>if_system_uuid_static~create_uuid_x16( ). * 新しい書き方
DATA(lv_guid) = cl_system_uuid=>if_system_uuid_static~create_uuid_x16( ).

  

Report.abap
* こんな書き方もできます
SELECT *
FROM t000
INTO TABLE @DATA(lt_t000). READ TABLE lt_t000
INTO DATA(ls_t000)
INDEX 1.

  

・汎用モジュール/メソッド側に合わせた動的なデータ定義ができるので、汎用モジュール/メソッドのパラメータ参照データ型を変えても、勝手に追随してくれます。そのため、保守性があがります。
・コードが短くなって可読性向上。
・データを入れ込む場所で変数定義するので、実際に使う場所がわかりやすく、変数が使われるスコープが短くなって可読性が向上します。

内部テーブルへの行追加

ヘッダ領域なしに追加できます。
レンジテーブルに対して、特に便利です。

Report.abap
DATA lt_string TYPE TABLE OF string.

* 新しい書き方
lt_string = VALUE #(
( `1st Line` ) "1行目
( `2nd Line` ) ). "2行目 * 古い書き方
APPEND:
'1st Line' TO lt_string,
'2nd Line' TO lt_string.

  

Report.abap
DATA lt_range TYPE RANGE OF i.

* 新しい書き方
lt_range = VALUE #( BASE lt_range ( sign = 'I'
option = 'BT'
low = 1
high = 10 ) ). * 古い書き方
DATA ls_range LIKE LINE OF lt_range.
ls_range-sign = 'I'.
ls_range-option = 'BT'.
ls_range-low = 1.
ls_range-high = 10.
APPEND ls_range TO lt_range.

・コードが短くなる
・ヘッダ領域の変数定義が不要

ABAP 7.51 構文書き方変換について的更多相关文章

  1. Windows PowerShell 入門(5)-制御構文

    Windows PowerShellにおける制御構文について学びます.数ある制御構文の中でもSwitch文は.他の言語に比べ豊富な機能が用意されています. 対象読者 Windows PowerShel ...

  2. ABAP ODATA 文字列からxstringへの変換およびその逆変換(UTF-8)

    DATA(lv_str) = |Teststring|. TRY. * string -> xstring * default UTF-8 DATA(lv_xstr) = cl_abap_cod ...

  3. 【VBA】セールの値は配列に変換方法

    方法一 Sub test1() //変数の定義 Dim a() As Integer, iRow As Long, i As Integer //非空白のセールまでの行を取得 iRow = Cells ...

  4. EBCDIK,EBCDIC,ASCII,shift JIS間の変換

    http://itdoc.hitachi.co.jp/manuals/3020/3020759580/G5950334.HTM#ID01056

  5. PMP用语集

    AC actual cost 实际成本 ACWP actual cost of work performed 已完工作实际成本 BAC budget at completion 完工预算 BCWP b ...

  6. RxSwiftライブラリの作り方 〜Observer/Observable編〜

    RxSwiftライブラリの作り方をご紹介します.一つの記事ですべてを説明するのは非常に厳しいので.まず Observer や Observable といった基本的なコンポーネントとその周辺について.ひ ...

  7. Windows PowerShell 入門(4)-変数と演算子

    Windows PowerShellにおける変数と演算子の使用方法について学びます.今回は代表的な演算子として.算術演算子.代入演算子.論理演算子.比較演算子.範囲演算子.置換演算子.ビット演算子.型 ...

  8. CSSの変数を使う

    この文章はhttps://developer.mozilla.org/ja/docs/Web/CSS/Using_CSS_variablesを参考します. これは実験段階の機能です.この機能は複数のブ ...

  9. WRITE命令 書式設定オプション

    書式設定オプション WRITE 命令では.さまざまな書式設定オプションが使用することができます. 構文 WRITE ....f option. 全データ型の書式設定オプション オプション 機能 LEF ...

随机推荐

  1. CSS命名规范(规则)

    常用的CSS命名规则 头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体佈局宽度:wrapper左右中:left ...

  2. Java问题定位之Java线程堆栈分析

    采用Java开发的大型应用系统越来越大,越来越复杂,很多系统集成在一起,整个系统看起来像个黑盒子.系统运行遭遇问题(系统停止响应,运行越来越慢,或者性能低下,甚至系统宕掉),如何速度命中问题的根本原因 ...

  3. 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

    这篇文章给大家介绍关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)的相关资料,还给大家收集些关于MySQL会出现中文乱码原因常见的几点,小伙伴快来看看吧   最近两天做项目总是被乱码问题困 ...

  4. 探索Skip List (跳跃表)

    附William Pugh的论文 Skip Lists: A Probabilistic Alternative to Balanced Trees 写在前面 以下内容针对的是Skip List的插入 ...

  5. Seafile开源私有云自定义首页Logo图片

    Seafile是一个开源.专业.可靠的云存储平台:解决文件集中存储.共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月:除了一般网盘所提供的云存储以及共享功能外,Seafi ...

  6. 动态控制C4C UI元素的显示和隐藏

    C4C UI上UI元素的显示和隐藏可以通过Key User在Adaptation模式里通过编辑一些简单的rule去控制,诸如这种格式: if ( logic expression = true ) t ...

  7. ios各层

    数据持久层.业务逻辑层.表示层 数据持久层: 持久化(Persistence)意思就是当你退出app的时候它还会存在. dao层:DAO (Data Access Object) 数据访问对象是一个面 ...

  8. 虚方法(virsual method)

    虚方法(virsual method)挺起来玄乎其玄,向从未听说过这个概念的人解释清楚是一件相当困难的事情. 因为这是一个很不容易理解的概念,但它在比较抽象的代码里边是不可少的. 那么既然用枯燥的文字 ...

  9. kernighan lin算法

    这个算法主要用在网络节点的分割.他的思想是将一个网络节点图分割成两个相等的节点集合.为了连接两个社区的边权最小. step1:随机产生两个节点的集合A和B. step2:计算A和B中的每个节点的int ...

  10. js 实现链表

    我们通常会在c++这类语言中学习到链表的概念,但是在js中由于我们可以动态的扩充数组,加之有丰富的原生api.我们通常并不需要实现链表结构.由于突发奇想,我打算用js实现一下: 首先我们要创建链表: ...