Table Maintenance Generator via program using ALV OO concept

Hi All,
I have a requriement to update the table using OO ALV i.e table maintenance generator program.
My Z table have three fields say.. NEW status, old status and flag.
I have to dispaly the records of the Z table in Matrix format.
for example the records of the Z table is
New status
Old status
Flag
N1
O11
F11
N1
O12
F12
N1
O13
F13
N2
O21
F21
N2
O22
F22
N2
O23
F23
N3
O31
F31
N3
O32
F32
N3
O33
F33
My program have to display the records of the table in matrix format  i.e
|   .....       |    O11    |  O12  |  O13   |  O21  |  O22   |   O23  |  O31   |   O32  |  O33 | ..
|     N1    |     F11     |    F12     |  F13     |    .....   |  .....       |  ....        |  .....      |   .......     |   ....    | ..   ____________________________________________________________________________________   
|    N2     |     .....     |  ......      | .......      |   F21   |   F22     |  F23      |   ...        |   .....       | ......   | .
|     N3    |     ......   |   .....      | .......   .  |  .......   |  .......     | ....         |   F31     |    F32      |  F33   |   
The ALV display is dynamic i.e it depends upon the no. of records in the table...
My headings( Row heading and Column heading )  will be the value  from table... and the user should be able to change the Flag ... For example when the user change the Flag  'F21'  to say 'X',
|   .....       |    O11    |  O12  |  O13   |  O21  |  O22   |   O23  |  O31   |   O32  |  O33 | ..
|     N1    |     F11     |    F12     |  F13     |    .....   |  .....       |  ....        |  .....      |   .......     |   ....    | ..   ____________________________________________________________________________________   
|    N2     |     .....     |  ......      | .......      |   X       |   F22     |  F23      |   ...       |   .....       | ......    | .
|     N3    |     ......   |   .....      | .......   .   |  .......  |  .......     | ....       |   F31      |    F32     |   F33    | .  
In the Z table  the record  is
                 N2          O21        F21
should be changed to
                N2          O21        X
I tried using ALV oo concept....but  I can able to display the output as like it is in table ....Not like the one above format....
Can you please help me to resolve it?
Thanx in advance
Sangeetha
Edited by: sangeetha s k on Dec 16, 2008 7:42 AM
Edited by: sangeetha s k on Dec 16, 2008 7:50 AM
Edited by: sangeetha s k on Dec 16, 2008 8:04 AM

Hi,
Go through Following Menu Path
Tcode SE11-> Table Name-> Change.
Utilities-> Table Maintance Generator->Create Maintance.
On Same Screen go to Menu Environment->Modification->Events
Create New Event e.g. 05 , Enter Form Routine Name.
Go to Editor.
and Put Your Logic
e.g.
FORM FILL_DEFAULT.
* Actual Logic for how to get materials list.
ENDFORM.   

Similar Messages

  • Additional buttons in Table Maintenance generated program

    Hello all,
    I'm looking for a way to add additional buttons on the generated table maintenance program. Such a program is generated via Dictionary transaction SE11 and then the Menu choice Utillities --> Table Maintenance generator (or use transactiob SE54).
    The program generated is based on the standard SAP function group SVIM (of which components are copied to the table maintenance program). In the function group SVIM the STATUS objects are located (but they are standard SAP). In order to modify them (add some additional buttons) i am seeking a method for this.
    Thanks in advance,
    Rob.

    Hi Rob,
    Use transaction SE54, enter the name of your table, choose radiobutton 'Generated Objects' and choose 'Create/Change'. In the next screen there is an option in the menu Environment -> Modification -> User Interface. Here you can choose to use an Individual Interface where you can add the buttons you need.
    Regards,
    John.

  • When we create a table maintenance generator what is the program object

    When we create a table maintenance generator what is the program object
         & What is the database object is being created?

    check links
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=use%20of%20table%20maintenance%20generator&cat=sdn_all
    http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm
    http://www.sap-img.com/abap/create-a-table-maintance-program-for-a-z-table.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    Rewards if useful.....................
    Minal

  • Blank Records added while using Table maintenance generator - SM30

    Hi all,
    I have created a ztable and view,
    For the view table maintenance generator created using sm30,
    First time when i add reords, a blank record is added automatically ,how to prevent it,
    Also when i try to add invalid data, system throws error , field becomes display only.
    How to solve.
    Regards
    Senthil

    Hi Tarun,
    Go to the layout and increase the size of the Screen. or at the screen attributes change the length and width values.
    You know that initially the screen occupies default size only.
    Hope this would serve your purpose.
    Cheerz
    Ram

  • Button "Position" can't work in sm30 when use Table maintenance generator

    Hello guys,
      i have created a table and use 'Table Maintenance Generator' to generate the code. When i run sm30 and click the button 'Position', it can not work.
       i enter '/h' to debug it and find the value'POSI' is not assigned to ok_code.
        Some tables created before are OK. What's the matter with it?
    Many Thanks

    hello daniel,
    there is very possibility that some inconsistency might be occured while generating table maintenance generator. So i would advice u to create ur table maintenance generator once more after deleting the current one.
    Reward properly.

  • Calculations while entering data into table via table maintenance generator

    Hi all,
    This is the following requirement.
    I created a ztable and also I created the table maintenance generator.  I have two fields which accept integer data.
    The requirement is when I enter value in the first field from the tcode SM30 the data should be populated into the second field automatically by subtracting the first value from 100.
    Can anyone explain me how I can do that.
    Thanks,
    Daniel

    hi,
    take the help of events in TMG and write the code in that event
    like field2 = field1 - 100
    steps to create events
    Step: 1: Create a table
    Step: 2: In SE11, go to Utilities --> table maintenance generator.
    Step: 3: Follow the path Environment --> Modification --> Events.
    Step: 4: Click new entries, select a table maintenance dialog event which suits your requirement.
    Step: 5: Create a form routine.
    Step: 6: Include your logic in the routine created in step 5.
    Hope this helps you.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/how%20to%20implement%20events%20in%20table%20maintenance.doc
    Re: bdc
    reward if helpful
    prasanth

  • Table maintenance Generator used as exit ?? how to find that??

    Dear Abapers,
    While creating billing and saving a billing document, a number range is automatically generated.
    I have found that this number range is coming from a table and they have written some coding in Table maintenance generator.
    How can i find that where it is implemented in VF01.
    PLease resolve it.
    Thanks and Regards,
    Arati

    Hi,
    go to the table maintenance generator of your table.
    Go to the path Environment ->  Modification -> Events
    They might have written some events to auto generate the number

  • Table maintenance generator events

    Hi,
    I have created a table maintenance generator and want to populate sy-uname and sy-datum into two fields during SAVE. So I went to Environment -> Modification -> Events and selected "01" event i.e. "Before saving the data in the database" and entered Form routine as "F_UPDATE_UNAME_UDATE". Then if I go to SM30 transaction it goes to dump.
    Could you please tell whether I am missing any point?
    Regards,
    Balaji Viswanath.

    Hi,
    Pasted it below.
    Runtime Error          PERFORM_NOT_FOUND
    Except.                CX_SY_DYN_CALL_ILLEGAL_FORM
    Date and Time          01/31/2008 09:26:52
    ShrtText
         Call (PERFORM) to a non-existent routine.
    What happened?
         The current program attempted to call an externally defined routine
         that does not exist.
         Error in ABAP application program.
         The current ABAP program "SAPLZTEST321" had to be terminated because one of the
         statements could not be executed.
         This is probably due to an error in the ABAP program.
         The current ABAP program had to be terminated because the
         ABAP processor detected an internal system error.
         The current ABAP program "SAPLZTEST321" had to be terminated because the ABAP
         processor discovered an invalid system state.
    What can you do?
         Print out the error message (using the "Print" function)
         and make a note of the actions and input that caused the
         error.
         To resolve the problem, contact your SAP system administrator.
         You can use transaction ST22 (ABAP Dump Analysis) to view and administer
          termination messages, especially those beyond their normal deletion
         date.
        is especially useful if you want to keep a particular message.
    Error analysis
        An exception occurred. This exception is dealt with in more detail below
        . The exception, which is assigned to the class 'CX_SY_DYN_CALL_ILLEGAL_FORM',
         was neither
        caught nor passed along using a RAISING clause, in the procedure
         "PREPARE_SAVING" "(FORM)"
        Since the caller of the procedure could not have expected this exception
         to occur, the running program was terminated.
        The reason for the exception is:
        The program "SAPLZTEST321" is meant to execute an external PERFORM,
        namely the routine "F_UPDATE_UNAME_UDATE " of the program "SAPLZTEST321 ", but
        this routine does not exist.
        This may be due to any of the following reasons:
        1. One of the programs "SAPLZTEST321" or "SAPLZTEST321 " is currently being
         developed.
        The name "F_UPDATE_UNAME_UDATE " of the called routine may be incorrect, or
        the routine "F_UPDATE_UNAME_UDATE " is not yet implemented in the program
         "SAPLZTEST321 ".
        2. If the program SAPMSSY1 is involved in the runtime error, one of
        the function modules called via RFC is not flagged as remote-capable.
        (see Transaction SE37  Goto->Administration->RFC flag)
        3. There is an inconsistency in the system. The versions of the
        programs "SAPLZTEST321" and "SAPLZTEST321 " do not match.
    How to correct the error
        - Check that transports to the system are complete.
        - Conclude any developments already begun ("SAPLZTEST321" and/or "SAPLZTEST321
        - Check routine names
        You may able to find an interim solution to the problem
        in the SAP note system. If you have access to the note system yourself,
        use the following search criteria:
        "PERFORM_NOT_FOUND" CX_SY_DYN_CALL_ILLEGAL_FORMC
        "SAPLZTEST321" or "LSVIMF14"
        "PREPARE_SAVING"
        If you cannot solve the problem yourself and you wish to send
        an error message to SAP, include the following documents:
        1. A printout of the problem description (short dump)
           To obtain this, select in the current display "System->List->
           Save->Local File (unconverted)".
        2. A suitable printout of the system log
           To obtain this, call the system log through transaction SM21.
           Limit the time interval to 10 minutes before and 5 minutes
           after the short dump. In the display, then select the function
           "System->List->Save->Local File (unconverted)".

  • How to tie tcode to table maintenance generator table

    hi guys,
    i need to use tcode to call table maintenance generator program (the one that is created via SM30 ).
    how can i use module instead of executable program type ?

    > Hi Erwan,
    >
    > I hv followed ur step, but i didnt see this step
    >
    > then in the dynpro fields :
    > VIEWNAME ztable
    > SHOW X
    >
    > i am currently in ver 4.7
    >
    > i only see screen, from module pool, name of screen
    > fields, value
    You type VIEWNAME and SHOW in "name of screen fields",  and put your ztable name and X in "Value".
    matt

  • Excel download functionality in Table maintenance generator

    Hi Friends,
    I have a requirement.
    I have to create a custom table and should have a table maintenance for that.
    I can do this via table maintenance generator.
    But after creating this, in the maintenance screen, i should have a button. On clicking the button, a popup should ask for excel file name and after specifying the file name all the data in the maintenance screen has to get downloaded to a excel file.
    So, my idea to implement is, change the code generated by table maintenance generator, to accomplish this.
    In the menu painter, create a button. and have a ok code for that.
    In the screen painter, design a screen with filename field and have a ok button. Accept the filename input and close the screen and then for that ok code in the PAI module, use GUI_DOWNLOAD function to download the excel file to the specified location.
    Please review this and please let me know if there is any alternative solution for this requirement.
    Thanks,
    Jaffer Ali.S

    Hi,
    After maintaining table maintenence generator maintain one push button in pai of the table program .
    in that when 'download'.
    call function module f4_filename it will ask file name enter that value.
    after using gui_download you can down load to excel file.
    To download from SAP to Excel:
    Transaction SE16N allows you to access any sap table and download result to Excel
    no other alternative for this.
    *reward points if usefull

  • Purpose of table maintenance generator

    wht is the purpose of table maintenance generator

    Hi Pavan,
    The purpose of table maintainence generator is to enable the table maintenance through SM30, and to implement and validation etc on table field inputs.
    SE11->Utillities->table maintainence generator
    You need to enter the values of following fields:
    1. Table name
    2. Authorization group , and authorization object (select the suitable one )
    3. Function group and package
    4. Maintainence type : single or double screen maintainence view depending on the option selected.
    5. Maintain screen number : you may specify a value or let the system generate one for you.
    The validation code for the table entry is written in the flow logic of this screen. Even some of the fields may be made display only , by adding suitable code in the logic or directly disabling the input in table control in the layout.
    Table maintanance is for creating,adding datas to an existing table.
    it is for adding muiltiple records at a time in the table
    A table can be manipulated by a program or manually.
    When creating table, you will find a check box 'Table maintenance allowed'. If we
    check that option, we can manually enter entries using SE16 or table
    maintenance generator screen.
    SE16 is for data browser.
    Go to SE11, give the table name and click on change. Then Go to utilities--> Table
    maintenance generator.
    In the table maintenance generator screen, we should give Authorization Group,
    Function Group name (Function Group name can be same as table name),
    Maintenance type can be one step or two step, usually we will create with one
    step. we should give maintenance screen number. After clicking on create button,
    a table maintenance generator will be created.
    To check it go to SM30 . In SM30, we find display, Maintain options.
    We can view the table contents by choosing Display and we can create table
    entries by choosing Maintain.
    In the production system, end-users will not be having access to transaction
    codes like SE11 and SE16. Developers will not be having access to many
    transaction codes including the above two.
    To view the contents of the database table, we will use SE16n in Production
    system. Please find out the difference between SE16 and SE16n.
    All these authorizations will be maintained by BASIS team, by creating access
    profiles.
    So in order to edit or create the contents of a database table, we should go for
    table maintenance generator. In real time, authorizations will be maintained in
    production system. (even in development and Test systems to some extent).
    There is an audit like Sarbanes-Oxley Act for American clients, where every thing
    will be audited by government agency. To know more about SOX, use the links on
    the right hand side of this page.
    The second reason is, we can edit or create multiple entries at a time, using table
    maintenance generator.
    Apart from that we have options like 'Enter conditions' in table maintenance
    screen SM30. Please try to find out the use of those, by creating an example.
    Table Maintenance generator: Difference between one step and two steps.
    While creating table maintenance generator, we find below options:
    When we choose one step, we have to give the screen number in Overview Screen field.
    When we choose two step, we have to give both overview screen number and single screen number.
    You can give any number for screen. Don’t give 1000 screen number. As this
    number is reserved for selection screen.
    When we choose two step, two screens will be created for table maintenance. For
    single step only one screen will be created.
    When we choose two step, table maintenance will work as follows
    Go to SM30, give the table name for which you have created table maintenance-
    Overview screen will be displayed. To create entries, when you click on ‘new
    entries’. Another screen will be displayed, where you give input and save. You can
    enter one record at a time.
    Go to SM30; give table name for which you have created table maintenance-
    Overview screen will be displayed; To create entries click on ‘new entries’, you can
    enter the records on the same screen. You can enter multiple records at a time.
    We use single step generally, as it is user friendly.
    To completely understand the difference and above points please do exercise by
    creating table maintenance generator in both ways (using single step and two
    step).
    Link: [http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm]
    Link: [http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm]
    Link: [/message/2831202#2831202 [original link is broken];
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.

  • Disabling fields in table Maintenance generator

    Hi Experts,
    I would like to restrict some fields in table maintenance generator dynamically/ statically.
    Here is the situation.
    I have generated table maintenance for the table ZMARA and I have created three transactions for the above single table maintenance generator.
    i.e .. Transaction      ---        Table
              ZT1                  ---         ZMARA
              ZT2                  ---          ZMARA
              ZT3                  ---          ZMARA
    I am using above three transactions in my module pool program. Based on the certain conditions I am calling different transactions i.e ZT1, ZT2, etc
    Here is my requirement:
    Suppose if I call ZT1 transaction, I need to display only few fields. i.e ZMATNR, ZMTART, ZPRODH.
    or remaining fields should disable. User should not allow to change the content, even if it is new entries/existing entries. only ZMATNR, ZMTART, ZPRODH.
    Suppose if I call ZT2 transaction, I need to display only few fields. i.e ZMATNR, ZMTART, ZHTSCODE
    How can we restrict dynamically when you call table maintenance generator table through transaction
    or
    How can we generate table maintenance for few fields?
    Edited by: r badveli on Mar 16, 2009 4:27 PM
    Edited by: r badveli on Mar 16, 2009 4:27 PM
    Edited by: r badveli on Mar 16, 2009 4:28 PM

    Hi ,
    go to Se11->Table maintenace generation. Double click on screen to edit and assign the field you want to display/hide to groups. In PBO , after the following lines..
    LOOP AT EXTRACT WITH CONTROL
    TCTRL_ZMARA                         CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    Write a new module in PBO and edit the SCREEN as per the Tcode, you are calling,,'
    Hope this helps you
    Rj

  • Help required on table maintenance generator

    Hi all,
           Would any one tell me what is the difference between one step and two step while creating a table maintenace generator for a table.
    one more question is i would like to know which search the following code follows while it is executed.
    select single vbeln
    from vbak into l_vbeln
    where vbeln in s_vbeln.
    and
    select vbeln
    from vbak
    into l_vbeln
    up to 1 rows
    where vbeln in s_vbeln.
    please do reply soon for the questions.

    Hi
    table maintanance Generator is used to manually
    input values using transaction sm30
    follow below steps
    1) go to se11 check table maintanance check box under
    attributes tab
    2) utilities-table maintanance Generator->
    create function group and assign it under
    function group input box.
    also assign authorization group default &NC& .
    3)
    select standard recording routine radio in table
    table mainitainence generator to move table
    contents to quality and production by assigning
    it to request.
    4) select maintaience type as single step.
    5) maintainence screen as system generated numbers
    this dialog box appears when you click on create
    button
    6) save and activate table
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
    /message/2831202#2831202 [original link is broken]
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
    Difference Between Select Single and Select UpTo One Rows
    According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not using all the primary key fields.
    select single is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key supplied and will try to find most suitable index.
    The best way to find out is through sql trace or runtime analysis.
    Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
    The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
    The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
    Mainly: to read data from
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
    Mainly: to check if entries exist.
    Reward points for useful Answers
    Regards
    Anji

  • Modify Key Field Values of a table through Table Maintenance Generator

    Hi All,
       I have created a z table with below structure. In this fields upto Valid To are all key fields. This is to ensure that consistant valid record get stored in the table.
    MANDT     MANDT     CLNT     3     0     Client
    VKORG     VKORG     CHAR     4     0     Sales Organization
    VTWEG     VTWEG     CHAR     2     0     Distribution Channel
    SPART     SPART     CHAR     2     0     Division
    SKU     MATNR     CHAR     18     0     Material Number
    LZONE     LZONE     CHAR     10     0     Transportation zone to or from which the goods are delivered
    VALID_FROM     ZVALID_FROM     DATS     8     0     Valid From
    VALID_TO     ZVALID_TO     DATS     8     0     Valid To
    PLANT     WERKS_D     CHAR     4     0     Plant
    SNP_TZONE     ZSNP_TZONE     CHAR     20     0     APO Transportation Zone
    ERDAT     ERDAT     DATS     8     0     Date on Which Record Was Created
    ERNAM     ERNAM     CHAR     12     0     Name of Person who Created the Object
    AEDAT     AEDAT     DATS     8     0     Changed On
    AENAME     AENAME     CHAR     12     0     Last changed by
    I have created a Table Maintance program through the Table Maintenance Generator. And for that I have assigned a t code.
    I can able to create new entires but i can not able to modify Valid_from and Valid_to entries of existing records.
    Initially those two fields were in display mode but i went to its module pool program and made then as input enabled. But what the vales I was entering, its not getting saved in database. When we change the values of those fields and save it, the system is saying No Data Change.
    Any inputs how to solve this issue. I can not make VALID_FROM and VALID_TO fields as non key.
    Regards,

    Hi,
      As you have already said that the value for valid to is a part of the key so you should not have any issues when this value is changed and the value is saved using the table maintainence generator, but in case you want to save values where the value for valid from has changed but the key is same we would not be able to save as there is already a value for the key, so if you want to save these values there are two ways 1 would either to delete the existing value value and create the new value or to have one more field as the key field like a counter so when the value is saved with a key the value is saved with counter as 1 and then ever next time for the new values increase the value of the counter.
    In order to save these values use event 5 and put you code there.
    You can also carry out checks for new aithorization in that event also.
    Regards,
    Himanshu

  • Table maintenance generator with radiobuttons

    Hello,
    how can I automatically (via se11: table maintenance generator) generate from a DDIC-structure the radiobtton-fields on a dynpro?
    If I use the domaine 'X' or 'XFELD', I only get checkboxes....
    kind regards

    Hi,
    Table Maintenance Generator will create the Z Screens.
    In order modify those Z screens go to SE80 and give the
    Function group for that table maintenance generator.
    Then to find the function group go to sm30, give the table name and click on display. It show a screen with table control. Click on System -> Status .
    It gives you the Z screen information.
    Give that Z screen in SE80 and do the changes accordingly.
    I hope it helps you.
    Regards,
    Gopi

Maybe you are looking for