Reg:structure of infotype table

Hi,
Can i get the details regarding the structure of infotype .......
(ie table structure,,screeen structure so on)..
Thanks & Regards
shiva ram

Hi Shiva,
Following are the components of infotype ..
          tables
          screen
         modulepool
        infotype number
        time constrain.
Tables:
Table with naming conversion paxxxx is created ,where xxxx infotype number (9999).
              which includes
              pakey-intilisation data
              pshd1- log details
              psxxxx-contains actual fields of the infotype 
              ci_pxxxx--exits for standard infotypes ..for
                            enchancements....
              apart from these it includes pxxxx--structrure of  infotype.
             and      qxxxx.-screen fields  for the infotype..
screeen
For very infotype there exists 3 screens
1000--intilisation or dummy screen
2000-where actual the user enters the data
3000 -list or orview screen.
Module pool               
exits module pool program with naming conversion
MPXXXX00.....where xxxx is infotype number...
which consists of  5custom includes and 3 standard includes....
Custom Includes are
MPXXXX10---INTIALISATION
MPXXXX20--DEFAULT VALUES
MPXXXX30--VALIDATION
MPXXXX40--SUBROUTINES
MPXXXX50--LIST OR OVERVIEW SCREEN.
Standard Includes
MPPDAT00------INTILISATION SCREEN
MPPERS00---PBO/PAI FOR STANDARD INFOTYPE
FPP50PSB  --BUFFERING THE INFOTYPE
Thanks & Regards
Suman

Similar Messages

  • Modifying Infotype Table STRUCTURE

    I need to a new FIELD to the structure of IT PA0008.
    Please suggest ways/pdf's/links for the same.

    Modifying infotype tables is not recommended - but I have seen append structures added to some of the tables and working OK.  May cause some issues with an upgrade in the future?
    Another option is to just create a Z table with an identical key structure, and store your customer data in parallel to the infotype data.  Less likely to have any impact on critical functionality like payroll.
    Andrew

  • Error in subroutine read_namtb for structure of infotype

    We are trying to transfer HR Master data between ERP 5.0 and ECC 6.0 systems .
    The data transfer is successful in the development and Quality environments but fails in case of production environment.
    Details are given below
    Message type : HRMD_A
    Idoc type : HRMD_A06    ( Release 620 )
    When we try running PFAL using any evaluation path the idoc at the receiver ends up with an status 51 (error) .
    The error log gives the following error .
    u201CError in subroutine read_namtb for structure of infotypeu201D.
    I tried posting the received Idoc again at the receiving end using the transaction WE19 with the function module u201CIDOC_INPUT_HRMDu201D .
    The observations are given below.
    1.     While processing some of the records the infotype table name field becomes empty .
    2.     The subroutine read_namtb uses a FM u201CNAMETAB_GETu201D ,  which takes the input as the infotype table name and provides the output as all the fields of the table along with the attributes of the field.
    3.     As sometimes the table name is passed empty the function module returns an error which is mentioned above.
    Note : If we run PFAL without providing any evaluation path the idoc at receiver ends up with status 52 ( Application not posted completely).

    Hi Hadiman,
    I will activate those BADI's and check.
    But we solved the problem in a different way.
    Below is the analysis of the error.
    1.     The data was getting passed in an additional segment E1PAD007 in the production environment from the sender system.
    2.     During the inbound process the FM u201CRH_INFTY_OF_IDOCSEG_TYP_GETu201D is used to identify the respective infotype and the subtype
    for the segment name in the receiver system.
    3.     The function module searches for the tables T777D and table T77ar to fetch the infotype and the subtype.
    4.     The table T77ar does not contain the relevant entry .
    5.     The segment is related to a relationship u201C007u201D between jobs and positions.
    6.     As we do not need jobs in the target system, we removed the object type u2018Cu2019 from the model distribution.  This resolved the error.
    Note : The other way to resolve was to make an appropriate entry in the table T77AR .
    Thanks a lot Hadiman for the reply, will check with those BADI's too which you mentioned
    Regards,
    Santosh.

  • How to read data from a CLUSTER STRUCTURE not cluster table.

    Hi,
    how to read data from a CLUSTER STRUCTURE not cluster table.
    regards,
    Usha.

    Hello,
    A structre doesnt contain data.. so u cannot read from it. U need to find out table of that structure and read data from it.
    Regards,
    Mansi.

  • The row structure of the table BANFTAB is incorrect

    Dear Experts,
    I get right here the error message
    The row structure of the table BANFTAB is incorrect
    ZBANFN is a table type and has the line tab BANFN.
    Can you pls tell me what is wrong here ?
    FUNCTION Z_CHANGE_EBAKZ_FLAG.
    *"*"Lokale Schnittstelle:
    *"  CHANGING
    *"     VALUE(BANFTAB) TYPE  ZBANFN
      data lt_eban type table of eban.
      data ls_eban type eban.
      SELECT * FROM eban into table lt_eban where BANFN IN BANFTAB AND EBAKZ EQ 'X'.
      IF SY-SUBRC IS INITIAL.
        LOOP AT lt_eban INTO ls_eban .
          ls_eban-EBAKZ = ' '.
          modify eban from ls_eban.
        ENDLOOP.
      ENDIF.
    ENDFUNCTION.

    Hello,
    You have to use a ranges table in this case.
    FUNCTION Z_CHANGE_EBAKZ_FLAG.
    *"*"Lokale Schnittstelle:
    *"  CHANGING
    *"     VALUE(BANFTAB) TYPE  ZBANFN
      data:lt_eban type table of eban.
      data:ls_eban type eban.
    data:
    l_r_banfn type range of banfn,
    l_wa_banfn like line of l_r_banfn,
    l_wa_banftab like likne of BANFTAB.
    loop at banftab into l_wa_banftab.
    l_wa_banfn-sign = 'I'.
    l_wa_banfn-option = 'EQ'.
    l_wa_banfn-low = l_wa_banftab-banfn.
    append l_wa_banfn into l_r_banfn.
    clear l_wa_banfn.
    endloop.
      SELECT * FROM eban into table lt_eban
      where
      BANFN IN L_R_BANFN "BANFN IN BANFTAB
    AND EBAKZ EQ 'X'.
      IF SY-SUBRC IS INITIAL.
        LOOP AT lt_eban INTO ls_eban .
          ls_eban-EBAKZ = ' '.
          modify eban from ls_eban.
        ENDLOOP.
      ENDIF.
    ENDFUNCTION.
    or you can use FOR ALL ENTRIES :
    FUNCTION Z_CHANGE_EBAKZ_FLAG.
    *"*"Lokale Schnittstelle:
    *"  CHANGING
    *"     VALUE(BANFTAB) TYPE  ZBANFN
      data lt_eban type table of eban.
      data ls_eban type eban.
      SELECT * FROM eban into table lt_eban
      FOR ALL ENTRIES IN BANFTAB "--> Add this
      where BANFN = BANFTAB-BANFN
      AND EBAKZ EQ 'X'.
      IF SY-SUBRC IS INITIAL.
        LOOP AT lt_eban INTO ls_eban .
          ls_eban-EBAKZ = ' '.
          modify eban from ls_eban.
        ENDLOOP.
      ENDIF.
    ENDFUNCTION.
    Try this & let me know in case of any issues.
    BR,
    Suhas
    Edited by: Suhas Saha on Feb 10, 2009 5:43 PM

  • Se11 structure with se11 table type included

    Hi ABAP Gurus,
    in order to pass a complex datastructure by RFC I want to create a new structure via SE11 which includes in addition to some normal fields an field which represents a table of a certain type. Therefore I created a table type and tried to include that in the structure definition but without success. Any ideas of how I can create such a 'non-flat' structure in the ABAP dictionary ?
    I know that such a thing can be declared as a type in ABAP, but I'm not sure if I can do it in the dictionary.
    Any reply is very appreciated,
    Best regards, Philipp

    Hi,
    You can insert structure into the table, and vice versa is not possible.
    If you want to insert structure GO to Se11 -> provide table name -> chnage/create -> edit -> include -> insert -> provide the strcuture you want to include.
    Thanks,
    Sriram Ponna.

  • How to rearrange the structure of a table by using a view?

    At wits end: I need to reorganize the structure of a table into a new structure - either as a view or actually moving the data from the old structure to the new structure (using a view).
    The old structure is:
    TESTNAME, SCHOOL_ID, PTILE1, PTILE2, PTILE3 ... PTILE99
    Test1,0001,18,19,20...
    Test1,0002,23,24,28...
    Test1,0003,20,21,26...
    Test2,0001,48,52,55...
    Test2,0002,50,54,54...
    Test2,0003,60,62,64
    The new structure is:
    SCHOOL_ID,PTILE,TESTNAME1,TESTNAME2...
    1,0001,Score1,Score2...
    1,0002,Score1,Score2...
    1,0003,Score1,Score2...
    2,0001,Score1,Score2...
    2,0002,Score1,Score2...
    2,0003,Score1,Score2...
    99,0001,Score1,Score2...
    99,0002,Score1,Score2...
    99,0003,Score1,Score2...
    What this data shows are the percentiles for test scores for different tests for each school who took the tests.
    It seems like creating a view to arrange the data through a bunch of selects and unions would work, but I can't figure out how.

    Tricky.
    When confronted with a problem like this I try to write out an algorthm in pseudocode to work out what I want to do. If you have more than 2 or 3 tables to merge I'd consider going with a new structure; otherwise the view approach might be a good idea. Remember that if you go with a new structure you can insert once and update the other values later, something like
    foreach school insert row
    update testname1
    update testname2
    Good luck.

  • Query about screen as a structure used in table control.

    hi all,
    plz explain the fields in screen(structure).
    when and how it is used.
    specialy i/o, o/p,active,
    plz give example.

    hi,
    The screen elements text field, input/output field, status icon, group box, radio button, checkbox, and
    pushbutton all have general attributes, Dictionary attributes, program attributes, and display attributes.
    The elements subscreen, tabstrip control, and table control have general attributes, and special
    attributes relating to the respective type.
    We can divide the attributes of an element into:
    Statically definable attributes that cannot be changed dynamically
    Statically definable attributes that can be changed dynamically
    Attributes that can only be changed dynamically
    At the beginning of the PBO, the runtime system reads the statically-created and dynamically-modifiable
    attributes of each screen element on the current screen into a system table with the line type SCREEN.
    Dynamic changes to the attributes of screen elements are temporary.
    Using this technique to modify the attributes of a screen element (for example, to change whether an
    input/output field is ready for input), you can replace long sequences of separate screens, which are
    more costly in terms of both programming time and runtime.
    The system table with line type SCREEN will be called SCREEN system table in the following unit.
    When a screen is processed, the SCREEN system table contains an entry for each element created in
    the Screen Painter for that screen.
    The system table SCREEN is initialized at the start of the PBO event for the current screen. To do this, a
    system program copies the statically defined attributes of the individual screen elements into the table.
    You can then change the dynamically-modifiable attributes of the elements on the screen in a module at
    PBO using the following statements: LOOP AT SCREEN.
    MODIFY SCREEN.
    ENDLOOP.
    To do this, you use the structure SCREEN, which is created automatically by the system, and filled with
    the values of each successive line of the system table in the loop. Set attributes have the value '1',
    attributes that are not set have the value '0'. To change the system table, use MODIFY SCREEN. within
    the loop.
    To find the element whose attributes you want to modify, you can use a LOOP on the SCREEN table,
    and query one of the following fields: SCREEN-NAME, SCREEN-GROUP1 to SCREEN-GROUP4.
    You can change the attributes of several screen elements simultaneously at runtime, by including them
    in a modification group in the Screen Painter. Assign all elements that will be changed within a single
    processing step to a group in the Screen Painter.
    To do this, enter a group name for each of the relevant elements in one of the fields GROUP1 …
    GROUP4.
    You can include each element in up to four modification groups. You can choose any three-character
    sequence for the group name. You can assign elements to a modification group either in the element list
    or the layout editor in Screen Painter.
    You must program your screen modifications in a module that is processed during the PROCESS
    BEFORE OUTPUT processing block.
    You use a loop through the table SCREEN to change the attributes of an element or a group of
    elements. (LOOP AT SCREEN WHERE . . . and READ TABLE SCREEN are not supported).
    To activate and deactivate attributes, assign the value 1 (active) or 0 (inactive), and save your changes
    using the MODIFY SCREEN statement.
    Note that elements you have defined statically in the Screen Painter as invisible cannot be reactivated
    with SCREEN-ACTIVE = 1. Instead, use the statement SCREEN-INVISIBLE = 0. However, elements
    that you have statically defined as visible in the Screen Painter can dynamically be made invisible. This
    has the same effect as the three statements SCREEN-INVISIBLE = 1, SCREEN-INPUT = 0, SCREENOUTPUT
    = 0.
    There are three steps involved in displaying buffered data from the internal table in the table control:
    The system loops through the lines of the table control on the screen. The lines of the screen table are
    processed one by one. For each line, the system carries out the following steps:
    The current line of the internal table is placed in the work area of the internal table. (Note that it is
    possible to scroll in the table on the screen).
    The data from the work area of the internal table is copied into the relevant line of the table control.
    When you use table controls on a screen, the automatic field transport sequence changes.
    In the PBO processing block, data is transferred from the ABAP program to the screen after each loop
    pass in the flow logic. The rest of the screen fields are filled, as normal, at the end of the PBO.
    In the flow logic, the loop statement
    LOOP AT <itab> INTO <wa_itab> WITH CONTROL <tc_name>
    starts a loop through the screen table, and reads the line of the internal table corresponding to the
    current line of the screen table, placing it in <wa_itab>.
    <itab> is the name of the internal table containing the data, <wa_itab> is the name of the work area for
    the internal table, and <tc_name> is the name of the table control on the screen.
    If the fields in your table control have the same structure and name as those in the work area <wa_itab>,
    the system can transport data between the ABAP program and the screen automatically (step 3).
    If you are not using the same structure for the table control fields and the work area of the internal table,
    you must call a module between LOOP and ENDLOOP that moves the data from the work area
    <wa_itab> into the screen fields (MOVE-CORRESPONDING <wa_itab> TO …) .
    The system calculates the value of <ctrl>-TOP_LINE when you scroll, but not when you scroll a page at
    a time outside the table control.
    In order to transfer changed values from the table control back to the internal table the following three
    steps must be carried out:
    The system loops through the lines of the table control. The lines of the screen table are processed
    one by one. For each line, the system carries out the following steps:
    The data from the current line of the table control is copied into the header line of the internal table.
    The data in the work area must then be placed in the line of the internal table corresponding to the
    line of the table control that is being processed. (Note that it is possible to scroll in the table on the
    screen).
    In the PAI processing block, all screen fields that do not belong to a table control and that are not listed
    in a FIELD statement are transported back to the work fields in the ABAP program first.
    The contents of the table control are transported line-by-line to the corresponding work area in the ABAP
    program in the appropriate loop.
    As usual, the fields that occur in FIELD statements are transported directly before that statement.
    The structure of the screen tables contain.
    NAME
    GROUP 1
    GROUP 2
    GROUP 3
    GROUP 4
    OUTPUT
    REQUIRED
    LENGTH
    INTENSIFIED
    INVISIBLE
    ACTIVE
    Hope this helps, Do reward.
    Edited by: Runal Singh on Mar 13, 2008 10:41 AM

  • Is it worth using select query on infotype tables

    Hi Experts,
    I might be posting in the wrong column, but i just need to know is it worth using a select query on Infotype tables (PAxxxx)?? or should we prefer using the function modules for data fetching?
    If select is not suggested, what is the reason for that?
    Rgds
    Prateek

    Hi ,
    Its not said that u cant write select on PAXXXX tables . Yes of couse LDB are there to fetch the data but it depends on
    the requirement when to write a select and when to consider using in LDB .
    Generally when you are looking at say 8 to 10 tables of infotypes with free selection , then LDB is suggested to fetch the data .
    if you are looking to fetch the data for say some tables for a restricted selection (where clause) then select is used .
    If i want to write a program using select only then fetching data from infotypes tables for large no of records will lead to
    more time consumption which becomes easier in LDB as they are fetched in hierarchy level based on keys .
    Normally it will be a combination of LDB and select querys  in the development scenario
    Br,
    Vijay.

  • Function module to get structure of DDIC table

    Hi everyone,
    Is there any SAP standard function module to fetch the structure of DDIC table ?
    Thanks in Advance

    HI,
    Go thru this link
    http://www.sapdevelopment.co.uk/fmodules/fmssap.htm
    Thanks
    Sunil

  • How to link Infotype Table Data to Logical Database

    We have historical data in one of our system brought by using diret insert queries on Infotype tables. Now, we are facing a problem that this data is not visible from PA20/PA30. Also, while using Logical Database in programs, we are not able to extract data from Infotypes using GET events.
    Does anybody have any idea/solution to this kind of problem?

    What made you to take decision to make direct table updates? I am not sure if this was the correct way. Anyway, whether all the module pool programs are in place foe these custom infotypes. You dont have to do anything else to have logical database program to fetch data for custom infotypes. Check if eveything in PM01 is configured correctly.

  • Infotypes table name

    Hi,
    all infotypes are stored in one table.plz tell me that table name???
    itz urgent for me.
    Thanks
    P>SRIKANTH

    Hi,
    All infotype tables are stored in the table:
    <b>DD02L</b>
    reward if useful
    regards,
    ANJI
    Message was edited by:
            Anji Reddy Vangala

  • Structure of setup table

    Hello
          can anybody tell me how can i check the structure of a setup table.Is it "extract structure" or the "comm structure" in R/3 side.
    Regards
    Tarun Khurana

    Hi,
    LIS Setup-Tables are defined as cluster tables in the database, so technically the structure is always a generic key plus a data cluster. You cannot access this table via normal SELECT or via transaction SE16.
    Within the data cluster the data is stored in the format of the extract structure. The table name is also derived from the extract strucuter: 2LIS_11_VAITM has extract structure MC11VA0ITM and setup table MC11VA0ITMSETUP.
    Regards
    Stephan

  • Structure of a table

    hi all,
    I want to save the structure of a table in a file
    can i save it?

    Here's a Utility Program that I wrote and use for simplicty.
    Modify it for your needs, but you can simply change the ALV Layout then export it to Excel.
    REPORT yptc_table_sturcture .
    TABLES: dd03l.
    *   ALV Related Fields & Tables
    TYPE-POOLS: slis.
    CONSTANTS:
      gc_formname_top_of_page   TYPE slis_formname VALUE 'TOP_OF_PAGE',
      gc_formname_user_command   TYPE slis_formname VALUE 'USER_COMMAND'.
    DATA: g_fieldcat                   TYPE slis_t_fieldcat_alv,
            g_extab                    TYPE slis_t_extab,
            g_layout                   TYPE slis_layout_alv,
            g_keyinfo                  TYPE slis_keyinfo_alv,
            g_print                    TYPE slis_print_alv,
            g_sort                     TYPE slis_t_sortinfo_alv,
            g_sp_group                 TYPE slis_t_sp_group_alv,
            g_events                   TYPE slis_t_event,
            g_events_ex                TYPE slis_t_event_exit,
            g_repid                    LIKE sy-repid,
            g_list_top_of_page         TYPE slis_t_listheader,
            g_save                     TYPE c.
    *        g_exit                     TYPE c.
    *        g_variant                  LIKE disvariant,
    DATA: ls_line                      TYPE slis_listheader.
    DATA:
      tab_rec LIKE dd03l,
      it_table LIKE STANDARD TABLE OF tab_rec.
    PARAMETERS:
      tabname    LIKE dd03l-tabname.
    *______________________________________  Initialization
    INITIALIZATION.
    * Check authority for ALV Standard layout save option
      AUTHORITY-CHECK OBJECT 'ZALV_STD'
              ID 'ACTVT' FIELD '02'.
      IF sy-subrc = 0.
        g_save = 'A'.
      ELSE.
        g_save = 'U'.
      ENDIF.
    START-OF-SELECTION.
      REFRESH it_table.
      SELECT * INTO TABLE it_table FROM dd03l
        WHERE tabname = tabname
        ORDER BY position.
      PERFORM display_alv_report.
    *       FORM display_alv_report                                       *
    FORM display_alv_report.
      PERFORM fieldcat_init      USING g_fieldcat[].
      PERFORM build_sort_fields  USING g_sort[].
      PERFORM eventtab_build     USING g_events[]
                                       g_events_ex[].
      PERFORM layout_build       USING g_layout.
      PERFORM list_view.
    ENDFORM.                    " display_alv_report.
    *====> End of section that produces the report
    *====> This section builds the event table
    FORM eventtab_build
        USING e03_lt_events TYPE slis_t_event
              e03_lt_events_ex TYPE slis_t_event_exit.
      DATA: ls_event      TYPE slis_alv_event,
            ls_event_exit LIKE LINE OF e03_lt_events_ex.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type = 1
           IMPORTING
                et_events   = e03_lt_events.
      READ TABLE e03_lt_events
           WITH KEY name = slis_ev_top_of_page
           INTO ls_event.
      IF sy-subrc = 0.
        MOVE gc_formname_top_of_page TO ls_event-form.
        APPEND ls_event TO e03_lt_events.
      ENDIF.
      READ TABLE e03_lt_events
           WITH KEY name = 'USER_COMMAND'
           INTO ls_event.
      IF sy-subrc = 0.
        MOVE gc_formname_user_command TO ls_event-form.
        APPEND ls_event TO e03_lt_events.
      ENDIF.
      ls_event_exit-ucomm  = 'DISP'.
      APPEND ls_event_exit TO  e03_lt_events_ex.
    ENDFORM.                    " build_events_table
    *====> End of the Build Events section
    *====> This section builds the Layout Record
    FORM layout_build
        USING e05_ls_layout TYPE slis_layout_alv.
      CLEAR e05_ls_layout.
      e05_ls_layout-f2code = 'DISP'.
      e05_ls_layout-colwidth_optimize = 'X'.
      e05_ls_layout-zebra = 'X'.
      e05_ls_layout-detail_popup = 'X'.
      e05_ls_layout-detail_initial_lines = 'X'.
      e05_ls_layout-detail_titlebar = 'Table Structure'.
      e05_ls_layout-info_fieldname = 'X'.
    *  e05_ls_layout-min_linesize = 125.
    *  gs_print-no_print_listinfos = 'X'.
    ENDFORM.                    " layout_build
    *====> End of the Build for Layout Record
    *====> This section builds the Actual Display Routine
    FORM list_view.
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program = g_repid
                is_layout          = g_layout
                it_sort            = g_sort[]
                it_events          = g_events[]
                it_fieldcat        = g_fieldcat[]
                i_save             = g_save
           TABLES
                t_outtab           = it_table
           EXCEPTIONS
                program_error      = 1
                OTHERS             = 2.
      IF sy-subrc <> 0.
        MESSAGE e208(00) WITH 'Error: ALV Grid'.
      ENDIF.
    ENDFORM.                    " layout_build
    *====> End of Actual Display Routine
    *====> This section builds the Top of Page Routine
    FORM top_of_page.
      DATA: ls_line TYPE slis_listheader.
      CLEAR g_list_top_of_page[].
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      CONCATENATE 'Table Structure -' tabname
        INTO ls_line-info SEPARATED BY space.
      APPEND ls_line TO g_list_top_of_page.
      PERFORM build_sub_headings
          USING g_list_top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = g_list_top_of_page[].
    ENDFORM.                    " top_of_page
    FORM build_sub_headings
            USING e07_top_of_page TYPE slis_t_listheader.
      DATA: ls_line TYPE slis_listheader.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-key = 'Run Info'.
      CONCATENATE  sy-sysid sy-uname sy-mandt
            INTO ls_line-info
            SEPARATED BY space.
      APPEND ls_line TO e07_top_of_page.
    ENDFORM.                    "build_sub_headings
    *====> End of top_of_page
    *====> This section builds the User Command Routine
    FORM user_command
            USING p_ucomm LIKE sy-ucomm
                  p_selfield TYPE slis_selfield.
      IF p_selfield-value NE space.
        CASE p_selfield-tabname.
          WHEN 'IT_TABLE'.
            READ TABLE it_table INDEX p_selfield-tabindex
                      INTO tab_rec.
          WHEN OTHERS.
            EXIT.
        ENDCASE.
      ELSE.
        EXIT.
      ENDIF.
      CHECK sy-subrc = 0.
      CASE p_selfield-fieldname.
    *    WHEN 'QUOTE'.
    *      SET PARAMETER ID 'AGN' FIELD p_selfield-value.
    *      CALL TRANSACTION 'VA23' AND SKIP FIRST SCREEN.
        WHEN OTHERS.
          EXIT.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Form  build_sort_fields
    FORM build_sort_fields
      USING p_sort TYPE slis_t_sortinfo_alv..
    *----------------------> ALV Build Sort Table
      DATA:  ls_sort  LIKE LINE OF p_sort.
      REFRESH p_sort.
    * Table name
      CLEAR ls_sort.
      ls_sort-tabname       = 'IT_TABLE'.
      ls_sort-fieldname     = 'TABNAME'.
      ls_sort-up            = 'X'.
      APPEND ls_sort TO p_sort.
    * Position of the field in the table
      CLEAR ls_sort.
      ls_sort-tabname       = 'IT_TABLE'.
      ls_sort-fieldname     = 'POSITION'.
      ls_sort-up            = 'X'.
      APPEND ls_sort TO p_sort.
    ENDFORM.          " build_sort_fields
    *&      Form  fieldcat_init
    FORM fieldcat_init
      USING e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      CLEAR: e01_lt_fieldcat[], e01_lt_fieldcat.
    * Table name
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'TABNAME'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'TABNAME'.
      ls_fieldcat-key           = 'X'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Table'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Table'.
      ls_fieldcat-SELTEXT_M     = 'Table name'.
      ls_fieldcat-SELTEXT_L     =
        'Table name'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Field name
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'FIELDNAME'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'FIELDNAME'.
      ls_fieldcat-key           = 'X'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Field name'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Field name'.
      ls_fieldcat-SELTEXT_M     = 'Field name'.
      ls_fieldcat-SELTEXT_L     =
        'Field name'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Activation status of a Repository object
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'AS4LOCAL'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'AS4LOCAL'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Activation status'.
      ls_fieldcat-SELTEXT_L     =
        'Activation status'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Version of the entry (not used)
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'AS4VERS'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'AS4VERS'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Version'.
      ls_fieldcat-SELTEXT_L     =
        'Version'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Position of the field in the table
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'POSITION'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'POSITION'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Table pos.'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Table pos.'.
      ls_fieldcat-SELTEXT_M     = 'Table position'.
      ls_fieldcat-SELTEXT_L     =
        'Table position'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Identifies a key field of a table
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'KEYFLAG'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'KEYFLAG'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Key field'.
      ls_fieldcat-SELTEXT_L     =
        'Key field'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Flag: Field is required (not blank)
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'MANDATORY'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'MANDATORY'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Required field'.
      ls_fieldcat-SELTEXT_L     =
        'Required field'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Data element (semantic domain)
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'ROLLNAME'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'ROLLNAME'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Data elem.'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Data elem.'.
      ls_fieldcat-SELTEXT_M     = 'Data element'.
      ls_fieldcat-SELTEXT_L     =
        'Data element'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Check table name of the foreign key
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'CHECKTABLE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'CHECKTABLE'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Check table'.
      ls_fieldcat-SELTEXT_L     =
        'Check table'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Nesting depth for includes
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'ADMINFIELD'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'ADMINFIELD'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Admin. field'.
      ls_fieldcat-SELTEXT_L     =
        'Admin. field'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * ABAP data type (C,D,N,...)
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'INTTYPE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'INTTYPE'.
      ls_fieldcat-REPTEXT_DDIC   =
        'ABAP type'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'ABAP type'.
      ls_fieldcat-SELTEXT_M     = 'ABAP type'.
      ls_fieldcat-SELTEXT_L     =
        'ABAP type'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Internal length in bytes
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'INTLEN'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'INTLEN'.
      ls_fieldcat-REPTEXT_DDIC   =
        'IntLen'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'IntLen'.
      ls_fieldcat-SELTEXT_M     = 'Internal length'.
      ls_fieldcat-SELTEXT_L     =
        'Internal length'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Table for reference field
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'REFTABLE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'REFTABLE'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Ref. table'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Ref. table'.
      ls_fieldcat-SELTEXT_M     = 'Reference table'.
      ls_fieldcat-SELTEXT_L     =
        'Reference table'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Name of included table
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'PRECFIELD'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'PRECFIELD'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Name of include'.
      ls_fieldcat-SELTEXT_L     =
        'Name of include'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Reference field for currency and qty fields
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'REFFIELD'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'REFFIELD'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Ref. field'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Ref. field'.
      ls_fieldcat-SELTEXT_M     = 'Ref. field'.
      ls_fieldcat-SELTEXT_L     =
        'Ref. field'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Check or generating module for fields
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'CONROUT'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'CONROUT'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = ''.
      ls_fieldcat-SELTEXT_M     = 'Check module'.
      ls_fieldcat-SELTEXT_L     =
        'Check module'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Indicator that NOT NULL is forced for this field
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'NOTNULL'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'NOTNULL'.
      ls_fieldcat-REPTEXT_DDIC   =
        'NOT NULL'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'NOT NULL'.
      ls_fieldcat-SELTEXT_M     = 'NOT NULL forced'.
      ls_fieldcat-SELTEXT_L     =
        'NOT NULL forced'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Data type in ABAP Dictionary
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'DATATYPE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'DATATYPE'.
      ls_fieldcat-REPTEXT_DDIC   =
        'DataType'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'DataType'.
      ls_fieldcat-SELTEXT_M     = 'Data type'.
      ls_fieldcat-SELTEXT_L     =
        'Data type'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Length (no. of characters)
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'LENG'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'LENG'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Lngth'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Lngth'.
      ls_fieldcat-SELTEXT_M     = 'No. of characters'.
      ls_fieldcat-SELTEXT_L     =
        'No. of characters'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Number of decimal places
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'DECIMALS'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'DECIMALS'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Dec.places'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Dec.places'.
      ls_fieldcat-SELTEXT_M     = 'Decimal places'.
      ls_fieldcat-SELTEXT_L     =
        'Decimal places'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Domain name
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'DOMNAME'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'DOMNAME'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Domain'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Domain'.
      ls_fieldcat-SELTEXT_M     = 'Domain'.
      ls_fieldcat-SELTEXT_L     =
        'Domain name'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * Origin of an input help
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'SHLPORIGIN'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'SHLPORIGIN'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Origin of an input help'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'SH Origin'.
      ls_fieldcat-SELTEXT_M     = 'Origin of input help'.
      ls_fieldcat-SELTEXT_L     =
        'Origin of an input help'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * DD: Flag if it is a table
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'TABLETYPE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'TABLETYPE'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Table'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Table'.
      ls_fieldcat-SELTEXT_M     = 'Table'.
      ls_fieldcat-SELTEXT_L     =
        'Table'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * DD: Depth for structured types
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'DEPTH'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'DEPTH'.
      ls_fieldcat-REPTEXT_DDIC   =
        'Depth'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'Depth'.
      ls_fieldcat-SELTEXT_M     = 'Depth'.
      ls_fieldcat-SELTEXT_L     =
        'Depth'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    * DD: Component type
      CLEAR ls_fieldcat.
      ls_fieldcat-tabname       = 'IT_TABLE'.
      ls_fieldcat-fieldname     = 'COMPTYPE'.
      ls_fieldcat-ref_tabname   = 'DD03L'.
      ls_fieldcat-ref_fieldname = 'COMPTYPE'.
      ls_fieldcat-REPTEXT_DDIC   =
        'CompTyp'.
      ls_fieldcat-ddictxt       = 'S'.
      ls_fieldcat-SELTEXT_S     = 'CompTyp'.
      ls_fieldcat-SELTEXT_M     = 'CompTyp'.
      ls_fieldcat-SELTEXT_L     =
        'Component type'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    ENDFORM.          " fieldcat_init
    Edited by: Paul Chapman on Mar 10, 2008 3:09 PM

  • Assignment between include/Append structures and Database Tables

    Hi All,
    I need to find the list of all Append/Include Structures in my system and Their assignment to Tables.
    (For Each Append/Include structure, to which table it was assigned)
    Is there any way to find it?
    Thanks,
    Krishna.

    Hi,
    Go to se11 - data type - give Z* and press F4.
    Pop-up will come  - click on search for structures - u will get standard structures.
    Then take any structure name and check for where used list ( cont + shift + F3) .
    U will get all the DB tables where and all they have used that include / append structure.
    Regards,
    Kusuma.

Maybe you are looking for

  • Wait Activity

    I am doing a proof of concept. I created an async. BPEL process that issues an email, then has the wait activity for 2 mins., and then is suppose to issue a second email. The second email keeps erroring with the following <faultInfo>java:comp/env/ejb

  • I deleted all my music from the iTunes library how can I recover it?..

    I have moved all my music to a external memory and after that I deleted by mistake ,,is there any program to recover files for free?

  • Duplicate Meetings when Syncing with Outlook

    Outlook meeting sometimes (but not always) end up being duplicated in my desktop Outlook after I synchronize using Blackberry Desktop Manager.  If I could avoid this duplication, I would like to keep wireless calendar from my work Outlook but I am wo

  • Applying a weight measure

    Hello, I'm doing a program in Java whereas an article is matched against the top 10 topic-related entries in Google using similarity algorithms. Now let us assume that the original article is matched against the first one and the similarity is 0.98 (

  • Block XP machines in domain

    Hello Friends, In my Organization, they are planning to block all existing Windows XP machines in domain. So that, no user can login on domain using XP machine. And if logged on using Local credential cannot access the network. I thought to do the sa