DML Returning Values In Forms 6i

Hi there!
I am watching the following behavior in Forms 6i:
Whenever I set DML Returning Value to "Yes" in a data block that corresponds to a table Database (8.0.5) returns to me the updated values, but this doesnot happen with a data block that corresponds to an updatable view. What can I do about that?
George

There are many ways you could do this. One way would be to create a When-Validate-Item trigger on the USER_ID field that checks the database to see if the value already exists and raise an exception if it exists. For example:
/* When-Validate-Item trigger */
DECLARE
     n_dummy     NUMBER := 0;
     CURSOR test_User_ID IS
          SELECT count(*)
            FROM YOUR_TABLE_NAME_HERE
          WHERE USER_ID = :YOUR_BLOCK_NAME.USER_ID;
BEGIN
     OPEN test_User_ID;
     FETCH test_User_ID INTO n_dummy;
     CLOSE test_User_ID;
     IF ( n_dummy > 0 ) THEN
          MESSAGE('User ID " '||:YOUR_BLOCK_NAME.USER_ID||' " already exists.  Please enter a unique User ID.',ACKNOWLEDGE);
          RAISE Form_Trigger_Failure;
     END IF;
END;Please understand that this is just sample code and will need to be modified in order to work in your form. Also note, I'm not positive the "ACKNOWLEDGE" parameter to the MESSAGE built-in is valid for Forms 6i. Please confirm this before using.
Hope this helps.
Craig...
If mine or someone else's response is helpful or correct, please mark it accordingly

Similar Messages

  • Return Values to Block from Insert Procedure

    I have a block with an insert operation performed by a procedure. The insert is working fine.
    However, I was assuming that within the procedure I could modify a value in the record (prior to the insert) and then that new value would be returned to the item in the form so the user can see it. (The procedure allocates a unique reference number from a sequence and I would like to display it back on the screen in the reference number field.)
    Can anyone help or suggest an alternative?
    Thanks
    Lisa Davies
    Durban, South Africa

    I have a block with an insert operation performed by
    a procedure. The insert is working fine.
    However, I was assuming that within the procedure I
    could modify a value in the record (prior to the
    insert) and then that new value would be returned to
    the item in the form so the user can see it. (The
    procedure allocates a unique reference number from a
    sequence and I would like to display it back on the
    screen in the reference number field.)It is really disappointing to me that Oracle cannot handle this simple need by specifying DML Return Value using built-in inserting/updating.
    I had to write a post-insert trigger in the forms to update the field in the data_block with the value generated by the DB-side pre-insert trigger.

  • Return values for a Form based on a procedure

    Hi,
    I am fairly new to Portal Applications.
    I have a form based on a procedure.
    The procedure has an IN OUT parameter and what happens at the moment is that once the submit button is pressed the IN OUT parameter is displayed on a new page.
    My question is...
    How do I display the returned value in a field on the form?
    Please help
    Thanks

    Hi,
    This is how it works right now. It is not possible to show it in the same form.
    Thanks,
    Sharmila

  • Custom method return value will not pass to form

    I have created a custom method in my application module that returns a integer value. I am trying to use this value to fetch a row to populate a form. I cannot seem to get the value returned to populate the methodAction binding for the form.
    I have no problem displaying the returned value and have no problem populating the form if I hard code a value into the methodAction binding.
    I am trying to determine if this is a timing issue on page load, or some other issue with the returned integer.

    Hi,
    sounds like a lifecycle problem because the method call and execution of the VO iterator happen in the same phase. You can try setting the refresh conditions of the method to prepareModel and the iterator to prepareRender, but I doubt that this will solve the issue.
    What is the usecase ? And can the integer be handled within the AM to restrict the query (e.g. to set a ViewCriteria or bind variable)
    Frank

  • Remote Object - not able to get the returned value from java method

         Hi ,
    I am developing one sample flex aplication that connects to the java code and displays the returned value from the
    java method in flex client. Here I am able to invoke the java method but not able to collect the returned value.
    lastResult is giving null .  I am able to see the sysout messages in server console.
    I am using flex 3.2 and blazeds server  and java 1.5
    Here is the code what I have written.
    <?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication  xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" initialize="initApp()">
     <mx:Script><![CDATA[
    import mx.controls.Alert; 
    import mx.binding.utils.ChangeWatcher; 
    import mx.rpc.events.ResultEvent; 
    import mx.messaging.*; 
    import mx.messaging.channels.* 
    public function initApp():void { 
         var cs:ChannelSet = new ChannelSet(); 
         var customChannel:Channel = new AMFChannel("my-amf", "http://localhost:8400/blazeds/messagebroker/amf");     cs.addChannel(customChannel);
         remoteObj.channelSet = cs;
    public function writeToConsole():void {      remoteObj.writeToConsole(
    "hello from Flash client");
          var returnedVal:String = remoteObj.setName().lastResult;     Alert.show(returnedVal);
    //[Bindable] 
    // private var returnedVal:String; 
    ]]>
    </mx:Script>
    <mx:RemoteObject id="remoteObj" destination="sro" /> 
    <mx:Form width="437" height="281">
     <mx:FormItem>  
    </mx:FormItem>  
    <mx:Button label="Write To Server Console" click="writeToConsole()"/>
     </mx:Form>
     </mx:WindowedApplication>
    Java code
    public  
         public SimpleRemoteObject(){  
              super();     }
      class SimpleRemoteObject { 
         public void writeToConsole(String msg) {          System.out.println("SimpleRemoteObject.write: " + msg);     }
         public String setName(){          System.
    out.println("Name changed in Java"); 
              return "Name changed in Java";
    And I have configured destination in  remote-config.xml
    <destination id="sro">
       <properties>    
        <source>SimpleRemoteObject</source>
        <scope>application</scope>
       </properties>
      </destination>
    Please help me .

    You are not able to get the returned value because if you see the Remote object help you will realise you have to use result="resultfn()" and fault = "faultfn()"
    In this you define what you wish to do.
    More importantly in the remote object you need to define which method you wish to call using the method class like this
    <mx:RemoteObject id="remoteObj" destination="sro" result="r1" fault="f1"  >
         <Method name="javaMethodName" result="r2" fault="f2"/>
    <mx:RemoteObject>
    r2 is the function where you get the result back from java and can use it to send the alert.

  • How to pass a function with the same argument multiple times and return values in variables?

    The problem I have is I created a function which really is some kind of database.  Basically a bunch of:
    if (a.value == "this number"){
    b.value = "this expression";
    Inside the form are 2 dropdown lists that return numerical values which I want to process through that function and put the return value inside separate variables.
    var a = this.getField("OPE003.EVEN.1.MIP");
    Mip(a);
    var result1 = Mip();
    I tried to overwriting *a* to process the second field
    a = this.getField("OPE003.EVEN.2.MIP");
    Mip(a);
    var result2 = Mip();
    result1 and result2 are put in an array, joined as a string.
    Doing so, I always get the last processing twice as the final result.
    Can I use a function as a batch processing tool that way?

    You are right, I changed the code to what you said but how do I pass another value through my fonction so I can get Result1 and Result2?
    is it
    var a = this.getField("OPE003.EVEN.1.MIP");
    var b = this.getField("OPE003.EVEN.2.MIP");
    var result1 = Mip(a);
    var result2 = Mip(b);
    var c = new Array[result1, result2]

  • How to create a display value and a return value for an item

    Hi! I have an item on a form. I want the default value for my item to be :":APP_USER", but the return value, to be the id of my user. I tried to create a PL/SQL Expression for the default item, but it doesn't work. What do I miss?
    It should be something like this, but it's not.
    begin
    select first_name || ',' ||last_name as "Employee",
    id_employee -- display value,return value
    from employees
    where id_employee = :APP_USER;
    end;
    Does anyone know?
    Thanks!
    Vitaly

    Hi VItaly,
    Display value and return value concept applies very well in case of a Combo box if i am correct, I don't know what type of item is your's.
    But any way, you can have a workaround like,
    Create a hidden item such that it's default value should be ID of the user which can be get from db by using :APP_USER.
    Use the this item for your references.
    I think this will meet your requirement.
    Thanks
    Kumaraswamy.

  • How to set the returned value of CFL in a matrix

    dear all,
    I got a matrix binded to a DataSource and two CFLs are in this matrix. The codes for handling AfterChooseFromList is as following.  It works almost fine. But when a docoment containing more than two
    rows in the matrix and I reselect the CFL cell values more than two times, an error occured sometimes, not everytime. The error message is "This entry already exists in the following tables @CYW_PRROW [Message 131-183]"
    I have tried to find out what kind of situation to cause this error, but still in the mud.
    Can anybody give me some suggestion? Thanks.
    Public Sub OnAfterChooseFromList_Matrix(ByVal pVal As SAPbouiCOM.ItemEvent)
            Dim ActionSuccess As Boolean = pVal.ActionSuccess
            Dim oform As SAPbouiCOM.Form = SBO_Application.Forms.Item(pVal.FormUID)
            Dim oitem As SAPbouiCOM.Item = oform.Items.Item("mtx_0")
            Dim omatrix As SAPbouiCOM.Matrix = CType(oitem.Specific, SAPbouiCOM.Matrix)
            Dim oDataTable As SAPbouiCOM.DataTable
            oDataTable = pVal.SelectedObjects
            Dim val As String
            Try
                val = oDataTable.GetValue(0, 0)
            Catch ex As Exception
            End Try
            omatrix.GetLineData(pVal.Row)
            oform.DataSources.DBDataSources.Item("@CYW_PRROW").Offset = pVal.Row - 1
            If pVal.ColUID = "col_0" Then
                Try
                    oform.DataSources.DBDataSources.Item("@CYW_PRROW").SetValue("U_PRItemCode", pVal.Row - 1, CStr(val))
                Catch ex As Exception
                    SBO_Application.MessageBox(ex.Message)
                End Try
            Else
                Try
                    oform.DataSources.DBDataSources.Item("@CYW_PRROW").SetValue("U_PRSupp", pVal.Row - 1, CStr(val))
                Catch ex As Exception
                    SBO_Application.MessageBox(ex.Message)
                End Try
            End If
            omatrix.SetLineData(pVal.Row)
            If pVal.FormMode = "1" Then
                oform.Mode = SAPbouiCOM.BoFormMode.fm_UPDATE_MODE
            End If
        End Sub
    Another quesion, can I assign the returned value of CLF directly to the cell?

    Hello  Chao-Yi Wu,
    I don't have a real solution for you - just a few comments:
    1. At
            Try
                val = oDataTable.GetValue(0, 0)
            Catch ex As Exception
            End Try
    I would add
            Try
                if oDataTable Is Nothing Then Exit Sub ' If the User cancels the CFL
                val = oDataTable.GetValue(0, 0)
            Catch ex As Exception
            End Try
    2. At
       If pVal.ColUID = "col_0" Then
    I would make the branch by the pVal.ChooseFromListUID instead of the ColUID
    and the 2nd not with "Else" but with "Else If ....."
    3. It may work with EditText.String/Value of a cell but I never do that because of performance-reasons.
    I always do it the same way as you in principle - I don't really know what the problem is.
    4. Maybe some unique indexes on your table (although this should give an error at the update and not at CFL when "the unique-law is broken"...)?
    Sorry - that's all for the moment.
    Cheers,
    Roland

  • Assigning LOV return Value to multiple text items

    Hi all
    I have a custom form on which i have 10 text items
    text item 1,text item 2 ....text item10
    I have a table xx_querywith fields
    text_item,query
    i have inserted into the xx_query table
    insert into xx_query(text_item,query)
    values(text_item1,'select sysdate from dual');
    insert into xx_query(text_item,query)
    values(text_item2,'select sysdate-1 from dual');
    I have created a record group dynamically and i am getting the query from the query column of the xx_query table into the record group(say test_rg)
    I have created a LOV test_lov and thr set_lov_property i have populated the test_rg query into the test_LOV
    is it possible for me to set the return item of the LOV dynamically so that i can get the LOV on the item which i want to ?
    thanks
    _

    Hi All
    thanks for your responses
    I have Created a control item and assigned the return value of the LOV to the control item
    and i have assigned the LOV to the text item that i want
    Currently when i navigate to the text item the LOV is visible
    but when i select a value from the LOV the value is not getting populated into the text item
    I have assigned the value of the control item to the text item
    but i am not sure in which trigger to write the code so as when i select the value from the LOV the value should be shown on the form populating in the text item
    Thanks

  • Error while loading the Web template "0ANALYSIS_PATTERN" (return value "4")

    I activated all 0* objects in BTMP  and checked that they are all activated, but I found errors when opening the BEx Web Analyzer
    Error messages :
    Error while loading the Web template "0ANALYSIS_PATTERN" (return value "4")
    ERROR: Command type SWITCH_AXES of object not recognized
    ERROR: Parameter GENERAL_TEXT_ELEMENT not recognized; check your metadata
    So I ran RS_TEMPLATE_MAINTAIN_70 (0ANALYSIS_PATTERN) version D report to check and choose validate.
    Error messages :
    Template Include Item HEADER_TEMPLATE unresolved or empty. Close and reopen template.     
    Template Include Item FOOTER_TEMPLATE unresolved or empty. Close and reopen template.          
    Width of object item:GROUP_ITEM:GROUP_ITEM_1 is very small (1amp;1)          
    Query  does not exist in the BI System (Object QU )
    Cannot instantiate data provider
    I also ran RS_TEMPLATE_MAINTAIN_70 (0ANALYSIS_PATTERN) version A and got the following errors:
    Command type SWITCH_AXES of object  not recognized
    Command type SWITCH_AXES of object  not recognized
    Command type SWITCH_AXES of object  not recognized
    Parameter GENERAL_TEXT_ELEMENT not recognized; check your metadata
    Parameter GENERAL_TEXT_ELEMENT of object item:GROUP_ITEM:GROUP_ITEM_1 not recognized
    Command type SWITCH_AXES of object item:GROUP_ITEM:GROUP_ITEM_1 not recognized
    Command type SWITCH_AXES of object item:GROUP_ITEM:GROUP_ITEM_1 not recognized
    Command type SWITCH_AXES of object item:GROUP_ITEM:GROUP_ITEM_1 not recognized
    Command SWITCH_AXES cannot be located in parameter ACTION
    Command SWITCH_AXES cannot be located in parameter ACTION
    Command SWITCH_AXES cannot be located in parameter ACTION
    Parameter GENERIC_TEXT_BINDING of object item:GROUP_ITEM:GROUP_ITEM_1 cannot be higher-level node of GENERAL_TEXT_ELEMENT
    Item item:GROUP_ITEM:GROUP_ITEM_1 of type DROPDOWN_ITEM cannot be a parent node of DATA_PROVIDER_REF
    Item item:GROUP_ITEM:GROUP_ITEM_1 of type CHART_ITEM cannot be a parent node of VISIBLE
    Item item:GROUP_ITEM:GROUP_ITEM_1 of type CHART_ITEM cannot be a parent node of LEGEND_POSITION
    Item item:GROUP_ITEM:GROUP_ITEM_1 of type CHART_ITEM cannot be a parent node of LEGEND_VISIBLE
    Item item:GROUP_ITEM:GROUP_ITEM_1 of type CHART_ITEM cannot be a parent node of LEGEND_ONLY
    Invalid parameter value  for parameter ACTION in object item:GROUP_ITEM:GROUP_ITEM_1
    Invalid parameter value  for parameter ACTION in object item:GROUP_ITEM:GROUP_ITEM_1
    Invalid parameter value  for parameter ACTION in object item:GROUP_ITEM:GROUP_ITEM_1
    bi-Tag bi:item has unknown attribute key. Please check your spelling
    bi-Tag bi:item has unknown attribute key. Please check your spelling
    bi-Tag bi:item has unknown attribute key. Please check your spelling
    bi-Tag bi:item has unknown attribute key. Please check your spelling
    What could be the problem?

    hi,
      Please look into this note let me it helps...url=https://websmp202.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=917950&_NLANG=E]Note 917950 - SAP NetWeaver 2004s: Setting Up BEx Web[/url]
    check this link as well for [<a href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ca6de811-0c01-0010-43b2-c64584eef943">Bex Web Configuration</a>
    wht is the SP Level?
    Nagesh Ganisetti.

  • Setting default value for form field assoc with a table column

    On a "Create Record" situation I was trying to set the default values of some form fields using a page level "Process". These form fields have Source Type = Database Column. It wasn't working, I could only set non-db assoc form field values no matter when the "Process" was set to exec. From some other posts it seems that this is by design, ie. not being able to programatically set the initial values of form fields that are sourced to db columns. I was hoping to have just one "Process" that would exec to set these initial values in one place rather than scattered about for each field that needed a default value. These particular default values come from ref tables and may be different for each user.
    So, it looks like I have to use a "Default Value" plsql chunk for each field on the form itself or else set their value on the calling form's Redirect in the "Set these Items" area.
    Is this correct?

    You could define a database function which accepts the name of the item and the user ID of the user running the application. Based on the item name and the user ID have the function return the appropriate initial value. Invoke this function in a "Default Value" PL/SQL block.
    Does that help in centralizing your initial values? You could have one function per page or one function per application. I would do one function per application.

  • How to get the return value of a LOV item using javascript

    Hello,
    I am trying to put an onchange attribute in the HTML Form Element Attributes field of a LOV item. The javascript should access the new return value of the item. How is this done ? All the methods I have tried give only the display value, not the return value. For example $v() returns the display value.
    Tiina

    If your item is called P1_ITEM this will give you the return value of a popup (displays description,returns key value)
    alert($x('P1_ITEM_HIDDENVALUE').value)
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Returning values from one screen to another

    Hi All,
    I have a case where I have a person_name field on a form but want the users to get that value from a popup window that is actually a report on the people table with these columns :
    First name, last name , person_id ( hidden and has a link on it to return that value back to the caller screen).
    No I wrote all the code to invoke that popup from the caller form, popup the people search report, when you click on the person ID link it performs the following :
    <script language="javascript">
    function accept_value(val){
    target1 = document.getElementById("P114_CITEM1").value; //CITEM1 holds the caller field name so dont worry about it
    top.opener.document.getElementById(target1).value=val;
    top.close();
    </script>
    and in the link properties I give this :
    onClick="accept_value(#PERSON_ID#);"
    and this works fine and returns the person_id to the caller form BUT
    MY QUESTION IS:
    is there a way to return the first name, last name to a text field in the FORM?I mean this link allows me to return only the #PERSON_ID#, but is it possible to pass the #last_name# in the same link for example ?
    I tried
    onClick="accept_value(#PERSON_ID#,#LAST_NAME#);" but it always fails and says invalid character !! (( after I changed the accept_value() function to have 2 parameters ))
    any clue or hint?

    It is possilble to return multiple values to multiple items on your form. I have similar setup (popup box shows a report of employees; users clicks a report row; empid and last_name are returned to the form). I did not use #LAST_NAME# link. I created the link using SQL code. The first column of the report displayed a link called "Select", which passed empid and last name back to the form. Try creating the link using SQL.
    If you need additional help, please let me know.
    Thanks.
    Ravi

  • Call script in a workflow and get return value?

    hello
    I want create a workflow to check some attribute in IDM
    like for the home directory, use the workflow call some script to check there is enough space in the server? and the folder is almost there or not?
    then get the return value like if no enought space, call some other form let the admin input some new home directory string
    So I want to know how a workflow work with scipt file?
    I also use some after create action script, but it looks only can get some error message and shows in th IDM.

    This should help you:
    http://www.devdaily.com/java/edu/pj/pj010016/pj010016.shtml
    Note that the command will be executed by the application server user so check if it has sufficient rights.
    Ben

  • Automatic Row Processing (DML) - Return Key Into Item

    Hello,
    This question is on Apex 4.2:
    I'm Displaying the [UNIKEY] column value after the record is inserted into the table using :
    page process > process row table_name > Source: Automatic Row Processing (DML) > Return Key Into Item > "Item Name"
    This works fine while inserting records, my question is why this does not respond on update / delete ?
    ϯ LT

    LT
    Check your branches.
    What might be happening is that on insert and update an other branch is followed.
    Where the branch of the insert either isn't clearing the cache of the page or is setting the item with it's own value.
    The branch on the update on the other hand is clearing the cache of the page and not setting the item.
    With a delete there is a clear cache process generate by the wizard. Check if this process is only running on the delete and not on the update.
    From memory the process is called something with reset.
    If the above doesn't help try to replicate the problem on apex.oracle.com and give access with a guest developer account so we can have a look.
    Nicolette

Maybe you are looking for

  • How to view ALL batch job details (SM37) at one glance ?

    Dear all, I am documenting all released batch job details, the information required includes the job name, client number, job frequency .. etc. In order to see that information, i go to SM37 and click on each job to see the details. I have about 60 j

  • Alert Mail configuration in Solution Manager 7.1 for Portal Runtime errors

    Dear Friends, We have EP7.01 SP5  installed on windows environment with Oracle DB. Also we have  SAP EHP 1 for SAP Solution Manager 7.0. Please help to provide steps to configure proactive mail alert configuration , GRMG for High availability Any por

  • 0 bytes file free on curve 8320??

    All, Please help, I got stuck with my 8320. Device is "thinking" very often and impact to my activities and also the battery. When I check Status on option, File free is 0 bytes.. but when i restart (take off the batt), file free is have some bytes a

  • Analytic function - max_distinct

    Hi Everyone, a) I have a query tht is returning more than one row for a student b) to simplify my query, these are columns Student ID, Academic_Period, Student Status, Expected_Graduation_Date c) If a student has multiple status codes AS - active LA

  • Self-housekeeping tables?

    Hi, I know, housekeeping is not so easy. But there are cases when I could image very simple delete-rules, e.g. for a logging-table. Then it would be a cool feature to have something like: - remove records from table older than 10 days (supposed the t