<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ABAP讀寫SAP服務(wù)器文件

      使用方式:

      1、在應(yīng)用服務(wù)器中打開文件OPEN DATASET [options]此句打開文件。如果不指定任何模式選項(xiàng),則文件將按二進(jìn)制模式打開。如果系統(tǒng)不能打開文件,則將系統(tǒng)字段SY-SUBRC設(shè)置為8,否則SY-SUBRC返回0

      2、打開文件讀取OPEN DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打開)

      3、打開文件寫入OPEN DATASET FOR OUTPUT IN TEXT MODE ENCODING DEFAULT .(以TXT文件打開寫入,這種是打開文件完全重寫)

      4、打開文件追加 OPEN DATASET FOR APPENDING IN TEXT MODE ENCODING DEFAULT .(以TXT文件打開寫入,這種是打開文件追加記錄)

      5、關(guān)閉應(yīng)用服務(wù)器上的文件 CLOSE DATASET .

      6、刪除應(yīng)用服務(wù)器上的文件 DELETE DATASET .

      7、向應(yīng)用服務(wù)器上文件上寫入數(shù)據(jù)TRANSFER to [LENGTH ].

      8、向應(yīng)用服務(wù)器上文件上讀取數(shù)據(jù)READ DATASET INTO [LENGTH ].

       

      常用事務(wù)代碼:

      1.AL11,服務(wù)器上的文件

      2.CG3Y 下載文件

      3.CG3Z 上傳文件

       

      以上總結(jié)來自"蠟筆小彭"博主

       

      以下是我測試的代碼

      寫入效果:

      寫入后最好使用CG3Y下載上傳至SAP服務(wù)器的文件看內(nèi)容是否有問題

       

      寫入代碼:

      REPORT ztest MESSAGE-ID 00.
      
      ************************************************************************
      * Tables Definitions
      ************************************************************************
      TABLES: rlgrap.
      
      ************************************************************************
      * Data Definitions                定義數(shù)據(jù)
      ************************************************************************
      TYPES: BEGIN OF ty_file,
               line(1024) TYPE x,
             END OF ty_file.
      
      DATA: gt_file TYPE TABLE OF ty_file.
      
      DATA: gv_file_name TYPE sdbah-actid,
            gv_file_type TYPE sdbad-funct,
            gv_file      TYPE xstring.
      
      ************************************************************************
      * Includes Module                 包含模塊
      ************************************************************************
      
      ************************************************************************
      * Selection Screen                選擇屏幕
      ************************************************************************
      PARAMETERS: p_file LIKE rlgrap-filename OBLIGATORY.
      
      ************************************************************************
      * Initialization                  初始化事件
      ************************************************************************
      INITIALIZATION.
      
      ************************************************************************
      * At Selection Screen             PAI事件
      ************************************************************************
      AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
        PERFORM frm_f4_file.
      
      ************************************************************************
      * At Selection Screen Output      PBO事件
      ************************************************************************
      AT SELECTION-SCREEN OUTPUT.
      
      ************************************************************************
      * Report Format                   報(bào)表格式
      ************************************************************************
      TOP-OF-PAGE.
      
      END-OF-PAGE.
      
      ************************************************************************
      * Main Process                    主要邏輯
      ************************************************************************
      START-OF-SELECTION.
      
        "讀取上傳文件
        PERFORM frm_read_upload_file.
      
        "上傳文件至SAP服務(wù)器
        PERFORM frm_upload_file_to_sap.
      
        cl_demo_output=>write( '1' ).
        cl_demo_output=>write( '2' ).
        cl_demo_output=>display(  ).
      
      END-OF-SELECTION.
      
      *&---------------------------------------------------------------------*
      *& Form FRM_F4_FILE
      *&---------------------------------------------------------------------*
      *& text
      *&---------------------------------------------------------------------*
      *& -->  p1        text
      *& <--  p2        text
      *&---------------------------------------------------------------------*
      FORM frm_f4_file .
        CALL FUNCTION 'F4_FILENAME'
          IMPORTING
            file_name = p_file.
      ENDFORM.
      
      *&---------------------------------------------------------------------*
      *& Form FRM_READ_UPLOAD_FILE
      *&---------------------------------------------------------------------*
      *& text
      *&---------------------------------------------------------------------*
      *& -->  p1        text
      *& <--  p2        text
      *&---------------------------------------------------------------------*
      FORM frm_read_upload_file .
      
        DATA: lv_file_path   TYPE string,
              lv_file_length TYPE i,
              lv_file_name   TYPE dbmsgora-filename.
      
        lv_file_path = p_file.
        lv_file_name = p_file.
      
        CALL FUNCTION 'SPLIT_FILENAME'
          EXPORTING
            long_filename  = lv_file_name "上傳文件路徑
          IMPORTING
            pure_filename  = gv_file_name "文件名稱
            pure_extension = gv_file_type. "文件后綴
      
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename                = lv_file_path
            filetype                = 'BIN'
          IMPORTING
            filelength              = lv_file_length
          TABLES
            data_tab                = gt_file
          EXCEPTIONS
            file_open_error         = 1
            file_read_error         = 2
            no_batch                = 3
            gui_refuse_filetransfer = 4
            invalid_type            = 5
            no_authority            = 6
            unknown_error           = 7
            bad_data_format         = 8
            header_not_allowed      = 9
            separator_not_allowed   = 10
            header_too_long         = 11
            unknown_dp_error        = 12
            access_denied           = 13
            dp_out_of_memory        = 14
            disk_full               = 15
            dp_timeout              = 16
            OTHERS                  = 17.
        IF sy-subrc <> 0.
          MESSAGE s001 WITH '上傳文件失敗' DISPLAY LIKE 'E'.
          LEAVE LIST-PROCESSING.
        ENDIF.
      
      
      ENDFORM.
      
      *&---------------------------------------------------------------------*
      *& Form FRM_UPLOAD_FILE_TO_SAP
      *&---------------------------------------------------------------------*
      *& text
      *&---------------------------------------------------------------------*
      *& -->  p1        text
      *& <--  p2        text
      *&---------------------------------------------------------------------*
      FORM frm_upload_file_to_sap .
      
        DATA: ls_file TYPE ty_file.
      
        DATA: lv_folder TYPE eps2filnam.
      
        "指定目錄和文件名
        lv_folder = '/hybris/FI/2023/202307/' && gv_file_name && '.' && gv_file_type.
      
        "在應(yīng)用服務(wù)器打開文件(二進(jìn)制模式)
        OPEN DATASET lv_folder FOR OUTPUT IN BINARY MODE.
      
        IF sy-subrc = 0.
          LOOP AT gt_file INTO ls_file.
            "向應(yīng)用服務(wù)器上文件上寫入數(shù)據(jù)
            TRANSFER ls_file TO lv_folder.
          ENDLOOP.
      
          "關(guān)閉應(yīng)用服務(wù)器文件
          CLOSE DATASET lv_folder.
      
          MESSAGE s001 WITH '寫入文件成功' DISPLAY LIKE 'S'.
          LEAVE LIST-PROCESSING.
        ELSE.
          MESSAGE s001 WITH '在應(yīng)用服務(wù)器打開文件失敗' DISPLAY LIKE 'E'.
          LEAVE LIST-PROCESSING.
        ENDIF.
      ENDFORM.

       

      讀取效果:

       

      讀取代碼:

      TYPES: BEGIN OF ty_upload_file,
               file_name TYPE string,
               file_type TYPE string,
               file_size TYPE i,
               file      TYPE xstring,
             END OF ty_upload_file.
      
      DATA: lt_upload_file TYPE TABLE OF ty_upload_file,
            ls_upload_file TYPE ty_upload_file.
      
      DATA: lt_file   TYPE TABLE OF eps2fili,
            ls_file   TYPE eps2fili,
            lv_folder TYPE eps2filnam.
      
      DATA: lt_binary TYPE TABLE OF rcgrepfile,
            ls_binary TYPE rcgrepfile.
      
      DATA: lv_file_path TYPE dbmsgora-filename,
            lv_file_name TYPE sdbah-actid,
            lv_file_type TYPE sdbad-funct.
      
      DATA: lv_msg      TYPE string,
            lv_xstring  TYPE xstring,
            lv_file_len TYPE i,
            lv_len      TYPE i.
      
      "指定目錄
      lv_folder = '/hybris/FI/2023/202307/'.
      
      "獲取指定目錄下所有的文件
      CALL FUNCTION 'EPS2_GET_DIRECTORY_LISTING'
        EXPORTING
          iv_dir_name            = lv_folder
        TABLES
          dir_list               = lt_file
        EXCEPTIONS
          invalid_eps_subdir     = 1
          sapgparam_failed       = 2
          build_directory_failed = 3
          no_authorization       = 4
          read_directory_failed  = 5
          too_many_read_errors   = 6
          empty_directory_list   = 7
          OTHERS                 = 8.
      IF sy-subrc <> 0.
        lv_msg  = '讀取指定目錄下的文件失敗'.
      ELSE.
      
        LOOP AT lt_file INTO ls_file WHERE name CS 'pdf' AND size > 0.
      
          CLEAR: lt_binary.
      
          "文件完整的路徑
          lv_file_path = lv_folder && ls_file-name.
      
          "根據(jù)文件完整的路徑獲取文件名和后綴
          CALL FUNCTION 'SPLIT_FILENAME'
            EXPORTING
              long_filename  = lv_file_path "上傳文件路徑
            IMPORTING
              pure_filename  = lv_file_name "文件名稱
              pure_extension = lv_file_type. "文件后綴
      
          "在應(yīng)用服務(wù)器打開文件(二進(jìn)制模式)
          OPEN DATASET lv_file_path FOR INPUT IN BINARY MODE.
      
          IF sy-subrc = 0.
            "按照2550長度讀取文件,讀到最后不足2550長度則跳出讀取模式
            DO.
              CLEAR lv_len.
              READ DATASET lv_file_path INTO ls_binary LENGTH lv_len.
              IF sy-subrc <> 0.
                IF lv_len > 0.
                  ADD lv_len TO lv_file_len.
                ENDIF.
                APPEND ls_binary TO lt_binary.
                EXIT.
              ENDIF.
              ADD lv_len TO lv_file_len.
              APPEND ls_binary TO lt_binary.
            ENDDO.
          ENDIF.
      
          "關(guān)閉應(yīng)用服務(wù)器文件
          CLOSE DATASET lv_file_path.
      
          "二進(jìn)制轉(zhuǎn)XString
          CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
            EXPORTING
              input_length = lv_file_len
            IMPORTING
              buffer       = lv_xstring
            TABLES
              binary_tab   = lt_binary
            EXCEPTIONS
              failed       = 1
              OTHERS       = 2.
      
          IF sy-subrc = 0.
            ls_upload_file-file_name = lv_file_name.
            ls_upload_file-file_type = lv_file_type.
            ls_upload_file-file_size = xstrlen( lv_xstring ).
            ls_upload_file-file = lv_xstring.
            APPEND ls_upload_file TO lt_upload_file.
            CLEAR ls_upload_file.
          ENDIF.
      
        ENDLOOP.
      ENDIF.
      
      cl_demo_output=>write( lv_msg ).
      cl_demo_output=>write( lt_upload_file ).
      cl_demo_output=>display(  ).

       

      posted @ 2023-08-16 09:55  鯨與海  閱讀(2813)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 人妻少妇偷人无码视频| 久久天天躁狠狠躁夜夜躁2o2o| 亚洲欧洲国产综合一区二区| 人人爽人人爽人人片a免费| 盘山县| 久久96热人妻偷产精品| 一本一道av无码中文字幕麻豆| 国产人妻人伦精品婷婷| 久久无码中文字幕免费影院蜜桃| 思思99热精品在线| 成人做受视频试看60秒| 顶级欧美熟妇xx| 亚洲精品国产无套在线观| 国产成人午夜福利在线观看| 丰满少妇在线观看网站| 亚洲护士一区二区三区| 国产一区二区精品久久呦| 永久无码天堂网小说区| 资源在线观看视频一区二区| 韩国福利片在线观看播放| 99re在线视频观看| 亚洲美免无码中文字幕在线| 中文人妻AV高清一区二区| 国产福利高颜值在线观看| 华容县| 激情四射激情五月综合网| 二区三区亚洲精品国产| 久久久久国产精品人妻| 国产成人精品久久性色av| 亚洲精品无码成人A片九色播放| 人人妻人人做人人爽| 久久天堂综合亚洲伊人HD妓女 | 日韩免费无码人妻波多野| 九九热精品视频在线免费| 国产系列高清精品第一页| 国产乱码精品一区二区三| www插插插无码免费视频网站| 国产成人久久综合第一区| 51午夜精品免费视频| 亚洲国产精品无码一区二区三区| 国产亚洲欧洲av综合一区二区三区|