on 10-14-2009 2:25 AM
我想请问一下,在bw中,我已经把程序文件拷贝到指定的文件路径下,通过al11可以查看到,现在是要通过stms导入到系统中,但是对于步骤有些不清楚,请指教。
我知道的是这样的:stms->overview->import->选择目标系统->extras->other request->add->选择请求号->点击确定。
不知道除了上面的这些,还需要什么操作吗?
我是按这样的操作做的,但是导入后发现想要的程序还是没有,但是导入文件好像是成功的,指示符号是变成绿色了,应该是成功的啊。
请指教。
谢谢
hi ,Rio Chang
手工import request, 请尝试如下步骤,
1, copy datafile and cofiles 到sap app server \usr\sap\trans\datafiles , \cofiles目录.
2, check authorization for sap admin user <sid>adm.
3, add request using stms.
Extras -- others request -- add ...
4, import request
选择添加的request, 点import request.
5, check tp return code.
如果返回代码8或以上再看看log.
thanks,
xwu.
Edited by: xwu wu on Oct 14, 2009 9:47 AM
Edited by: xwu wu on Oct 14, 2009 9:52 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
给你二个程序,一个是下载传输号到本机,另一个是上传传输号。操作很简单的。
下载传输号:
REPORT YRS_DOWNLOAD_TRANSPORT_REQUEST.
PARAMETERS:
P_REQEST TYPE TRKORR OBLIGATORY,
P_FOLDER(255) TYPE C LOWER CASE, P_SEPR OBLIGATORY.
DATA:
FOLDER TYPE STRING,
RETVAL LIKE TABLE OF DDSHRETVAL WITH HEADER LINE,
FLDVALUE LIKE HELP_INFO-FLDVALUE,
TRANSDIR TYPE TEXT255,
FILENAME(255),
TRFILE(20) TYPE C,
datatab TYPE TABLE OF text8192 WITH HEADER LINE,
BEGIN OF DATATAB OCCURS 0,
TEXT(8192) TYPE X,
END OF DATATAB,
LEN TYPE I,
FLEN TYPE I.
TYPE-POOLS: SABC, STMS, TRWBO.
INITIALIZATION.
CONCATENATE SY-SYSID 'K*' INTO P_REQEST.
IF SY-OPSYS = 'Windows NT'.
P_SEPR = '\'.
ELSE.
P_SEPR = '/'.
ENDIF.
CALL FUNCTION 'WSAF_BUILD_SEPARATOR'
IMPORTING
separator = p_sepr
EXCEPTIONS
separator_not_maintained = 1
wrong_call = 2
wsaf_config_not_maintained = 3
OTHERS = 4.
*
IF sy-subrc NE 0.
MESSAGE s001(00)
WITH
'Unable to find out the separator symbol for the system.'(011).
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_REQEST.
DATA:
TT_SYSTEM TYPE TABLE OF TMSCSYS WITH HEADER LINE,
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.
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_REQEST = ES_SELECTED_REQUEST-TRKORR.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FOLDER.
DATA: TITLE TYPE STRING.
TITLE = 'Select target folder'(005).
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
EXPORTING
WINDOW_TITLE = TITLE
CHANGING
SELECTED_FOLDER = FOLDER
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
OTHERS = 3.
CALL FUNCTION 'CONTROL_FLUSH'
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2
OTHERS = 3.
P_FOLDER = FOLDER.
AT SELECTION-SCREEN ON P_REQEST.
DATA: REQUEST_INFO TYPE STMS_WBO_REQUEST,
REQUEST_INFOS TYPE STMS_WBO_REQUESTS.
REFRESH REQUEST_INFOS.
CALL FUNCTION 'TMS_MGR_READ_TRANSPORT_REQUEST'
EXPORTING
IV_REQUEST = P_REQEST
IV_HEADER_ONLY = 'X'
IMPORTING
ET_REQUEST_INFOS = REQUEST_INFOS
EXCEPTIONS
READ_CONFIG_FAILED = 1
TABLE_OF_REQUESTS_IS_EMPTY = 2
SYSTEM_NOT_AVAILABLE = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR REQUEST_INFO.
READ TABLE REQUEST_INFOS INTO REQUEST_INFO INDEX 1.
IF SY-SUBRC NE 0
OR REQUEST_INFO-E070-TRKORR IS INITIAL.
MESSAGE E398(00) WITH 'Request'(006) P_REQEST 'not found'(007).
ELSEIF REQUEST_INFO-E070-TRSTATUS NE 'R'.
MESSAGE E398(00)
WITH 'You must release request'(008)
REQUEST_INFO-E070-TRKORR
'before downloading'(009).
ENDIF.
START-OF-SELECTION.
FOLDER = P_FOLDER.
CONCATENATE P_REQEST+3(7) '.' P_REQEST(3) INTO TRFILE.
CALL FUNCTION 'RSPO_R_SAPGPARAM'
EXPORTING
NAME = 'DIR_TRANS'
IMPORTING
VALUE = TRANSDIR
EXCEPTIONS
ERROR = 0
OTHERS = 0.
PERFORM COPY_FILE USING 'cofiles' TRFILE.
TRFILE(1) = 'R'.
PERFORM COPY_FILE USING 'data' TRFILE.
TRFILE(1) = 'D'.
PERFORM COPY_FILE USING 'data' TRFILE.
----
FORM copy_file *
----
--> SUBDIR * * --> FNAME *
----
FORM COPY_FILE USING SUBDIR FNAME.
DATA:
AUTH_FILENAME TYPE AUTHB-FILENAME,
GUI_FILENAME TYPE STRING.
CONCATENATE TRANSDIR SUBDIR FNAME
INTO FILENAME
SEPARATED BY P_SEPR.
REFRESH DATATAB.
CLEAR FLEN.
AUTH_FILENAME = FILENAME.
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
ACTIVITY = SABC_ACT_READ
FILENAME = AUTH_FILENAME
EXCEPTIONS
NO_AUTHORITY = 1
ACTIVITY_UNKNOWN = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
FORMAT COLOR COL_NEGATIVE.
WRITE: / 'Read access denied. File'(001),
FILENAME.
FORMAT COLOR OFF. EXIT.
ENDIF.
OPEN DATASET FILENAME FOR INPUT IN BINARY MODE.
IF SY-SUBRC NE 0.
FORMAT COLOR COL_TOTAL.
WRITE: / 'File open error'(010), FILENAME.
FORMAT COLOR OFF. EXIT.
ENDIF.
CLEAR FLEN.
DATA: MLEN TYPE I.
MLEN = 8192.
DO.
CLEAR LEN.
READ DATASET FILENAME INTO DATATAB MAXIMUM LENGTH MLEN LENGTH LEN.
FLEN = FLEN + LEN.
IF LEN > 0. APPEND DATATAB. ENDIF.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET FILENAME.
CONCATENATE P_FOLDER '\' FNAME INTO GUI_FILENAME.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
BIN_FILESIZE = FLEN
FILENAME = GUI_FILENAME
FILETYPE = 'BIN'
CHANGING
DATA_TAB = DATATAB[]
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 24.
IF SY-SUBRC = 0.
WRITE: / 'File'(002), FILENAME, 'downloaded. Length'(003), FLEN.
ELSE.
FORMAT COLOR COL_NEGATIVE.
WRITE: / 'File download error. Filename:'(004), FILENAME.
FORMAT COLOR OFF.
ENDIF.
ENDFORM. "copy_file
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
上传传输号:
REPORT YRS_UPLOAD_TRANSPORT_REQUEST.
TYPE-POOLS: ABAP, SABC, STMS.
CONSTANTS: GC_TP_FILLCLIENT LIKE STPA-COMMAND VALUE 'FILLCLIENT'.
DATA:
LT_REQUEST TYPE STMS_TR_REQUESTS,
LT_TP_MAINTAIN TYPE STMS_TP_MAINTAINS.
DATA:
SL TYPE I,
L_DATAFILE(255) TYPE C,
DATAFILES TYPE I,
RET TYPE I,
ANS TYPE C.
DATA:
ET_REQUEST_INFOS TYPE STMS_WBO_REQUESTS,
REQUEST_INFO TYPE STMS_WBO_REQUEST,
SYSTEM TYPE TMSCSYS-SYSNAM,
REQUEST LIKE E070-TRKORR.
DATA:
FOLDER TYPE STRING,
RETVAL LIKE TABLE OF DDSHRETVAL WITH HEADER LINE,
FLDVALUE LIKE HELP_INFO-FLDVALUE,
TRANSDIR TYPE TEXT255,
FILENAME LIKE AUTHB-FILENAME,
TRFILE(20) TYPE C.
DATA:
BEGIN OF DATATAB OCCURS 0,
BUF(8192) TYPE X,
END OF DATATAB.
DATA: LEN TYPE I,
FLEN TYPE I.
SELECTION-SCREEN COMMENT /1(79) COMM_SEL.
PARAMETERS:
P_COFILE(255) TYPE C LOWER CASE OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE BL_TITLE.
PARAMETERS:
P_ADDQUE AS CHECKBOX DEFAULT 'X',
P_TARCLI LIKE TMSBUFFER-TARCLI
DEFAULT SY-MANDT
MATCHCODE OBJECT H_T000,
P_SEPR OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B01.
INITIALIZATION.
BL_TITLE = '导入队列参数'(B01).
COMM_SEL = '请选择co-file. 文件名必须以字母''K''开始.'(001).
IF SY-OPSYS = 'Windows NT'.
P_SEPR = '\'.
ELSE.
P_SEPR = '/'.
ENDIF.
CALL FUNCTION 'WSAF_BUILD_SEPARATOR'
IMPORTING
separator = p_sepr
EXCEPTIONS
separator_not_maintained = 1
wrong_call = 2
wsaf_config_not_maintained = 3
OTHERS = 4.
IF sy-subrc NE 0.
MESSAGE s001(00) WITH 'Unable to find out the separator symbol for the system.'(008).
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_COFILE.
DATA:
FILE TYPE FILE_TABLE,
RC TYPE I,
TITLE TYPE STRING,
FILE_TABLE TYPE FILETABLE,
FILE_FILTER TYPE STRING VALUE 'CO-files (K.)|K.||'.
TITLE = 'Select CO-file'(006).
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = TITLE
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_COFILE = FILE.
AT SELECTION-SCREEN.
DATA:
FILE TYPE STRING.
SL = STRLEN( P_COFILE ).
IF SL < 11.
MESSAGE E001(00)
WITH 'Invalid co-file name format. File name format must be KNNNNNNN.SSS'(009).
ENDIF.
SL = SL - 11.
IF P_COFILE+SL(1) NE 'K'.
MESSAGE E001(00)
WITH 'Invalid co-file name format. File name format must be KNNNNNNN.SSS'(009).
ENDIF.
SL = SL + 1.
IF NOT P_COFILE+SL(6) CO '0123456789'.
MESSAGE E001(00)
WITH 'Invalid co-file name format. File name format must be KNNNNNNN.SSS'(009).
ENDIF.
SL = SL + 6.
IF P_COFILE+SL(1) NE '.'.
MESSAGE E001(00)
WITH 'Invalid co-file name format. File name format must be KNNNNNNN.SSS'(009).
ENDIF.
SL = SL - 7.
CLEAR DATAFILES.
L_DATAFILE = P_COFILE.
L_DATAFILE+SL(1) = 'R'.
FILE = L_DATAFILE.
IF CL_GUI_FRONTEND_SERVICES=>FILE_EXIST( FILE = FILE ) = 'X'.
ADD 1 TO DATAFILES.
ENDIF.
L_DATAFILE+SL(1) = 'D'.
FILE = L_DATAFILE.
IF CL_GUI_FRONTEND_SERVICES=>FILE_EXIST( FILE = FILE ) = 'X'.
ADD 1 TO DATAFILES.
ENDIF.
SL = SL + 8.
REQUEST = P_COFILE+SL(3).
SL = SL - 8.
CONCATENATE REQUEST P_COFILE+SL(7) INTO REQUEST.
TRANSLATE REQUEST TO UPPER CASE.
IF DATAFILES = 0.
MESSAGE E398(00)
WITH 'Corresponding data-files of transport request'(010)
REQUEST
'not found.'(011).
ELSE.
MESSAGE S398(00)
WITH DATAFILES
'data-files have been found for transport request'(012)
REQUEST.
ENDIF.
START-OF-SELECTION.
DATA:
PARAMETER TYPE SPAR,
PARAMETERS TYPE TABLE OF SPAR.
CALL FUNCTION 'RSPO_R_SAPGPARAM'
EXPORTING
NAME = 'DIR_TRANS'
IMPORTING
VALUE = TRANSDIR
EXCEPTIONS
ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
FILENAME = P_COFILE+SL(11).
TRANSLATE FILENAME TO UPPER CASE.
CONCATENATE TRANSDIR 'cofiles' FILENAME
INTO FILENAME
SEPARATED BY P_SEPR.
OPEN DATASET FILENAME FOR INPUT IN BINARY MODE.
RET = SY-SUBRC.
CLOSE DATASET FILENAME.
IF NOT RET = 0.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TEXT_QUESTION = 'Copy all files?'(A03)
IMPORTING
ANSWER = ANS
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
ELSE.
PARAMETER-PARAM = 'FILE'.
PARAMETER-VALUE = FILENAME.
APPEND PARAMETER TO PARAMETERS.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TEXT_QUESTION = 'File ''&FILE&'' already exists. Rewrite?'(A04)
IMPORTING
ANSWER = ANS
TABLES
PARAMETER = PARAMETERS
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
ENDIF.
CHECK ANS = '1'.
TRFILE = P_COFILE+SL(11).
TRANSLATE TRFILE TO UPPER CASE.
PERFORM COPY_FILE USING 'cofiles' TRFILE P_COFILE.
TRFILE(1) = 'R'.
L_DATAFILE+SL(1) = 'R'.
PERFORM COPY_FILE USING 'data' TRFILE L_DATAFILE.
IF DATAFILES > 1.
TRFILE(1) = 'D'.
L_DATAFILE+SL(1) = 'D'.
PERFORM COPY_FILE USING 'data' TRFILE L_DATAFILE.
ENDIF.
IF P_ADDQUE = 'X'.
SYSTEM = SY-SYSID.
DO 1 TIMES.
Check authority to add request to the import queue
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_TARCLI IS INITIAL.
CALL FUNCTION 'TMS_MGR_MAINTAIN_TR_QUEUE'
EXPORTING
IV_COMMAND = GC_TP_FILLCLIENT
IV_SYSTEM = SYSTEM
IV_REQUEST = REQUEST
IV_TARCLI = P_TARCLI
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.
Check authority to start request import
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_TARCLI
IV_SOME_ACTIVE = SPACE
EXCEPTIONS
CANCELLED_BY_USER = 1
IMPORT_REQUEST_DENIED = 2
IMPORT_REQUEST_FAILED = 3
OTHERS = 4.
ENDDO.
ENDIF.
&----
*& Form copy_file
&----
text
----
-->SUBDIR text
-->FNAME text
-->SOURCE_FILEtext
----
FORM COPY_FILE USING SUBDIR FNAME SOURCE_FILE.
DATA: L_FILENAME TYPE STRING.
L_FILENAME = SOURCE_FILE.
CONCATENATE TRANSDIR SUBDIR FNAME
INTO FILENAME
SEPARATED BY P_SEPR.
REFRESH DATATAB.
CLEAR FLEN.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = L_FILENAME
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = FLEN
CHANGING
DATA_TAB = DATATAB[]
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
NOT_SUPPORTED_BY_GUI = 17
ERROR_NO_GUI = 18
OTHERS = 19.
IF SY-SUBRC NE 0.
WRITE: / 'Error uploading file'(003), L_FILENAME.
EXIT.
ENDIF.
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
ACTIVITY = SABC_ACT_WRITE
FILENAME = FILENAME
EXCEPTIONS
NO_AUTHORITY = 1
ACTIVITY_UNKNOWN = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
FORMAT COLOR COL_NEGATIVE.
WRITE: / 'Write access denied. File'(013), FILENAME.
FORMAT COLOR OFF.
EXIT.
ENDIF.
OPEN DATASET FILENAME FOR OUTPUT IN BINARY MODE.
IF SY-SUBRC NE 0.
WRITE: / 'File open error'(004), TRFILE.
EXIT.
ENDIF.
LOOP AT DATATAB.
IF FLEN <= 8192.
LEN = FLEN.
ELSE.
LEN = 8192.
ENDIF.
TRANSFER DATATAB-BUF TO FILENAME LENGTH LEN.
FLEN = FLEN - LEN.
ENDLOOP.
CLOSE DATASET FILENAME.
WRITE: / 'File'(005), TRFILE, 'uploaded'(007).
ENDFORM. "copy_file
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.