var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?f5f067457dfb7e02e508f701b65110bc"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

相关资料
站内热点

ABAP代码示例:下载释放的请求

更新日期:2013-10-08  作者:网络收集

下载释放的请求

REPORT Z_XL_UP_DOWN_REQUEST.

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

  




免费下载链接:      查看附件打开密码
没有可下载的附件,请直接另存本页!

TAG:
友荐云推荐