Maintenance View with Subset Fields

Hi All,
I have created a maintenance view based on a single DB table. Two key fields are defined to be as subset fields. No selection conditions are added to the view. I have used table maintenance genrator to define the screen (one step) along with the events.
In SM30, i get the popup to fill the subset fields.
I have created an event for AA (to replace default read). I am filling total attribute here.
a) Is there some other attribute that i need to fill apart from total?
I receive following dump
" Exception condition "NO_VALUE_FOR_SUBSET_IDENT" is raised"
When i set <status>-sbsid_rcvd = 'R' in read routine along with total, then the above exception doesn't appear.
But filtering based on the subset values doesn't happen automatically.
b) I also need have to have routines to perform insert, copy and validation.
c) Would the contents displayed be automatically filtered based on the subset values or we need to process this in user routines for read and so on?
As i find very limited documentation available for maintenance views with subset fields, could you suggest me some example to do the above?
Thanks in Advance,
Regards,
Rekha

Hello Rekha,
Yes I've same idea, documentation for maintenance screens is inadequate.
But there is way to find examples for all events,
table TVIMF is storing the Table name - Event - Form name columns.
For example when u want to  do something about  "creating a new entry"
Just go se11 > Table maintenance generator and find related event : 05
- Then go to TVIMF and display a record for event = 05
- than go to function group of  maintenance screen of the TABLE in that record
- find the subroutine form ( TVIMF-FORMNAME) in that function group
This is a working example for that event, try or copy & use.
I hope it helps you for the coding for all the events.
Bulent
Edited by: Bulent Balci on Aug 5, 2010 11:28 PM
Edited by: Bulent Balci on Aug 5, 2010 11:29 PM

Similar Messages

  • Maintenance view with MARA joined twice

    Hello,
    I have a Z table which contains 2 fields containing material number, say: MATNR_1 and MATNR_2. Both have foreign keys pointing to MARA table.
    Now I'd like to create a maintenance view for that Z table which will contain texts for both of those matnr fields, taken from MAKT table. So I need a maintenance view which has that Z table as the main table of the view and MARA+MAKT tables joined <u>twice</u>: first for the field MATNR_1 and next for field MATNR_2.
    It looks like it is impossible to achieve by just clicking in SE11 - the system takes only the first matnr field into account (MATNR_1) and joining MARA for the second time (for field MATNR_2) seems not possible.
    Has anyone an idea how to achieve this ?

    I found a solution myself - actually a workaround, here it is if someone is interested:
    You can have data from a secondary table (a table that you cannot join by defining the view) filled "manually" at the screen level. When you generate a maintenance objects with the maintenance generator, modify the generated screen by adding a new field to it (for data that you need to be displayed). In PBO of that screen call your additional PBO module which just reads the data from the db table (or from anywhere you want) and fills that field.
    You can check standard transaction FI12 to have an example: field BNKA-BANKA is filled exactly with this technique (see PBO of that screen).

  • How to validate enries in Maintenance Views with the help of Events?

    Hello,
    I have a Maint. View. I would like to apply a validation for a specific field of the table. And if there is an entry which is not proper, than I'd need an error message to be issue, and the fields should be open for correction.
    I know this should be managed by Events. I tried many of them, but there was allways some different kind of issuses. E.g. When I used Event 21, the problem was that:  table "total" was not updated with the values I entered, when the Event triggered. More over, when I ussed a simple error message, that appeared on the screen, but when I hit Enter, I got an infinite LOOP, cause Event 21 was again triggered.
    When I tried Event 01, the total table was already updated. But with the program went back to the sceen from where I called the maintenance of the table. And Issues the error message there. When I hit Enter it took me back to maintenance screen. But this is not very nice.
    A bunch of hints would make me very happy, or a good example, which is priceless!
    Thanks and regards,
    Gyula

    Hi priyaranjan,
    Check the data in debug mode whether the record_tab is getting filled or not. If it is not filled use FM 'F4UT_RESULTS_MAP' to fill the data.
    Refer the link F4UT_RESULTS_MAP Standard Search Help Exit for Filling Hit List - Function - ABAP - SAP to know how to use FM.
    Once You get result from FM in to record_tab then sort the table as per your requirement.
    Regards,
    Ravikiran.K

  • Maintenance view subset P = S in combination with a non-key.

    We are trying to create a maintenance view with subset selection based
    on a non-key field. However no dialog screen will be created in order to
    select the right data (subset) for list display. We found a referenced
    note of this problem: sap note nr 624459 "subset field is not
    transferred" which is already available in the L7D system.
    -> Does the subset P = S only work in combination with a key field?

    Hi,
    I presume the P = S works for only Primary Key combinations. For eg: If you create maintenance view on MARD table and give values P= S to say only MATNR and WERKS fields. You generate the Table Maintenance. You get the filter for Material and Plant but there is a button F7 new selection .. if you press that you can select the third key field Storage Location as well. Presumably it works for the key fields alone.
    Cordially,
    Shankar Narayanan.

  • Make obligatory field on view with an attribute for view field equals to 'S

    I developed a maintenance view with an attribute for view field equals to 'S'.
    I want to make obligatory the field that appears in the window called: Determine work area: entry. 
    Is there some way to do it?
    Regards,

    Hi Kenneth,
    Goto the view definition (SE11), and set the attribute of the required field (column 'P'), and make it as Subset 'S'. This ensures that you cannot goto the display of view data without first entering the value for this field.
    The values displayed are also filtered for the selected value of this subset field.
    Cheers
    Rekha

  • How to hide a field from table maintenance view?

    Hi,
    How to hide a field from table maintenance view? 
    The field is used for data created date. I need to hide it from display.
    Thanks

    Chk this link.
    http://help.sap.com/saphelp_nw04/helpdata/en/66/33f52010dd11d6999300508b5d5211/frameset.htm
    Maintenance Attributes
    You can assign a maintenance attribute P to individual fields in the maintenance view definition in the Dictionary (SE11). It can be  H (hidden)
    H (hidden)
    A field flagged H is not displayed on the screen. This field must also be filled in the background by a routine at an event.
    The system writes R and H fields to the database like all other fields when a new data record is saved.

  • Maintenance view does not bring the default language in the Text table

    Hi Experts,
    I am creating a maintenance view with the join of two tables
    TAB1 has following fields
    MANDT
    CATEGORY
    TAB2 (is the text table for TAB1) has the following fields
    MANDT
    LANGU
    CATEGORY
    DESCRIPTION
    I have created the maintenance view with
    MANDT
    CATEGORY
    DESCRIPTION
    When Itry to maintain the data through the view I can insert teh data in TAB1 but in TAB2 it doesnt take the default language key.
    I want my default language key as 'EN'.
    I have referred V_T77TMC_EDUTYP, but I cannot find the reason why in my custom view I dont get the language key.
    Request your help.
    Thanks
    Anu.

    Hello Anu,
    I believe that according to definition of maintenance view, for text tables there should be an automatic entry for sy-langu in SPRAS field. So, you should be able to get this without activating any TMG events.
    I suppose you have created a maintenance generator for your maintenance view and updating entries using SM30 for that maintenance view.
    Please check that you have created the text table properly. Check while putting TAB1 in SE16n and pressing enter, do you see TAB2 in 'text table' field ???
    Make sure while defining Foreign key relationship, you have used 'Key fields of a Text table' option.
    Do share if you face any problem ?
    regards,
    Diwakar

  • Problem to add ADCP-DEPARTMENT into maintenance view

    Hi All,
    I need help urgently on creating a maintenance view of a customized table.
    The Customized Table name is ZTSUBCON, it contains fields below:-
    MANDT     - Client
    BNAME     - User Name in User Master Record
    ... (and other fields)
    I would like to create a maintenance view called ZVSUBCON and this view must be able to show the department of the User Name automatically when user maintain the data.
    Customized View Name : ZVSUBCON, contains fields below:-
    BNAME          - SAP Account that will be input by user thru transaction SM30
    DEPARTMENT     - This should be the information from ADCP table (field : DEPARTMENT), which must automatically display after user key in the SAP account
    ... (and other fields)
    I tried to create a foreign key BNAME with check table USR21, and try to add the table ADCP in "Table/Join Conditions" in SE11, but, it failed.
    Please help me if you know the solution.
    Thanks & Regards,
    Heng Lye

    Hello Heng
    Define your maintenance view with the following tables:
    ZTSUBCON (primary table)
    USR21
    ADRC
    ADRP
    These tables will give the following JOIN conditions:
    USR21     MANDT     =     ZTSUBCON     MANDT
    USR21     BNAME     =     ZTSUBCON     BNAME
    ADRC     ADDRNUMBER     =     USR21     ADDRNUMBER
    ADRP     PERSNUMBER     =     USR21     PERSNUMBER
    To receive the department from table ADCP use the key fields from ADRC and ADRP and fill the maintenance view field using <a href="http://help.sap.com/saphelp_nw04/helpdata/en/91/ca9f4aa9d111d1a5690000e82deaaa/content.htm">Event 21 fill hidden fields</a>
    Regards
      Uwe

  • Event in Maintenance view.

    Hi,
    I need to implement an event for a maintenance view. The maintenance view has a field 'Attribute_type'.There are 7 fixed domain values for this field. The functionality to be achieved is that the user should be able to use 6 values of the domain only once,i,e an error should be thrown if he uses the attribute type again. But the seventh attribute should be allowed to use multiple times.
    This maintenance view is part of the view cluster.
    Could any body please let me know the Event type in maintenance view to be used for this purpose along with similar example implementations available in the system.
    Hope i am clear, if not, please let me know.
    Thanks and regards,
    Sridhar

    [Events in Table Maintenance|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]
    Also have a look at belwo links:
    http://help.sap.com/saphelp_46c/helpdata/EN/a1/e45217a2f511d1a5630000e82deaaa/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/67/86b109415811d1893d0000e8323c4f/frameset.htm
    I hope it helps.
    Best Regards,
    Vibha
    Please mark all the helpful answers

  • Short Dump while scrolling in a maintenance view

    A maintenance view has one field, defined as "Radiobutton".
    1) Select the radiobutton for one entry.
    2) Scroll down so that in the new page (i.e. the entries displayed in the new page) the entry selected in the first step is not visible.
    3) Select any radiobutton again corresponding to any of the entries displayed in the new page.
    4) On scrolling up again the short dump occurs.
    The short dump text says "More than one radio button is active".
    Any inputs in this regards are appreciated.
    Thanks.
    Gajendra.

    Hi,
    that means you are trying to make two radio buttons active.
    parameters: ra radiobutton group g1 default = 'X',
                rb radiobutton group g1.
    ra = 'X'.
    and rb = 'X'.
    in your case so obviously it will dump.
    check your coding..
    and show your code...
    Regards
    vijay

  • Maintenance view Events for description in details

    hello i have a maintenance view with 2 screen ( one overview other details ) i want fill a label in the details screen with the description of some code ( custom table with all custom fills )
    but i don't find what event is the right , i try the event 26 , i put a break-point just for check but dont get trigger that event when i display the item in details screen
    Thanks

    thanks i add the form to the event 01 but the breakpoint is not called , i even change the maintenance view i select create modules but don't work , any idea ? maybe i am missing something
    pd: when i create the firts time the form i select create new include

  • Table maintenance view not saving changes

    Hi experts
      I have created a Z table with corresponding maintenance view (with transaction). Also, there is a Z program to insert records into the table from xls file.
      When accesing the maintenance view, I can add and remove entries, but the problem is:
           when I update a record, if the records has been created using the maintenance view, then changes are saved to database, but if I try to modify a record added by using the Z program, none of the modifications are saved to DB.
      I have re-created maintenance view, and table properties (delivery class A, display/maintenance allowed ...) seem to be OK.
    Can someone provide some help with this?.
    Many thanks in advance for your help.
    Best  regards,
    Carlos.

    HI
      Thanks for your answer, but didn't work.
      Below my program (
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fin
          i_begin_col             = 1
          i_begin_row             = 2
          i_end_col               = 9
          i_end_row               = 9999
        TABLES
          intern                  = gt_fichero
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      LOOP AT gt_fichero INTO gs_fichero.
        CASE gs_fichero-col.
          WHEN 1. "Proyecto
            "Validaciones
            gs_unidades-proyecto = gs_fichero-value.
          WHEN 2. "Tipología
            "Validaciones
            gs_unidades-tipologia = gs_fichero-value.
          WHEN 3. "Alias
            "Validaciones
            gs_unidades-identificador = gs_fichero-value.
          WHEN 4. "Superficie
            "Validaciones
            TRANSLATE gs_fichero-value USING ',.'.
            gs_unidades-superficie = gs_fichero-value.
          WHEN 5. "Estado
            "Validaciones
            gs_unidades-estado = gs_fichero-value.
          WHEN 6. "Entrega
            "Validaciones
            gs_unidades-entrega = gs_fichero-value.
          WHEN 7. "PVPCoste
            "Validaciones
            TRANSLATE gs_fichero-value USING ',.'.
            gs_unidades-pvpcoste = gs_fichero-value.
            "Se añade el registro a la tabla de datos maestros
            INSERT ztt_fi_unidades FROM gs_unidades.
            CLEAR gs_unidades.
            IF sy-subrc EQ 0.
              gv_total_correctos = gv_total_correctos + 1.
            ELSE.
              gv_total_erroneos = gv_total_erroneos + 1.
            ENDIF.
            gv_total_registros = gv_total_registros + 1.
          WHEN OTHERS.
        ENDCASE.
      ENDLOOP.

  • How to select value from database view with * in wher clause

    Hi ,
      I ahve a database view with some fields.
    Now my requirement is to serach a single row on the basis of process type.
    Process type can have values like ZBA,ZBC,ZBD,ZBE or similarly anything starting with ZB.
    Now i know that starting two letters will be ZB , but dont knwo the last letter.
    So how should i use select query for the same?
    Should i use like operator for the same?
    regards
    PG

    hi,
    u can use character '%'.sample code like this
    SELECT reltype
                 instid_a
                 catid_a
                 instid_b
                 FROM /dbm/ord_docflow
                 INTO TABLE it_link
                 FOR ALL ENTRIES IN it_pnwtyh
                 WHERE  instid_a  =  it_pnwtyh-instid_a AND
                 instid_b  LIKE 'QMSM%'  AND
                 typeid_a  = 'BUS2400'  AND
                 typeid_b  = 'BUS2400' AND
                 catid_a   = 'BO' AND
                 catid_b   = 'BO' AND
                 reltype   = 'VONA'.
    this is similar to using* while we fetch values from table.in the above code only i no QMSM rest values not sure,so used QMSM%

  • Different results using View with union all in 11R1 compared to 10R2

    Hello,
    I have the following situation:
    In Oracle 10R2 I defined a view which looks like this
    create view test_view
    as
    select 'field1;field2;field3' field from dual
    union all
    select field
    from (
    select tfield1||';'||tfield2||';'||tfield3 field
    from table1
    order by tfield1,tfield2,tfield3
    The idea is, my first line contains a header information an then the data in the required sorting order.
    So, in 10R2, when I export the view with select field from test_view, I get the result as expected, which means, the header from the part with the dual was in the first line and after that, the data in the required sort order.
    Now, in 11.1.0.7, it is completely different, because the row of the dual is somewhere in my result set. But if I send the sql instead of the view, I get the expected result as in 10R2.
    I have no idea why this is the case now, because in 10R2 this was working permanently as expected. When I look at the execution plan, I see, that he starts parallelisation, which is ok, but the difference is, that in this parallelisation the select from dual is included and in 10R2 he first make the line from the dual and then the parallelisation with the data. It's not clear to me, that if I send the sql to the database I see the required result, but if i define the view as mentioned, and start a select field from view, I get now get the different sorting, because of the parallelisation, where the optimizer he changes his behavior comparing the both database versions. So my question ist, how can I change this behavior to get the same behavior as in release 10R2.
    Best regards
    Rainer

    Hello,
    thank you for your sample, I see your idea for my sorting purpose.
    I want to look at the following point:
    I create the table, as you described. The table has the degree and instances 1. Now I deefine the following view:
    create view view_test
    as
    select 'field1;field2;field3' field
    from dual
    union all
    select tfield1 || ';' || tfield2 || ';' || tfield3 field
    from (select * from table1 order by tfield1,tfield2).
    This is the way I used it in 10 R2.
    Now, the SQL select field from view_test delivers the expected result:
    field1;field2;field3
    a;b;c
    d;e;f
    So far so good. But now, I changed the degree of the table1 (alter table table1 parallel (degree 4 instances 1);).
    The result looks like that:
    a;b;c
    field1;field2;field3
    d;e;f
    So, the parallelisation of my object seems to be the reason for the, in my eyes, "wrong" sort order. In 10R2 I used this degree and instance values for my table and defined a view and it was working fine. Now, after our migration, I had this "trouble". For me it seems, that the optimizer made some changes, or mabe this is a bug, who knows ?
    I also tried, to change the nls_comp, and set the undocumented parameters as described in the Metalink note 7497640.8, but with no effect of my result set.
    Best regards
    Rainer

  • Maintenance dialog with Number Range Object

    Hello Experts,
    i want to create a maintenance dialog with some fields for maintain a db table. In this field i have a id. This i should increment automatically like a Number Range Object. How can i do this.
    E.g.
    id    name
    1    manfred
    2    steve
    When i will write a new name i only want to write the name not the id. The id should be the 3 in this case automatically. Can anybody say how i can do this?
    Regards
    Chris

    I would guess you can create a number range object and then use the NUMBER_GET_NEXT FM to get the next number as part of your event (before saving like event 01 or other events as per your requirement) ...
    Check out the following links which talks about making field READ only
    HOW TO MAKE FIELDS AS READ ONLY IN TABLE MAINTAINANCE
    and also the wiki entry on table maintenance
    http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=93454609

Maybe you are looking for