便利になったなぁと感じたコマンドのメモです。
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. angular2-组件样式

    组件样式: :host 选择器 使用:host伪类选择器,用来选择组件宿主元素中的元素(相对于组件模板内部的元素) 这是我们能以宿主元素为目标的唯一方式.除此之外,我们将没办法指定它, 因为宿主不是组 ...

  2. Js Date类型

    一:格式化方法 var box=new Date(); //标准时间,如果没传参数,得到的时间为当前时间 //alert(Date.parse('4/12/2007')); //11763072000 ...

  3. CopyTranslator-复制即翻译的外文辅助阅读翻译解决方案

    英语/English 复制即翻译的外文辅助阅读翻译解决方案 请尽快更新到,这是你没有体验过的全新版本,只需3分钟,你就会跟我一样,爱上这个软件. 如果您觉得软件对您有所帮助,不用follow,不用fo ...

  4. *187. Repeated DNA Sequences (hashmap, one for loop)(difference between subsequence & substring)

    All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACG ...

  5. Leetcode 78. Subsets (backtracking) 90 subset

    using prev class Solution { List<List<Integer>> res = new ArrayList<List<Integer&g ...

  6. 请教Nutzwk项目,在beetl页面怎么用shiro标签呢?

    请教Nutzwk项目,在beetl页面怎么用shiro标签呢?  发布于 381天前  作者 WenTao-Love  195 次浏览  复制  上一个帖子  下一个帖子  标签: nutzwk 如题 ...

  7. vuejs样式绑定

    第一种:class的对象绑定,class引用的是一个对象,这个对象的属性显示不显示由变量决定 <style> .activated{ color:red; } </style> ...

  8. 2018年Linux运维人员必会开源运维工具体系总结

    操作系统:Centos,Ubuntu,Redhat,suse,Freebsd 网站服务:nginx,apache,lighttpd,php,tomcat,resin数据库:MySQL,MariaDB, ...

  9. js判断移动端还是PC端

    function isMobile(){ var sUserAgent= navigator.userAgent.toLowerCase(), bIsIpad= sUserAgent.match(/i ...

  10. input或其他元素的左上角和左下角单独圆角实现

    border-bottom-left-radius:6px;/*左下角圆角*/    border-top-left-radius: 6px;/*左上角圆角*/