操作中のファイルの「位置」を取得する命令。
* 概要 [#hacb966b]
** 用法 [#vff07d62]
[[OPEN DATASET>ABAP/OPEN DATASET]]で開いたファイルに対し、[[TRANSFER>ABAP/TRANSFER]]で書き込んだ後などに、ケツの位置が取得できる。
既存のファイルに追記するタイプのインタフェース形式などで使うのだろうか?
筆者はあまり使用したことがないが、「書き込み対象データを全て作り終えた後に、まとめて書き出す」タイプではなく、「プログラムの進行とともに、順次書き出していく」なんて要件のためのものということか。
** サンプル [#k1bccd53]
*** 基本形 [#q3b92cf5]
GET DATASET ファイルパス名 POSITION pos ATTRIBUTES attr.
POSITIONには数値型を使用するが、サイズがデカ過ぎると危険?
Helpによると、2GBを超過するとTYPE Iだと溢れるらしい。
*** ATTRIBUTES [#b2b7f414]
DATA : attr TYPE dset_attributes
GET DATASET ファイルパス名 POSITION pos ATTRIBUTES attr.
IF attr-fixed-indicator-filter <> 'X'.
...
ENDIF.
ATTRIBUTEを指定することで、読み込んだファイルの属性が取得できるとのこと。
FILTERを使用して開かれたファイルだとダメらしいので、事前にチェックができる。
* その他 [#of616994]
関連する命令は、[[READ DATASET>ABAP/READ DATASET]]、[[CLOSE DATASET>ABAP/CLOSE DATASET]]、[[DELETE DATASET>ABAP/DELETE DATASET]]、[[TRANSFER>ABAP/TRANSFER]]、[[OPEN DATASET>ABAP/OPEN DATASET]]、[[SET DATASET>ABAP/SET DATASET]]、[[TRUNCATE DATASET>ABAP/TRUNCATE DATASET]]など。
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)