この記事を読むメリット
- SAPの論理ファイル名・パスの設定方法を体系的に理解できます。
- 関連するSAP標準テーブルの構造と用途を把握できます。
- 運用視点での設計・保守のポイントが整理できます。
SAPシステムにおいて、外部とのファイル連携は日常的に発生する業務のひとつです。たとえば、データの一括取込やファイル出力、EDIとの連携処理など、ファイルベースのインターフェースは多くの現場で活用されています。
その際によく問題になるのが、ファイルの物理パスをどのように管理するかという点です。本番環境とテスト環境でファイルサーバーが異なる場合や、サーバー構成が変更されるケースでは、直接パスを記述していると対応が煩雑になりがちです。
こうした課題を解決するために用意されているのが、「論理ファイル名(Logical File Name)」と「論理ファイルパス(Logical File Path)」というSAP独自の仕組みです。これらを正しく活用することで、環境に依存しない柔軟なファイル管理が実現できます。
本記事では、論理ファイル名・論理ファイルパスの基本概念から、設定方法、関連テーブル、実務における活用例までを一貫して解説します。すでに運用に携わっている方も、これから設定を検討されている方も、参考にしていただければ幸いです。
ファイルサーバーに格納されているファイルの中身を参照したり、ファイルサーバーにアップロード・ダウンロードする方法は以下を参照すると良いのじゃ!
あわせて読みたい
【SAP基礎】AL11を使ったファイル操作の徹底解説!
この記事を読むメリット AL11を使ったファイル確認の操作手順が理解できます CG3Y/CG3Zを用いたファイル転送の操作手順が理解できます はじめに、SAPで扱うファイルは主…
この記事のポイント
論理ファイル名・論理ファイルパスの概要
論理ファイル名とは?
論理ファイル名(Logical File Name)とは、物理的なファイル名やパスを抽象化するためのSAP内部の識別子です。たとえば、プログラム内で /usr/sap/interface/output.csv という具体的なファイル名をハードコーディングする代わりに、Z_OUTPUT のような論理名で扱うことで、ファイル連携に関する設計や保守が格段に効率化され、移送時のトラブルも回避しやすくなります。
この論理ファイル名は、以下のような構成になっています:
- 論理ファイル名(Logical File Name):論理的な識別子(例:
Z_OUTPUT)
- 関連づける論理ファイルパス(Logical File Path):ファイルのディレクトリ部分(例:
Z_OUTPUT_PATH)
- 物理ファイル名:ファイル名部分(例:
SO_list.csv)
論理ファイルパスとは?
論理ファイルパス(Logical File Path)は、上記のようなファイルの「パス部分」だけを抽象化したもので、ファイルの物理的な保存場所(ディレクトリのパス)を、論理名として定義したものです。実際の物理パス(例:/usr/sap/intf/や\\fileserver\share\)と論理パス名(例:Z_OUTPUT_PATH)をマッピングし、環境に応じて設定を切り替えます。
勿論、ファイルを扱うプログラムでは「/usr/sap/interfaces/output/」のような物理パスを直接指定することも可能ですが、この方法では以下のような問題が生じます。
- 本番機とテスト機でファイルサーバーのパスが異なる場合、プログラムの修正が必要になる
- サーバー構成が変更された際、該当するすべてのプログラムに修正が発生する
- パスがハードコードされていると、設定やトラブル調査が属人化しやすい
こうした問題を解消するのが「論理ファイルパス」の役割です。
物理パスには変数(<CLIENT>, <DATE>, <USER>など)を埋め込むことができ、柔軟なパスの指定も可能です。
もっと詳しく💡
SAP標準では、他にも以下のような予約語(変数)が用意されています。
これらを利用して、論理ファイルパスや論理ファイル名を動的に扱うことが可能です。
| 予約語 | 代入される中身 |
|---|
| <INSTANCE> | ログインしているインスタンス番号 |
| <DBSYS> | アクセスしているデータベース |
| <HOST> | ホスト名(SY-HOST) |
| <CLIENT> | ログオンクライアント(SY-MANDT) |
| <LANGUAGE> | ログオン言語 |
| <DATE> | システム日付(SY-DATUM) |
| <YEAR> | システム日付の年(SY-DATUM;yyyy) |
| <MONTH> | システム日付の月(SY-DATUM;MM) |
| <DAY> | システム日付の日(SY-DATUM;dd) |
| <WEEKDAY> | システム日付の週(SY-FDAYW) |
主要な予約語一覧
登録方法と設定手順(T-CODE:FILE)
ここでは、SAP標準T-CODE:FILEを使って論理ファイルパスと論理ファイル名を設定する手順を紹介します。
論理ファイルパスの登録
登録手順
- 新規エントリ
- 論理ファイルパスの定義(論理ファイルパス名とそのDescriptionを入力する)
- 選択した状態で「論理パスへの物理パス割当」を押下
- 新規エントリ
- 構文グループと物理パスの定義
- 保存
構文グループは、SAPが動いているサーバのOSに応じて適切なものを選びます。LINUXの場合は、UNIXを選びます。
SAP_論理ファイルパスの設定方法
論理ファイル名の登録
ここでは具体的なファイル名が付いた論理ファイル名を登録することができます。
登録手順
- 論理ファイル名定義の新規エントリを押下
- 論理ファイル名と論理ファイルパスの関連付け(その他の定義を行う)
- 保存
論理ファイル名の設定方法
もっと詳しく💡
プログラム上で、論理ファイル名から完全ファイル名を取得する標準汎用モジュールは“FILE_GET_NAME”です。
上記で作成した論理ファイル名が入力された時の、コーディングと処理のイメージを下記に示します。
汎用モジュール_FILE_GET_NAME
また、論理ファイルパスとファイル名から完全ファイル名を取得する標準汎用モジュールは“FILE_GET_NAME_USING_PATH”です。
これは、選択画面で自由にファイル名を設定できるが、格納先のパスは論理ファイルパスを使用したいという場合に使用されます。
例)論理ファイルパス:ZTMP_PATH
ファイル名:TEST.txt
⇒C:¥IF_LOCAL¥TEST.txt (完全ファイル名)
論理ファイル名・論理ファイルパスの関連テーブル
| テーブルID | テーブル内容 |
|---|
| PATH | 論理ファイルパスと物理パスの定義が格納されています。 |
| FILENAMECI | 論理ファイル名と物理ファイル名の定義が格納されています。 |
論理ファイル名と論理ファイルパスの関連テーブル
まとめ
今回は、SAPにおける論理ファイル名と論理ファイルパスの仕組みについて、基本から実務的な運用方法まで一通りご紹介しました。
論理ファイル名と論理ファイルパスは、SAPにおけるファイル連携処理を柔軟かつ安全に運用するための重要な仕組みです。これらを活用することで、環境依存の問題を回避し、移送や保守の手間を大きく軽減できます。
設定自体は難しいものではありませんが、環境ごとに異なるファイルパスをどのように管理するか、移送時にどう運用するかといった部分は、少し工夫が求められるところです。逆に言えば、ここをしっかり押さえておくことで、運用の安定性や保守性を大きく高めることができます。
導入・運用の立場としては、開発者と連携して論理ファイルの設計方針を共有したり、設定内容を明文化したりといった取り組みも重要です。今回の記事が、その一助になればうれしく思います。