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

Open dataset

Former Member
0 Likes
800

Hi all,

Please give me the sample program Based on the Open Dataset file for input and Read dataset to download a file in the application server (that si into the mapped drive)

Regards

Ajay

7 REPLIES 7
Read only

bpawanchand
Active Contributor
0 Likes
763

HI

  • Parameters to enter the path

PARAMETERS FILENAME(128) DEFAULT '/usr/tmp/testfile.dat'

LOWER CASE.

  • Table Declaration

TABLES VBAK.

  • Data Declaration

DATA D_MSG_TEXT(50).

  • Get data for file transfer

DATA INT_VBAK LIKE VBAK OCCURS 100

WITH HEADER LINE.

SELECT * FROM VBAK INTO TABLE INT_VBAK.

SORT INT_VBAK BY VBELN.

LOOP AT INT_VBAK.

WRITE: / INT_VBAK-VBELN,

INT_VBAK-KUNNR.

ENDLOOP.

  • Opening the File

OPEN DATASET FILENAME FOR OUTPUT IN TEXT MODE

MESSAGE D_MSG_TEXT.

IF SY-SUBRC NE 0.

WRITE: 'File cannot be opened. Reason:', D_MSG_TEXT.

EXIT.

ENDIF.

  • Transferring Data

LOOP AT INT_VBAK.

TRANSFER INT_VBAK-VBELN TO FILENAME.

ENDLOOP.

  • Closing the File

CLOSE DATASET FILENAME.

READ DATA SET

FORM COLLECT_DATA.

OPEN DATASET PARCOM1 FOR INPUT IN TEXT MODE.

DO.

READ DATASET PARCOM1 INTO TAB1.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

APPEND TAB1.

ENDDO.

CLOSE DATASET PARCOM1.

OPEN DATASET PARCOM2 FOR INPUT IN TEXT MODE.

DO.

READ DATASET PARCOM2 INTO TAB2.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

APPEND TAB2.

ENDDO.

CLOSE DATASET PARCOM2.

ENDFORM.

Regards

Pavan

Read only

Former Member
0 Likes
763

hiii

see folowing code

DATA:
  t_bkpf TYPE
STANDARD TABLE
      OF type_s_bkpf.

*"--------------------------------------------------------------------*
* Work variable to hold Accounting Document Header data               *
*"--------------------------------------------------------------------*
DATA:
  fs_bkpf LIKE
     LINE OF t_bkpf,
      no_data TYPE c,
   w_file(50) TYPE c VALUE 'myfile123.txt'.
                                       " File Value
FORM display_detail .

  OPEN DATASET w_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
  DO.

   READ DATASET w_file INTO fs_bkpf.
      IF sy-subrc EQ 0.
      WRITE: fs_bkpf.
        APPEND fs_bkpf TO t_bkpf.
      ELSE.
        EXIT.
      ENDIF.                           "  IF sy-subrc EQ 0

  ENDDO.
  CLOSE DATASET w_file.



ENDFORM.                               " display_detail

regards

twinkal

Read only

Former Member
0 Likes
763

hi,

Check out the below sample code

http://www.sapdev.co.uk/file/file_uploadsap.htm

Also check out CG3Y & CG3Z transactions

Read only

Former Member
0 Likes
763

Hi Ajay,

refer to code below:

data:
  w_fname(60) value '.\file', 
  w_string type string.


  open dataset w_fname for input in text mode encoding default.
  do.
    read dataset w_fname into w_string.
    if sy-subrc <> 0.
      exit.
    endif.  

  enddo.
  close dataset w_fname.

With luck,

Pitam.

Read only

Former Member
0 Likes
763

hi ajay ,

check this subroutine

&----


*& Form f690_download_on_application

&----


  • For downloading a file on application server

----


  • No interface parameter needed.

----


FORM f690_download_on_application .

DATA :wl_file TYPE localfile .

wl_file = p_filea3.

OPEN DATASET wl_file " Opening the file

FOR OUTPUT IN TEXT MODE

ENCODING DEFAULT.

IF sy-subrc NE 0.

MESSAGE s058(xw) WITH wl_file sy-subrc.

EXIT.

ENDIF.

LOOP AT i_final_promotion INTO wa_final_promotion.

TRANSFER wa_final_promotion TO wl_file.

ENDLOOP.

CLOSE DATASET wl_file. " Closing the file

MESSAGE s628(gr) WITH wl_file sy-subrc.

ENDFORM. " f690_download_on_application

regards ,

sandeep

Read only

Former Member
0 Likes
763

HI Ajay,

Check this following code:

*"Table declarations...................................................
TABLES:
  bkpf.

*"Selection screen elements............................................
SELECT-OPTIONS:
  p_bukrs  FOR   bkpf-bukrs,
  p_bldat  FOR   bkpf-bldat.

PARAMETERS:
  w_char TYPE c.

DATA:
  BEGIN OF fs_bkpf,
    bukrs LIKE bkpf-bukrs,
    gjahr LIKE bkpf-gjahr,
    blart LIKE bkpf-blart,
    bldat LIKE bkpf-bldat,
    budat LIKE bkpf-budat,
    monat LIKE bkpf-monat,
    cpudt LIKE bkpf-cpudt,
  END OF fs_bkpf.

DATA:
  t_bkpf LIKE
STANDARD TABLE
      OF fs_bkpf.

DATA:
  f_name  TYPE string,
  w_lines TYPE i,
  w_data  TYPE string,
  w_data1 TYPE string,
  w_index TYPE i,
  file_path TYPE ibipparms-path,
  file_path1 TYPE string.


SELECT bukrs
       gjahr
       blart
       bldat
       budat
       monat
       cpudt
  FROM bkpf
  INTO TABLE t_bkpf
 WHERE bukrs IN p_bukrs
   AND bldat IN p_bldat.


************************************************************************
******************Writing into Application Server***********************
************************************************************************

f_name = '.\my_bkpf.txt'.

OPEN DATASET f_name FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

DESCRIBE TABLE t_bkpf LINES w_lines.

DO w_lines TIMES.
  READ TABLE t_bkpf INTO fs_bkpf INDEX w_index.
  CONCATENATE fs_bkpf-bukrs
              fs_bkpf-gjahr
              fs_bkpf-blart
              fs_bkpf-bldat
              fs_bkpf-budat
              fs_bkpf-monat
              fs_bkpf-cpudt
             INTO w_data
            SEPARATED BY w_char.

  TRANSFER w_data TO f_name.
  ADD 1 TO w_index.
ENDDO.

CLOSE DATASET f_name.

CLEAR t_bkpf.

OPEN DATASET f_name FOR INPUT IN TEXT MODE ENCODING DEFAULT.

DO.

  READ DATASET f_name INTO w_data1.

  IF sy-subrc NE 0.
    EXIT.
  ENDIF.

  SPLIT w_data1 AT w_char INTO fs_bkpf-bukrs
                               fs_bkpf-gjahr
                               fs_bkpf-blart
                               fs_bkpf-bldat
                               fs_bkpf-budat
                               fs_bkpf-monat
                               fs_bkpf-cpudt.
  APPEND fs_bkpf TO t_bkpf.

ENDDO.

CLOSE DATASET f_name.

************************************************************************
******************Writing into Presentation Server**********************
************************************************************************

CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          = ' '
 IMPORTING
   file_name           = file_path.

file_path1 = file_path.

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    filename                = file_path1
    filetype                = 'BIN'
*    write_field_separator   = 'X'
  TABLES
    data_tab                = t_bkpf
  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                  = 22.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
  MESSAGE 'File Downloaded Successfully' TYPE 'I'.
ENDIF.

Hope this helps you.

Regards,

Chandra Sekhar