Retrieve the value of the sequence

Hello

I'm fairly new to Apex and I have a question about it.

I have a form that users can fill data and send it in a table.
The PK is taken from a sequence and submit the value retrieved is put in the table.

So far so good.

Now what I want to do is that, on Submit, still recoverable it value of the sequence also be put in another table.
I did a process with the following source:

insert into kl_hw (hardware_id_fk, klantnr_fk) VALUES (: P4_HARDWARE_ID, 1);

But the: P4_HARDWARE_ID has no value yet.
What can I do to get the value of sequence early or what is the correct way to do this?

Any help would be appreciated.

Wim

When you run 1 process, it's like a row of process of

? In this process define you a page hidden item using the method previously posted and then use this element when you provide elements to the other table...

Thank you

Tony Miller
Webster, TX

What happens if you were really stalking a paranoid schizophrenic... They would know?

If you answer this question, please mark the thread as closed and give points where won...

Tags: Database

Similar Questions

  • How to create ProcessModel calculate TOTAL as follows to call the file in the sequence?

    I made a custom operator Interface and I want to support a progress bar for giving the user indicates to what extent this time they represent.   I already have the infrastructure of reminder Setup so that the progress bar will be updated based on a Message from the user of the motor.

    In the process template itself, I put in place a "ProcessModelPostStep" (the purple one) reminder so that after all the steps of the calling sequence file I increment an internal counter and send these data as well as the Message of the user.

    The only missing part is to know how to calculate the TOTAL number of steps in the sequence file calling.  I can get the total number of SEQUENCES defined in the calling file but I how to recursively on each sequence loop excluded from top down by counting all the steps of the sequence of the callee.

    Appreciate any help in getting this last piece in place.

    Thank you!

    I have a better solution in the images below.  The code snippet is the code called by TestStand to introduce recursion.

    The attached code is the recursive call.  It is similar to my first post, but the fixed a bug with the cast of references.

    This should get the total number of step.  The code works under some assumptions:

    1. all called sequences are in the same file in sequence.  (You can add steps to also get the path to the movie file and retrieves the sequence from there.)

    2. There is no asynchronous LabVIEW step in TestStand.  (These are treated as sequence calls into the API, and you must add code to sort.)

    Pulido Technologies LLC

  • How to retrieve the value of base on the value on other nodes

    Hi, I have a XML below
    <? XML version = "1.0" encoding = "iso-8859-1"? > <? XML-stylesheet type = "text/xsl" href="C:\temp\horizontal.xsl"? " >
    < Type report = "REPORT" >
    < prop Type = 'Result' Flags = "0 x 0" > "
    < prop Name = 'STEP' Type = "Obj" Flags = "0 x 0" > "
    < prop Name = 'Sequence' >
    < prop Name = 'RList' >
    < ArrayElementPrototype Type = "TEResult" Flags = "0 x 0" > "
    < / ArrayElementPrototype >
    < value ID "[0]" = >
    < prop Type = 'Result' Flags = "0 x 0" > "
    < prop Name = "Status" Type = "String" Flags = "0x400000" > "
    < value > < / value >
    < / prop >
    < prop Name = "ReportText" Type = "String" Flags = "0x400000" > "
    < value > < / value >
    < / prop >
    < prop Name = "Common" Type = "Obj" TypeName = "CommonResults" Flags = "0 x 0" > "
    < / prop >

    < / prop >
    < / value >
    < value ID "[60]" = > = > ID is not set
    < prop Type = 'Result' Flags = "0 x 0" > "
    < prop Name = "Error" Type = "Obj" TypeName = "Error" Flags = "0x400000" > "
    < prop Name = "Code" Type = "Number" Flags = "0x400000" > "
    < value > 0 < / value >
    < / prop >
    < prop Name = "Msg" Type = "String" Flags = "0x400000" > "
    < value > < / value >
    < / prop >
    < prop Name = "occurred" Type = "Boolean" Flags = "0x400000" > "
    < value > false < / value >
    < / prop >
    < / prop >
    < prop Name = "Status" Type = "String" Flags = "0x400000" > "
    < value > spent < / value >
    < / prop >
    < prop Name = "Numeric" Type = "Number" NumFmt = "%i" Flags = "0 x 2400" > "
    < Value > * 88 * < / value > = > value I want back
    < / prop >
    < prop Name = "ReportText" Type = "String" Flags = "0x400000" > "
    < value > < / value >
    < / prop >
    < prop Name = "Common" Type = "Obj" TypeName = "CommonResults" Flags = "0 x 0" > "
    < / prop >
    < prop Name = "Units" Type = "String" Flags = "0x2000" > "
    < Value >TESTDATA< / value > = > basic data
    < / prop >

    < / prop >
    < / value >

    < / prop >
    < / prop >
    < / prop >
    < / prop >
    < / report >

    I want to retrieve the value 88 the TESTDATA found in this node, can someone show me how to recover?

    Thank you

    Vincent

    Published by: pj * April 29, 2011 01:14

    Yes, it is possible, but the query will be slightly less effective.

    SELECT XMLQuery(
            'for $i in $d/descendant::Value/Prop
             where $i/Prop[@Name="Units"]/Value = $PropValue
             return $i/Prop[@Name="Numeric"]/Value/text()'
             passing t.object_value as "d"
                   , sys_xmlgen('TESTDATA') as "PropValue"
             returning content
           ).getNumberVal()
           as result
    FROM test_xml t
    ;
    
  • How to retrieve the value of the attribute-based

    Hello
    I save our file XML in a clob field.
    The contend of the XML file is as below
    < Reports >
    "< report Type = 'USE' Title = 'USE report' Link="-1-2010-11-2-0-39-48-750 ' UUTResult = 'Fail' StepCount '69' = >
    < prop Name = 'USE' Type = "Obj" TypeName = "USE" Flags = "0 x 0" >
    < prop Name = "Serial number" Type = "String" Flags = "0 x 0" >
    < value > 20302884 < / value >
    < / prop >
    < prop Name = "UUTLoopIndex" Type = "Number" Flags = "0 x 0" >
    < value > 2 < / value >
    < / prop >
    < prop Name = "CriticalFailureStack" Type = "Array" LBound = HBound "[0]" = "[1]" ElementType = "Obj" Flags = "0 x 0" >
    < ArrayElementPrototype Type = "Obj" TypeName = "NI_CriticalFailureStackEntry" Flags = "0 x 0" >
    < prop Name = "StepName" Type = "String" Flags = "0 x 0" >
    < value > < / value >
    < / prop >
    < prop Name = "SequenceName" Type = "String" Flags = "0 x 0" >
    < value > < / value >
    < / prop >
    < prop Name = "SequenceFileName" Type = "String" Flags = "0 x 0" >
    < value > < / value >
    < / prop >
    < prop Name = "Result identifier" Type = "Number" Flags = "0 x 0" >
    < value > 0 < / value >
    < / prop >
    < / ArrayElementPrototype >
    < value ID "[0]" = >
    < prop Type = "Obj" TypeName = "* NI_CriticalFailureStackEntry *" Flags = "0 x 0" > ""
    < prop Name = "StepName" Type = "String" Flags = "0 x 0" >
    < Value >pre-program test< / value >
    < / prop >
    < prop Name = "SequenceName" Type = "String" Flags = "0 x 0" >
    < value > MainSequence < / value >
    < / prop >
    < prop Name = "SequenceFileName" Type = "String" Flags = "0 x 0" >
    < value > Challenger_Phase1.seq < / value >
    < / prop >
    < prop Name = "Result identifier" Type = "Number" Flags = "0 x 0" >
    < value > 368 < / value >
    < / prop >
    < / prop >
    < / value >
    < value ID "[1]" = >
    < prop Type = "Obj" TypeName = "* NI_CriticalFailureStackEntry *" Flags = "0 x 0" > ""
    < prop Name = "StepName" Type = "String" Flags = "0 x 0" >
    < Value >regulator LogicReg< / value >
    < / prop >
    < prop Name = "SequenceName" Type = "String" Flags = "0 x 0" >
    < value > pre-program test < / value >
    < / prop >
    < prop Name = "SequenceFileName" Type = "String" Flags = "0 x 0" >
    < value > Challenger_Phase1.seq < / value >
    < / prop >
    < prop Name = "Result identifier" Type = "Number" Flags = "0 x 0" >
    < value > 371 < / value >
    < / prop >
    < / prop >
    < / value >
    < / prop >
    < / prop >
    < / report >
    < / Reports >



    Can someone guide me how can I retrieve the value of the Prop Name = "StepName", i.e. "Before the program tests" and "LogicReg regulator", which is 1 level under the TypeName = "NI_CriticalFailureStackEntry." I extracted the part of XML code below

    < prop Type = "Obj" TypeName = "NI_CriticalFailureStackEntry" Flags = "0 x 0" >
    < prop Name = "StepName" Type = "String" Flags = "0 x 0" >
    < value > pre-program test < / value >
    < / prop >
    and
    < prop Type = "Obj" TypeName = "NI_CriticalFailureStackEntry" Flags = "0 x 0" >
    < prop Name = "StepName" Type = "String" Flags = "0 x 0" >
    Regulator LogicReg < value > < / value >
    < / prop >


    Thank you

    Vincent

    PJ * wrote:
    I save our file XML in a clob field.

    If you still have the choice, you should consider storing XML data in XMLType column.

    For the moment, assume that the XML data resides in the CLOB SAMPLE_TABLE column. DOC:

    You can use XMLTable to break a sequence of XML elements in columns and relational rows:

    SQL> select x.*
      2  from sample_table t,
      3       xmltable(
      4        '//Prop[@TypeName="NI_CriticalFailureStackEntry"]/Prop[@Name="StepName"]'
      5        passing xmltype(t.doc)
      6        columns num for ordinality,
      7                val varchar2(100) path 'Value'
      8       ) x
      9  ;
    
           NUM VAL
    ---------- -----------------------------------
             1 Pre-program tests
             2 Regulator LogicReg
     
    

    XMLQuery or to extract it as a string:

    SQL> select xmlquery(
      2          'string-join(//Prop[@TypeName="NI_CriticalFailureStackEntry"]/Prop[@Name="StepName"], "|")'
      3          passing xmltype(t.doc)
      4          returning content
      5         ).getstringval() as "RESULT"
      6  from sample_table t
      7  ;
    
    RESULT
    ----------------------------------------------
    Pre-program tests|Regulator LogicReg
     
    
  • Retrieve the value of Dialog.ask

    I am trying to write a function that will create a context menu using Dialog.ask and return the result of the dialog box to the calling Thread.  So far I have somethings like this:

    //display a pop-up "Yes or No" box and return true for yes, false for no
    public boolean ask(final String question){
        UiApplication.getUiApplication().invokeLater (new Runnable(){
                                                          public void run(){
                                                              int answer = Dialog.ask(Dialog.D_YES_NO, question, Dialog.NO);
                                                              if(answer == Dialog.YES){
                                                                  //somehow return true                                                          }
                                                              else{
                                                                  //somehow return false                                                          }
                                                       }});
    }
    

    I've seen a similar thread, but I didn't know how to use the solution.

    http://supportforums.BlackBerry.com/T5/Java-development/getting-values-back-from-runnable-dialog-ask...

    In short, how to use DialogClosedListener to retrieve the value of Dialog.ask to ?

    First of all, you probably want to use invokeAndWait so that the calling thread is blocked until the Runnable.run () ends. After that, one solution is to store the result of somewhere. For example, the subclass of the floor and add a field where you store the value (a more general concept of an executable that can return a value in J2SE is the future, but it is not available out of the box in J2ME). Once completed invokeAndWait, you can read this field. Alternatively, you may return the value by changing something in the outer class (one that contstructs the Runnable). For example,.

    final int[] result = new int[1];
    UiApplication.getUiApplication().invokeAndWait(new Runnable() {
      public void run() {
        result[0] = Dialog.ask(...);
      }
    });
    
    int choice = result[0];
    ...
    
  • How to store and retrieve long values in the store persistent

    Hello

    In my application I want to store and retrieve long values in the persistent store that I used with Longvector and all is well, but LongVector is supported for operating system > = 4.6

    I need to work my request in 4.5 also, can any one infrom me what are the other alternatives, I have to get my pls any abstract requirement...

    Vector v = new Vector();
    fill vector
    Long premierElement = (Long) v.firstElement ();
    myLong long = firstElement.longValue ();

  • Retrieve the values of the executable (Dialog.Ask)

    Hello world!

    I have a situation where I have to ask the user a question according to the status of a remote object (sent to a web service).  This operation is performed within a Thread, so I can't directly use the Dialog.Ask () because it translates into the exception "Engine UI consulted without holding the lock of the event".  I used this code sample to get the dialog to the user

            synchronized(UiApplication.getEventLock()) {            Runnable push = new Runnable() {
    
                    public void run() {                    Dialog.ask(message, choices, 0);                }
    
                };
    
                UiApplication.getUiApplication().invokeLater(push);        }
    

    This work is nice, but I can't retrieve the result... And because it's in a thread, I don't know how I could get it... Can someone help me with this one?

    Thank you!

    You usually use

    Synchronized (UiApplication.getEventLock ())

    or

    UiApplication.getUiApplication (.invokeLater)

    There's no value in using both at the same time.

    In this case, the Dialog.ask returns an int, that indicates the result.  The doc of the API:

    Returns:
    The selection of your choice (not the index) value, as must be returned by getSelectedValue(). For example, CANCEL, OK or DELETE are among the possible return values.

    Thus, you can code something like:

    int i = Dialog.ask (...);

    Treat the i then returned.

    Without doubt, you actually want to return the result in your calling Thread.  I don't know how "legal", it is, but you might be able to get away with:

    selectedChoice int = - 1;

    {Synchronized (UiApplication.getEventLock ())}
    selectedChoice = Dialog.ask (.);

    }

    If you can't do that, then look to split the treatment at the time of questions and using a DialogClosedListener to the decision of the user process.  I don't know there are other options, just of can't think right now.

  • [ADF, JDev12.1.3] SelectOneChoiche created from VO instance with 3 fields: how to retrieve the value of all the fields of the selected element?

    Hallo,

    I defined a VO with 3 fields (A, B and C) and I would like to create a SelectOneChoiche that shows only the field as options from this instance of VO.

    In a managed bean, I need to retrieve the values for all areas (A, B and C) of the item selected by the user.

    I started dragging the entire VO instance to UI to create a SelectOneChoiche (in which I have chosen to show only the to field).

    Then, I created a for the SOC ValueChangeListener read the values A, B and C of the selected element, but the only thing I've done is to get the displayed value:

    System.out.println((String) ((RichSelectOneChoice) FacesUtils.findComponent("MySoc")).getValue());
    

    You kindly help me?

    Thank you

    Federico

    Federico, sorry I didn't see your answer.

    As you use 12.1.3 you can do this more easily than the code that I posted before. You can use

    {} public void onCountrySelection (ValueChangeEvent valueChangeEvent)

    FacesContext will involve = FacesContext.getCurrentInstance ();

    Make sure that the selection change is processed and the current link lov line has the new selected line

    valueChangeEvent.getComponent () .processUpdates (contxt);

    BindingContext lBindingContext = BindingContext.getCurrent ();

    BindingContainer lBindingContainer = lBindingContext.getCurrentBindingsEntry ();

    List JUCtrlListBinding = lBindingContainer.get ("CountryId") (JUCtrlListBinding);

    the newindex in not necessary, but ok let's get it (must be equal to the CountryId, the pharmacokinetics of the binding of the lov

    String newindex = (String) valueChangeEvent.getNewValue ();

    get the selected value in the list that is the selected line of the binding of the lov

    Line lFromList = list.getSelectedValue () (line);

    now, we can get the attributes of the line of lov

    String s = (String) lFromList.getAttribute ("CountryId");

    System.out.println ("CountryId:" + s);

    String s2 = (String) lFromList.getAttribute ("CountryName");

    System.out.println ("CountryName:" + s2);

    BigDecimal s3 = lFromList.getAttribute("RegionId") (BigDecimal);

    System.out.println ("RegionId:" + s3.toString ());

    }

    The form that I use is based on the location of the HR DB schema table. The CountryId is configured in the view object to display a lov based on the campagneVoir. This view contains thre CountryId, CountryName and RegionId attributes.

    If you want to get to the attributes of an action listener you can use this code

    {} public void onGetSelectedCountryLov (ActionEvent actionEvent)

    BindingContext lBindingContext = BindingContext.getCurrent ();

    BindingContainer lBindingContainer = lBindingContext.getCurrentBindingsEntry ();

    List JUCtrlListBinding = lBindingContainer.get ("CountryId") (JUCtrlListBinding);

    get the selected value in the list that is the selected line of the binding of the lov

    Line lFromList = list.getSelectedValue () (line);

    now, we can get the attributes of the line of lov

    String s = (String) lFromList.getAttribute ("CountryId");

    System.out.println ("CountryId:" + s);

    String s2 = (String) lFromList.getAttribute ("CountryName");

    System.out.println ("CountryName:" + s2);

    BigDecimal s3 = lFromList.getAttribute("RegionId") (BigDecimal);

    System.out.println ("RegionId:" + s3.toString ());

    }

    You must add the valueChangeListener and at least add the lines

    FacesContext will involve = FacesContext.getCurrentInstance ();

    Make sure that the selection change is processed and the current link lov line has the new selected line

    valueChangeEvent.getComponent () .processUpdates (contxt);

    to ensure that the selected line is available when you click the button.

    And set autosubmit'= true for the field in the UI that displays the LOV.

    Timo

  • How to maintain the sequence DB value if we don't save the record?

    Hi friends,

    I created a Page creating and defining the primary key (Empno) with the sequence of the DB column. This method, I'll call you in PR

    Here is the code and it works fine.

    public void createRecord() {}
    OAViewObject vo = getXXEMPNEWEOVO1();
    If (! vo.isPreparedForExecution ())
    {
    vo.executeQuery ();
    }
    Number seqNo = getOADBTransaction () .getSequenceValue ("XX_EMP_S");
    Line = vo.createRow ();
    row.setAttribute ("Empno", seqNo);

    vo.insertRow (row);
    row.setNewRowState (Row.STATUS_INITIALIZED);
    }

    If I record the record, it is saving without any problem.

    But here is my requirement, if I do not save the file I'd be losing sequence. I don't want to lose this sequence.

    Ex: Current Seq: 10

    When I go to create the page: the seq is 11. If I save it, it will get stored in DB without any problem.

    Instead of save, I'll close the page and to reopen the page, this time, a new sequence will get generated, that is to say 12. But 11 has disappeared. I don't want to miss this 11.

    I wrote the same code in the method Create() of EO. He works also as same (above).

    I tried to write the code in the button Save, I am getting error below:

    Error -

    Empno in PraciceAM.XXEMPNEWEOVO1 attribute is required.

    CO code:

    OAViewObject empupdatevo = (OAViewObject) am.findViewObject ("XXEMPNEWEOVO1");

    TXN OADBTransaction = am.getOADBTransaction ();

    Number of seqNo = txn.getSequenceValue ("xx_emp_s");

    Line = empupdatevo.getCurrentRow ();

    row.setAttribute ("Empno", seqNo);

    Can you help me please on this.

    A quick response would be much appreciated.

    Note: This issue, I was also asked to interviews, I was empty.

    Thank you

    Palacin

    Srinivas,

    Once recovered DB sequence value cannot be restored.

    Few options for you:

    1. set a dummy value say-1 initially, then drift and set the value of the sequence on the click on save.

    2. set the validation server = false on the "Save" button. But it stops to throw another error in the page on the click of the button.

    3. you can substitute doDML() and try to set the sequence value in this, but it will take once again the dummy value-1 as the first option.

    Hope this helps and answers your question.

    See you soon

    AJ

  • insertion of unique values as well as the value of the sequence

    Hello gurus,

    I need to copy values from table A to table B as well as the value of the sequence.

    Please find the scripts below.

    -Table A and insert

    create a (varchar2 (40) of ename, space job_id varchar2 (40));

    insert into a values ('Suri', 'THIS');

    insert into a values ('Suri', 'THIS');

    insert into a values ('ABC', 'Admin');

    -Creation of table B

    create table B (number empno, ename varchar2 (40), job_id varchar2 (40));

    -sequence to fill data in table B empno

    create sequences b_empno_seq.

    Requirement is that we need fill out the unique values in table A in table B as well as the sequence (for the empno column) value

    Please find below the insert and update statements I tried below.

    Please let me know if we have a better approach

    INSERT INTO B (ename, job_id)

    SELECT DISTINCT ename, job_id

    A.;

    UPDATE b b1

    SET empno = b_empno_seq. NEXTVAL

    WHERE ename in (SELECT ename b B2 WHERE b2.ename = b1.ename);

    -Suri ;-)

    INSERT INTO B

    () AS T

    SELECT DISTINCT ename,

    job_id

    A

    )

    SELECT b_empno_seq.nextval,

    Ename,

    job_id

    T

    /

    SY.

  • search form Web apps: how to retrieve the value of the data-source type field

    Hello

    My question is:

    How can I retrieve the value of the source field of a web - app data-types when you insert the "form web search apps" on a web page.

    I have a web application that contains fields from the data source of the type. These fields to recover the (data) value of the 'web app' - 'elements of the field' field of another web application.

    When I insert the form

    Web apps

    Web apps-search form

    Name of the Web application

    It displays the fields with the field (ie. string, number) types other than type of field 'data source '.

    (Note: in the mode 'model of list' module of data tags, the fields of the data source are visible).

    What other (alternative) possibilities are there to create a search form?

    Thanks for your help.

    Kind regards

    Carla

    By chance, I came up with this workaround. Of course there are other methods to get your data from a web - app, but if you want to use the 'Web apps search form', it would be a workaround.

    I noticed that the "Web apps entry form" contains all the fields of web applications for your web application (including the fields of the data source).

    It is possible to add the fields to the form of the "Web apps entry form" in the «Web apps search form»

    If you insert the "Web apps entry form" on a blank page, you will see all the fields in your web App including the "data source fields. The names of form fields contain something like.

  • Change the value attribute for the order of the sequences

    Dear Java expert.

    I've been trying to script. Find/replace the value attribute (id) for the order of the sequences (screenshot attached for your reference). It is fair to the script?

    Example:

    ID = change of table8_3 ID = table8_1

    ID = change of table8_3 ID = table8_2

    ID = change of table8_3 ID = table8_3

    Screen Shot 2016-03-30 at 5.03.27 PM.png

    Please suggest friends.

    Thank you in advance,

    Hello

    Something like that...

    var doc = app.activeDocument;
    var _XML = doc.xmlElements[0];
    var _XMLelements = _XML.evaluateXPathExpression("//*/table[@id='table8_3']")
    
    for(var i=0;i<_XMLelements.length;i++){
        _XMLelements[i].xmlAttributes.item("id").value= 'table8_' + (i+1);
    }
    

    Concerning

  • retrieve the datasource value

    In a Web app "Listing", I've created several fields with the type of field "datasource". After making the data on an Internet site the output in html code changes. The value is retrieved from the field in the data source, but also the 'href' link - code. It interferes with my markup schema.org.

    Is there a way only to retrieve the datasource value?

    Thanks in advance for any help.

    Krgds Carla@home

    I finally found the answer in the documentation on: http://docs.businesscatalyst.com/reference/liquid/filters.html

    How to remove HTML code

    that is, if you want to remove the

    -tag, you use the command:

    {{ '

    My paragraph

    ' | strip_html }}

    the above code removes the HTML of the string and outputs 'my paragraph.

  • How to assign the next value in the sequence directly in a variable?

    How to assign the next value in the sequence directly in a variable without using a table TWICE in PL/SQL.

    BluShadow wrote:

    How about a quick test on 11g, just to see if you directly select a sequence in a variable is significantly better than the mark of DOUBLE.

    ...

    Nope... no obvious difference.

    This is because there is none: Oracle's SELECT sequence. NEXTVAL FROM DUAL under the covers. The direct assignment is just a convenient encoding for us, but it does not change the work that accomplishes Oracle.

    create sequence s;
    alter system flush shared_pool;
    declare
    l_num number;
    begin
    l_num := s.nextval;
    end;
    /
    select sql_text from v$sql where parsing_schema_name = user;
    
    SQL_TEXT
    Report the number of l_num; begin l_num: = s.nextval; end;
    Select sql_text from v$ sql where parsing_schema_name = user
    Select double S.NEXTVAL
  • How to retrieve the value of a custom field

    Hello @all.

    In my vCenter, I created a custom field 'email '. The value of this field is set to the e-mail address of the operator of that belongs to a virtual machine.

    I would like to retrieve these values in a perl script. But I have found a method to set the values of the custom fields. For example:

    $CustomFieldsManager -> SetField(entity => $_, key=> $emailKey, value => "[email protected]");
    

    What should I do to retrieve the value of the $emailKey key? Could someone provide a quick and dirty-snippet, please?

    Best regards

    Trondesson

    of course, in this discussion https://communities.vmware.com/message/1512863#1512863 you can see how it's done

Maybe you are looking for