为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

上传下载

2011-09-14 10页 doc 44KB 33阅读

用户头像

is_522921

暂无简介

举报
上传下载*&---------------------------------------------------------------------* *& Report  ZTEST16 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT  ztest16. TY...
上传下载
*&---------------------------------------------------------------------* *& Report  ZTEST16 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT  ztest16. TYPE-POOLS: trwbo, stms. DATA: es_selected_request TYPE trwbo_request_header,       es_selected_task    TYPE trwbo_request_header,       iv_organizer_type   TYPE trwbo_calling_organizer,       is_selection        TYPE trwbo_selection. DATA: folder              TYPE string ,       flag                TYPE c        ,       dir_trans           TYPE text255  ,       path2               TYPE text255 ,       localfolder(128)    TYPE c ,       upfilename(11)      TYPE c. DATA:       lt_request          TYPE stms_tr_requests,       lt_tp_maintain      TYPE stms_tp_maintains. DATA:       et_request_infos    TYPE stms_wbo_requests,       request_info        TYPE stms_wbo_request,       request             LIKE e070-trkorr. DATA: BEGIN OF it_memo OCCURS 0 ,         line(255) TYPE c,       END OF it_memo. DATA: error LIKE boole-boole ,       err_txt(100) TYPE c . SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1. PARAMETERS: download RADIOBUTTON GROUP typ USER-COMMAND sele DEFAULT 'X'. PARAMETERS: upload   RADIOBUTTON GROUP typ. SELECTION-SCREEN END OF BLOCK b1. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t2. PARAMETERS:  p_file(255)  TYPE c LOWER CASE MODIF ID m2,              p_client     LIKE tmsbuffer-tarcli DEFAULT sy-mandt MATCHCODE OBJECT h_t000 MODIF ID m2. SELECTION-SCREEN END OF BLOCK b2. SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE t3. PARAMETERS:p_reqnum TYPE trkorr MODIF ID m3,            p_folder LIKE rlgrap-filename DEFAULT 'C:\' LOWER CASE MODIF ID m3 ,            p_memo(255) TYPE c MODIF ID m3. SELECTION-SCREEN END OF BLOCK b3. INITIALIZATION.   t1 = '选择功能'.   t2 = '上传参数'.   t3 = '下载参数'.   IF sy-opsys = 'Windows NT'.     flag = '\'.   ELSE.     flag = '/'.   ENDIF. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_reqnum.   iv_organizer_type = 'W'.   is_selection-reqstatus = 'R'.   CALL FUNCTION 'TR_PRESENT_REQUESTS_SEL_POPUP'     EXPORTING       iv_organizer_type   = iv_organizer_type       is_selection        = is_selection     IMPORTING       es_selected_request = es_selected_request       es_selected_task    = es_selected_task.   p_reqnum = es_selected_request-trkorr. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder.   CALL METHOD cl_gui_frontend_services=>directory_browse     CHANGING       selected_folder = folder     EXCEPTIONS       cntl_error      = 1       error_no_gui    = 2       OTHERS          = 3.   p_folder = folder. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.   DATA:     file TYPE file_table,     rc TYPE i,     file_table TYPE filetable,     file_filter TYPE string VALUE '(K*.*)|K*.*||'.   CALL METHOD cl_gui_frontend_services=>file_open_dialog     EXPORTING       file_filter             = file_filter     CHANGING       file_table              = file_table       rc                      = rc     EXCEPTIONS       file_open_dialog_failed = 1       cntl_error              = 2       error_no_gui            = 3       not_supported_by_gui    = 4       OTHERS                  = 5.   IF sy-subrc <> 0.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.   ENDIF.   READ TABLE file_table INTO file INDEX 1.   p_file = file. AT SELECTION-SCREEN OUTPUT.   LOOP AT SCREEN.     CASE screen-group1.       WHEN 'M2'.         IF download = 'X'.           screen-active = '0'.         ELSE.           screen-active = '1'.         ENDIF.       WHEN 'M3'.         IF download = 'X'.           screen-active = '1'.         ELSE.           screen-active = '0'.         ENDIF.     ENDCASE.     MODIFY SCREEN.   ENDLOOP. START-OF-SELECTION.   CALL FUNCTION 'RSPO_R_SAPGPARAM'     EXPORTING       name   = 'DIR_TRANS'     IMPORTING       value  = dir_trans     EXCEPTIONS       error  = 0       OTHERS = 0.   IF download = 'X'.     IF p_reqnum = '' OR p_folder = ''.       MESSAGE '必须输入请求号和地址' TYPE 'I'.       EXIT.     ENDIF.     PERFORM downloadrequest.   ELSE.     IF p_client = '' OR p_file = '' .       MESSAGE '必须输入文件名和Client' TYPE 'I'.       EXIT.     ENDIF.     PERFORM uploadrequest.     PERFORM addrequest.   ENDIF. *&---------------------------------------------------------------------* *&      Form  DOWNLOADREQUEST *&---------------------------------------------------------------------* FORM downloadrequest .   CONCATENATE p_reqnum+3(7) '.' p_reqnum(3) INTO p_reqnum.   CONCATENATE dir_trans 'cofiles' p_reqnum INTO path2 SEPARATED BY flag.   CONCATENATE p_folder '\' p_reqnum INTO localfolder.   PERFORM down_file USING path2                           localfolder .   p_reqnum(1) = 'R'.   CONCATENATE dir_trans 'data' p_reqnum INTO path2 SEPARATED BY flag.   CONCATENATE p_folder '\' p_reqnum INTO localfolder.   PERFORM down_file USING path2                           localfolder .   IF p_memo <> ''.     DATA str TYPE string.     it_memo-line = p_memo.     APPEND it_memo.     p_reqnum(1) = 'K'.     p_reqnum+8(3) = 'TXT'.     CONCATENATE p_folder '\' p_reqnum INTO localfolder.     str = localfolder .     CALL FUNCTION 'GUI_DOWNLOAD'       EXPORTING         filename = str       TABLES         data_tab = it_memo.   ENDIF.   MESSAGE '成功下载!' TYPE 'I'. ENDFORM.                    " DOWNLOADREQUEST *&--------------------------------------------------------------------* *&      Form  DOWN_FILE *&--------------------------------------------------------------------* FORM down_file USING    p_path                         file_name .   DATA: path LIKE rcgfiletr-ftappl .   DATA: localfile LIKE rcgfiletr-ftfront.   path = p_path .   localfile = file_name .   CLEAR:error,err_txt.   CALL FUNCTION 'C13Z_FILE_DOWNLOAD_BINARY'     EXPORTING       i_file_front_end    = localfile       i_file_appl         = path       i_file_overwrite    = 'X'     IMPORTING       e_flg_open_error    = error       e_os_message        = err_txt     EXCEPTIONS       fe_file_open_error  = 1       fe_file_exists      = 2       fe_file_write_error = 3       ap_no_authority     = 4       ap_file_open_error  = 5       ap_file_empty       = 6       OTHERS              = 7.   IF sy-subrc <> 0.     IF sy-msgty = '' .       sy-msgty = 'E' .     ENDIF .     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.   ENDIF.   IF error = 'X'.     MESSAGE err_txt TYPE 'I'.     STOP.   ENDIF. ENDFORM.                               " DOWN_FILE *&--------------------------------------------------------------------* *&      Form  UP_FILE *&--------------------------------------------------------------------* FORM up_file USING      p_path                         file_name .   DATA: path LIKE rcgfiletr-ftappl .   DATA: localfile LIKE rcgfiletr-ftfront.   path = p_path .   localfile = file_name .   CLEAR:error,err_txt.   CALL FUNCTION 'C13Z_FILE_UPLOAD_BINARY'     EXPORTING       i_file_front_end   = localfile       i_file_appl        = path       i_file_overwrite   = 'X'     IMPORTING       e_flg_open_error   = error       e_os_message       = err_txt     EXCEPTIONS       fe_file_not_exists = 1       fe_file_read_error = 2       ap_no_authority    = 3       ap_file_open_error = 4       ap_file_exists     = 5       OTHERS             = 6.   IF sy-subrc <> 0.     IF sy-msgty = '' .       sy-msgty = 'E' .     ENDIF .     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.   ENDIF.   IF error = 'X'.     MESSAGE err_txt TYPE 'I'.     STOP.   ENDIF. *  IF sy-subrc <> 0. *    CASE sy-subrc  . *      WHEN 1 . *        MESSAGE '本地文件不存在!' TYPE 'I' . *      WHEN 2 . *        MESSAGE '读取本地文件出错!' TYPE 'I' . *      WHEN 3 . *        MESSAGE '服务器权限错误!' TYPE 'I' . *      WHEN 4 . *        MESSAGE '服务器文件打开错误!' TYPE 'I' . *      WHEN 5 . *        MESSAGE '服务器文件已经存在!' TYPE 'I' . *      WHEN 6 . *        MESSAGE '其他错误!' TYPE 'I' . *    ENDCASE . *  ENDIF. ENDFORM.                    "UP_FILE *&---------------------------------------------------------------------* *&      Form  UPLOADREQUEST *&---------------------------------------------------------------------* FORM uploadrequest .   DATA:       filename LIKE sdbah-actid ,       extension LIKE sdbad-funct,       n TYPE i ,       m TYPE i .   CALL FUNCTION 'SPLIT_FILENAME'     EXPORTING       long_filename  = p_file     IMPORTING       pure_filename  = filename       pure_extension = extension.   CONCATENATE filename '.' extension INTO upfilename .   CONCATENATE extension filename INTO request.   CONCATENATE dir_trans 'cofiles' upfilename INTO path2 SEPARATED BY flag.   PERFORM up_file USING path2                         p_file .   upfilename(1) = 'R'.   CONCATENATE dir_trans 'data' upfilename INTO path2 SEPARATED BY flag.   n = STRLEN( p_file ).   m = n - 11 .   p_file+m(1) = 'R'.   PERFORM up_file USING path2                         p_file . ENDFORM.                    " UPLOADREQUEST *&---------------------------------------------------------------------* *&      Form  addrequest *&---------------------------------------------------------------------* FORM addrequest .   DATA system LIKE tmscsys-sysnam .   system = sy-sysid.   CALL FUNCTION 'TR_AUTHORITY_CHECK_ADMIN'     EXPORTING       iv_adminfunction = 'TADD'     EXCEPTIONS       e_no_authority   = 1       e_invalid_user   = 2       OTHERS           = 3.   IF sy-subrc <> 0.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.     EXIT.   ENDIF.   CALL FUNCTION 'TMS_UI_APPEND_TR_REQUEST'     EXPORTING       iv_system             = system       iv_request            = request       iv_expert_mode        = 'X'       iv_ctc_active         = 'X'     EXCEPTIONS       cancelled_by_user     = 1       append_request_failed = 2       OTHERS                = 3.   CHECK sy-subrc = 0.   CALL FUNCTION 'TMS_MGR_READ_TRANSPORT_REQUEST'     EXPORTING       iv_request                 = request       iv_target_system           = system     IMPORTING       et_request_infos           = et_request_infos     EXCEPTIONS       read_config_failed         = 1       table_of_requests_is_empty = 2       system_not_available       = 3       OTHERS                     = 4.   CLEAR request_info.   READ TABLE et_request_infos INTO request_info INDEX 1.   IF request_info-e070-korrdev = 'CUST' AND NOT p_client IS INITIAL.     CALL FUNCTION 'TMS_MGR_MAINTAIN_TR_QUEUE'       EXPORTING         iv_command                 = 'FILLCLIENT'         iv_system                  = system         iv_request                 = request         iv_tarcli                  = p_client         iv_monitor                 = 'X'         iv_verbose                 = 'X'       IMPORTING         et_tp_maintains            = lt_tp_maintain       EXCEPTIONS         read_config_failed         = 1         table_of_requests_is_empty = 2         OTHERS                     = 3.     IF sy-subrc <> 0.       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.       EXIT.     ENDIF.   ENDIF.   CALL FUNCTION 'TR_AUTHORITY_CHECK_ADMIN'     EXPORTING       iv_adminfunction = 'IMPS'     EXCEPTIONS       e_no_authority   = 1       e_invalid_user   = 2       OTHERS           = 3.   IF sy-subrc <> 0.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.     EXIT.   ENDIF.   CALL FUNCTION 'TMS_UI_IMPORT_TR_REQUEST'     EXPORTING       iv_system             = system       iv_request            = request       iv_tarcli             = p_client       iv_some_active        = space     EXCEPTIONS       cancelled_by_user     = 1       import_request_denied = 2       import_request_failed = 3       OTHERS                = 4. ENDFORM.                    " addrequest
/
本文档为【上传下载】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索