ABAP 7.51 構文書き方変換について
便利になったなぁと感じたコマンドのメモです。
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
* 以前の書き方
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( ).
* こんな書き方もできます
SELECT *
FROM t000
INTO TABLE @DATA(lt_t000). READ TABLE lt_t000
INTO DATA(ls_t000)
INDEX 1.
・汎用モジュール/メソッド側に合わせた動的なデータ定義ができるので、汎用モジュール/メソッドのパラメータ参照データ型を変えても、勝手に追随してくれます。そのため、保守性があがります。
・コードが短くなって可読性向上。
・データを入れ込む場所で変数定義するので、実際に使う場所がわかりやすく、変数が使われるスコープが短くなって可読性が向上します。
内部テーブルへの行追加
ヘッダ領域なしに追加できます。
レンジテーブルに対して、特に便利です。
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.
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 構文書き方変換について的更多相关文章
- Windows PowerShell 入門(5)-制御構文
Windows PowerShellにおける制御構文について学びます.数ある制御構文の中でもSwitch文は.他の言語に比べ豊富な機能が用意されています. 対象読者 Windows PowerShel ...
- ABAP ODATA 文字列からxstringへの変換およびその逆変換(UTF-8)
DATA(lv_str) = |Teststring|. TRY. * string -> xstring * default UTF-8 DATA(lv_xstr) = cl_abap_cod ...
- 【VBA】セールの値は配列に変換方法
方法一 Sub test1() //変数の定義 Dim a() As Integer, iRow As Long, i As Integer //非空白のセールまでの行を取得 iRow = Cells ...
- EBCDIK,EBCDIC,ASCII,shift JIS間の変換
http://itdoc.hitachi.co.jp/manuals/3020/3020759580/G5950334.HTM#ID01056
- PMP用语集
AC actual cost 实际成本 ACWP actual cost of work performed 已完工作实际成本 BAC budget at completion 完工预算 BCWP b ...
- RxSwiftライブラリの作り方 〜Observer/Observable編〜
RxSwiftライブラリの作り方をご紹介します.一つの記事ですべてを説明するのは非常に厳しいので.まず Observer や Observable といった基本的なコンポーネントとその周辺について.ひ ...
- Windows PowerShell 入門(4)-変数と演算子
Windows PowerShellにおける変数と演算子の使用方法について学びます.今回は代表的な演算子として.算術演算子.代入演算子.論理演算子.比較演算子.範囲演算子.置換演算子.ビット演算子.型 ...
- CSSの変数を使う
この文章はhttps://developer.mozilla.org/ja/docs/Web/CSS/Using_CSS_variablesを参考します. これは実験段階の機能です.この機能は複数のブ ...
- WRITE命令 書式設定オプション
書式設定オプション WRITE 命令では.さまざまな書式設定オプションが使用することができます. 構文 WRITE ....f option. 全データ型の書式設定オプション オプション 機能 LEF ...
随机推荐
- XCode 如何真机运行别人的demo项目
iOS应用安装到真机需要证书和mobileprovision 文件,拿到别人的项目 是没有这些的 ,也就运行不起来. 要想运行起来, 需要选中项目, target - > 修改 bundlei ...
- 笨办法学Python(十四)
习题 14:提示和传递 让我们使用 argv 和 raw_input 一起来向用户提一些特别的问题.下一节习题你会学习如何读写文件,这节练习是下节的基础.在这道习题里我们将用略微不同的方法使用 raw ...
- Js arguments.callee();函数自己调用自己
1.阶乘的时候,函数一般要用到递归算法,所以函数内部一定会调用自身 //递归,阶乘 function sum(num){ ) { ; } else{ ); //自己调用自己,递归 } } alert( ...
- php:定义时间跳转到指定页面
我们想要定义延迟时间,再跳转到指定页面,只要用header()即可,语法: header("Refresh:延迟时间;url=要跳转的页面"); 例子: 注意注意:我们在heade ...
- Kalman filter, Laser/Lidar measurement
You can download this project from https://github.com/lionzheng10/LaserMeasurement The laser measure ...
- 了解Web及网络基础(二)
HTTP报文分为两种,HTTP请求报文跟HTTP响应报文. HTTP请求报文的结构如下: 其中,请求行中包括的内容有方法.URI和HTTP版本,请求首部字段.通用首部字段和实体首部字段隶属于HTTP首 ...
- S/4HANA for Customer Management里的搜索分页处理
这篇文章的英文版我发在了SAP Community上:Paging Implementation in S/4HANA for Customer Management https://blogs.sa ...
- MySQL一致性非锁定读
一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据,如果读取的行 ...
- css术语和概念
.vocabulary{ height:99px; color:transparent; } 属性 上面示意css代码中的height和color就是属性. 值 上面的99px就是值 整数值: ...
- centos6.x yum 安装 mysql5.6 mysql5.7
先卸载低版本MYSQL yum remove mysql* rpm -ivh http://repo.mysql.com/mysql-community-release-el6.rpm yum ins ...