Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

File handling

Former Member
0 Likes
1,153

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

1 ACCEPTED SOLUTION
Read only

former_member189059
Active Contributor
0 Likes
637

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

3 REPLIES 3
Read only

former_member189059
Active Contributor
0 Likes
638

Use the method CL_GUI_FRONTEND_SERVICES=>FILE_COPY

Open dataset may work as well incase the file is on the application server

Read only

sachinjakkaria
Active Participant
0 Likes
637

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.

Read only

Former Member
0 Likes
637

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.