Enterprise Resource Planning PortalERPGenie.COM Enterprise Resource Planning Portal

   Advertise | Founder BLOG

Web ERPGenie.COM  Other Search Options

Home | Vote for us |

ERPGenie.COM -> SAP Technical -> ABAP -> Example code -> Transfer files to/from server

REPORT ZAPC0015.

   * 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 imagenes de seleccion


 
   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.

  Text elements

I

001

Serv -> PC

I

002

PC -> Server

I

003

Ver fichero

R

 

Transfiere ficheros del servidor a local

S

EFN

Editor local

S

PFN

Nombre del fichero en PC

S

SFN

Fichero en el servidor

 

Contact Us | Polls | Add URL | Contribute | About | Privacy | Terms | Feedback | Help!

Message Board | Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Genie Press | ERPTopSites | Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum