‎2007 Jun 18 9:14 AM
Hi guys,
can any one send me the program r source code for Reading the Data on Application server and put it into the Internal table....
‎2007 Jun 18 2:57 PM
Here is the Example.........
<a href="http://www.geocities.com/ResearchTriangle/1635/abap32.html">http://www.geocities.com/ResearchTriangle/1635/abap32.html</a>
‎2007 Jun 18 9:18 AM
Hello,
Check this.
PERFORM GET_FILENAME CHANGING FILENAME
RC.
PERFORM UPLOAD_APPLICATION_SERVER TABLES IT_FILE
USING FILENAME
CHANGING RC.
FORM GET_FILENAME CHANGING P_FILENAME
P_RC.
DATA: FILE_TABLE TYPE TABLE OF SDOKPATH WITH HEADER LINE.
DATA: DIR_TABLE TYPE TABLE OF SDOKPATH WITH HEADER LINE.
DATA: DIRECTORY TYPE SDOKPATH.
* PERFORM check_filename_or_directory USING p_filename
* CHANGING rc.
PERFORM GET_DIRECTORY USING P_FILENAME
CHANGING DIRECTORY.
*
* CHECK rc = 0.
*
* CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES'
* EXPORTING
* directory = p_filename
* filter = 'SAPR3_*.TXT'
** IMPORTING
** FILE_COUNT =
** DIR_COUNT =
* TABLES
* file_table = file_table
* dir_table = dir_table
* EXCEPTIONS
* cntl_error = 1
* OTHERS = 2
* .
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
OPEN DATASET P_FILENAME FOR INPUT IN TEXT MODE.
IF SY-SUBRC = 0.
DO.
READ DATASET P_FILENAME INTO FILE_TABLE.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
APPEND FILE_TABLE.
ENDDO.
CLOSE DATASET P_FILENAME.
P_RC = 0.
ELSE.
P_RC = 4.
ENDIF.
P_RC = 4.
* Der Dateiname hat folgendes Format SAPR3_YYYYMMDDHHMMSS.TXT
* LOOP AT dir_list WHERE rc = 0.
LOOP AT FILE_TABLE.
* Dateien vom heutigen Tag überprüfen ob schon verarbeitet
* CHECK dir_list-name(5) = 'SAPR3'.
IF FILE_TABLE-PATHNAME+6(8) = SY-DATUM.
CONCATENATE DIRECTORY FILE_TABLE-PATHNAME INTO P_FILENAME.
* Wurde die Datei schon einmal verarbeitet
SELECT SINGLE * FROM Z48C_ANSKA_SAP_P
WHERE FILENAME = P_FILENAME.
* Die Datei wurde schon einmal verarbeitet Filename löschen damit, die
* Datei nicht geöffnet werden kann
IF SY-SUBRC = 0.
CLEAR P_FILENAME.
ELSE.
* Die Datei wurde noch nicht verarbeitet. Die Datei in Tabelle speicher
* damit sie nicht noch einmal verarbeitet wird
GET TIME.
Z48C_ANSKA_SAP_P-FILENAME = P_FILENAME.
Z48C_ANSKA_SAP_P-DATUM = SY-DATUM.
Z48C_ANSKA_SAP_P-UZEIT = SY-UZEIT.
INSERT Z48C_ANSKA_SAP_P.
COMMIT WORK.
CLEAR P_RC.
EXIT. "from loop
ENDIF.
ENDIF.
ENDLOOP.
IF P_RC = 4.
P_FILENAME = DIRECTORY.
ENDIF.
ENDFORM. " get_filename
FORM GET_DIRECTORY USING P_FILENAME
CHANGING P_DIRECTORY.
DATA: SAVE_FDPOS LIKE SY-FDPOS.
P_DIRECTORY = P_FILENAME.
DO.
SHIFT P_DIRECTORY BY 1 PLACES LEFT.
IF P_DIRECTORY(1) = SPACE.
EXIT.
ENDIF.
IF P_DIRECTORY(1) CP '*/*' OR
P_DIRECTORY(1) CP '**'.
SAVE_FDPOS = SY-INDEX.
ENDIF.
ENDDO.
ADD 1 TO SAVE_FDPOS.
P_DIRECTORY = P_FILENAME(SAVE_FDPOS).
ENDFORM. " get_directory
FORM UPLOAD_APPLICATION_SERVER TABLES P_ITAB_DATA STRUCTURE IT_FILE
USING P_FILENAME
CHANGING P_RC.
CHECK P_RC IS INITIAL.
OPEN DATASET P_FILENAME FOR INPUT IN TEXT MODE.
IF SY-SUBRC = 0.
DO.
READ DATASET P_FILENAME INTO P_ITAB_DATA.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
APPEND P_ITAB_DATA.
ENDDO.
CLOSE DATASET P_FILENAME.
P_RC = 0.
ELSE.
P_RC = 4.
ENDIF.
ENDFORM. " upload_application_server
Regards,
Vasanth
‎2007 Jun 18 9:26 AM
Check out this sample program
REPORT zuploadtab .
PARAMETERS: p_infile LIKE rlgrap-filename
OBLIGATORY DEFAULT '/usr/sap/'..
DATA: ld_file LIKE rlgrap-filename.
*Internal tabe to store upload data
TYPES: BEGIN OF t_record,
name1 like pa0002-VORNA,
name2 like pa0002-name2,
age type i,
END OF t_record.
DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
wa_record TYPE t_record.
*Text version of data table
TYPES: begin of t_uploadtxt,
name1(10) type c,
name2(15) type c,
age(5) type c,
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'.
*If you have Unicode check active in program attributes then you will
*need to declare constants as follows:
*class cl_abap_char_utilities definition load.
*constants:
* con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
************************************************************************
*START-OF-SELECTION
START-OF-SELECTION.
ld_file = p_infile.
OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
ELSE.
DO.
CLEAR: wa_string, wa_uploadtxt.
READ DATASET ld_file INTO wa_string.
IF sy-subrc NE 0.
EXIT.
ELSE.
SPLIT wa_string AT con_tab INTO wa_uploadtxt-name1
wa_uploadtxt-name2
wa_uploadtxt-age.
MOVE-CORRESPONDING wa_uploadtxt TO wa_upload.
APPEND wa_upload TO it_record.
ENDIF.
ENDDO.
CLOSE DATASET ld_file.
ENDIF.
‎2007 Jun 18 2:57 PM
Here is the Example.........
<a href="http://www.geocities.com/ResearchTriangle/1635/abap32.html">http://www.geocities.com/ResearchTriangle/1635/abap32.html</a>