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

Read Dataset Statment not working ?

0 Likes
2,768

REPORT zmil0sdbo_zstocky_debclaim.


*Internal tabe to store upload data
TYPES: BEGIN OF t_record,
         zunqcd TYPE zstockyclaim-zunqcd,
         kunnr TYPE zstockyclaim-kunnr,
         aufnr TYPE zstockyclaim-aufnr,
         wrbtr TYPE zstockyclaim-wrbtr,
         sgtxt TYPE zstockyclaim-sgtxt,
       END OF t_record.

DATA: it_final TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
       wa_final TYPE t_record.


*Text version of data table
TYPES: BEGIN OF t_uploadtxt,
         w_data(750) TYPE c,
*        zunqcd TYPE zstockyclaim-zunqcd,
*        kunnr TYPE zstockyclaim-kunnr,
*        aufnr TYPE zstockyclaim-aufnr,
*        wrbtr TYPE zstockyclaim-wrbtr,
*        sgtxt TYPE zstockyclaim-sgtxt,
        END OF t_uploadtxt.

DATA: wa_uploadtxt TYPE t_uploadtxt.

*String value to data in initially.
DATA: wa_string(255) TYPE c.

*CONSTANTS: con_tab TYPE X VALUE '09'.
*DATA: con_tab TYPE x VALUE '09'.
DATA: con_tab TYPE STRING VALUE '09'.

DATA: ld_file LIKE rlgrap-filename.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS: p_infile  LIKE ibipparms-path OBLIGATORY .
SELECTION-SCREEN : END OF BLOCK B1.
*----------------------
*FM For F4 Search Help
*----------------------

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
   CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          =
     IMPORTING
       file_name = p_infile.
*---------------------
*START-OF-SELECTION
*---------------------

ld_file = p_infile.
*
OPEN DATASET ld_file IN TEXT MODE ENCODING UTF-8 FOR INPUT.
*

   IF sy-subrc NE 0.
     MESSAGE 'File Not Found' TYPE 'I'.
     LEAVE PROGRAM.
   ELSE.
     DO.


       CLEAR: wa_string, wa_uploadtxt.
       READ DATASET ld_file INTO wa_string.
       IF sy-subrc NE 0.
         EXIT.
       ELSE.
         SPLIT ld_file AT con_tab INTO      wa_final-zunqcd
                                            wa_final-kunnr
                                            wa_final-aufnr
                                            wa_final-wrbtr
                                            wa_final-sgtxt.

*
         APPEND wa_final TO it_final.
         CLEAR  it_final.

       ENDIF.
     ENDDO.
     CLOSE DATASET ld_file.
   ENDIF.

REPORT zmil0sdbo_zstocky_debclaim.


*Internal tabe to store upload data
TYPES: BEGIN OF t_record,
         zunqcd TYPE zstockyclaim-zunqcd,
         kunnr TYPE zstockyclaim-kunnr,
         aufnr TYPE zstockyclaim-aufnr,
         wrbtr TYPE zstockyclaim-wrbtr,
         sgtxt TYPE zstockyclaim-sgtxt,
       END OF t_record.

DATA: it_final TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
       wa_final TYPE t_record.


*Text version of data table
TYPES: BEGIN OF t_uploadtxt,
         w_data(750) TYPE c,
*        zunqcd TYPE zstockyclaim-zunqcd,
*        kunnr TYPE zstockyclaim-kunnr,
*        aufnr TYPE zstockyclaim-aufnr,
*        wrbtr TYPE zstockyclaim-wrbtr,
*        sgtxt TYPE zstockyclaim-sgtxt,
        END OF t_uploadtxt.

DATA: wa_uploadtxt TYPE t_uploadtxt.

*String value to data in initially.
DATA: wa_string(255) TYPE c.

*CONSTANTS: con_tab TYPE X VALUE '09'.
*DATA: con_tab TYPE x VALUE '09'.
DATA: con_tab TYPE STRING VALUE '09'.

DATA: ld_file LIKE rlgrap-filename.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS: p_infile  LIKE ibipparms-path OBLIGATORY .
SELECTION-SCREEN : END OF BLOCK B1.
*----------------------
*FM For F4 Search Help
*----------------------

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
   CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          =
     IMPORTING
       file_name = p_infile.
*---------------------
*START-OF-SELECTION
*---------------------

ld_file = p_infile.
*
OPEN DATASET ld_file IN TEXT MODE ENCODING UTF-8 FOR INPUT.
*

   IF sy-subrc NE 0.
     MESSAGE 'File Not Found' TYPE 'I'.
     LEAVE PROGRAM.
   ELSE.
     DO.


       CLEAR: wa_string, wa_uploadtxt.
       READ DATASET ld_file INTO wa_string.
       IF sy-subrc NE 0.
         EXIT.
       ELSE.
         SPLIT ld_file AT con_tab INTO      wa_final-zunqcd
                                            wa_final-kunnr
                                            wa_final-aufnr
                                            wa_final-wrbtr
                                            wa_final-sgtxt.

*
         APPEND wa_final TO it_final.
         CLEAR  it_final.

       ENDIF.
     ENDDO.
     CLOSE DATASET ld_file.
   ENDIF.

10 REPLIES 10
Read only

Former Member
0 Likes
2,106

Hi Venkatesh.

Firstly, make sure the file is not open already (Make sure you do not have it open in Excel or Notepad).

You can try any of these to see if it will resolve the issue.

OPEN DATASET ld_file FOR INPUT IN LEGACY TEXT MODE

OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT

OPEN DATASET ld_file FOR INPUT IN BINARY MODE.

OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING NON-UNICODE

Regards

Arden

Read only

0 Likes
2,106

Hi Adren,

I checked with both statement but problem still there.

Regards,

Venkatesh Toraskar

Read only

0 Likes
2,106

Have you defined the path to your file correctly?

Are you able to paste it into SCN?

Read only

0 Likes
2,106

Hi,

I am Uploading file from dekstop i.e. C:\Users\venkatesht\Desktop\New Text Document.txt.

just for test . Dose it mandatory to use application server for testing ?

Regards,

Venkatesh

Read only

matt
Active Contributor
0 Likes
2,106

Read the documentation regarding OPEN DATASET. Thread locked.

Read only

arivazhagan_sivasamy
Active Contributor
0 Likes
2,106

Hi,

Use wa_string instead of id_file.

READ DATASET ld_file INTO wa_string.

       IF sy-subrc NE 0.

         EXIT.

       ELSE.

         SPLIT ld_file wa_string AT con_tab INTO      wa_final-zunqcd

                                            wa_final-kunnr

                                            wa_final-aufnr

                                            wa_final-wrbtr

                                            wa_final-sgtxt.

*

         APPEND wa_final TO it_final.

         CLEAR  it_final.

       ENDIF.

Arivazhagan S

Read only

0 Likes
2,106

Thanks for your reply but my issue ie that I am facing issue while reading file or at READ DATASET .

It gives me sy-subrc = 4 & hence its exit from program .

Regards,

Venkatesh Toraskar

Read only

0 Likes
2,106

Hi,

Have you written file in application server using for output or for appending?


Read only

0 Likes
2,106

hi Arivazhagan,

I want to upload file from Application server & i.e. why I tried above statement

  *OPEN DATASET ld_file IN TEXT MODE ENCODING DEFAULT FOR INPUT.
*-----------------------------------------------------------------
*OPEN DATASET ld_file FOR INPUT IN LEGACY TEXT MODE.
*OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
*OPEN DATASET ld_file FOR INPUT IN BINARY MODE.
*OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING NON-UNICODE.
*OPEN DATASET ld_file FOR APPENDING IN LEGACY TEXT MODE.
OPEN DATASET ld_file FOR INPUT IN LEGACY TEXT MODE IGNORING CONVERSION ERRORS REPLACEMENT CHARACTER '#'.

 

Regards,

Venkatesh

Read only

RaymondGiuseppi
Active Contributor
0 Likes
2,106

Well, you use OPEN/READ DATASET so file is on application server, but your F4 is GUI related, presentation server, that should not succeed...

  • Application server : DATASET statements,
  • Presentation server : GUI_UPLOAD (CL_GUI_FRONTEND_SERVICES) 

There are FM as KD_GET_FILENAME_ON_F4 which allow F4 on Presentation and Application servers

Regards,

Raymond