Creating checktable for custom table field

Hello Guys,
Can anybody explain me steps involved in createing a check table for the field in
ztable.if possible can u send me link with screen shots.
your help will be greatly appreciated.
Regards
Janapathi

Check table
check table and value table
For example you have Employee master table & Employee Transaction table.
When ever an employee Transacts we need to check whether that employee exists , so we can refer to the employee master table.
This is nothing but a Parent & Child relationship . Here data can be maintained at client level , no development involved.
As per DBMS what we call foregin key table, is called as check table in SAP.
1. The contents of the check will be used as an input help(F4 Help) for a particular field on which a check table is assigned.
But the contents of Value Table are never used in Input Help.
The Heirarchy which decides from where to used the Input Help is:
1. Input help defined explicitly in ABAP Program or Dialog Module.
2. Input Help Attached to the referenced Database Table field.
3. Using the contents of Check Table as an input help if neither (1) or (2) help are there.
4. Input help from Fixed value or Value range given in Domain.
Check Table: The ABAP Dictionary allows you to define relationships between tables using foreign keys . A dependent table is called a foreign key table, and the referenced table is called the check table. Each key field of the check table corresponds to a field in the foreign key table. These fields are called foreign key fields. One of the foreign key fields is designated as the check field for checking the validity of values. The key fields of the check table can serve as input help for the check field.
Value Table: Prior to Release 4.0, it was possible to use the value table of a domain to provide input help. This is no longer possible, primarily because unexpected results could occur if the value table had more than one key field. It was not possible to restrict the other key fields, which meant that the environment of the field was not considered, as is normal with check tables.
In cases where this kind of value help was appropriate, you can reconstruct it by creating a search help for the data elements that use the domain in question, and using the value table as the selection method.
Check table will be at field level checking.
Value table will be at domain level checking ex: scarr table is check table for carrid.
also refer
http://help.sap.com/saphelp_nw2004s/helpdata/en/e2/667092730811d2959500a0c929b3c3/content.htm
http://www.abapmaster.com/cgi-bin/SAP-ABAP-interview-questions.cgi
Re: check table and Value table

Similar Messages

  • Creating TPR for customized table

    Hi,
    I want to create transport a customized table to QA from Dev box.
    I know how to create transport request for reports and smartforms and all.
    But How do I create transport request for customized table ?
    Is it thorugh SM30 ?
    Please help me...

    this depends on the Table maintenance dialog for the table. (utiliteis->table maint generator).
    If it has the recording routine set as 'standard' then SM30 will automatically create a transport when you hit the save button after perfroming maint on the table.
    For 'no, or user..' you will have to manually add entries to a transport.
    Go to SE10. Display your transport. Double click on the development/correction line. Now you can see a list of objects belonging to the task. Hit the 'display/change' toggle button. Add an entry with program id R3TR and object TABU. Enter the table name in the object name. Double click opn the function icon to the right of the object name. Double click in the empty table key area. This pops to allow you to enter the keys you require to transport.

  • F4 help for custom table field - to be used when populating data thru SM30

    Hi,
    I have a custom table with 5 fields - say A, B, C, D and E. While populating data to the table through SM30, I need to create a F4 help for the field C. A  custom function module needs to be used.
    I have created a module for the same in the event PROCESS ON VALUE-REQUEST of the function group of the table.
    But the F4 for field C depends on the values put in fields A and B.
    I am not able to get the values of fields A and B from within the module PROCESS ON VALUE-REQUEST.
    Please help me to create the F4 help.

    hii,
    This is the piece of code i have used in one of my SM30 to get f4. mopdify according to ur need and use.
    revert back for further help.
    w_dynpread-fieldname = 'ZSITEDCDATA-SITE'.
      APPEND w_dynpread TO i_dynpread.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = 'SAPLZSITEDCDATA'
          dynumb               = sy-dynnr
          translate_to_upper   = 'X'
        TABLES
          dynpfields           = i_dynpread
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE i_dynpread INTO w_dynpread INDEX 1.
      IF sy-subrc IS INITIAL.
        SELECT land1 FROM t001w
          INTO TABLE i_site
          WHERE werks EQ w_dynpread-fieldvalue.
        IF i_site[] IS NOT INITIAL.
          DATA: lv_line TYPE i.
          CLEAR lv_line.
          DESCRIBE TABLE i_site LINES lv_line.
          IF lv_line GT 1.
            CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
              EXPORTING
                retfield        = 'ZSITEDCDATA-SITE_COUNTRY'
                dynpprog        = 'SAPLZSITEDCDATA'
                dynpnr          = sy-dynnr
                window_title    = 'Site Country'
                value_org       = 'S'
              TABLES
                value_tab       = i_site[]
                return_tab      = i_return
              EXCEPTIONS
                parameter_error = 1
                no_values_found = 2
                OTHERS          = 3.
            IF sy-subrc <> 0.
              MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            ELSE.
              READ TABLE i_return INTO w_return INDEX 1.
              IF sy-subrc IS INITIAL.
                zsitedcdata-site_country = w_return-fieldval.
              ENDIF.
            ENDIF.
    Thanks ,
    Gaurav

  • How to maintain default values for custom table fields --  Urgent

    Hi all,
    I've a requirement wherein i need to create a Z table (with maintainence view) in which i'll have date and time as two of its field which should have current date and current time as default value. Can somebody suggest as how am i to maintain the date and time fields defaulting to current date and current time.
    Incase if someone is unable to intrepret what i'm trying to say, please query me, i'll elaborate it further.
    Please give in your quick inputs which is highly valuable to me and also will be highly appreciated.
    Thanks in advance,
    Vaishnavi Varadarajan

    We have a following custom table which contains the fields “Date on which record was created” and “Name of the person who created the object”. We would like to have these to be filled up with SY-DATUM and SY-UNAME respectively.
    Using the events, we can achieve this.
    Please refer the following link:
    http://abapliveinfo.blogspot.com/2007/12/events-in-table-maintenance-in-sap.html
    Also,
    Write a form routine in table maintanance generator.
    1. SE11 > utilities > table maintenance generator
    2. environment > modification > event
    define the event and form routine to make use of the tigger. in the form routine define an object for the class and call the relevant method.
    Or u can do it as:
    Table maintenance generator is basically used to do table operations like (insert, delete, modify...).
    if you create table maintenance for your table it will build a module pool program, by using you do the above operations.
    below is the procedure to create table maintenance generator.
    1) Create one function group.
    2) after activating your Ztable, choose 'Utilities'----> 'Table maintenance genrator'.
    3) then give the authorization group and function group created abobe in the next screen.
    4) Then choose the "create" button in your application tool bar, which will creates the module pool program.
    5) then create one Tcode by chosing "Transaction with parameters( parameter transaction)".
    6) in transaction field give "SM30", select the check box "Skip initial screen".
    7) in the below of that screen you can find the "Default values" frame.
    8) there under the "name of screen field" select the "View name' and 'update".
    9) in value column against to "view name" give you table name, and against to "Update" put 'X' in capital letters.
    save it then you can straight away use this newly created Tcode to maintain your table.
    Note:- 1) make the modification while saving the data into your table using this newly generated program to carry out your validation (even though it looks like standard program; no need to enter the access key).
    2) if you do any changes to your table and press the activate button automatically the table maintenace generator will be goes off, you need to create this again.
    cheers,

  • Create BAPI for Custom Table in BW - Urgent

    Hello BAPI gurus,
    I am Portal Developer and not an ABAP developer.  I am creating a Web Dynpro screen to insert data into a transparent table in BI ODS.
    I need to create a BAPI to insert/update/delete and select the values from the custom table.   We dont have an ABAP developer in house, so I am trying to create the BAPI my self.  I would really appreciate if some one can give me steps to create a BAPI, and links to any documents.
    I think I have to create a Function Module using SE37.  Is there a way to generate code based on the table structure or do I have to write Manually.  If any one has an example of code to do insert/update/delete and select, I would really appreciate. 
    Thanks
    Raghu

    Hi Raghu,
    Yes you can create a BAPI using Se37 and for deleting,Update or selection we have UPDATE,DELETE,SELECT statements. Just do F1 after writing those keywords and you will get the syntax. All the data you need to update needs to be passed using the IMPORT parameters.
    hope it helps!!!!
    David.

  • Creating Tcode for Custom Table

    Hi all,
              I have created a custom table ZSALESMANAGER, I have created a Maintenance view for this table ZSALESMANAGER_MV. I have to create a custom Tcode for this maintenance. so that when the i enter this tcode i should get the maintenance view scree of the table.
             Please help me, how to do this.
    Thanks & Regards,
    Poorna.

    please  go throught   below link ..... it was  given with  screen  shots  of the   T.code   Creating  for the   table after the   maintaince  view   had been created ......
    <a href="http://">http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm</a>
    <a href="http://">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/how%20to%20implement%20events%20in%20table%20maintenance.doc</a>
    reward points  if it  is  usefull ...
    Girish

  • How to create IDOC for customer defined table

    hi,
    How to create IDOC for customer defined table Records and how to send this IDOC to target system.
      what message type will be used and on receiving system how to post these records.
      thankx.
      pillac.

    Hi,
    You need to create a custom message type and custom IDOC type for this with whatever fields you want send. You need to create segments (WE30), IDOC type (WE30), Message types (WE81) and assign the message type to the IDOC type (WE82).
    You will have trigger the IDOC using a Report or something after doing the partner profile settings.
    Similary in the target system also, you will have do all the settings.
    Take a look the links to find out what settings needs to be done.
    http://help.sap.com//saphelp_470/helpdata/EN/0b/2a611c507d11d18ee90000e8366fc2/frameset.htm
    http://www.sappro.com/downloads/OneClientDistribution.pdf
    Regards,
    Ravi
    Note : Please mark the helpful answers and close the thread if the issue is resolved.

  • How to Track the changes made to the custom table field value

    I want to track the changes made to the custom table field value in table maintenance generator.please help me it is very urgent
    Thanks & Regards,
    Kranti

    Hi Satya,
    These are the steps you've to do.
    1. Enable the change document flag in the data element level for the fields of the tables you want to monitor.
    2. Go to transaction SCDO. Create a new change object, and add your table to this object. After generation, you'll get a function module.
    3. Call this function module in the table maintainence generator screen, after the data is saved to the database table. This function module automaticallly writes the changes, with the old and new values, and the fields that were changed to the tables CDHDR and CDPOS.
    4. You can keep track of the changes made to the table by monitoring these tables.
    Regards
    Anil Madhavan

  • How to populate custom table field value into standard DFF

    Hi Gurus
    I am newbie to the OAF
    I have a requirement to populate the custom table field value into standard DFF. we enabled the DFF in ReqDistDFFOnAcct(po_req_distributions_all). On the requisition tab as soon as i click on the checkout button, the custom field value has to be shown in the requisition distributions DFF field along with the standard Columns like charge account, percent, qty and when we click on the next button, it has to hit the base table ie., po_req_distributions_all.
    the standard columns data is showing the screen. how to acheive this requirement programatically
    There is a EO for the req distributions table. please help me how to achevie this requirement.
    Any help woud be greatly appreciated.
    Thank You!
    Krishna

    Thanks Aj. Finally i made some progress....but i am getting an error in the inst_top OPMN folder 10/10/08 15:37:14 Error: <connector name="OracleASjms" path="OracleASjms.rar" /> will not be bootstrapped since corresponding module declaration was not found in application.xml. I cleared the cache, bounced the webserver. Could not able to understand what is this error
    Following is the code that i have written. I am not able to find out what is the error. please help me how to fix this error. there is no changes in the page and the value is not auto populating. the page is having the normal behaviour as the standard one.
    Thanks in Advance for your help...
    public class xxCheckoutDistsCO extends CheckoutDistsCO
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    String UnitId="";
    //First get the Application Module
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject vo = (OAViewObject)am.findViewObject("PoRequisitionLinesVO");
    String Reqlineid="";
    String Linenum="";
    String DeliverLoc="";
    if(vo.first() !=null)
    Reqlineid= vo.first().getAttribute("RequisitionLineId").toString();
    Linenum = vo.first().getAttribute("LineNum").toString();
    DeliverLoc = vo.first().getAttribute("DeliverToLocationId").toString();
    // if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    // pageContext.writeDiagnostics("TEST >", Reqlineid,1);
    // pageContext.writeDiagnostics("TEST >", Linenum,2);
    // pageContext.writeDiagnostics("TEST >", DeliverLoc,3);
    UnitId=null;
    String Querry="select amli_icx_oaf_utils.get_blding_unit_id (?,?,?) from dual";
    try
    PreparedStatement ps=am.getOADBTransaction().getJdbcConnection().prepareStatement(Querry);
    ps.setInt(1,Integer.parseInt(Reqlineid));
    ps.setInt(2,Integer.parseInt(Linenum));
    ps.setInt(3,Integer.parseInt(DeliverLoc));
    ResultSet rs=ps.executeQuery();
    // ps.execute();
    // am.getOADBTransaction().commit();
    while (rs.next())
    System.out.println(" Query Results ");
    UnitId= rs.getString(1);
    System.out.println(" first > ");
    rs.close();
    ps.close();
    catch(SQLException a)
    System.out.println(" Error "+a);
    System.out.println(" Second > ");
    System.out.println(" Third > "); ----the program is executing upto here...it is not setting the value after this.
    OAViewObject povo = (OAViewObject)am.findViewObject("PoReqDistributionsVO");
    if(povo.getCurrentRow()!=null ) --------If i remove this condition i am getting the nullpointer exception in page.....
    System.out.println(" Fourth > ");
    povo.getCurrentRow().setAttribute("Attribute12",UnitId);
    // if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    // pageContext.writeDiagnostics("TEST >", UnitId, 1);
    Thanks
    krishna

  • Tracking the changes made to the custom table  field value

    Hi all,
           can we track the changes made to the custom table field values. if yes..plz specify how it can be done.
    Example: if i changed the  value of field  'NAME' of table 'YYHCUSTOMER'. i would like to know the old value and the new value of the field. For this, I set the flag 'LOG DATA CHANGES' in the technical settings of the table 'YYHCUSTOMER'.

    -> try TA: SCU3
    regards Andreas

  • How to populate date & time when user enter data for custom table in sm30

    Can anyone tell me How to populate system date & time when user enter data for custom table in sm30..
      Req is
      i have custom table and using sm30 user can enter data.
    after saving date i want to update date & time in table
    Pls let me know where to write the code?
    Thanks in Advance

    You have to write the code in EVENT 01 in SE54 transaction. Go to SE54, enter your Ztable name and in the menu 'Environment-->Events'. Press 'ENTER' to go past the popup message. In the next screen, click on 'New Entries'. In the first column, enter 01 and in the next column give some name for your routine(say UPDATE_USER_DATE_TIME). Then click on the souce code icon that appears in blue at the end of the row. In the code, you need logic like below.
    FORM update_user_date_time.
      DATA: f_index LIKE sy-tabix.
      DATA: BEGIN OF l_total.
              INCLUDE STRUCTURE zztable.
      INCLUDE  STRUCTURE vimtbflags.
      DATA  END OF l_total.
      DATA: s_record TYPE zztable.
      LOOP AT total INTO l_total.
        IF l_total-vim_action = aendern OR
           l_total-vim_action = neuer_eintrag.
          MOVE-CORRESPONDING l_total TO s_record.
          s_record-zz_user = sy-uname.
          s_record-zz_date = sy-datum.
          s_record-zz_time = sy-uzeit.
          READ TABLE extract WITH KEY l_total.
          IF sy-subrc EQ 0.
            f_index = sy-tabix.
          ELSE.
            CLEAR f_index.
          ENDIF.
          MOVE-CORRESPONDING s_record TO l_total.
          MODIFY total FROM l_total.
          CHECK f_index GT 0.
          MODIFY extract INDEX f_index FROM l_total.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " UPDATE_USER_DATE_TIME
    Here ZZTABLE is the Z table and ZZ_USER, ZZ_DATE, and ZZ_TIME are the fields that are updated.

  • F4 help for ALV table field

    Hi Experts,
    I need to implement F4 help for ALV table field.
    I my scenario, I am using two views. If we click on any record in fist view then it displays the popup window (second view) with relevant record details.
    Here one of the columns having fieldnames corresponding values (old values), for correcting old values I have created new value editable column, we can enter new value for old value then we can save it. Till this functionality is ok.
    Then I have included OVS help for new value field. Here I need to get f4 help for newvalue field relevant to fieldname.
    For example: user clicks on f4 in cell (new value) then if corresponding fieldname is u2018WERKSu2019 then it shows the plant values
    Here I can get fieldname, domain name  and value table using method set_attribute ().
    Same concept I have implemented in ALV using F4IF_FIELD_VALUE_REQUEST. It is working fine
    Here I have little bit confusion. Please advise me how to implement in OVS.
    Regards,
    BBC

    Hi,
    you'll have to create a method for the OVS search help (define it in the "OVS component usage" field in the context).
    Sample code (should work for WERKS):
    method on_ovs .
    declare data structures for the fields to be displayed and
    for the table columns of the selection list, if necessary
      types:
        begin of lty_stru_input,
      add fields for the display of your search input here
          WERKS TYPE WERKS,
        end of lty_stru_input.
      types:
        begin of lty_stru_list,
      add fields for the selection list here
          WERKS TYPE WERKS_D,
          NAME1 type NAME1,
        end of lty_stru_list.
      data: ls_search_input  type lty_stru_input,
            lt_select_list   type standard table of lty_stru_list,
            ls_text          type wdr_name_value,
            lt_label_texts   type wdr_name_value_list,
            lt_column_texts  type wdr_name_value_list,
            lv_window_title  type string,
            lv_group_header  type string,
            lv_table_header  type string,
            lv_werks type werks_d.
      field-symbols: <ls_query_params> type lty_stru_input,
                     <ls_selection>    type lty_stru_list.
      case ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.  "configuration phase, may be omitted
      in this phase you have the possibility to define the texts,
      if you do not want to use the defaults (DDIC-texts)
    Set label from Medium Description to something more logical...
          ls_text-name = `NAME1`.  "must match a field in list structure
          ls_text-value = `Plant description`.
          insert ls_text into table lt_label_texts.
    Set col header from Medium Description to something more logical...
          ls_text-name = `NAME1`.  "must match a field in list structure
          ls_text-value = `Plant description`.
          insert ls_text into table lt_column_texts.
         lv_window_title = wd_assist->get_text( `003` ).
         lv_group_header = wd_assist->get_text( `004` ).
         lv_table_header = wd_assist->get_text( `005` ).
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title = lv_window_title
                    table_header = lv_table_header
                    col_count    = 2
                    row_count    = 20 ).
        when if_wd_ovs=>co_phase_1.  "set search structure and defaults
      In this phase you can set the structure and default values
      of the search structure. If this phase is omitted, the search
      fields will not be displayed, but the selection table is
      displayed directly.
      Read values of the original context (not necessary, but you
      may set these as the defaults). A reference to the context
      element is available in the callback object.
         ovs_callback_object->context_element->get_static_attributes(
             importing static_attributes = ls_search_input ).
        pass the values to the OVS component
         ovs_callback_object->set_input_structure(
             input = ls_search_input ).
        when if_wd_ovs=>co_phase_2.
      If phase 1 is implemented, use the field input for the
      selection of the table.
      If phase 1 is omitted, use values from your own context.
          if ovs_callback_object->query_parameters is not bound.
          endif.
          assign ovs_callback_object->query_parameters->*
                                  to <ls_query_params>.
          if not <ls_query_params> is assigned.
    TODO exception handling
          endif.
            call method ovs_callback_object->context_element->get_attribute
              exporting
                name  = 'WERKS'
              importing
                value = lv_werks.
            data: lv_subcat_text type rstxtmd.
            select werks
                   name1
              into table lt_select_list
              from T001W.
            ovs_callback_object->set_output_table( output = lt_select_list ).
        when if_wd_ovs=>co_phase_3.
      apply result
          if ovs_callback_object->selection is not bound.
          endif.
          assign ovs_callback_object->selection->* to <ls_selection>.
          if <ls_selection> is assigned.
            ovs_callback_object->context_element->set_attribute(
                                   name  = `WERKS`
                                   value = <ls_selection>-werks ).
          endif.
      endcase.
    endmethod.

  • Add Table maintenance program for custom table to an existing func group

    Hi Guys,
    Can I add Table maintenance program for custom table to an existing function group or I need to create a new
    function group for each custom table.
    Thanks,
    mini

    You can add to an existing function group, there's nothing technically to stop you doing this.  However, consider that this is creating generated function modules in this function group and you would be wise to avoid using a function group containing manually created modules.
    I personally always create a new function group, using the name of the table as the name of the function group.
    Regards,
    Nick

  • Editing Autofill List for Custom Metadata Fields

    I have 13,000+ photographs cataloged in Aperture 2.1 In an effort to better manage these photographs, I have added custom metadata for my own use. The fields let me know whether I have printed for my portfolio, watermarked, added to my web site, status of release, etc. All of this data is manually entered and at times my fingers don't always hit the correct keys on the keyboard so I end up with autofill data that is incorrect. I have been unable to find a way to edit the autofill data for custom metadata fields. Selecting 'Edit Autofill List' does not give me access to my custom field autofill information. Am I missing something? Is this an oversight on my part or on the part of the application?

    Unfortunately I'm not using presets to do this. I don't think presets will help me with this, but it could be just that I don't understand presets that well. I use presets for entering Metadata from a shoot as I 'import' the raw files into Aperture. Maybe I'm trying to do something that Aperture was never intended to do, yet I need to have as few locations where I track
    As an example, as I print a photograph for my portfolio I mark one of the custom fields labelled 'Printed' as 'Yes'. Later I can locate those 4 or 5 star photographs that haven't been printed and decide if I want to print them. I use the same type of arrangement for my website with an 'Added to web' indicator as 'Yes'. I may also mark that 'Printed' field as 'N/A'. The reason follows. For watermarking photographs before adding them to my site via iWeb, I export and the photographs and then reimport the watermarked photographs into a separate project but since these photographs are at a lower resolution, have a different color profile and are jpegs, I never print them for my portfolio so I mark them 'N/A' in the 'Printed' field. Well my fingers do slip on the keys and before I realize it the nifty autofill now requires that I type not just the 'N' to get an 'N/A', but I must type it all, because one time I typed 'N and a space' or some such and that is what autofills. It even happens with 'Yes'. I suppose the real answer is to be more careful as I type, but that is not my reality.
    So, all I'm looking for is a way to have access to the autofill list that is created for my custom metadata fields so that I can delete the erroneous autofill entry. I've thought about deleting the field entirely and recreating it, but that would remove all those indicators or flags that I have already entered for my photographs.
    Alternatively I could find an IPTC field that I am not using and find a way to use it, (because those fields have autofill lists that can be edited). However my record keeping would be exported with the photograph. Some of the information that I collect is private and should not be included in the metadata while other information should be; that is why I've settled on custom metadata fields.
    I hope there is a simple answer to this that I'm overlooking.
    If someone else has another way of tracking this same information that is better than the custom metadata fields, I would like to hear about it. However, it would mean reworking all my photographs that Aperture currently manages.

  • What is authorization object and how to create it for a table

    Hi All,
    What is authorization object and how to create it for a table?
    Thanks

    Hi
    Authorization
    For authorization checks, there are many ways of linking authorization objects with user actions in an SAP system. The following discusses three possibilities in the context of ABAP programming.
    Authorization Check for Transactions
    You can directly link authorization objects with transaction codes. You can enter values for the fields of an authorization object in the transaction maintenance. Before the transaction is executed, the system compares these values with the values in the user master record and only starts the transaction if the appropriate authorization exists.
    Authorization Check for ABAP Programs
    For ABAP programs, the two objects S_DEVELOP (program development and program execution) and S_PROGRAM (program maintenance) exist. They contains a field P_GROUP that is connected with the program attribute authorization group. Thus, you can assign users program-specific authorizations for individual ABAP programs.
    Authorization Check in ABAP Programs
    A more sophisticated, user-programmed authorization check is possible using the Authority-Check statement. It allows you to check the entries in the user master record for specific authorization objects against any other values. Therefore, if a transaction or program is not sufficiently protected or not every user that is authorized to use the program can also execute all the actions, this statement must be used.
    AUTHORITY-CHECK OBJECT object
                            ID name1 FIELD f1
                            ID name2 FIELD f2
                            ID namen FIELD fn.
    object is the name of an authorization object. With name1, name2 ... , and so on, you must list all fields of the authorization object object. With  f1, f2 ... , and so on, you must specify the values that the system is to check against the entries in the relevant authorization of the user master record. The AUTHORITY-CHECK statement searches for the specified object in the user profile and checks the useru2019s authorizations for all values of f1, f2 ... . You can avoid checking a field name1, name2 ... by replacing FIELD f1  FIELD f2 with DUMMY.
    After the FIELD addition, you can only specify an elementary field, not a selection table. However, there are function modules available that execute the AUTHORITY-CHECK statement for all values of selection tables. The AUTHORITY-CHECK statement is supported by a statement pattern.
    Only if the user has all authorizations, is the return value sy-subrc of the AUTHORITY-CHECK statement set to 0. The most important return values are:
    ·        0: The user has an authorization for all specified values.
    ·        4: The user does not have the authorization.
    ·        8: The number of specified fields is incorrect.
    ·        12: The specified authorization object does not exist.
    A list of all possible return values is available in the ABAP keyword documentation. The content of sy-subrc has to be closely examined to ascertain the result of the authorization check and react accordingly.
    REPORT demo_authorithy_check.
    PARAMETERS pa_carr LIKE sflight-carrid.
    DATA wa_flights LIKE demo_focc.
    AT SELECTION-SCREEN.
      AUTHORITY-CHECK OBJECT 'S_CARRID'
                      ID 'CARRID' FIELD pa_carr
                      ID 'ACTVT' FIELD '03'.
      IF sy-subrc = 4.
        MESSAGE e045(sabapdocu) WITH pa_carr.
      ELSEIF sy-subrc <> 0.
        MESSAGE e184(sabapdocu) WITH text-010.
      ENDIF.
    START-OF-SELECTION.
      SELECT  carrid connid fldate seatsmax seatsocc
        FROM  sflight
        INTO  CORRESPONDING FIELDS OF wa_flights
        WHERE carrid = pa_carr.
        WRITE: / wa_flights-carrid,
                 wa_flights-connid,
                 wa_flights-fldate,
                 wa_flights-seatsmax,
                 wa_flights-seatsocc.
      ENDSELECT.
    Regards
    Hitesh

Maybe you are looking for

  • Inserting data from a view

    Hi: i'd like to create a view from 5 different tables and let the user insert data through a form based in that view. Does anybody know how to do this? when i try to insert data i get error saying it can't be done in non key preserved tables. Any ide

  • Why don't my Mac OS Extended (Journaled) format FW drives appear in FCP?!

    When I connect my camera via FW and try to import large files, I can't get FCP to display my FW 3TB drive. It's Mac OS Extended (Journaled) formatted with just the one partition. My internal drive is partitioned into three and they are all shown as d

  • OEI Not installed properly

    Hi All, I have installed OEI as described on my notebook (Windows 7, Outlook Professional 2010) without receiving any errors. But I can not find the buttons mentioned to progress. Do I need to do sth to get the buttons activated in Outlook 2010 ribbo

  • ConnectionBean fail with stress test. please assist.

    I am using the following to get connected to database. package com.db; import java.util.*; import java.io.*; import java.sql.*; import javax.servlet.http.*; public class ConnectionManager implements HttpSessionBindingListener   private Connection con

  • Properties of Web Services generated from Application services in CAF

    Hi to all, first sorry for posting one question twice (in CAF and CE forums) but I am not sure where exactly it belongs. I experience problems with exposing web services from application service in CE 7.1 (trial version). I want to add fault elements