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.