SAP ABAP/4学习---上传和下载(1)


*&---------------------------------------------------------------------*
*& Report  ZTEST_LIUGANG_913                                           *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZTEST_LIUGANG_913 .

DATA:BEGIN OF ITAB OCCURS 0,
         A(6),
         B(6),
     END   OF ITAB.

DATA:FILENAME(160),
     FILEPATH(128),
     TEST LIKE RLGRAP-FILENAME.

DATA:BEGIN OF ITAB2 OCCURS 0,
        A(60),
     END   OF ITAB2.

ITAB-A = '123'.
ITAB-B = '456'.
APPEND ITAB.
ITAB-A = 'ABC'.
ITAB-B = 'DEF'.
APPEND ITAB.

LOOP AT ITAB.
  WRITE: / ITAB-A,ITAB-B.
ENDLOOP.

PARAMETERS: AA LIKE ITAB-A.

INITIALIZATION.

START-OF-SELECTION.
SET PF-STATUS '1000'.
 AT USER-COMMAND.
   CASE SY-UCOMM.
     WHEN 'DOWN'.
          PERFORM DOWNLOAD_SAVE USING 'S' '保存文件'.
          IF STRLEN( FILEPATH ) > 0.
            PERFORM START_SAVE.
          ENDIF.
     WHEN 'UPLO'.
          PERFORM DOWNLOAD_SAVE USING 'O' '上传文件'.
          IF STRLEN( FILEPATH ) > 0.
            PERFORM START_UPLOAD.
          ENDIF.
     WHEN 'BACK'.
       LEAVE TO SCREEN 0.
     WHEN 'RW'.
       LEAVE PROGRAM.
   ENDCASE.
*&---------------------------------------------------------------------*
*&      Form  DOWNLOAD_SAVE
*&---------------------------------------------------------------------*
*       保存文件到本地
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DOWNLOAD_SAVE USING OPEN_TYPE OPEN_TXT.
 CALL FUNCTION 'WS_FILENAME_GET'
   EXPORTING
     DEF_FILENAME           = FILEPATH
     MASK                   = ',*.CSV.'
     MODE                   = OPEN_TYPE
     TITLE                  = OPEN_TXT
   IMPORTING
     FILENAME               = FILEPATH
   EXCEPTIONS
    INV_WINSYS             = 1
    NO_BATCH               = 2
    SELECTION_CANCEL       = 3
    SELECTION_ERROR        = 4
    OTHERS                 = 5
           .
 IF SY-SUBRC <> 0.
   MESSAGE E001(ZTEST_LIUGANG).
 ENDIF.

ENDFORM.                    " DOWNLOAD_SAVE
*&---------------------------------------------------------------------*
*&      Form  START_SAVE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM START_SAVE .
  DATA:TEMP(30).
  LOOP AT ITAB.
   CONCATENATE ITAB-A  ITAB-B INTO ITAB2-A SEPARATED BY ','.
   APPEND ITAB2.
  ENDLOOP.

 CALL FUNCTION 'WS_DOWNLOAD'
  EXPORTING
    FILENAME                      = FILEPATH
    FILETYPE                      = 'ASC'
   TABLES
     DATA_TAB                     = ITAB2.
ENDFORM.                    " START_SAVE
*&---------------------------------------------------------------------*
*&      Form  START_UPLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM START_UPLOAD .

  CLEAR ITAB2.
  CLEAR ITAB2[].
  CLEAR ITAB.
  CLEAR ITAB[].

CALL FUNCTION 'WS_UPLOAD'
  EXPORTING
   FILENAME                      = FILEPATH
   FILETYPE                      = 'ASC'
  TABLES
    DATA_TAB                      = ITAB2 .

  LOOP AT ITAB2.
    SPLIT ITAB2-A AT ',' INTO ITAB-A ITAB-B.
    APPEND ITAB.
  ENDLOOP.

 LOOP AT ITAB.
   WRITE:/ ITAB-A  ,ITAB-B.

 ENDLOOP.

ENDFORM.                    " START_UPLOAD


 

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ABAP/4开发宝典中文版是关于ABAP/4编程语言的手册。其目的在于: · 向新的ABAP/4程序员提供从基本语言组件到复杂报表和事务编码的全面指导 · 向资深ABAP/4程序员提供解决特殊问题的参考方案 为满足这些需求,特提供一个整体概述并本宝典分成三个部分,循序渐进,逐步深入 · ABAP/4的基本组件 · 如何编写报表程序 · 如何编写事务 ABAP/4开发宝典中文版目的不在替换ABAP/4关键字文档。可以通过如下方式调用该文档 · 从“ABAP/4编辑器:初始屏幕”(事务SE38)中选择“实用程序->ABAP/4关键字文档 · 选择ABAP/4编辑器中的“帮助” · 将光标放在ABAP/4编辑器中的关键字上,然后按下F1键 ABAP/4开发宝典中文版的真正目的在于说明如何使用以及为何使用ABAP/4关键字。并为此提供了许多示例,构成用户自己测试程序的基础。 要获取详细信息,可以进行以下某种操作: · 关于关键字的详细信息,请参阅关键字文档。 · 关于ABAP/4环境术语的详细信息,请从“ABAP/4编辑器:初始屏幕”(事务SE38)中选择“实用程序->ABAP/4关键字文档”。然后就会出现与解释文本相链接的主题层次。要找出这些文本用于哪些主题,请选择“查看->标题和关键字”。屏幕右侧就会出现一个名称列表。对于所有以ABEN而非TITL开头的名称,如果双击树结构中的主题,则会出现文本屏幕。 · 关于如何提高ABAP/4任务性能的技巧,请从“ABAP/4开发工作台”上选择事务SE30或“测试->运行时间分析”,然后单击“提示和技巧”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值