操作中のファイルの「位置」をセットする命令。
* 概要 [#oc120a2d]
** 用法 [#wf1af509]
[[OPEN DATASET>ABAP/OPEN DATASET]]で開いたファイルに対し、[[TRANSFER>ABAP/TRANSFER]]で書き込む前などに次の書き込み開始位置を設定するという意味で、利用するシーンは[[GET DATASET>ABAP/GET DATASET]]と同じようなものだろうか。
固定長のファイルを書き出していく際、値を直接書き出して、その後に追記してしまうと固定長の項目開始位置とズレが出てしまうので、次の項目の位置をセットしていくなどの使い方?
** サンプル [#xbd2f863]
*** 基本形 [#b901c4d5]
SET DATASET ファイルパス名 POSITION pos ATTRIBUTES attr.
POSITIONには数値型を使用するが、サイズがデカ過ぎると危険?
Helpによると、2GBを超過するとTYPE Iだと溢れるらしい。
*** POSITION END OF FILE [#r6a4cf32]
SET DATASET file POSITION END OF FILE.
一旦いま現在のファイルのケツに行くっぽい。
*** ATTRIBUTES [#f001c036]
DATA : attr TYPE dset_attributes
SET DATASET ファイルパス名 POSITION pos ATTRIBUTES attr.
...
IF attr-fixed-indicator-filter <> 'X'.
...
ENDIF.
SET DATASET ファイルパス名 POSITION pos ATTRIBUTES attr.
[[OPEN DATASET>ABAP/OPEN DATASET]]で開いた時の属性が変更できる?
[[データ型グループ>SAPのオブジェクト/データ型グループ]]DSETの型に基づいて指定するらしい。
* その他 [#e5674629]
関連する命令は、[[READ DATASET>ABAP/READ DATASET]]、[[CLOSE DATASET>ABAP/CLOSE DATASET]]、[[DELETE DATASET>ABAP/DELETE DATASET]]、[[TRANSFER>ABAP/TRANSFER]]、[[OPEN DATASET>ABAP/OPEN DATASET]]、[[GET DATASET>ABAP/SET DATASET]]、[[TRUNCATE DATASET>ABAP/TRUNCATE DATASET]]など。
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)