• 【ABAP系列】SAP ABAP下载带密码的Excel文件


    公众号:matinal
    本文作者:matinal
     

    前言部分

    大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

    正文部分

    REPORT ztest.
     
    DATA : BEGIN OF li_makt OCCURS 0,
             matnr TYPE matnr,
             maktx TYPE maktx,
           END OF li_makt.
     
    DATA: BEGIN OF li_head OCCURS 0,
            field(30) TYPE c,
          END OF li_head.
     
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
    PARAMETERS:
      p_file TYPE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
     
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM browse_file CHANGING p_file.
     
    START-OF-SELECTION.
     
      REFRESH li_head.
     
      DEFINE mc_head.
        li_head-field = &1.
        APPEND li_head.
      END-OF-DEFINITION.
     
      SELECT matnr maktx INTO TABLE li_makt FROM makt UP TO 20 ROWS WHERE spras = sy-langu .
     
      mc_head : 'Material No', 'Material Description'.
     
      CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
        EXPORTING
          file_name                 = p_file
          create_pivot              = 0
          data_sheet_name           = 'Data Material'
          pivot_sheet_name          = ' '
          password                  = 'plazapp'
          password_option           = 1
        TABLES
          data_tab                  = li_makt
          fieldnames                = li_head
        EXCEPTIONS
          file_not_exist            = 1
          filename_expected         = 2
          communication_error       = 3
          ole_object_method_error   = 4
          ole_object_property_error = 5
          invalid_filename          = 6
          invalid_pivot_fields      = 7
          download_problem          = 8
          OTHERS                    = 9.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
     
     
    FORM browse_file CHANGING p_file LIKE rlgrap-filename.
      DATA: filetab   TYPE filetable,
            rc        TYPE i,
            lv_offset TYPE i.
     
      FREE filetab.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title            = 'Choose File'
          default_extension       = '*.*'
          default_filename        = 'c:*.xls'
        CHANGING
          file_table              = filetab
          rc                      = rc
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          error_no_gui            = 3
          OTHERS                  = 4.
      IF sy-subrc = 0.
        READ TABLE filetab INTO p_file INDEX 1.
      ENDIF.
    ENDFORM. " browse_file
  • 相关阅读:
    D
    C
    如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?
    二维数组中的查找
    简单对称算法
    冒泡排序(数组排序)
    二分查找
    斐波那契数列
    顺序查找(数组里查找某个元素)
    二维数组排序算法函数
  • 原文地址:https://www.cnblogs.com/SAPmatinal/p/11271149.html
Copyright © 2020-2023  润新知