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

Program for Reading Application server

Former Member
0 Likes
518

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....

1 ACCEPTED SOLUTION
Read only

former_member187255
Active Contributor
0 Likes
485

Here is the Example.........

<a href="http://www.geocities.com/ResearchTriangle/1635/abap32.html">http://www.geocities.com/ResearchTriangle/1635/abap32.html</a>

3 REPLIES 3
Read only

Former Member
0 Likes
485

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

Read only

Former Member
0 Likes
485

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.

Read only

former_member187255
Active Contributor
0 Likes
486

Here is the Example.........

<a href="http://www.geocities.com/ResearchTriangle/1635/abap32.html">http://www.geocities.com/ResearchTriangle/1635/abap32.html</a>