2007 Sep 17 11:22 AM
Is it possible to transfer the contents of one word document file to another word doc file..
I want to copy a file from one directory and want to store in another directory
by a program...
is any function module there
2007 Sep 17 11:34 AM
Use the method CL_GUI_FRONTEND_SERVICES=>FILE_COPY
Open dataset may work as well incase the file is on the application server
Is it possible to transfer the contents of one word document file to another word doc file..
I want to copy a file from one directory and want to store in another directory
by a program...
is any function module there
2007 Sep 17 11:34 AM
Use the method CL_GUI_FRONTEND_SERVICES=>FILE_COPY
Open dataset may work as well incase the file is on the application server
2007 Sep 17 11:36 AM
Hi,
I think it is possible.
U have to read file from presentation sever using Fm "WS_UPLOAD"
Download that to ur required place using Fm "WS_DOWNLOAD"
after successful download delete that file using Fm "WS_FILE_DELETE".
(it for presentation sever).
Hope it helps.
/sachinkumar.
2007 Sep 17 12:09 PM
go through this code..........
REPORT BCM_SDN_DOC_TO_HTML LINE-SIZE 255.
PARAMETERS: SDN_ID(8) TYPE C DEFAULT '164'.
DATA: FILENAME TYPE STRING,
FILE_PATH TYPE STRING,
TOKEN TYPE STRING,
TOKEN_PATH TYPE STRING,
TOKEN_LONG TYPE STRING,
IMAGE_PATH TYPE STRING,
CONTENT TYPE STRING_TABLE.
IF SDN_ID IS NOT INITIAL.
CONCATENATE 'https://weblogs.sdn.sap.com/weblogs/images/' SDN_ID '/' INTO IMAGE_PATH.
ENDIF.
PERFORM UPLOAD_FILE CHANGING CONTENT FILENAME.
IF FILENAME NS '.htm'.
RETURN.
ENDIF.
IF LINES( CONTENT ) IS INITIAL.
RETURN.
ENDIF.
PERFORM BUILD_TOKEN USING FILENAME CHANGING TOKEN TOKEN_PATH TOKEN_LONG FILE_PATH.
WRITE: / 'File Name = ' , FILENAME.
WRITE: / 'File Path = ' , FILE_PATH.
WRITE: / 'Token Path = ' , TOKEN_PATH.
WRITE: / 'Token Long = ' , TOKEN_LONG.
WRITE: / 'Token Name = ' , TOKEN.
PERFORM PLACE_ON_ONE_LINE USING `` CHANGING CONTENT.
PERFORM HANDLE_STYLE USING `<p class=sdncode` `<!code> ` `` CHANGING CONTENT.
PERFORM HANDLE_BLOCK USING `<!code>` `` CHANGING CONTENT.
CONCATENATE TOKEN_PATH '_Html.HTM' INTO FILENAME.
PERFORM DOWNLOAD_FILE CHANGING CONTENT FILENAME.
PERFORM HANDLE_IMAGE_FILES.
RETURN.
**----
-
FORM BUILD_TOKEN USING FILENAME TYPE STRING
CHANGING TOKEN TYPE STRING
TOKEN_PATH TYPE STRING
TOKEN_LONG TYPE STRING
FILE_PATH TYPE STRING.
DATA: SEGMENT TYPE STRING.
FILE_PATH = FILENAME.
REPLACE ALL OCCURRENCES OF '.htm' IN FILE_PATH WITH '_files' IGNORING CASE.
TOKEN = FILENAME.
WHILE TOKEN CA ''.
SPLIT TOKEN AT '' INTO SEGMENT TOKEN.
CONCATENATE TOKEN_PATH '' SEGMENT INTO TOKEN_PATH.
ENDWHILE.
REPLACE ALL OCCURRENCES OF '.htm' IN TOKEN WITH '' IGNORING CASE.
TOKEN_LONG = TOKEN.
REPLACE ALL OCCURRENCES OF 'BSP' IN TOKEN WITH 'Bsp'.
REPLACE ALL OCCURRENCES OF 'HTTP' IN TOKEN WITH 'Http'.
REPLACE ALL OCCURRENCES OF 'HTMLB' IN TOKEN WITH 'Htmlb'.
REPLACE ALL OCCURRENCES OF 'XHTMLB' IN TOKEN WITH 'XHtmlb'.
REPLACE ALL OCCURRENCES OF 'PHTMLB' IN TOKEN WITH 'PHtmlb'.
REPLACE ALL OCCURRENCES OF '__' IN TOKEN WITH '--'.
REPLACE ALL OCCURRENCES OF '_' IN TOKEN WITH '-'.
REPLACE ALL OCCURRENCES OF '--' IN TOKEN WITH '_'.
REPLACE ALL OCCURRENCES OF '-(' IN TOKEN WITH '('.
REPLACE ALL OCCURRENCES OF ')-' IN TOKEN WITH ')'.
REPLACE ALL OCCURRENCES OF '-' IN TOKEN WITH ''.
WHILE TOKEN CA '('.
DATA: BEFORE TYPE STRING, AFTER TYPE STRING.
SPLIT TOKEN AT '(' INTO BEFORE AFTER.
IF AFTER NA ')'.
EXIT.
ENDIF.
SPLIT AFTER AT ')' INTO TOKEN AFTER.
CONCATENATE BEFORE AFTER INTO TOKEN.
ENDWHILE.
TRANSLATE TOKEN USING 'a b c d e f g h i j k l m n o p q r s t u v w x y z '.
CONDENSE TOKEN NO-GAPS.
SHIFT TOKEN_PATH LEFT.
CONCATENATE TOKEN_PATH '' TOKEN INTO TOKEN_PATH.
ENDFORM.
**----
-
FORM UPLOAD_FILE CHANGING CONTENT TYPE STRING_TABLE
FILENAME TYPE STRING.
DATA: FILELIST TYPE FILETABLE,
RC TYPE I.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
FILE_FILTER = CL_GUI_FRONTEND_SERVICES=>FILETYPE_HTML
MULTISELECTION = SPACE
CHANGING
FILE_TABLE = FILELIST
RC = RC.
IF LINES( FILELIST ) IS INITIAL.
RETURN.
ENDIF.
READ TABLE FILELIST INDEX 1 INTO FILENAME.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = filename
replacement = '?'
CHANGING
data_tab = content.
DATA: DATA_TAB TYPE TABLE OF CHAR1024,
CONTENT_STRING TYPE STRING.
FIELD-SYMBOLS: CR_LF INTO TABLE CONTENT.
ENDFORM.
**----
-
FORM HANDLE_IMAGE_FILES.
DATA: FILELIST_XML TYPE STRING,
FILES TYPE STANDARD TABLE OF FILE_INFO,
FILE TYPE FILE_INFO,
EXIST TYPE ABAP_BOOL,
RC TYPE I.
CONCATENATE FILE_PATH '/filelist.xml' INTO FILELIST_XML.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_DELETE
EXPORTING FILENAME = FILELIST_XML
CHANGING RC = RC
EXCEPTIONS OTHERS = 1.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES
EXPORTING DIRECTORY = FILE_PATH
FILTER = 'image*'
FILES_ONLY = 'X'
DIRECTORIES_ONLY = SPACE
CHANGING FILE_TABLE = FILES
COUNT = RC
EXCEPTIONS OTHERS = 1.
LOOP AT FILES INTO FILE.
DATA: FROM TYPE STRING, TO TYPE STRING.
CONCATENATE FILE_PATH '' FILE-FILENAME INTO FROM.
REPLACE 'image' IN FILE-FILENAME WITH ''.
TRANSLATE FILE-FILENAME TO UPPER CASE.
CONCATENATE TOKEN_PATH '_' FILE-FILENAME INTO TO.
FIELD-SYMBOLS: FILE_COPY
EXPORTING SOURCE = FROM
DESTINATION = TO
OVERWRITE = 'X'
EXCEPTIONS OTHERS = 1.
EXIT.
ENDLOOP.
ENDLOOP.
ENDFORM.
**----
-
FORM DOWNLOAD_FILE CHANGING CONTENT TYPE STRING_TABLE
FILENAME TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING FILENAME = FILENAME
CHANGING DATA_TAB = CONTENT.
ENDFORM.
**----
-
FORM PLACE_ON_ONE_LINE USING START END CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: .
DELETE CONTENT INDEX IDX.
ENDWHILE.
ENDLOOP.
ENDFORM.
**----
-
FORM STRIP USING PATTERN TYPE STRING
CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: WHERE TABLE_LINE = PATTERN.
DELETE CONTENT INDEX SY-TABIX.
ENDLOOP.
ENDFORM.
**----
-
FORM HANDLE_STYLE USING STYLE TYPE STRING
BEFORE TYPE STRING
AFTER TYPE STRING
CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: WITH 'B' IGNORING CASE.
REPLACE ALL OCCURRENCES OF ' WITH 'U' IGNORING CASE.
REPLACE ALL OCCURRENCES OF '+' IN WITH 'I' IGNORING CASE.
REPLACE ALL OCCURRENCES OF ' WITH '/B' IGNORING CASE.
REPLACE ALL OCCURRENCES OF ' WITH '/U' IGNORING CASE.
REPLACE ALL OCCURRENCES OF '+' IN WITH '/I' IGNORING CASE.
REPLACE ALL OCCURRENCES OF ' WITH '/A' IGNORING CASE.
WHILE WITH 'IMG' IGNORING CASE.
IF 0(LENGTH) '/IMG' <LINE>OFFSET(*) INTO WITH 'A' IGNORING CASE.
IF 0(LENGTH) ` target="_blank"/AB` <LINE>OFFSET(*) INTO CP '<>*'.
OFFSET = SY-FDPOS.
IF 0(OFFSET) <LINE>LENGTH(*) INTO .
REPLACE ALL OCCURRENCES OF 'IMG' IN WITH '<img'.
REPLACE ALL OCCURRENCES OF '/IMG' IN '.
REPLACE ALL OCCURRENCES OF 'A' IN WITH '<a'.
REPLACE ALL OCCURRENCES OF '/A' IN '.
REPLACE ALL OCCURRENCES OF 'B' IN '.
REPLACE ALL OCCURRENCES OF 'U' IN '.
REPLACE ALL OCCURRENCES OF 'I' IN WITH '+'.
REPLACE ALL OCCURRENCES OF '/B' IN '.
REPLACE ALL OCCURRENCES OF '/U' IN '.
REPLACE ALL OCCURRENCES OF '/I' IN WITH '+'.
REPLACE ALL OCCURRENCES OF 'AB' IN WITH '<'.
REPLACE ALL OCCURRENCES OF '/AB' IN CS '<img'.
"!./BSP-InDepthFully-Qualified-Domain-Names_files/image001.gif|width=1541 height=249 v: |src=./BSP-InDepthFully-Qualified-Domain-Names_files/image001.gif|shapes=_x0000_i1025!
DATA: FROM TYPE STRING,
TO TYPE STRING.
CONCATENATE TOKEN_LONG '_files/image' INTO FROM.
CONCATENATE IMAGE_PATH TOKEN '_' INTO TO.
REPLACE ALL OCCURRENCES OF FROM IN .
ENDIF.
ENDWHILE.
ENDIF.
ENDLOOP.
ENDFORM.
**----
-
FORM HANDLE_BLOCK USING SIGNATURE TYPE STRING
BEFORE TYPE STRING
AFTER TYPE STRING
CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: NS SIGNATURE.
INSERT `` INTO CONTENT INDEX IDX.
INSERT AFTER INTO CONTENT INDEX IDX.
EXIT.
ENDIF.
ENDWHILE.
ENDDO.
ENDFORM.
**----
-
FORM STRIP_RANGE USING START TYPE STRING
END TYPE STRING
CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: .
ENDWHILE.
DELETE CONTENT INDEX IDX.
ENDIF.
ENDWHILE.
ENDFORM.
**----
-
FORM PREPARE_LINE USING STYLE TYPE STRING
FROM TYPE STRING
TO TYPE STRING
CHANGING CONTENT TYPE STRING_TABLE.
FIELD-SYMBOLS: WITH TO.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM.
reward points if helpful.