■ サーバファイル

 ① データファイルの保存先を取得(論理バス(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
          .

最新文章

  1. AnimeGANv2 实现动漫风格迁移,简单操作
  2. 使用MQTT.fx(mqttfx软件)接入阿里云
  3. web.xml详细介绍
  4. libghttp 编译及封装使用实例
  5. BZOJ4810:[YNOI2017]由乃的玉米田(莫队,bitset)
  6. MySQL如何安装离线_mysql8.0.2离线安装配置方法图文教程
  7. hive 导出json格式 文件_Magicodes.IE在.NET Core中通过请求头导出多种格式文件
  8. 【滤波器】基于matlab GUI分数延迟滤波器设计【含Matlab源码 1347期】
  9. 使用requests爬取携程网飞机票价格实例
  10. TiDB 在中国电信翼支付的大规模深度实践
  11. Oracle数据库操作:将有顿号的一条数据拆分为多行
  12. 系统学习机器学习之维度归约(完整篇)
  13. word中出现“由于文件许可权错误,word无法完成保存操作”的解决办法
  14. 华为服务器系统日志,系统日志服务器
  15. 边界元与有限元方法相比较的优缺点
  16. 线程池shutdown和shutdownNow原理和区别
  17. 安装软件出错--The requested URL returned error: 404
  18. 回顾|Acala TC5 万圣糖果节历程总结
  19. 论文 Through Fog High Resolution Imaging Using Millimeter Wave Radar 复现
  20. c语言求最大公因数和最小公倍数

热门文章

  1. 数学之美:常用的微分,求导和积分公式大总结
  2. 各大高权重搜索引擎博客矩阵链轮?
  3. switch判断语句用法
  4. JS中数组迭代方法(JavaScript从入门到疯癫)
  5. 美元兑人民币汇率对黄金价格的预测
  6. (FortiGate)飞塔防火墙IPS(***防御)解决方案
  7. linux检查新增文件,linux查看文件内容
  8. 计算机改考408的学校,2020考研 河北工业大学计算机改考408
  9. lwip连续发数据卡死_用lwip发送大量数据时,遇到的问题解答记录 | 求索阁
  10. 中国电信无线网服务器,如何使用路由器共享电信天翼无线网络?