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

Where does an abap program get stored after save?

Former Member
0 Likes
1,291

Where does an abap program get stored after save? ...plzz tell

Edited by: Alvaro Tejada Galindo on Feb 18, 2008 11:28 AM

Where does an abap program get stored after save? ...plzz tell

Edited by: Alvaro Tejada Galindo on Feb 18, 2008 11:28 AM

6 REPLIES 6
Read only

Former Member
0 Likes
1,209

SAP programm is stored in application server and SAP kernal

Read only

SantoshKallem
Active Contributor
0 Likes
1,209

this program download the code to presentation server

Analyse this code.

CHECK IT IN DEBUGGING


REPORT zdownload_source MESSAGE-ID zabap.

TABLES: trdir.

SELECT-OPTIONS: repo FOR trdir-name.
PARAMETERS: path(60) TYPE c DEFAULT 'C:\programs\'.

DATA: BEGIN OF tabsource OCCURS 10,
      source(72) TYPE c,
      END OF tabsource.

DATA: BEGIN OF tabtext OCCURS 50,
      tab LIKE textpool      ,
      END OF tabtext.

DATA: BEGIN OF tabrdir OCCURS 100,
      rdir LIKE trdir,
      END OF tabrdir.

DATA: filename LIKE rlgrap-filename,
      mode TYPE c VALUE ' ',
      rdirrows TYPE i,
      sourcerows TYPE i,
      rc TYPE i,
      length TYPE i.

FIELD-SYMBOLS: <p>.

DATA: ok TYPE i VALUE 0,
      fail TYPE i VALUE 1.

AT SELECTION-SCREEN.
  DATA: i TYPE i.
  DESCRIBE TABLE repo LINES i.
  IF i <= 0.
    SET CURSOR FIELD repo.
    MESSAGE i001 WITH 'se message class'.
  ENDIF.

START-OF-SELECTION.
  CONDENSE path NO-GAPS.
  length = strlen( path ).
  SUBTRACT 1 FROM length.
  ASSIGN path+length(1) TO <p>.

  IF <p> <> '\'.
    ADD 1 TO length.
    ASSIGN path+length TO <p>.
    <p> = '\'.
  ENDIF.

  SELECT * FROM trdir
          INTO TABLE tabrdir
          WHERE name IN repo.
  DESCRIBE TABLE tabrdir LINES rdirrows.
  CHECK rdirrows > 0.

  LOOP AT tabrdir.
    MOVE tabrdir TO trdir.
    PERFORM download_sourse USING rc.
    CHECK rc = ok.
*    PERFORM download_textpool USING rc.
  ENDLOOP.
  write :/ sy-dbcnt , ' number of programs downloaded'.
*&---------------------------------------------------------------------*
*&      Form  download_sourse
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_RC  text
*----------------------------------------------------------------------*
FORM download_sourse USING  rc.
  rc = fail.
  CLEAR: tabsource, filename.
  REFRESH: tabsource.
  READ REPORT trdir-name INTO tabsource.
  DESCRIBE TABLE tabsource LINES sourcerows.
  CHECK sourcerows > 0.
  CALL FUNCTION 'STRING_CONCATENATE_3'
    EXPORTING
      string1         = PATH
      string2         = TRDIR-NAME
      string3         = '.ABA'
   IMPORTING
     string          = FILENAME
   EXCEPTIONS
     too_small       = 1
*   OTHERS          = 2
            .
  IF sy-subrc <> 0.
WRITE: 'AAAA'.
  ENDIF.

  CONDENSE filename NO-GAPS.
  PERFORM download TABLES tabsource USING filename rc.

ENDFORM.                    " download_sourse
*&---------------------------------------------------------------------*
*&      Form  download_textpool
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_RC  text
*----------------------------------------------------------------------*
FORM download_textpool USING    p_rc.

  rc = fail.
  CLEAR: tabtext, filename.
  REFRESH: tabtext.
  READ TEXTPOOL trdir-name INTO tabtext LANGUAGE sy-langu.
  DESCRIBE TABLE tabtext LINES sourcerows.
  CHECK sourcerows > 0.
  CALL FUNCTION 'STRING_CONCATENATE_3'
    EXPORTING
      string1         = path
      string2         = trdir-name
      string3         = '.TXT'
   IMPORTING
     string          = filename
   EXCEPTIONS
     too_small       = 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.

  PERFORM download TABLES tabtext USING filename rc.

ENDFORM.                    " download_textpool
*&---------------------------------------------------------------------*
*&      Form  download
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_TABTEXT  text
*      -->P_FILENAME  text
*      -->P_RC  text
*----------------------------------------------------------------------*
FORM download TABLES   tabtext
                      USING filename
                       rc.
  rc = fail.

  CALL FUNCTION 'WS_DOWNLOAD'
   EXPORTING
*     BIN_FILESIZE                  = ' '
*     CODEPAGE                      = ' '
     FILENAME                      = filename
     FILETYPE                      = 'ASC'
     MODE                          = 'MODE'
*     WK1_N_FORMAT                  = ' '
*     WK1_N_SIZE                    = ' '
*     WK1_T_FORMAT                  = ' '
*     WK1_T_SIZE                    = ' '
*     COL_SELECT                    = ' '
*     COL_SELECTMASK                = ' '
*     NO_AUTH_CHECK                 = ' '
*   IMPORTING
*     FILELENGTH                    =
    TABLES
      data_tab                      = TABTEXT
*     FIELDNAMES                    =
*   EXCEPTIONS
*     FILE_OPEN_ERROR               = 1
*     FILE_WRITE_ERROR              = 2
*     INVALID_FILESIZE              = 3
*     INVALID_TYPE                  = 4
*     NO_BATCH                      = 5
*     UNKNOWN_ERROR                 = 6
*     INVALID_TABLE_WIDTH           = 7
*     GUI_REFUSE_FILETRANSFER       = 8
*     CUSTOMER_ERROR                = 9
*     OTHERS                        = 10
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


  IF sy-subrc <> 0.
    WRITE: / sy-subrc, ' message declare '.
  ENDIF.
  rc = sy-subrc.
ENDFORM.                    " download

regards.

santhosh reddy

<REMOVED BY MODERATOR>

Edited by: Santhosh Reddy on Feb 13, 2008 6:48 PM

Edited by: Alvaro Tejada Galindo on Feb 18, 2008 12:00 PM

Read only

Former Member
0 Likes
1,209

The pgm will be stored in a table in the databse server, table name is TRDIR

<REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Feb 13, 2008 3:42 PM

Read only

0 Likes
1,209

The ABAP Programmes are stored in Application Server.

Read only

0 Likes
1,209

TRDIR is the database view, the actual table is REPOSRC. Field DATA contains the actual (compressed) program code.

Read only

Former Member
0 Likes
1,209

Every thing in ABAP should be stored in the application server in the form of tables.

TRDIR is one of the table it stores all the programs.

TFDIR for storing all the Function Modules

DD02L for storing all the user defined tables

TSTCT for storing all the T-Codes

DD04L for storing all the data elements