‎2009 Jul 22 11:29 AM
Hi experts,
i want to access file from application server on the basis on the file i will get some values from file n update database table.
so please provide me the way this requirement will complete.
thanks
babbal
‎2009 Jul 22 11:32 AM
OPEN DATASET p_file FOR INPUT IN TEXT MODE ENCODING DEFAULT MESSAGE msg.
IF sy-subrc = 0.
DO.
IF sy-subrc <> 0.
EXIT.
ENDIF.
READ DATASET p_file INTO i_tab.
**get all the data from this internal table and update
‎2009 Jul 22 11:36 AM
Hi,
Please follow the code as below.
OPEN DATASET file for INPUT in LEGACY TEXT MODE.
ASSIGN wa_inv to <fs_inv>.
DO.
READ DATASET file INTO <fs_inv>.
if sy-subrc = 0.
WRITE: / wa_inv-belnr,
wa_inv-bsart,
wa_inv-zterm,
wa_inv-wkurs,
wa_inv-parvw,
wa_inv-lifnr.
APPEND wa_inv to i_inv.
else.
exit.
endif.
ENDDO.
CLOSE DATASET file.
Thanks,
Pradeep
‎2009 Jul 22 11:41 AM
Hi Babbalsingh,
You can write code as follows:
OPEN DATASET v_file1 IN TEXT MODE FOR OUTPUT ENCODING DEFAULT IGNORING CONVERSION ERRORS.
LOOP AT it_gr_data1 INTO wa_gr_data1.
TRANSFER wa_gr_data1 TO v_file1.
CLEAR wa_gr_data1.
******Here you can do your processing.
ENDLOOP.
CLOSE DATASET v_file1.
Regards,
Anil Salekar
‎2009 Jul 22 11:49 AM
HI,
Please try the following
*open file in read mode to get data
OPEN DATASET l_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc <> 0.
WRITE :'Invalid filename'.
ELSE.
DO.
READ DATASET l_file into wa
IF sy-subrc <> 0.
EXIT.
ENDIF.
APPEND WA TO ITAB.
ENDDO.
ENDIF.
CLOSE DATASET l_file.
WRITE:/ 'FILE UPLOADED TO THE PATH', l_file.
wa is the workarea where the data from the file is placed in every do loop pass and it is added to the internal table IT.
Hope this helps
Regards,
Sachin
‎2009 Jul 22 11:55 AM
Hi,
If we want to save the internal table data to the application server
DATA: gdf_filepath type dxfile-filename
DATA: gdt_data type table of gts_data.
DATA: ldf_length type i.
FIELD-SYMBOLS: <lfs_outfile> TYPE gts_data
START-OF-SELECTION.
gdf_filepath = 'C:\mydata.txt'
OPEN DATASET gdf_filepath FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT prt_data ASSIGNING <lfs_outfile>.
DESCRIBE FIELD <lfs_outfile> LENGTH ldf_length IN BYTE MODE.
TRANSFER <lfs_outfile> TO prf_file LENGTH ldf_length.
ENDLOOP.
CLOSE DATASET gdf_filepath.
If we want to save the internal table data to the application server
PARAMETERS p_file TYPE dxfile-filename.
START-OF-SELECTION.
OPEN DATASET p_file IN TEXT MODE ENCODING DEFAULT FOR INPUT.
DO.
READ DATASET p_file INTO gds_data.
IF sy-subrc <> 0.
EXIT.
ENDIF.
APPEND gds_data TO gdt_data.
ENDDO.
CLOSE DATASET p_file.
For the file data which has tab separator between field columns.
DATA: gds_field_split type gts_data.
FIELD-SYMBOLS: <fs_field> TYPE gts_data.
PARAMETERS p_file TYPE dxfile-filename.
START-OF-SELECTION.
OPEN DATASET prf_file IN TEXT MODE ENCODING DEFAULT FOR INPUT.
DO.
READ DATASET p_file INTO gds_field.
SPLIT gds_field AT cl_abap_char_utilities=>horizontal_tab
INTO TABLE gdt_field_split.
LOOP AT gdt_field_split into gds_field_split.
gdf_index = gdf_index + 1.
ASSIGN COMPONENT gdf_index OF STRUCTURE
gds_data to <fs_field>.
IF sy-subrc = 0.
<fs_field> = gds_field_split.
ENDIF.
ENDLOOP.
APPEND gds_data TO gdt_data.
ENDDO.
CLOSE DATASET p_file.
Thanks & Regards
‎2009 Jul 22 12:12 PM
Hi,
You can use this function module /SAPDMC/LSM_F4_SERVER_FILE for F4 help for application server file and then you can use the function module TEXT_CONVERT_XLS_TO_SAP to read data into internal table.
Thanks.