Foro -Documentación -Código fuente -Contacto -Empleo

Buscar

Traducir

Amazon

ZFILETRANSFER PDF Imprimir E-mail
Usar puntuación: / 0
MaloBueno 
Código fuente - Utilidades con ficheros
Escrito por Administrator   
Sábado, 05 de Julio de 2003 09:00
Transfiere ficheros del servidor a local
REPORT ZFILETRANSFER.
* File Transfer Utility ( pc<->app server )
* Evaluation Version - Copyright ©1998 Ken Greenwood
*
* This transfers sequential files from the application server
* to your hard drive, or from your hard drive to the application server.
*
* View the readme on the installation CD for instructions on how to
* use this program.
*
* This is the evaluation version. The registered version is avaliable
* in Single-User License or Corporate Licenses.
* Visit http://www.abap.net to purchase this product.
* Note: The registered version transfers multiple files at a time.
*
* This program is Copyright ©1998 Ken Greenwood
* http://www.abap.net
*______________________________________________________________________
tables:
SSCRFIELDS. "Campos en las imágenes de selección

data:
IT(5000) OCCURS 100 WITH HEADER LINE.

*-parameters----------------------------------------------------------*
selection-screen:
begin of block b1 with frame title text-004.

parameters:
sfn(128) obligatory lower case memory id z0s " server file name
default '/usr/sap/tmp/?',
pfn(128) obligatory lower case memory id z0p " pc file name
default 'c:\temp\temp.txt',
efn(128) obligatory lower case " editor file name
DEFAULT 'notepad.exe'.
selection-screen:
skip,
PUSHBUTTON /05(23) TEXT-001 USER-COMMAND ZGET, "Serv -> PC
PUSHBUTTON 30(23) TEXT-002 USER-COMMAND ZPUT, "PC -> Serv
PUSHBUTTON 55(23) TEXT-003 USER-COMMAND ZPAD, "Ver fichero
end of block b1.
*-mainline------------------------------------------------------------*

*-events--------------------------------------------------------------*
at selection-screen.
case sscrfields-ucomm.
when 'ZGET'. perform getfrsrv.
when 'ZPUT'. perform puttosrv.
when 'ZPAD'. perform editfile.
endcase.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR EFN.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = EFN
DEF_PATH = '/'
MASK = ',*.*,*.*.'
MODE = 'O'
TITLE = 'Get filename'
IMPORTING
FILENAME = EFN
* rc =
EXCEPTIONS
INV_WINSYS = 01
NO_BATCH = 02
SELECTION_CANCEL = 03
SELECTION_ERROR = 04.
*-forms---------------------------------------------------------------*
form editfile.
data:
exists value '0'.
perform fileexists
changing exists.
if exists = '0'.
refresh it.
perform download.
endif.
perform runnotepad.
endform.

*---------------------------------------------------------------------*
form fileexists
changing exists.
call function 'WS_QUERY'
exporting
filename = pfn
query = 'FE' " file exists?
importing
return = exists
exceptions
inv_query = 1
no_batch = 2
frontend_error = 3
others = 4.
endform.

*---------------------------------------------------------------------*
form getfrsrv.
refresh it.
perform dsopen_input_text
using sfn.
perform xfer2it.
perform download.
perform runnotepad.
endform.

*-forms---------------------------------------------------------------*
form puttosrv.
refresh it.
perform upload.
perform dsopen_output_text
using sfn.
perform xferfromit
using sfn.
endform.

*---------------------------------------------------------------------*
form xferfromit
using dsn.
loop at it.
perform dswrite
using dsn
it.
endloop.
endform.

*---------------------------------------------------------------------*
form xfer2it.
while sy-subrc = 0.
perform dsread
using sfn
changing it.
if sy-subrc <> 0.
exit.
endif.
append it.
endwhile.
perform dsclose
using sfn.
endform.

*---------------------------------------------------------------------*
form download.
call function 'WS_DOWNLOAD'
exporting
filename = pfn
tables
data_tab = it
exceptions
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
perform checkrc
using 'WS_DOWNLOAD'.
endform.

*---------------------------------------------------------------------*
form runnotepad.
data pgm(128).
concatenate
efn pfn into pgm
separated by space.
call function 'WS_EXECUTE'
exporting
program = pgm
exceptions
frontend_error = 1
no_batch = 2
prog_not_found = 3
illegal_option = 4
others = 5.
perform checkrc
using 'WS_EXECUTE'.
endform.

*---------------------------------------------------------------------*
form upload.
call function 'WS_UPLOAD'
exporting
filename = pfn
tables
data_tab = it
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
perform checkrc
using 'WS_UPLOAD'.
endform.

*---------------------------------------------------------------------*
form writetoscrn.
window starting at 5 3
ending at 90 15.
loop at it.
write it.
endloop.
endform.

*---------------------------------------------------------------------*
form checkrc using n.
if sy-subrc <> 0.
write: / 'rc=', sy-subrc, 'from', n.
stop.
endif.
endform.

*-macro-for-form-definition-------------------------------------------*
define dsform_open.
form dsopen_&1_&2 using
dsn type c.
data msg(80).
open dataset dsn for &1 in &2 mode message msg.
if sy-subrc <> 0.
message e001(zk) with 'Error opening' dsn msg.
endif.
endform.
end-of-definition.

*---------------------------------------------------------------------*
dsform_open input text.
dsform_open input binary.
dsform_open output text.
dsform_open output binary.

*--------------------------------------------------------------------
form dsread
using dsn type c
changing rec.

statics: rctr type i.

read dataset dsn into rec.
case sy-subrc.
when 0.
add 1 to rctr.
when 4.
message s001(zk) with rctr 'records read from' dsn.
when others.
message e001(zk) with 'Error reading' dsn 'rc=' sy-subrc.
endcase.
endform.

*--------------------------------------------------------------------
form dswrite
using dsn type c
rec.

statics: rctr type i.

transfer rec to dsn.
case sy-subrc.
when 0.
add 1 to rctr.
when others.
message e001(zk) with 'Error writing to' dsn 'rc=' sy-subrc.
endcase.
endform.

*--------------------------------------------------------------------
form dsclose
using dsn type c.
close dataset dsn.
if sy-subrc <> 0.
message e001(zk) with 'Error closing' dsn 'rc=' sy-subrc.
endif.
endform.
Comentarios
Buscar
¡Sólo los usuarios registrados pueden escribir comentarios!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Actualizado ( Domingo, 06 de Julio de 2008 08:44 )
 
home search