スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

汎用M GUIダウンロード

GUI_DOWNLOAD

概要

内部テーブルの値をファイルとしてダウンロードする汎用モジュールです。ファイルタイプや文字コードなどを指定することができます。

パラメータ

主なパラメータは、ファイル名、ファイルタイプと転送テーブルです。そのほかには書込モード、文字コード、変換不可文字の置換文字などの細かい設定もあります。
パラメータ一覧
種別パラメータ説明
インポートBIN_FILESIZEバイナリファイルのファイル長
FILENAMEファイル名
FILETYPEファイルタイプ(ASCまたはBIN)
APPEND書込モード(上書き、アペンド)
WRITE_FIELD_SEPARATORASCIIダウンロード時は、タブで列を分割
HEADERファイル開始時にバイナリモードで書き込まれたバイトチェーン
TRUNC_TRAILING_BLANKS文字項目の終端における空白の書込み禁止
WRITE_LF文字ダウンロード時は、行の終端にCR/LFを挿入
COL_SELECTテーブルの単一列のみコピー
COL_SELECT_MASKコピー対象の列に対して'X'が含まれているベクトル
DAT_MODE数値項目と日付項目は、ws_download 'DAT' 書式で書込み
CONFIRM_OVERWRITE確認後のみにファイルを上書き
NO_AUTH_CHECKアクセス権限チェックのスイッチオフ
CODEPAGE出力する文字表記
IGNORE_CERR文字セットの変換エラーを無視するかどうかの指定
REPLACEMENT変換不可文字に用いる置換文字
WRITE_BOM設定されている場合、ユニコードバイト順序マーク書き
TRUNC_TRAILING_BLANKS_EOL最終列の末尾の空白を削除
WK1_N_FORMATタイプWK1 ファイルに含まれる値列の書式
WK1_N_SIZEタイプWK1 ファイルに含まれる値列の列幅
WK1_T_FORMATタイプWK1 ファイルに含まれるテキスト列の書式
WK1_T_SIZEタイプWK1 ファイルに含まれるテキスト列の列幅
WRITE_LF_AFTER_LAST_LINE最終行の後ろにLF書込み
SHOW_TRANSFER_STATUS転送ステータス表示
VIRUS_SCAN_PROFILEウイルススキャンプロファイル
エクスポートFILELENGTH転送されたバイト数
テーブルDATA_TAB転送テーブル
FIELDNAMESファイルタイプ 'DBF' の項目名
例外FILE_WRITE_ERRORファイルへの書き込みができません
NO_BATCHフロントエンド機能のバックグラウンド実行不可
GUI_REFUSE_FILETRANSFERフロントエンドが不適切
INVALID_TYPEパラメータFILETYPEの値が無効です
NO_AUTHORITYダウンロード権限がありません
UNKNOWN_ERROR不明なエラー
HEADER_NOT_ALLOWEDヘッダ使用不可
SEPARATOR_NOT_FOUND区切り記号の使用不可
FILESIZE_NOT_ALLOWEDファイルサイズは指定できません
HEADER_TOO_LONG現時点のヘッダ情報は1023バイトまで
DP_ERROR_CREATEデータプロバイダの登録不可
DP_ERROR_SENDデータプロバイダによるデータ送信エラー
DP_ERROR_WRITEデータプロバイダでの書込エラー
UNKNOWN_DP_ERRORデータプロバイダの呼出エラー
ACCESS_DENIEDファイルへのアクセス拒否
DP_OUT_OF_MEMORYデータプロバイダのメモリが不十分
DISK_FULL記憶媒体が満杯
DP_TIMEOUTデータプロバイダのタイムアウト
FILE_NOT_FOUNDファイルが見つかりません
DATAPROVIDER_EXCEPTIONデータプロバイダでの一般例外エラー
CONTROL_FLUSH_ERRORコントロールフレームワークでエラーが発生

インポートパラメータを設定する

ファイル名の設定は必須です。コードページを設定することで、特定の文字コードでファイルを出力することができます。コードページ8000はShift_JIS(MS932)、4103はUTF16、4110はUTF-8を表します。
設定例:インポートパラメータ
項目項目名称設定値
FILENAMEファイル名C:\temp\test.csv
FILETYPEファイルタイプBIN
CODEPAGE出力する文字表記8000

転送テーブルパラメータを設定する

転送テーブル(DATA_TAB)にはファイルにダウンロードする任意の型の内部テーブルを設定します。
設定例:DATA_TAB
項目項目名称設定値(1)設定値(2)
MANDTクライアント100100
MATNR品目コードMAT0001MAT0002
SPRAS言語キーJJ
MAKTX品目テキスト品目A品目B
MAKTG品目テキスト品目A品目B

サンプルコード

品目テキストの内部テーブルをファイルにダウンロードする例です。文字コードにはShift_JISを指定します。
DATA: LV_FILENAME   TYPE STRING,
      LV_FILETYPE   TYPE CHAR10,
      LV_CODEPAGE   TYPE ABAP_ENCODING,
      LV_FILELENGTH TYPE I,
      LT_DATA_TAB   TYPE TABLE OF MAKT.

* パラメータに値を設定する
LV_FILENAME = 'C:\temp\test.csv'. " ファイル名
LV_FILETYPE = 'ASC'.              " ファイルタイプ
LV_CODEPAGE = '8000'.             " コードページ

SELECT * INTO LT_DATA_TAB FROM MAKT.

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME                = LV_FILENAME
    FILETYPE                = LV_FILETYPE
    CODEPAGE                = LV_CODEPAGE
  IMPORTING
    FILELENGTH              = LV_FILELENGTH
  TABLES
    DATA_TAB                = LT_DATA_TAB
  EXCEPTIONS
    FILE_WRITE_ERROR        = 1
    NO_BATCH                = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE            = 4
    NO_AUTHORITY            = 5
    UNKNOWN_ERROR           = 6
    HEADER_NOT_ALLOWED      = 7
    SEPARATOR_NOT_FOUND     = 8
    FILESIZE_NOT_ALLOWED    = 9
    HEADER_TOO_LONG         = 10
    DP_ERROR_CREATE         = 11
    DP_ERROR_SEND           = 12
    DP_ERROR_WRITE          = 13
    UNKNOWN_DP_ERROR        = 14
    ACCESS_DENIED           = 15
    DP_OUT_OF_MEMORY        = 16
    DISK_FULL               = 17
    DP_TIMEOUT              = 18
    FILE_NOT_FOUND          = 19
    DATAPROVIDER_EXCEPTION  = 20
    CONTROL_FLUSH_ERROR     = 21
    OTHERS                  = 22
  .

* エラーの場合
IF SY-SUBRC <> 0.
*  エラー処理
ELSE.
*  正常処理
ENDIF.

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。