データファイルのアップロードとダウンロード
来源:互联网 发布:淘宝复制大师 编辑:程序博客网 时间:2024/05/19 08:38
■ サーバファイル
① データファイルの保存先を取得(論理バス(T-cd:file) → 物理パス)
CALL FUNCTION 'FILE_GET_NAME_USING_PATH'
EXPORTING
LOGICAL_PATH = LOGIC_FILEPATH " 論理バス
FILE_NAME = LOGIC_FILENAME " ファイル名
IMPORTING
FILE_NAME_WITH_PATH = PHYS_FILEPNAME " 物理パス+ファイル名
EXCEPTIONS
PATH_NOT_FOUND = 1
MISSING_PARAMETER = 2
OPERATING_SYSTEM_NOT_FOUND = 3
FILE_SYSTEM_NOT_FOUND = 4
OTHERS = 5.
※必要があれば、汎用モジュール「SPLIT_FILENAME」を利用して、完全パスからパスとファイル名を分離可能です。
② ファイルダウンロード場合、排他ロック処理
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'X'
TABNAME =
VARKEY = "ファイル名
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3.
③ ファイルのアップロードとダウンロード
・ファイルオープン
OPEN DATASET PHYS_FILEPNAME
FOR INPUT(ダウンロード)/ FOR OUTPUT(アップロード)
IN BINARY/TEXT MODE.
・データの読込と転送
READ DATASET PHYS_FILEPNAME INTO itab. (ダウンロード)
TRANSFER itab TO PHYS_FILEPNAME (アップロード)
※一般的、内部テーブル:itabの項目タイプはC(length:レコードの最大文字数)である。
ですので、内部テーブル:itab ⇔ 業務内部テーブルに変更しなければならない。
・ダウンロードの場合、(READ DATASET後) 内部テーブル:itab ⇒ 業務内部テーブル
SPLIT命令を利用して、内部テーブル:itabの区切り符号
(例えば:TABコード(CL_ABAP_CHAR_UTILITIES=>horizontal_tab))に従い、
内部テーブル:itab の内容が分割 されます
DESCRIBE FIELD stru2(業務構造) LENGTH ilen IN CHARACTER MODE.
LOOP AT itab INTO stru1.
stru2 = stru1-char2000(ilen).
APPEND stru2 TO itab2(業務内部テーブル).
ENDLOOP.
・ アップロードの場合、(TRANSFER前) 業務内部テーブル ⇒ 内部テーブル:itab
CONCATENATE命令(SEPARATED BY 区切り符号)を利用して、
業務内部テーブルの各項目が連結されます
・ファイルクローズ
CLOSE DATASET PHYS_FILEPNAME
④ ファイルダウンロード場合、排他ロック解除処理
CALL FUNCTION 'DEQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'X'
TABNAME =
VARKEY =
■ ローカルファイル
① ファイルを保存ダイアログを表示
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
CHANGING
FILENAME = FILENAME
PATH = PATH
FULLPATH = FULLPATH
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4
.
② ファイルのアップロードとダウンロード
* アップロード
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = FULLPATH
FILETYPE = 'DAT'
CHANGING
DATA_TAB = itab
.
* ダウンロード
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME = FULLPATH
FILETYPE = 'DAT'
CHANGING
DATA_TAB = itab
.
- データファイルのアップロードとダウンロード
- ファイルのアップロード、ダウンロード、CSVファイルの読み込み
- ファイルダウンロード
- Ajax ファイルダウンロード MVC(vb)
- jQueryのダウンロードとインストールのチュートリアル
- 添付ファイルを固定した名前アップロードする
- EmEditor Professional 最新版をダウンロード
- 'ログオフ、シャットダウンの通知(メールの方式)
- C言語に関するファイル(ファイルオープン、リード、ライト)
- アイフォン6 ケース 手帳 ボーダフォンPAYGでケンモアのViewty Ku990iによるクラスとスタイル
- 異種プラットフォーム間におけるDB2 UDBデータベース移行ガイド
- 管理情報パラメータファイル生成コマンド
- ストアドプロシージャ
- ASP.NET シンクロナイズド ドロップダウンリスト for Javascript
- PowerShell/テキストファイルを1行ずつ読み込むサンプルコード
- ダイアログウィンドウを表示する
- Inputman コントロールのプロパーティを設置
- タイトル キャッスルファンタジア ~エレンシア戦記~リニューアル 艾伦西亚战记(艾伦希亚战记)日文攻略
- ogre在VS2008下的配置
- MySQL语句优化的原则
- 人月神话—人月神话
- 英特尔、Orange将合推MeeGo平台的Atom行动装置
- VC++下使用ADO编写数据库程序
- データファイルのアップロードとダウンロード
- struct的成员对齐
- 点评Ubuntu下的文件安全删除工具
- JAVA内部类(转-总结)
- TMF814中迭代用法概述(SD1-15_iterators.pdf)
- 物理引擎应用与未来:物理运算不必是硝烟
- 开源项目管理软件 Redmine
- ajaxToolkit:AutoCompleteExtender 用法详解
- Nim Perl 方法