サーバーファイル

25.2 サーバーファイル

2. サーバーファイル

  • サーバーファイルとは
  • OPEN DATASET命令
    • 構文ルール
    • オプション
      • FOR INPUT
      • FOR OUTPUT
      • FOR APPENDING
      • IN BINARY MODE
      • IN TEXT MODE
  • READ DATASET命令
    • 構文ルール
  • TRANSFER命令
    • 構文ルール
  • CLOSE DATASET命令
    • 構文ルール
  • サーバーファイルのアップロード/ダウンロード
    • アップロード
    • ダウンロード

サーバーファイルとは

SAPがインストールされているサーバなどに保存されているファイルのことをサーバファイルと呼びます。
ここではサーバファイルの書き込みや読み込みを行うファイル操作について説明します。

OPEN DATASET命令

OPEN DATASET 命令は、サーバーファイルを開く命令です。内部テーブルを使用して
一度に行うことができず、1行ずつ書き込む、または読み込む必要があります。
  OPEN DATASET 命令には、オプションがいくつか含まれています。

構文ルール

アプリケーションサーバからファイルを読み込んだりも書き込んだりする場合は、ローカルファイル操作とは異なり、OPENDATASET命令を使用します。

オプション

FOR INPUT

FOR INPUTオプションを使用すると、ファイルが読み込み用にオープンされます。ファイルはすでに存在していなければなりません。

FOR OUTPUT

FOR OUTPUTオプションを使用すると、書き込みファイルを開きます。ファイルが存在しない場合は、作成します。

FOR APPENDING

FOR APPENDINGオプションを使用すると、ファイルは追加書き込み用にオープンされます。
ファイルが存在しない場合は、作成します。
ファイルが存在する場合は、最終行の次から下に追加していきます。

IN BINARY MODE

IN BINARY MODEオプションを使用すると、データはバイト単位で転送されます。

IN TEXT MODE

IN TEXT MODEオプションを使用すると、データは行単位で転送されます。
ファイルは行構造を持っているとみなされます

READ DATASET命令

READ DATASET命令は、ファイルからデータを1レコード分、読み込みます。読み込んだデーダを内部テーブルに書き込むことを繰り返します。

構文ルール

LENGTH<len>は、オプションで長さを取得することができます。
読み込み操作に成功すると、SY-SUBRCには、0が設定されます。ファイルを最後まで読み込むとSY-SUBRCには4が設定されます。

TRANSFER命令

TRANSFER命令は、ファイルにデータを1レコード分、書き込みます。
読み込んだデータを内部テーブルから書き込むことを繰り返します。

構文ルール

CLOSE DATASET命令

開いたDATASETを閉じる命令です。

構文ルール

サーバーファイルのアップロード/ダウンロード

サーバーファイルのアップロード/ダウンロードについて、
サンプルコードを例に少し詳しく説明します。
ここでは、ファイル名は「実ファイル名称が入った変数」、内部テーブルは、「アップロードするデータ」、
作業領域は「内部テーブルと同じ項目をもつ項目」とします。

アップロード

アップロード

サーバー上にあるファイルを読み込み、 内部テーブルに保持します。

ダウンロード

内部テーブルに入っているデータを、サーバ上にファイルとして出力します。

テキストシンボル

テキストシンボルは、プログラムの起動時に ABAP プログラムのテキストプール内のテキストから生成される名称付きデータオブジェクトです。テキストシンボルはつねに c 型です。その項目長はテキストプール内のテキストの長さです。

プログラムの編集画面を開いたら、上部にある「ジャンプ」→「テキストエレメント」→「テキストシンボル」で確認出来ます。

下記のように 001 と入力し、上記のプログラムの136行目のTEXT-001 で呼び出すことが出来る

呼び出した結果が以下の赤枠になります。