Table maintainance Validations

Hi Friends,
I have created a table maintenance for a field and i want to validated the entries made by the user. How can i do that?
Message was edited by: Suhas Saha

hi
u need to loop the generic table TOTAL and chek which kind of action is aasigned to certain record:
LOOP AT TOTAL.
    CHECK <ACTION> = NEUER_EINTRAG.
*-------> New record
    READ TABLE EXTRACT WITH KEY TOTAL.
  ENDLOOP.
The value stored in <ACTION> indicates if the record is new or changed
Max

Similar Messages

  • In table maintainance generator

    hi
    in table maintainance generator, how to validate the data entered in the table. If it is only with the events, how?

    hi,
    you can validate the data in tables, after generating a table maintanance generator.
    Environment->Modification->Events.
    After providing the subroutine name you can go to editor( click on icon provided just besides the form routine) and write the logic for validation.
    for example, if changes are to be made to the data of particular controlling area, a check has to be made if the user is authorised to make changes. Below is a sample code that would give you an idea.
    Sample code:
    *&      Form  auth_check_save
          Checks that the user has the correct authorisations to Change
          details of Controlling Area. If not error message is to be
          displayed on the screen.
    form auth_check_save.
    Data Declaration
    Types
      types:  begin of ty_valtab,
               kokrs(4) type c,
               actvt(2) type c,
             end of ty_valtab,
             begin of ty_fieldtab,
               fieldname(10) type c,
             end of ty_fieldtab.
    Internal Tables
      data:  lt_valtab    type standard table of ty_valtab,
             lt_fieldtab  type standard table of ty_fieldtab,
    Structures
             ls_valtab    type ty_valtab,
             ls_fieldtab  type ty_fieldtab,
             ls_costele   type ztf_costele,
    Variables
             l_status     type zss_rfc_status,
             l_st(1)      type c.
    Constants
      constants : c_0(1)        type c value '0',
                  c_01(2)       type c value '01',
                  c_02(2)       type c value '02',
                  c_06(2)       type c value '06',
                  c_authobj(10) type c value 'Z_KOKRS',
                  c_error(5)    type c value 'ERROR',
                  c_partial(7)  type c value 'PARTIAL',
                  c_kokrs(5)    type c value 'KOKRS',
                  c_actvt(5)    type c value 'ACTVT'.
      clear l_status.
      ls_fieldtab-fieldname = c_kokrs.
      append ls_fieldtab to lt_fieldtab.
      clear ls_fieldtab.
      ls_fieldtab-fieldname = c_actvt.
      append ls_fieldtab to lt_fieldtab.
      clear ls_fieldtab.
      loop at total.
        if <action> eq neuer_eintrag.
          move total to ls_costele.
          ls_valtab-kokrs = ls_costele-kokrs.
          ls_valtab-actvt = c_01.
          append ls_valtab to lt_valtab.
          clear  ls_valtab.
        elseif <action> eq aendern.
          move total to ls_costele.
          ls_valtab-kokrs = ls_costele-kokrs.
          ls_valtab-actvt = c_02.
          append ls_valtab to lt_valtab.
          clear  ls_valtab.
        elseif <action> eq geloescht.
          move total to ls_costele.
          ls_valtab-kokrs = ls_costele-kokrs.
          ls_valtab-actvt = c_06.
          append ls_valtab to lt_valtab.
          clear  ls_valtab.
        endif.
      endloop.
    Authorization Check
      call function 'ZAUTH_CHECK'
        exporting
      PIM_REPID               =
        pim_auth_obj            = c_authobj
      PIM_FIELD_TABNAME       =
      PIM_CHECKALL            =
       importing
         pex_status              = l_status
       tables
         pex_val_tab             = lt_valtab
         pim_field_tab           = lt_fieldtab
       exceptions
         no_input                = 1
         others                  = 2.
      if  l_status = c_error.        "Authorization Check
      message under class: zmessclass
        message e000(zmessclass) with text-e02.  "You have no authorization
                                                "for table maintenance
      elseif l_status = c_partial.
        loop at total.
          if <action> ne space.
            move total to ls_costele.
            read table lt_valtab with key kokrs = ls_costele-kokrs
                                 transporting no fields.
            if sy-subrc <> c_0.
              delete table total.
              delete table extract.
            endif.
          endif.
        endloop.
        message e400(zmessclass).    "All the entries could not be saved
                                    "because of  restricted authorization
      endif.                        "End of Authorization Check
    endform.                    "auth_check_save
    The above code should be written in event  01  : Before saving the data in the database
    Regards,
    Farheen

  • Disable delete button in Table Maintainance Generator

    Hello all,
      How to disable delete button in Table maintainance generator???

    Hi Maya,
    It is very interesting question. If you debug your table maintenance screen, the program of table maintenance screen will not have statically defined pf status. So you cannot exclude delete functionalities using the below statement.
    SET PF-STATUS <the GUI status> EXCLUDING 'DELE'.
    For viewing pf status SAP has programmed in dynamic manner using this FM VIEW_SET_PF_STATUS.
    Before calling above FM you need to exclude delete function. Follow the following step for achieving this
    Go to sm30. Put your table name and press on maintain push button. It will display table entries in maintenance screen.
    Go to system->status
    Click on program name.
    Go to your flow logic of you table maintenance screen number.
    It will have following code in flow logic
    PROCESS BEFORE OUTPUT.
    MODULE LISTE_INITIALISIEREN.
    LOOP AT EXTRACT WITH CONTROL
      TCTRL_ZMAINTAIN CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
       MODULE LISTE_INIT_WORKAREA.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        FIELD ZMAINTAIN-KUNNR .
        FIELD ZMAINTAIN-LIFNR .
        MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
       ENDCHAIN.
       FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        MODULE LISTE_UPDATE_LISTE.
       ENDCHAIN.
    ENDLOOP.
    MODULE LISTE_AFTER_LOOP.
    Add new module in PBO for excluding delete function. ex  module set_pf.
    PROCESS BEFORE OUTPUT.
    ****here I added my own code for excluding delete function
    ****begin of addion
    module set_pf.
    ****end of addition
    MODULE LISTE_INITIALISIEREN.
    LOOP AT EXTRACT WITH CONTROL
      TCTRL_ZMAINTAIN CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
       MODULE LISTE_INIT_WORKAREA.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        FIELD ZMAINTAIN-KUNNR .
        FIELD ZMAINTAIN-LIFNR .
        MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
       ENDCHAIN.
       FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        MODULE LISTE_UPDATE_LISTE.
       ENDCHAIN.
    ENDLOOP.
    MODULE LISTE_AFTER_LOOP.
    *****inclule one line of code for excluding delete fucion
    module set_pf output.
          MOVE 'DELE' TO excl_cua_funct-function. COLLECT excl_cua_funct.
    endmodule.
    Basically sap fetching status dynamically from program SAPLSVIM using FM VIEW_SET_PF_STATUS. Status name is EULG.
    Please donu2019t hardcode anything by using set pf status statment, you just add one line of code the PBO by creating new module.
    Let me know if you need any help .
    Cheers.
    Regards,
    Peranandam

  • How to get customer name automatically in table maintainance generator

    Hi all,
    I am having a table maintainance generator in which ship to party is the primary key, i need to add another column customer name
    fetched from KNA1, i tried using the event
    5.new entries creation, creating a new perform
    but the code which i am writing gives an error "Statement in accessible".
    Kindly help.

    Hi Manohar,
    Thanks for your help, Its working now.
    Issue resolved.

  • Maintain Validity Date for Documents

    Hi
    Any Idea how can we put and maintain Validity Dates for any Document uploaded in DMS Server.
    Validity Dates here means (Documents cannot be used if validty is over)
    I could not find any option in CV01*   T-Codes.
    Regards

    Dear Prasant,
    You can also do this solution also if you find it OK.
    1. Create a Class with "Validaty Date" as characteristics. Assign this Charac to class. Assign this class to doc Type. This charac should not be editable to any one except creator.
    2. Create a program with BAPI " Set Status" ( Check the name). which will run in background to check the validity date of Document. If the validity date is reached the BAPI will change the status to "S" as stated by Chritoph.
    This will help user to manually tracked which documents have exceded the validity date. You can also genegrate report and mail it to particular user that what documents have been set to Status "S".
    Hope I have provided a valid solution as I have tried similar kind of functionality with changing a characteristics with Date.
    With warm Regards
    Mangesh Pande

  • "Recording Routine" in Table maintainance generator

    Hi All,
    I have a problem with View J_3RFV_F4VERS. Currently i am not able to change the entries in this View through SM30. Currently in the Table maintainance generator of this view "Standard recording Routine" is selected as Recording Routine.
    But when i change this to "no, or user, recording Routine", i am able to change the entries of this view through SM30.
    I would like to know the impact of selecting the alternative Recording Routine.
    Please throw some light on this issue.
    Regards,
    Navin.

    You can simply press F1 on the radiobuttins in the table maintanence of a table.
    It is all explained there.
    Basically it normally follows the mandant settings, so if the setting in your mandant is, no changes allowed, then you can't change it.
    The normal route for updating this table is to change it in your DEV system transport and test it in QA and finally transport it to PRD.
    Regards, rob

  • Transporting table and table maintainance generator

    Hi,
    Can i transport the table and table maintainace generator and function group of the table with in single request or not.
    One more thing is when i transport the table maintainance generator,will the entries also be transport to another system or not.
    Thanks in advance,
    Suresh

    Hi Suresh,
    Go to SE54-> Utilities-> Total Transport. The following things are transported.
    The total transport transports the complete maintenance dialog:
    authorization group
    authorization group assignment
    control entry
    events
    function groups
    maintenance objects
    variants
    Content wont be transported it seems.
    Thanks & Regards,
    Nagaraj Kalbavi

  • Table Maintainance Generator

    Dear Experts,
    I hv created a ztable containing following fields.
    MANDT                     MANDT                  Primary Key
    ZVEHICLE                      ZSDVEHICLE         Primary Key
    ZDCODE                     ZDCODE                 Primary Key
    ZOUT_DATE                    ZDATUM                 Primary Key
    ZOUT_TIME                    ZOUT_TIMS            Primary Key
    ZOUT_READING          ZMTR_READ
    ZIN_DATE                   ZDATUM_IN
    ZIN_TIME                   ZIN_TIMS
    ZIN_READING            ZMTR_READ
    ZSTATUS                  ZSTAT                        ( IN , OUT values possible)
    ZREMARKS                  ZCHAR50
    Now i m trying to create a Table Maintainance Generator And the Problem is following two fields are not visible in TMC.
    ZIN_DATE                   ZDATUM_IN
    ZIN_TIME                   ZIN_TIMS
    But if i add another field with other data type ( other than time and date), that field is visible.
    And if i  include above two field in primary key, then only it is visible.
    Is ther any restriction with time and date format field with TMC.
    Any idea.
    thansks in advance.
    Jaspal

    Hi Jaspal,
    There are two maintenance types available while creating a table maintenance generator.
    1. One step
    2. Two step
    If the TMG is built in one-step, then all the fields (both key and non-key fields) will be displayed in a single screen. So, all your fields will get displayed.
    Whereas if the TMG is built in two-step, the key fields will be displayed in a single screen and further details will be displayed in another screen. In this table, you have set the fields 'ZOUT_DATE' and 'ZOUT_TIME' as primary key. so it will be displayed in one screen and the non-key fields will be displayed in the second screen. So, if the fields 'ZIN_DATE' and 'ZIN_TIME' were to be dispalyed in the first screen, make it as a primary key.
    Thanks and Regards,
    Priya

  • Table Maintainance Generator Updation problem

    Hello,
    I am having the problem related to table maintainence generator updation.
    I am fetching the data in table maintainance generator from Standard table.
    Now the problem is that, if I fetch  some records ; some records are updated properly but some records are not.
    Please suggest the solution.
    Thanks.
    Swati.

    >
    Swati Khandelwal wrote:
    > Hello All.
    > Thanks for your reply.
    > The field which is not updating is not the key field.
    >
    > Thanks.
    > Swati
    It does't matter.
    But the fields is not updating you need to check its key in table whether it is exsist?
    I'm yes it is there.
    One more thing i would like to confirm are you using Update or modify?

  • Problem in table maintainance generator

    Hi,
    I have  a requirement in table maintainance generator i.e. when I clcik on se11,enter the table name and then click on new entries ,my table control that I see on the screen will have some entries that were entered earlier.
    But in my case the entire table control has to be blank when I click on new entries and it should be in output mode only.So please can someone tell me how I can clear the entries .Which event should I use for this?
    Another requirement is that for my table maintaianance generator,I have been asked to remove on field from the table control and place it above the table control as a text field.Now this text field is a key field.When I enter some value in this text field and click on enter,it should give me the values corresponding to this key field.Please can someone help me out with this?Which event should I use for this?
    Regards,
    Sushanth H.S.

    Hi Sushant,
    Considering there are considerable modifications to your table maintenance I would suggest you create a small module pool transaction for your requirement with a table control and code the flow logic (PBO/PAI) yourself.
    For the DB update, you can use the SQL commands. Since it would be an alternative to the table maintenance for a single table, I think the database update part wouldnt be complex to handle at all.
    You would need a table control same as the one in the maintenance however a wizard will make that job very easy for you.
    Finally, assign a transaction to your module pool and you are good to go.
    This is in my opinion not a complex development and also would be easier than trying to modify a SAP generated table maintenance, because adding a text field on top etc. would be drastic changes which cannot be accomplished by events alone.
    Cheers.

  • Need to disable delete icon in over view screen (table maintainance)

    In the overview screen (transaction se 54 -> generated object -> overview screen) in table maintainance i need to disable the delete icon.
    Anyone can please help me in it.

    Hi,
    check the program name for the transaction and create a screen exit for the same.
    Also u can go for copying the code in customer namespace and then add ur own functionality to dactivate or remove the delete function.
    Pls reward points for the answer.
    Regards,
    Ameet

  • Drop down list for a field in table maintainance

    Hi,
    I have created a table maintainance for ztable. I need a drop down list for field so that user can select values present in the list while giving entries.
    I can not use fixed values in domain, because feild length is more and it wont fit into fixed values.
    I am trying to use VRM_SET_VALUES FM but not getting output. Can any one help me on this.
    Thank you,
    Regards,
    Kusuma K.

    TYPE-POOLS: vrm.        Include this in your program
    DATA: l_name  TYPE vrm_id,
          l_list  TYPE vrm_values,
          l_value LIKE LINE OF l_list.
      LOOP AT it_paym INTO w_paym.
        l_value-key = w_paym-pay_method.
        l_value-text = w_paym-text.
        APPEND l_value TO l_list.
      ENDLOOP.
      l_name = 'Table-field'.   change it as per your requirement this has to be perfect
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = l_name
          values          = l_list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Hope it helps you,
    Abhijit G. Borkar

  • Reg : table maintainance genarator

    what is the purpose of table maintainance generator ?
    can you tell me in details ?

    Hi Selva,
    With the help of the table maintenance generator, you are able to maintain the ENTRIES of the table in SM30 transaction.
    It can be set in transaction SE11 - Tools - Table maintenance generator.
    Table maintenance Generator is used to manually input values using transaction sm30
    follow below steps
    1) go to se11 check table maintenance check box under attributes tab
    2) utilities-table maintenance 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 maintenance generator to move table
    contents to quality and production by assigning it to request.
    4) Select maintenance type as single step.
    5) maintenance screen as system generated numbers this dialog box appears when you click on create button
    6) save and activate table
    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.
    SM30 is used for table maintenance(addition or deletion of records),
    For all the tables in SE11 for which Table maintenance is selected , they can be maintained in SM30
    Sm30 is used to maintain the table ,i.e. to delete ,insert or modify the field values and all..
    It creates the maintenance screen for u for the particular table as the maintenance is not allowed for the table..
    In the SE11 delivery and maintenance tab, keep the maintenance allowed..
    Then come to the SM30 and then enter the table name and press maintain..,
    Give the authorization group if necessary and give the function group and then select maintenance type as one step and give the screen numbers as system specified..
    Then create,,,
    Then u will able to see the maintenance view for the table in which u can able to insert and delete the table values...
    We use SM30 transaction for entering values into any DB table.
    First we create a table in SE11 and create the table maintenance generator for that Table using (utilities-> table maintenance generator) and create it.
    Then it will create a View.
    After that from SM30, enter the table name and Maintain, create new entries, change the existing entries for that table.
    Check this blog for more information on extracting data in table maintenance.
    /people/sudheer.cheedella/blog/2006/02/20/extracting-data-in-table-maintenance
    check these links --
    http://help.sap.com//saphelp_470/helpdata/EN/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
    Hope this resolves your query.
    <b>Reward all the helpful answers.</b>
    Regards

  • How to get serial no automatically in table maintainance generator

    Hello Experts,
    I am building table maintainance generator in that i want the serial number shold be displayed or generated for new entry automatically.
    please mind this, i am going to put more that one entry at single time and my serial number field is primary key in table .
    Thanks,
    Gaurav

    In table maintenance we can add an event during new entries creation, in that add code to read the table for the last entry and increment one to it. Hence whenever a new entry is created serial number value is generated.

  • Events in table maintains genrator

    hi gurus,
    events in table maintains generator..... 
    regards,
    praveen

    While creating the tables, sometimes we may need to update the table fields in the background
    Lets take an example, if create a table with 10 fields in those 10 fields there are 2 fields which are User name and the Date, these 2 fields should update automatically when a record Inserted/Updated in the table.
    For this, we need to create a table maintenance generator for that table. There in the table maintenance generator we have an option to create EVENTS.
    In the table maintenance generator, Environment --> Modifications --> Events then a screen will be appear here,we need to create the Events, for updating the fields create 05(Creating a new entry) and 21(Fill hidden fields) .
    In the EVENTS screen, press new Entries, there give 05 and give a name(This will become a PERFORM), then click the Editor pushbutton, this will be there at the right side of the entry, then a popup will be appear, you can create an include program, there inside of the include program write the below code
    form CREATE_ENTRY.
    TABLE-USERNAME = sy-uname.
    TABLE-CHANGED_ON = sy-datum.
    endform.
    Then in the events screen enter 21 and give the form name as HIDDEN_FIELDS, then press the editor button, then in the editor
    form HIDDEN_FIELDS.
    TABLE-USERNAME = sy-uname.
    TABLE-CHANGED_ON = sy-datum.
    update TABLE.
    endform.
    This CREATE_ENTRY Perform will be triggered for every new entry and the HIDDEN_FIELDS fields will be triggered for every changed value in the table, so the Fields USERNAME and the CHANGED_ON fields will be updated automatically when a new record inserted into the table or an existed record changes through the table maintenance generator.
    If you want any more functions, and then look at the events, you can press the F4 and look at the description of the event, then you come to know how to use and where to use.
    Check these links
    http://help.sap.com/saphelp_nw04s/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/content.htm
    http://abapliveinfo.blogspot.com/2007/12/events-in-table-maintenance-in-sap.html
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8129f164-0a01-0010-2a8e-8765287250fc
    Regards,

Maybe you are looking for

  • IPhone 5s Recent Call List Limit

    What is the Recent Call List Limit for an iPhone 5s? Can you view the entire Recent Call List Limit from the screen? Today, as I would delete a call from the list, an older call would appear at the bottom of the list. Thanks!

  • Need help with container display / states

    Greetings! I am trying to use states to change the contents of a canvas which is the second of two within a tab navigator. Buttons trigger functions to change the state and change the selectedIndex of the navigator to the second tab. The functions wo

  • Can I prepopulate a Word document or PDF?

    This application is for a home health agency. There is an extensive form that needs to be filled out periodically called a CMS-485. There are tons of fields and lots of formatting to the document. I currently have the document in Word format. We main

  • Create button in F4

    How to create an f4 help which includes create button in that screen. So that i can create a record that does not exist in source table

  • Return symbol pops up after every use of the return key.

    As I type in Appleworks word processing, the return symbol appears. I've searched Help with no success. I must have accidently made that happen, but I can't locate a place to change it. Thanks in advance for your help.