SAPの基礎知識、論理パス / 論理ファイル の仕組みと設定方法を3分で解説します。
論理パス / 論理ファイル は、実際のパス/ファイルにニックネームのようなものを付けて管理する仕組みです。このページでは、論理パス / 論理ファイル が何者でどのように利用するのか(メリットとデメリットは何か)を解説します。
SAPエンジニア・SAPコンサルを目指す方であれば知らないと恥ずかしい重要知識です。是非最後までご覧ください。
【SAP】論理パス / 論理ファイルとは?
論理パス / 論理ファイルとは、簡単に言えば物理パス(例:C:\work\temp ) / 物理ファイル(例:test.txt)に名付けたニックネームのようなものです。
例えば、物理的なファイル "/usr/sap/temp/work/SAMPLE.text" を論理名 "A" と定義しておくとします。("/usr/sap/temp/work/SAMPLE.text" をニックネーム "A" にする。)
すると後からファイルの編集などをする際に「Aを編集する(OPEN DATASET A)」と楽に操作することができる。ニックネームに "A" ではなく "支払明細書" などのような具体的な名称を付けておけば、そのファイルが何者なのかが分かりやすかったりもします。
論理パス / 論理ファイルを使いこなせるようになれば、単に「楽」とか「分かりやすい」以上のメリットがあります。ここから、具体的な設定方法を解説しながら、より詳しく論理パス / 論理ファイルを学んでいきましょう。
論理パス/論理ファイルの定義:FILE
論理パス / 論理ファイル の定義はトランザクションコード:FILE から行います。
まずは、論理パス(物理パス・ディレクトリに名付けるニックネーム)から登録します。
論理パスの登録
論理パスは4つの項目を登録します。
項目名 | 設定内容 |
---|---|
論理パス | 論理パス名(ニックネーム)を設定 |
名前 | 論理パスにつける名前(何でもOKです) |
構文グループ | サーバのOSに応じた設定(LINUXであればUNIX) |
物理パス | /ファイルパス/<FILENAME> を設定する。 |
物理パスには必ず<FILENAME>を含める必要があります。指定しない場合、エラーメッセージ(プレースホルダ<FILENAME>を使用してください)が表示され保存ができません。
これで、論理パスの定義が完了です。
注意しておきたいのは、ここで定義した論理パス名はこの次に説明する「論理ファイル」の設定で利用するために定義しただけであるという点。
どういうことか、続いて「論理ファイル」の設定方法をご説明します。
論理ファイルの登録
項目名 | 設定内容 |
---|---|
論理ファイル | 論理ファイル名(ニックネーム)を設定 |
名前 | 論理ファイルにつける名前(何でもOKです) |
物理ファイル | 物理ファイルを指定※ |
データ書式 | ファイル書式を指定(検索ヘルプ利用可) |
Appl.エリア | アプリケーションエリアを指定(検索ヘルプ利用可) |
論理パス | 論理パスを指定 |
物理ファイル項目には、予約語を使用することが可能です。この点に関しては、ページ後半で解説します。
論理パスには、先ほど定義した論理パスを指定します。
論理ファイルは、論理パスを参照する形で定義します。
上記の設定により、論理ファイル「Y_FILE」を指定した場合、「/work/20201231sample.csv」というファイルが呼ばれる形となります。
物理ファイル名に利用できる「予約語」
論理ファイルの定義(項目:物理ファイル)では予約語が利用できます。予約語=システム項目 のようなものと考えてOK。
例えば、先ほどの例では物理ファイル名を「<DATE>sample.csv」としてしましたが、この <DATE> は当日日付が代入される仕組みです。つまり今日が2020/12/31だとすれば、「20201231sample.csv」ファイルが物理ファイル名となります。
論理ファイル名の設定を適切に行えば、ファイル名の一部だけが異なる場合でも動的に指定可能になります。尚、予約語には以下が存在します。
予約語 | 代入される内容 |
---|---|
<DATE> | SY-DATUM |
<YEAR> | SY-DATUM のYYYY部分 |
<SYEAR> | SY-DATUM のYY部分(2019年なら「19」) |
<MONTH> | SY-DATUM のMM部分 |
<DAY> | SY-DATUM のDD部分 |
<WEEKDAY> | SY-FDAYW |
<INSTANECE> | インスタンス番号 |
<DBSYS> | データベース(Oracle / hana 等) |
<CLIENT> | ログオンしているクライアント |
<LANGUAGE> | ログオン言語 |
システム項目とはSAP側で値が自動的に付与される項目(変数)です。詳しい解説を以下のページで行っておりますので是非一度ご覧になってみてください。
代表的なものは、やはり日付関係の予約語を用いる例です。
外部システムからのインターフェースをファイルで取り込んでいる場合には、間違って他の日付のファイルを取り込まないように論理ファイルで<DATE>を組み込んだりするのが一般的です。
論理ファイルを登録する際に「警告:このテーブルはクライアント非依存です」というメッセージが出力されます。
クライアント依存 / 非依存 の別が気になった方は以下のページにその説明を行っておりますのでこの機会に合わせて学習してみてください。
SAP / ABAPを1から学習したい方は
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!