UP_DOWN_REQUEST
生活随笔
收集整理的這篇文章主要介紹了
UP_DOWN_REQUEST
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*&———————————————————————*
*& Report? Z_BARRY_UP_DOWN_REQUEST???????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&———————————————————————*
*&? Ver 1.1 2007.06.04???????????????????????????????????????????????? *
*&———————————————————————* REPORT? z_barry_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 與50位技術專家面對面20年技術見證,附贈技術全景圖
*& Report? Z_BARRY_UP_DOWN_REQUEST???????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&———————————————————————*
*&? Ver 1.1 2007.06.04???????????????????????????????????????????????? *
*&———————————————————————* REPORT? z_barry_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 與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的UP_DOWN_REQUEST的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sap abap好用的函数
- 下一篇: 判断程序是否通过RFC运行