Can IOM field user-defined hold multiple values?

Hello

I have a need to allow the user to manage a multivalued field named custID in IOM so that he could then be pushed down to LDAP.

I also have the ability to use a custom user interface to display the CustomerID field.  I wonder if I could store this multivalued field in the table to the usr.

If the answer is no, we have other options?

Thank you

Khanh

No, you can't unforturnately of multivalued fields. But you can use coma

separated in a UDF list. But it is limited to a length - 4000 characters.

Tuesday, November 18, 2014, at 12:15, community-admin

Tags: Fusion Middleware

Similar Questions

  • Fields & user-defined AD connector

    Hi all

    I'm having a little trouble understanding the information flow of the user Xellerate to the connector AD commissioning table and hoping that someone could help me. Basically, I have a set of fields that are defined by the user that I have to get configured in active directory. I followed documentation AD connector for adding new fields to the form of resources and process of definition, but I still don't see the new values for the data in the UD_ADUser array to be configured in our era. Don't know if there's a pre-fill adapter I need to add to move data from USR in UD_ADUSER or if there is some other mapping data that needs to be done, but any help or advice (end to end) would be useful.

    Thank you
    Nick

    After you add the fields on the announcement form, you must create and attach a pre fill adapters to form user AD for the field.
    Data will be copied from the user field ==> field of user AD via adapter form pre pop.

    To spread further the data down to AD, you need to do all this mentioned in the doc to add new fields

    Thank you
    Suren

  • user-defined function result value was too big

    Hi experts,

    Face because of function result value user was too big while I extracted and insert the XML into an oracle table. That is, it works fine when the XML size less than 4000 characters, but the issue will increase when the xml code size more than 4000 characters.
    I can't able to unravel using gently question out of the question.

    This is my code:-
    
    INSERT INTO ENDORSEMETN (Endorsement_name)
    SELECT 
          EXTRACTVALUE (COLUMN_VALUE, '//Table1/Endorsement')
                     FROM TABLE (XMLSEQUENCE (EXTRACT (SYS.XMLTYPE (p_xmlDetails),'/NewDataSet/Table1')));
    Thanks and greetings
    Arun

    Although the syntax is supported from 10.2.0.4 (ou.3), the ability to directly throw text() big bows that CLOB has been added in version 11.2.0.2.

    For example:

    SELECT endorsement_name
    FROM XMLTable('/NewDataSet/Table1'
           passing xmltype(p_xml_Endorsement)
           columns endorsement_name clob path 'Endorsement'
         )
    ;
    

    On older versions, you can use this trick:

    SELECT dbms_xmlgen.convert(
             xmlserialize(content endorsement)
           , 1
           ) as endorsement_name
    FROM XMLTable('/NewDataSet/Table1'
           passing xmltype(p_xml_Endorsement)
           columns endorsement xmltype path 'Endorsement/text()'
         )
    ;
    
  • Return multiple values from a table

    Hi there I'm working on a bit of sql that returns values when they exist in a table.
    The code I have returns the correct value when there is an entry in the tbl_studentmodules table, as soon as there is more than one entry in this table it does display no line at all: (.)

    Can someone tell how to return multiple values?

                 select modulename from tbl_modulefeedback
    where 1 = (select count(*) from tbl_studentmodules
           where upper(:APP_USER) = upper(student_id))
    and 1 = (select count(*) from tbl_modulefeedback, tbl_studentmodules
          where tbl_modulefeedback.modulecode = tbl_studentmodules.modulecode)
    Thanks in advance!

    Ashleigh

    Try this:

    select modulename
    from tbl_modulefeedback
    where 1 <= (select count(*) from tbl_studentmodules
           where upper(:APP_USER) = upper(student_id))
    and 1 <= (select count(*) from tbl_modulefeedback, tbl_studentmodules
          where tbl_modulefeedback.modulecode = tbl_studentmodules.modulecode)
    

    When you ask questions, please enter CREATE TABLE and INSERT some commands to make it easier to help you.

  • Using the index of multiple values

    Hi guys,.

    Trying to assess the benefits of the addition of index of multiple values, a quick question on the index of multiple values:

    Here's my content from the cache:

    Key (EmpID), value [employee (age int, double salary, Department of String)]
    (1, new employee (25, 35000.0, "Admin"));
    (2, new employee (22, 30000.0, "Admin"));
    (3, new employee (34, 40000.0, 'Communications'));
    (4, new employee (36, 41000.0, "Admin"));
    (5, new employee (36, 42000.0, "HR"));
    (6, new employee (29, 30000.0, "HR"));
    (7, new employee (51, 50000.0, "BackOffice"));
    (8, new employee (36, 35000.0, "HR"));
    (9, new employee (46, 45000.0, "Admin"));
    (10, new employee (48, 47000.0, "HR"));

    If I still want to find all employees in the 'Human resources' Department and whose salary is more than 35000.

    Eventually, I would like to do the following:
    ValueExtractor salExtractor = new PofExtractor (Integer.class, 2);
    ValueExtractor depExtractor = new PofExtractor (String.class, 3);
    cache.addIndex (salExtractor, false, null);
    cache.addIndex (depExtractor, false, null);

    EqualsFilter departmentFilter = new EqualsFilter (depExtractor, 'HR');
    GreaterFilter salFilter = new GreaterFilter (salExtractor, 35000);
    Filter allFilter = new AllFilter (new filter [] {departmentFilter, salFilter});
    Employees value = cache.entrySet (allFilter));

    For my usecase above how can I use the indexing of multiple values to the same query?
    ValueExtractor salExtractor = new PofExtractor (Integer.class, 2);
    ValueExtractor depExtractor = new PofExtractor (String.class, 3);
    MultiExtractor mExtractor is new MultiExtractor (new ValueExtractor [] {salExtractor, depExtractor});.
    cache.addIndex (mExtractor, false, null);

    But how can I use the extractor to create multivalued filter queries for employees in the Department of human resources with greater than 35000 salary? Any ideas are much appreciated.


    Thank you

    D wrote:
    Hi guys,.

    Trying to assess the benefits of the addition of index of multiple values, a quick question on the index of multiple values:

    Here's my content from the cache:

    Key (EmpID), value [employee (age int, double salary, Department of String)]
    (1, new employee (25, 35000.0, "Admin"));
    (2, new employee (22, 30000.0, "Admin"));
    (3, new employee (34, 40000.0, 'Communications'));
    (4, new employee (36, 41000.0, "Admin"));
    (5, new employee (36, 42000.0, "HR"));
    (6, new employee (29, 30000.0, "HR"));
    (7, new employee (51, 50000.0, "BackOffice"));
    (8, new employee (36, 35000.0, "HR"));
    (9, new employee (46, 45000.0, "Admin"));
    (10, new employee (48, 47000.0, "HR"));

    If I still want to find all employees in the 'Human resources' Department and whose salary is more than 35000.

    Eventually, I would like to do the following:
    ValueExtractor salExtractor = new PofExtractor (Integer.class, 2);
    ValueExtractor depExtractor = new PofExtractor (String.class, 3);
    cache.addIndex (salExtractor, false, null);
    cache.addIndex (depExtractor, false, null);

    EqualsFilter departmentFilter = new EqualsFilter (depExtractor, 'HR');
    GreaterFilter salFilter = new GreaterFilter (salExtractor, 35000);
    Filter allFilter = new AllFilter (new filter [] {departmentFilter, salFilter});
    Employees value = cache.entrySet (allFilter));

    For my usecase above how can I use the indexing of multiple values to the same query?
    ValueExtractor salExtractor = new PofExtractor (Integer.class, 2);
    ValueExtractor depExtractor = new PofExtractor (String.class, 3);
    MultiExtractor mExtractor is new MultiExtractor (new ValueExtractor [] {salExtractor, depExtractor});.
    cache.addIndex (mExtractor, false, null);

    But how can I use the extractor to create multivalued filter queries for employees in the Department of human resources with greater than 35000 salary? Any ideas are much appreciated.

    Thank you

    I remember, values multiple index refers to a different concept: a multivalued index means that you can retrieve a collection of values of similar role of an attribute on which you can do Contains, ContainsAll filtering, and ContainsAny.

    In this case to fully the lever consistency of querying capabilities, you would
    - either add a sorted index with a custom comparator that compares the tables containing a salary and a Department on a first salary so the base of the Department and add a filter custom which is able to take advantage of the index for the request for the salary and also able to filter on the element of the array of index service
    -Add two independent indices (a sorted index of wages and a unsorted for the Department), in which case you can leverage all existing (GreaterThanFilter, EqualsFilter and AndFilter) code

    Best regards

    Robert

  • Research of the IOM user-defined field

    Hello

    I installed IOM connected to OID.

    Now, if I want to create a new field defined by the user (in the creating user profile) to say... Employment-Band (and fill in the drop down for Job-band with the values A, B, C, d, etc), what steps should I follow.

    Edited by: Nelly Saluja on February 7, 2010 22:29

    Hello

    If I understand your question, you want to create a new UDF (user-defined field), I have the user profile for this to cretae a udf from the console design, in your case, you have to select the users in the form of name that you want to add a field in the profile.
    Select Search in the field type after that click on the Properties , you need to attach research corresponding to this in the the search code, for this, you must create a search with your values that you want to display the values. Here, you attach it.

    Hope this helps you
    Concerning
    VM

  • Search for multiple values in a single field

    Hello

    I have this request to get results when the user doing a search query:

    select * from (
    select 
    "ID",
    "ID" ID_DISPLAY,
    "SHIFT_DATE",
    "SHIFT",
    "OFFENSE_ID",
    "DESCRIPTION",
    "ANALYST",
    "STATUS",
    "SUBSTATUS"
    from "#OWNER#"."IDSIEM_OFFENSES") 
    where
    OFFENSE_ID IN(:P223_OFFENSES) AND
    
     (
     instr(upper("DESCRIPTION"),upper(nvl(:P223_DESCRIPTION,"DESCRIPTION"))) > 0 
    )
    AND
    (
     instr(upper("SHIFT"),upper(nvl(:P223_SHIFT,"SHIFT"))) > 0 
    )
    AND
    (
     instr(upper("SUBSTATUS"),upper(nvl(:P223_SUBSTATUS,"SUBSTATUS"))) > 0 
    )
    AND
    (
     instr(upper("ANALYST"),upper(nvl(:P223_ANALYST,"ANALYST"))) > 0 
    )
    AND
    (
     instr(upper("SHIFT_DATE"),upper(nvl(:P223_SHIFTDATE,"SHIFT_DATE"))) > 0 
    )
    AND
    (
     instr(upper("STATUS"),upper(nvl(:P223_STATUS,"STATUS"))) > 0 
    )
    
    ORDER BY OFFENSE_ID DESC
    

    The thing I want to do is to set multiple values in the P223_OFFENSES field when I search. For example, an offence is a number, so I want to put in the search box 1111, 3333, 4444, 5555 and the report shows me these 4 offences in the report. The search operation only works when I put only 1 offences, but when I put more than 1, separated by commas, it gives me this error: error report: ORA-01722: invalid number. That is why, because is a number and the character point is not allowed, how can I achieve this? Thank you in advance.

    Best regards, Bernardo

    I solved a problem like this a few times with a utility function of pipeline for extracting the values from the list:

    CREATE or REPLACE TYPE split_tbl AS TABLE OF VARCHAR2 (32767).

    /

    FUNCTION to CREATE or REPLACE split_list

    (

    p_list VARCHAR2

    p_delimiter VARCHAR2: = ', '.

    ) Split_tbl RETURN

    PIPELINED IS

    l_idx PLS_INTEGER;

    l_list VARCHAR2 (32767): = p_list;

    BEGIN

    LOOP

    l_idx: = instr (l_list, p_delimiter);

    IF l_idx > 0

    THEN

    LINE of CONDUCT (substr (l_list, 1, l_idx - 1));

    l_list: = substr (l_list, l_idx + length (p_delimiter));

    ELSIF TRIM (l_list) IS NOT NULL

    THEN

    PIPE ROW (l_list);

    EXIT;

    ON THE OTHER

    EXIT;

    END IF;

    END LOOP;

    RETURN;

    END split_list;

    /

    In this way, you can define SQL like:

    SELECT to_number (column_value) FROM TABLE (split_list (' 1, 3, 99', ','))

    Or for this specific case: replace the condition

    OFFENSE_ID IN(:P223_OFFENSES)

    with

    OFFENSE_ID IN (SELECT to_number (column_value) FROM TABLE (split_list (: P223_OFFENSES, ',')))

    The advantage over using instr or regex is that you can usually always benefit index on OFFENSE_ID

    Better also to restrict entry to only numbers and ', ' or you will always get invalid numbers errors if a user enters "1234, 567, ABC"in the field of P233_OFFENSES.

    Kind regards

    Thierry

  • The research of Web applications with fields of the Data Source that contains multiple values

    I have a Web application with a field that allows multiple values to be recorded similar to the list box. I need limit the allowed values for a large, over the list of the values currently stored in another Web application as a data source. I can not apply to the type of Data Source field that allows only single value selection. I also need to be able to use the search form Web App to search for items containing 1 OR more of the values in this field (a type of list control field search functionality). Here's what I tried to field types:

    • Text (String) or text (multi-line) field type - By saving a list of values separated by commas (outputs in the same way this list box) to an entry of text or textarea, the search only logic search exact string (including commas) and does not analyze individual values.
    • Type of list (checkbox) field - it allows me to search for multiple values using the logic of the GOLD, but the web application stores only the values that have been entered as an option in the field settings real web app. I tried to use a checkbox with minimal or empty options list, hoping that some values I sent more separate by a comma value chain would be still stored, but because the values come from my Web App data source and not stored with the field options list, they were not saved.

    Someone at - he found a way to do it?

    My other question is how can I use a multivalued field to similar as described above but return results containing the elements with ALL the values of this field (AND logic).

    Can someone enlighten me to the inner workings of the search BC logic web app?

    You don't need to use the predefined boxes or types of entries. Everything you can represent as a string (such as the values separated by commas in your example) can be saved in any field of webapp. The types of fields defined in the Web application are only used to translate internal representation (all channels) to the various user-friendly interpretations (checkboxes, radios, dates, links, etc.)

  • Cannot get 'IN' text field with multiple values.

    I have a text field (P11_SERIAL_NUMBERS) someone would use to enter multiple values (i.e. of the serial numbers). I tested various methods but can't seem to get anything working. I used values such as ' 12929', '19191' or ('11919', ' 19192 ', ' 1111') or 12121,121333.»

    I have to analyze this area after the entrance is and update P11_SERIAL_NUMBER to something like ("121212 ', 121211', '292929'). The report is a SQL query returning the body of a PL/SQL function. I build the query in an anonymous block to something like the following:

    SELECT apex_item.checkbox (1, instance_number) Ins,.
    apex_item. Text(2,i.instance_number) instance_number.
    apex_item. Text(3,i.item_number) item_number.
    description of the apex_item. Text(4,i.Description),
    Serial_number apex_item. Text(5,i.serial_number),
    i.party_name,
    i.status_name
    Cycsi_item_details_v I have
    WHERE i.item_number IN (SELECT v.item_number FROM cycsi_installed_base_v WHERE v.serial_number = i.serial_number v)
    AND i.item_number AS NVL ('%' |') XLA' | ' %','%')
    AND NOT EXISTS (SELECT d.item_serial_number FROM cy_fco_d, d WHERE d.fco_id = 2803 AND d.item_serial_number = i.serial_number) AND i.serial_number IN ('61763 ', ' 61621');

    However, when I enter several values that nothing ever went back to the SUMMIT even though the SQL query returns more rows. I run the application in debug mode and it seems to show the values correctly.

    0.11: show report
    0.12: determine the column headings
    0.12: analyze the query such as: TRAFFIC
    0.15: binding: ": P11_MODEL_NUMBER"= "P11_MODEL_NUMBER" value = "XLA"»
    0.16: binding: ": P5_FCO_ID"= "P5_FCO_ID" value = "2803"»
    0.17: binding: ": P11_SERIAL_NUMBERS"= "P11_SERIAL_NUMBERS" value = '(' 61621', ' 61763')""
    0.19: print the column headings
    0.19: loop lines: 15 rows
    No data found

    If I add only a serial number at a time as the APEX application returns the line correctly.


    Does anyone have an idea what I'm doing wrong or what best way to solve this problem?
    Thank you
    John

    Published by: Jennifer on July 13, 2010 15:23

    Hi John,.

    I just tried a report region based on PL/SQL query encoded using your method to refer to element names in the query string of back:

    declare
       q varchar2(100) := 'select ename, job from emp';
    begin
       if :P2_ENAMES is not null then
            q := q || ' where ename in :P2_ENAMES';
       end if;
    
       wwv_flow.debug('*** Query: ' || q);
    
       return q;
    end;
    

    As I suspected, he did not work for me P2_ENAMES was ('KING') or ('KING', 'SMITH'). I think it's because of the reason for which I gave in my previous post - ApEx passes off the coast of the dynamic execution of SQL string, it does not automatically replace the mention: P2_ENAMES with the value of the element. I don't know how it can work for you.

    If I change the code I proposed:

    declare
       q varchar2(100) := 'select ename, job from emp';
    begin
       if :P2_ENAMES is not null then
            q := q || ' where ename in ' || :P2_ENAMES;
       end if;
    
       wwv_flow.debug('*** Query: ' || q);
    
       return q;
    end;
    

    It works very well if one or several names are specified.

    I took a blow to modify your code for the construction of the query string - does not immediately guarantee, it'll work because I can't test (might be missing a parenthesis or quotation) it but you should get the idea:

    -- start with initial valid query that ApEx can parse to determine column names
    q := 'SELECT apex_item.checkbox(1, instance_number) ins, apex_item.text(2, i.instance_number) instance_number,
                 apex_item.text(3, i.item_number) item_number, apex_item.text(4, i.description) description,
                 apex_item.text(5, i.serial_number) serial_number, i.party_name, i.status_name
            FROM cycsi_item_details_v i
           WHERE i.item_number IN (SELECT v.item_number
                                     FROM cycsi_installed_base_v v
                                    WHERE v.serial_number = i.serial_number)';
    
    -- add model number condition if specified
    if :P11_MODEL_NUMBER is not null then
       q := q || ' AND i.item_number LIKE ''%' || :P11_MODEL_NUMBER || '''%''';
    end if;
    
    -- add serial numbers condition if specified
    if :P11_SERIAL_NUMBERS is not null then
       q := q || ' AND i.serial_number IN (' || :P11_SERIAL_NUMBERS || ')';
    end if;
    
    -- add FCO id condition if specified
    if :P5_FCO_ID is not null then
       q := q || ' AND NOT EXISTS (SELECT d.item_serial_number
                                     FROM cy_fco_d d
                                    WHERE d.fco_id = ' || :P5_FCO_ID || '
                                      AND d.item_serial_number = i.serial_number)';
    

    I know that has focused on getting this code works, but I would be remiss in my duties if I didn't at least mention the risk of SQL injection. You may already know this, but unless you do a good job to validate the values of the element used in the query, you could open yourself up to a SQL injection attack. For example, imagine what that would be returned if a hacker sharp entered "12345) GOLD (1 = 1" in the field of P11_SERIAL_NUMBERS - you would get all that may or may not be a security problem.

    Hope this helps,
    John

  • How ins or upd multiple values in a record of diff of the fields by using the cursor

    Hai All

    I need to insert or update or multiple values in a single diff of one field records to another table.

    Table 1 has 3 fields

    Bartime bardate barcode

    02/01/10 0011, 0815

    02/01/10 0022, 0820

    02/01/10 0011, 1130

    02/01/10 0022, 1145

    02/01/10 0011, 1230

    02/01/10 0022, 1235

    02/01/10 0011, 1645

    02/01/10 0022, 1650


    These are the times that arrives at 0815 and pauses at 1130 and arrives at 12: 30 a.m. and coming home at 4:45 pm
    These table I have to insert into another table called table2
    and the fields are bar codes, date, intrinsically timein, introut, tiomout

    And the output you want to like this

    barcode timein intrinsically introut timeout date
    0011 0815 1130 1230 1645 02/01/10

    0022 0820 1145 1235 1650 02/01/10

    If all give some good answer that it will be help full...

    Thanks and greetings

    Srikkanth.M

    Hi Srikanth,

    1. first create a datablock (better do instead of the table because its only for querying details of table 1 for the period) with table1 as table base and better use order by clause in form as "order to barcode, date, bartime.

    2. create a second datablock with table2 and get this rank on the two table (second block as base table, because here, you should insert/update)

    now on the screen you can see all the data in 2 tables.

    3. fix the button of some process.

    a time-but-press

    Loop

    1 block of travel and take a line

    Find the same block 2

    If code in bars-avail so
    -you want to update
    on the other
    -you want to insert

    end if;

    end of loop

    and 2nd block will be updated / inserted as u desire, and finally, you can save the second block.

    Iqbal

  • Extraction of the smartview user-defined fields

    I used fields that are defined by the user to create lists. Does anyone know a way I can extract these fields of HFM using smartview?

    Thank you.

    According to Guide of Smartview, user-defined attributes are available for Essbase and HFM no

  • Import/Export User Defined Fields

    Hi all

    I drew the profile in various ways.

    -Removed some default user in FormMetaData.xml fields
    -Change the name of certain fields in the language file.
    -Creation of some user-defined fields.

    Now I need to export the form user to a different installation of IOM.

    WHT shoul I do?

    Copy the language formmetada.xml and utilities files?
    What of the UDF?

    Thanks in advance

    Hello
    You will need to perform the three steps you mention:

    (1) (copy FormMetadata.xml
    (2) copy the corresponding properties file
    (3) export the UDF file and its dependencies (research, for the most part) via the Deployment Manager, in the web console.

    Kind regards

  • The data specified in the request is invalid. The value of the field id package is not a MultipleLiteral, but the field is defined as MultiValued

    We have a property in a component software which is an array. the value is [""]

    In the blueprint I am sitting a value property ['vim', 'emacs'] defalult

    When I ask this plan and change the values of foo, bar, I get this error

    The data specified in the request is invalid. The value of the field id package is not a MultipleLiteral, but the field is defined as MultiValued

    someone knows why this happens?

    I'm runnign vra7.0.1

    Strangely, it works if

    Overridable is set to NO

  • Can I use function defined by the user in the control file Sql Loader?

    Hi Master,

    Can I use fuction user-defined in the sql loader control file? Please advise... !!

    If you can provide an example... It's very kind of you.

    Concerning

    AR

    Here are a few examples that should give you clues: Sql loader

    I seriously wonder if why you use the century previous SQL * Loader instead of a external table:

    ORACLE-BASE - external Tables: querying data from flat files in Oracle


  • Validate a field with multiple values.

    Hi, I have to limit the decimal values to a text entry field that is "number".
    When I click SAVE it will say that the decimal values are not allowed.
    This part is fine. But the problem is that when I record multiple entries (batch record). It validate the first row only, and then according to the first value of the line it throws the exception.

    I use this piece of code to extract the values of "number."

    OAMessageTextInputBean oamessagetextinputbean = (OAMessageTextInputBean) webBean.findChildRecursive ("Number");

    String qty = (String) oamessagetextinputbean.getValue (pageContext);

    But it is only returning a value in the field number. Using this value I validate against the decimal values.

    How to get the value of the field number in the next row. Also, I need to validate as well.


    Quick help is appreciated.

    Thanks in advance.


    Hi Myvizhi/Sushant

    I tried with this piece of code for the above specified task and it worked fine for me.

    public void processFormRequest (pageContext, OAPageContext,

    {OAWebBean webBean)

    super.processFormRequest (pageContext, webBean);

    Am = OAApplicationModule

    (OAApplicationModule) pageContext.getApplicationModule (webBean);

    Oaviewobject = OAViewObject

    (OAViewObject) am.findViewObject ("PoRequisitionLinesVO");

    int rwcnt = oaviewobject.getRowCount ();

    System.out.println ("rwcnt is" + rwcnt);

    Oatablebean = OATableBean

    (OATableBean) webBean.findChildRecursive ("ItemTableRN");

    If (pageContext.getParameter ('Save')! = null |)

    pageContext.getParameter ("Checkout"). = null) {}

    for (i = 0; i< rwcnt="" ;="">

    oaviewobject.getCurrentRow ();

    OAMessageTextInputBean oamessagetextinputbean = (OAMessageTextInputBean) webBean.findChildRecursive ("Quantity");

    String MessageTextValue = oamessagetextinputbean.getValue (pageContext) m:System.NET.SocketAddress.ToString ();

    System.out.println ("Value of mtv is" + MessageTextValue);

    oaviewobject. Next();

    If (MessageTextValue! = null |) MessageTextValue.length ()! = 0) {}

    If (MessageTextValue.contains("."))

    {

    System.out.println ("Value of mtv is" + MessageTextValue);

    throw new OAException ("decimal values not allowed in the quantity field, Try Again", OAException.ERROR);

    }

    }

    }

    }

    }

    }

    Thank you
    Michel

Maybe you are looking for