2015 Sep 24 6:03 AM
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.
2015 Sep 24 6:12 AM
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
2015 Sep 24 7:08 AM
Hi Adren,
I checked with both statement but problem still there.
Regards,
Venkatesh Toraskar
2015 Sep 24 7:11 AM
Have you defined the path to your file correctly?
Are you able to paste it into SCN?
2015 Sep 24 7:21 AM
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
2015 Sep 24 8:24 AM
Read the documentation regarding OPEN DATASET. Thread locked.
2015 Sep 24 7:00 AM
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
2015 Sep 24 7:07 AM
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
2015 Sep 24 7:15 AM
Hi,
Have you written file in application server using for output or for appending?
2015 Sep 24 7:29 AM
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
2015 Sep 24 7:45 AM
Well, you use OPEN/READ DATASET so file is on application server, but your F4 is GUI related, presentation server, that should not succeed...
There are FM as KD_GET_FILENAME_ON_F4 which allow F4 on Presentation and Application servers
Regards,
Raymond