How do I validate multiple records held in the form?

I have a form containing a list of records from a base table.
The records consist of 2 columns, a from and to value. The
records must specify ranges and those ranges must be in order
and not overlap. I.e. 1...2, 5...9 NOT 1...4, 3...6. How can I
ensure this is the case before the user commits any changes to
the database?
A When-Validate... trigger doesn't allow me to use built-ins
like GO-ITEM etc which would allow me to do this. Also these
triggers will only look at the current record, not the previous
or next record.
Any ideas?
null

Steve West (guest) wrote:
: I have a form containing a list of records from a base table.
: The records consist of 2 columns, a from and to value. The
: records must specify ranges and those ranges must be in order
: and not overlap. I.e. 1...2, 5...9 NOT 1...4, 3...6. How can
I
: ensure this is the case before the user commits any changes to
: the database?
: A When-Validate... trigger doesn't allow me to use built-ins
: like GO-ITEM etc which would allow me to do this. Also these
: triggers will only look at the current record, not the previous
: or next record.
: Any ideas?
Hi,
There is another way to validate each record as and when it is
created. Create a parameter P1 and created a
WHEN-VALIDATE-RECORD trigger at block level.. The code I used to
verify the requirement is follows. Here Col1 is From and Col2 is
To. You can add more functionalities to it.
WHEN-VALIDATE-RECORD
if :col2 is null or (:col2 <= :col1) then
message(' The numbers should be in order');
raise form_trigger_failure;
end if;
if :parameter.p1 is null then
:parameter.p1 := :col2;
else
if :col1 != :parameter.p1 + 1 then
message(' The numbers should be in sequence');
raise form_trigger_failure;
end if;
:parameter.p1 := :col2 ;
end if;
Hope this will help.
null

Similar Messages

  • Updating status of multiple records after saving the form

    Hi all
    I have a tabular form
    It has a column status (new,good ,very good ,excellent are the list options)
    The user goes and modifies a number of records on the detail block and saves the records
    what i want to do is that when the user clicks the save button after updating any number of records
    the status field should be updated with the value (new)
    the status field of those records should be updated with the new value which the user has modified not all the records
    Please let me know how to go about it
    thanks
    Edited by: bindok mulga on May 11, 2009 3:48 PM
    Edited by: bindok mulga on May 11, 2009 3:50 PM

    Hi
    actually my earlier post was incorrect
    i have edited my post
    Actually
    i want to update only those records that the user has modified
    eg
    col1 col2 status
    1 ABC good
    2 PQR good
    3 xyz good
    4 lmn excellent
    5 abcz excellent
    is the table before the user modifies
    the user goes and modifies multiple records as following
    col1 col2 status
    1 aaa good
    2 PQR good
    3 xxx good
    4 sss excellent
    5 abcz excellent
    and the user saves the form
    now i want the following output
    col1 col2 status
    1 aaa new
    2 PQR good
    3 xxx new
    4 sss new
    5 abcz excellent
    only the modified record's status should be updated
    sorry for the earlier lapse

  • How can I call multiple records(40) at same time as webservice ?

    Hi All
      My scenario is some thing like calling SOAP(Webservice) to Rfc(BAPI)
      Thing is how can i call multiple records at the same time using the SOAP
       adapter i.e i need to make a request to BAPI and in the BAPI response
       based on the fields, i need to send to different records....it is Sync call
    Can any explain me how to implement this scenario ?
    Regards
    Kiran lvs

    HI,
    Please see the below link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    Regards
    Chilla..

  • Problem Multiple record navigation in oracle forms

    I retrieve multiple records using cursor fetch command in the select query i have given condition to retrieve details of employee no.
    For example if we are giving an input as empno:100 then it retrieves two records of same emp no(100).It displays 2/3 records in the task bar when i navigate using push buttons it displays an empty record in the interface provided.(ie 3/3 records).How to avoid third unknown record displaying in the interface.

    most likely the problem is during the population of the block using the query.
    i assume that you are creating one additional record after the last record from your query..
    so this must be either with the CREATE_RECORD or NEXT_RECORD problem in the loop.so you should check in the loop first if the record exists, then do CREATE_RECORD or NEXT_RECORD.

  • How can i create multiple accounts but use the same itunes?

    how can i create multiple accounts but use the same itunes?

    Hi iCloud is Making Me Go Crazy,
    You will need to create a new Apple ID for your GameCenter and iCloud services.  You can continue to use the current Apple ID you share with your Mom for access to iTunes Store purchases if you wish. 
    Using your Apple ID for Apple services
    http://support.apple.com/kb/HT4895
    Frequently asked questions about Apple ID
    http://support.apple.com/kb/HT5622
    Cheers,
    - Judy

  • How do I insert multiple rows from a single form ...

    How do I insert multiple rows from a single form?
    This form is organised by a table. (just as in an excel format)
    I have 20 items on a form each row item has five field
    +++++++++++ FORM AREA+++++++++++++++++++++++++++++++++++++++++++++++++++++
    +Product| qty In | Qty Out | Balance | Date +
    +------------------------------------------------------------------------+
    +Item1 | textbox1 | textbox2 | textbox3 | date +
    + |value = $qty_in1|value= &qty_out1|value=$balance1|value=$date1 +
    +------------------------------------------------------------------------+
    +Item 2 | textbox1 | textbox2 | textbox4 | date +
    + |value = $qty_in2|value= $qty_out1|value=$balance2|value=$date2 +
    +------------------------------------------------------------------------+
    + Item3 | textbox1 | textbox2 | textbox3 | date +
    +------------------------------------------------------------------------+
    + contd | | | +
    +------------------------------------------------------------------------+
    + item20| | | | +
    +------------------------------------------------------------------------+
    + + + SUBMIT + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Database Structure
    +++++++++++++++++
    + Stock_tabe +
    +---------------+
    + refid +
    +---------------+
    + item +
    +---------------+
    + Qty In +
    +---------------+
    + Qty Out +
    +---------------+
    + Balance +
    +---------------+
    + Date +
    +++++++++++++++++
    Let's say for example user have to the use the form to enter all 10 items or few like 5 on their stock form into 4 different textbox field each lines of your form, however these items go into a "Stock_table" under Single insert transaction query when submit button is pressed.
    Please anyone help me out, on how to get this concept started.

    Hello,
    I have a way to do this, but it would take some hand coding on your part. If you feel comfortable hand writing php code and doing manual database calls, specificaly database INSERT calls you should be fine.
    Create a custom form using the ADDT Custom Form Wizard that has all the rows and fields you need. This may take a bit if you are adding the ability for up to 20 rows, as per your diagram of the form area. The nice thing about using ADDT to create the form is that you can setup the form validation at the same time. Leave the last step in the Custom Form Wizard blank. You can add a custom database call here, but I would leave it blank.
    Next, under ADDT's Forms Server Behaviors, select Custom Trigger. At the Basic tab, you enter your custom php code that will be executed. Here you are going to want to put your code that will check if a value has been entered in the form and then do a database INSERT operation on the Stock_table with that row. The advanced tab lets you set the order of operations and the name of the Custom Trigger. By default, it is set to AFTER. This means that the Custom Trigger will get executed AFTER the form data is processed by the Custom Form Transaction.
    I usually just enter TEST into the "Basic" tab of the Custom Trigger. Then set my order of operations in the "Advanced" tab and close the Custom Trigger. Then I go to the code view for that page in Dreamweaver and find the Custom Trigger function and edit the code manually. It's much easier this way because the Custom Trigger wizard does not show you formatting on the code, and you don't have to keep opening the Wizard to edit and test your code.
    Your going to have to have the Custom Trigger fuction do a test on the submitted form data. If data is present, then INSERT into database. Here's a basic example of what you need to do:
    In your code view, the Custom Trigger will look something like this:
    function Trigger_Custom(&$tNG) {
    if($tNG->getColumnValue("Item_1")) {
    $item1 = $tNG->getColumnValue("Item_1");
    $textbox1_1 = $tNG->getColumnValue("Textbox_1");
    $textbox1_2 = $tNG->getColumnValue("Textbox_2");
    $textbox1_3 = $tNG->getColumnValue("Textbox_3");
    $date1 = $tNG->getColumnValue("Textbox_3");
    $queryAdd = "INSERT INTO Stock_table
    (item, Qty_In, Qty_Out, Balance, Date) VALUES($item1, $textbox1_1, $textbox1_2, $textbox1_3, $date1)"
    $result = mysql_query($queryAdd) or die(mysql_error());
    This code checks to see if the form input field named Item_1 is set. If so, then get the rest of the values for the first item and insert them into the database. You would need to do this for each row in your form. So the if you let the customer add 20 rows, you would need to check 20 times to see if the data is there or write the code so that it stops once it encounters an empty Item field. To exit a Custom Trigger, you can return NULL; and it will jump out of the function. You can also throw custom error message out of triggers, but this post is already way to long to get into that.
    $tNG->getColumnValue("Item_1") is used to retrieve the value that was set by the form input field named Item_1. This field is named by the Custom Form Wizard when you create your form. You can see what all the input filed names are by looking in the code view for something like:
    // Add columns
    $customTransaction->addColumn("Item_1", "STRING_TYPE", "POST", "Item_1");
    There will be one for each field you created with the Custom Form Wizard.
    Unfortunately, I don't have an easy way to do what you need. Maybe there is a way, but since none of the experts have responded, I thought I would point you in a direction. You should read all you can about Custom Triggers in the ADDT documentation/help pdf to give you more detailed information about how Custom Triggers work.
    Hope this helps.
    Shane

  • How can I insert multiple page contents in the page layout properly?

    I wanted to create 4 columns on the page layout. These 4 columns are of page contents.
    After creating new web page based on that page layout, I attempted to enter 4 different inputs on all 4 columns.
    Then, the result (from all columns) becomes the same.
    Image - edit the web page based on 4 columns page layout:
    Image - after edit & save:
    How can I insert multiple page contents in the page layout properly?

    First, I copied the HTML snippet for the Page Content on Sharepoint's Design Manger. The code of Page Content HTML snippet is shown below:
    <div data-name="Page Field: Page Content">
    <!--CS: Start Page Field: Page Content Snippet-->
    <!--SPM:<%@Register Tagprefix="PageFieldRichHtmlField"
    Namespace="Microsoft.SharePoint.Publishing.WebControls"
    Assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0,
    Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
    <!--MS:<PageFieldRichHtmlField:RichHtmlField
    FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server">-->
    <!--PS: Start of READ-ONLY PREVIEW (do not modify)-->
    <div id="ctl02_label" style="display:none">Page Content</div>
    <div id="ctl02__ControlWrapper_RichHtmlField" class="ms-rtestate-field"
    style="display:inline" aria-labelledby="ctl02_label"><div align="left"
    class="ms-formfieldcontainer"><div class="ms-formfieldlabelcontainer"
    nowrap="nowrap"><span class="ms-formfieldlabel"
    nowrap="nowrap">Page Content</span></div>
    <div class="ms-formfieldvaluecontainer"><div class="ms-rtestate-field">
    Page Content field value. Lorem ipsum dolor sit incididuntet dolore.</div>
    </div></div></div><!--PE: End of READ-ONLY PREVIEW-->
    <!--ME:</PageFieldRichHtmlField:RichHtmlField>-->
    <!--CE: End Page Field: Page Content Snippet-->
    </div>
    After I published the page layout, I found the code for Page Content from its ASPX page. The code is shown below:
    <div data-name="Page Field: Page Content">
    <PageFieldRichHtmlField:RichHtmlField FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server"/></div>
    So, I attempted to create 4 columns by using 4 HTML snippets of Page Content on the same page layout. The page layout is generated from HTML file to ASPX file.
    Then I edited some parts in ASPX page layout:
    <asp:Content runat="server" ContentPlaceHolderID="PlaceHolderMain">
    <table>
    <tr>
    <td style="width:70px;">&nbsp;</td>
    <td style="width:250px; text-align:right;">
    <div data-name="Page Field: Page Content">
    <PageFieldRichHtmlField:RichHtmlField FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server"/>
    </div>
    </td>
    <td style="width:40px;">&nbsp;</td>
    <td style="width:200px;">
    <div data-name="Page Field: Page Content">
    <PageFieldRichHtmlField:RichHtmlField FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server"/>
    </div>
    </td>
    <td style="width:25px;">&nbsp;</td>
    <td style="width:200px;">
    <div data-name="Page Field: Page Content">
    <PageFieldRichHtmlField:RichHtmlField FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server"/>
    </div>
    </td>
    <td style="width:25px;">&nbsp;</td>
    <td style="width:200px;">
    <div data-name="Page Field: Page Content">
    <PageFieldRichHtmlField:RichHtmlField FieldName="f55c4d88-1f2e-4ad9-aaa8-819af4ee7ee8" runat="server"/>
    </div>
    </td>
    <td style="width:175px;">&nbsp;</td>
    </tr>
    </table>
    </asp:Content>
    The 4 columns for Page Contents appeared on the web page when I created new page using that page layout. But the problem is that all 4 columns displayed the same result from 4th column.

  • How to display designer module version no. on the form?

    Hi,
    Does anyone know how to display designer module version no. on the form?
    Thanks in advance

    With Headstart, we suggest you create a module argument P_REVISION and manually populate this item with the current revision of your module. You can then see this argument in the 'About this Application' form that is supplied with Headstart. You could write a utility to query the module revision number for the module and populate P_REVISION with this value.
    Regards,
    Lauri

  • How a submit will call a servelet in the form component

    how a submit will call a servelet in the form component

    Sunil, you want to look at the "Customizing the LiveCycle® Workspace ES User Interface" document at http://help.adobe.com/en_US/livecycle/9.0/customizeworkspaceui.pdf.  The workspace is a Flash component.  For ES4 there's an option to run the workspace in HTML5 which might be more productive long-term.

  • How can get difference between 2 dates in the form of days

    how can get difference between 2 dates in the form of days

    Hi,
    Check the following program:
    REPORT ZDATEDIFF.
    DATA: EDAYS   LIKE VTBBEWE-ATAGE,
          EMONTHS LIKE VTBBEWE-ATAGE,
          EYEARS  LIKE VTBBEWE-ATAGE.
    PARAMETERS: FROMDATE LIKE VTBBEWE-DBERVON,
                TODATE   LIKE VTBBEWE-DBERBIS DEFAULT SY-DATUM.
    call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      exporting
        i_date_from          = FROMDATE
        i_date_to            = TODATE
      I_FLG_SEPARATE       = ' '
      IMPORTING
        E_DAYS               = EDAYS
        E_MONTHS             = EMONTHS
        E_YEARS              = EYEARS.
    WRITE:/ 'Difference in Days   ', EDAYS.
    WRITE:/ 'Difference in Months ', EMONTHS.
    WRITE:/ 'Difference in Years  ', EYEARS.
    INITIALIZATION.
    FROMDATE = SY-DATUM - 60.
    Regards,
    Bhaskar

  • How to iterate through multiple records read from a file adapter?

    I am reading multiple records from a file using SyncRead file adapter.
    I want to iterate through the records to perform some action on every record. How to do this?
    I found few threads related to this..but did not get the solution.
    Please note that I am using Jdev 10.1.3.4
    Thanks

    For count expression, I am getting following error:
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:subLanguageExecutionFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>XPathExecutionError</code>
    <summary>XPath expression failed to execute. Error while processing xpath expression, the expression is "ora:countNodes(bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection'))", the reason is FOTY0001: type error. Please verify the xpath query. </summary>
    </detail>
    </Fault>
    I hard-coded count, in order to proceed. Then I got following error
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:bindingFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>null</code>
    <summary>file:/C:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_BPELProcess4_1.0_dc4a703c46a242f69d6cea305b2df3a3.tmp/WriteDA.wsdl [ WriteDA_ptt::insert(VbEmpCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: Mapping Not Found Exception. The mapping [C1] for descriptor [class bpel___localhost_default_BPELProcess4_1_0__MD5_ad2539e1386433a9e059bcc969732f11_.WriteDA.VbEmp] could not be found. The input xml record had an element [VbEmp/C1]. ; nested exception is: ORABPEL-11627 Mapping Not Found Exception. The mapping [C1] for descriptor [class bpel___localhost_default_BPELProcess4_1_0__MD5_ad2539e1386433a9e059bcc969732f11_.WriteDA.VbEmp] could not be found. The input xml record had an element [VbEmp/C1]. Make sure that the input xml is valid relative to the xsd and that the mapping exists in the Mappings.xml. If an old version of the descriptor without this mapping has been loaded by the database adapter, you may need to bounce the app server. If the same descriptor is described in two separate Mappings.xml files, make sure both versions include this attribute/mapping. </summary>
    <detail>null</detail>
    </detail>
    </Fault>
    The bpel code is as follows (I can share entire BPEL project..But not sure how to attach to the thread :( )
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Wed Feb 03 18:00:26 IST 2010
    Author: administrator
    Purpose: Synchronous BPEL Process
    -->
    <process name="BPELProcess4"
    targetNamespace="http://xmlns.oracle.com/BPELProcess4"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns4="http://TargetNamespace.com/InboundService"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:client="http://xmlns.oracle.com/BPELProcess4"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/ReadFA/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://xmlns.oracle.com/pcbpel/adapter/db/top/WriteDA"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/WriteDA/"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:BPELProcess4"
    myRole="BPELProcess4Provider"/>
    <partnerLink name="WriteDA" partnerRole="WriteDA_role"
    partnerLinkType="ns2:WriteDA_plt"/>
    <partnerLink name="ReadFA" partnerRole="SynchRead_role"
    partnerLinkType="ns1:SynchRead_plt"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="inputVariable"
    messageType="client:BPELProcess4RequestMessage"/>
    <variable name="outputVariable"
    messageType="client:BPELProcess4ResponseMessage"/>
    <variable name="Invoke_2_insert_InputVariable"
    messageType="ns2:VbEmpCollection_msg"/>
    <variable name="Invoke_3_SynchRead_InputVariable"
    messageType="ns1:Empty_msg"/>
    <variable name="Invoke_3_SynchRead_OutputVariable"
    messageType="ns1:EmpCollection_msg"/>
    <variable name="Invoke_3_SynchRead_InputVariable_1"
    messageType="ns1:Empty_msg"/>
    <variable name="Count" type="xsd:integer"/>
    <variable name="iterater" type="xsd:integer"/>
    </variables>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess4.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:BPELProcess4" operation="process"
    variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <invoke name="Invoke_3" partnerLink="ReadFA" portType="ns1:SynchRead_ptt"
    operation="SynchRead"
    outputVariable="Invoke_3_SynchRead_OutputVariable"
    inputVariable="Invoke_3_SynchRead_InputVariable_1"/>
    <assign name="Assign_1">
    <copy>
    <from expression="1"/>
    <to variable="iterater"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="Count"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('iterater') &lt;= bpws:getVariableData('Count')">
    <sequence name="Sequence_2">
    <switch name="Switch_1">
    <case condition="bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection/ns4:Emp/ns4:C4') = &quot;Pune&quot;">
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from expression="bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection/ns4:Emp')[bpws:getVariableData('iterater')]"/>
    <to variable="Invoke_2_insert_InputVariable"
    part="VbEmpCollection"
    query="/ns3:VbEmpCollection/ns3:VbEmp"/>
    </copy>
    </assign>
    <invoke name="Invoke_2" partnerLink="WriteDA"
    portType="ns2:WriteDA_ptt" operation="insert"
    inputVariable="Invoke_2_insert_InputVariable"/>
    </sequence>
    </case>
    <otherwise>
    <sequence name="Sequence_3">
    <empty name="Empty_1"/>
    <assign name="Transform_1">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('Transformation_3.xsl',bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection'))"/>
    <to variable="Invoke_2_insert_InputVariable"
    part="VbEmpCollection"/>
    </copy>
    </assign>
    </sequence>
    </otherwise>
    </switch>
    <assign name="Assign_2">
    <copy>
    <from expression="bpws:getVariableData('iterater') + 1"/>
    <to variable="iterater"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <reply name="replyOutput" partnerLink="client"
    portType="client:BPELProcess4" operation="process"
    variable="outputVariable"/>
    </sequence>
    </process>
    From the process flow, I can see that the array element expression works and the first employee record is correctly assigned to the Invoke_2_Input_Variable.
    However Invoke_2 is erroring out.
    Thanks
    Edited by: user8645981 on Feb 5, 2010 2:44 AM

  • How to manipulate multiple records in side the cursor

    DECLARE
    CURSOR C1 IS
         SELECT ITEM_CODE,AVERAGE_COST,STORE_CODE
    FROM IM_GOODS_RECIEVE_DETAILS
    WHERE DOC_CODE = :IM_GOODS_RECIEVE_DETAILS.DOC_CODE;
    LOC_DOC_CODE VARCHAR2(10);
    LOC_ITEM_CODE VARCHAR2(30);
    LOC_ITEM_QUANTITY NUMBER(12,3);
    LOC_TOTAL_COST NUMBER(12,3);
    LOC_AVERAGE_COST NUMBER(12,3);
    BEGIN
    FOR R IN C1
    LOOP
    -- THIS FOR ISSUED ITEMS QUANTITY     
    SELECT B.ITEM_CODE,NVL(ITEM_QUANTITY,0),A.DOC_CODE,AVERAGE_COST,TOTAL_COST
    INTO LOC_ITEM_CODE,LOC_ITEM_QUANTITY,LOC_DOC_CODE,LOC_AVERAGE_COST,LOC_TOTAL_COST
    FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
    WHERE A.DOC_CODE = B.DOC_CODE
    AND B.DEL_STORE = R.STORE_CODE
    AND ITEM_CODE = R.ITEM_CODE
    AND DOC_DATE BETWEEN :IM_GOODS_RECIEVE_HEADER.DOC_DATE AND :EXPENSES_TAB.EXP_DATE
    ORDER BY
    B.ITEM_CODE;
    SHOW_MESSAGE('LOC_DOC_CODE'||' '||LOC_DOC_CODE);
    SHOW_MESSAGE('ITEM_CODE ->' ||' '||LOC_ITEM_CODE);
    SHOW_MESSAGE('LOC_ITEM_QUANTITY'||' '||LOC_ITEM_QUANTITY);
    SHOW_MESSAGE('LOC_AVERAGE_COST'||' '||LOC_AVERAGE_COST);
    SHOW_MESSAGE('LOC_TOTAL_COST '||' '||LOC_TOTAL_COST );     
         UPDATE IM_TRANS_ISSUE_DETAILS
    SET AVERAGE_COST = :NEW_AVERAGE_COST,TOTAL_COST = :NEW_AVERAGE_COST * LOC_ITEM_QUANTITY
         WHERE DOC_CODE = LOC_DOC_CODE
    AND ITEM_CODE = LOC_ITEM_CODE ;
    END LOOP;
    COMMIT;
    SHOW_MESSAGE('The New Cost Price updated !!!');
    END;
    This script it will work if the select statment inside the loop return one record , but if it return more than one record it will give error
    how can i hanlde the above select statment
    waiting for your valuable answer with example please .
    my email : [email protected]
    Best regards
    Jamil Alshaibani

    it has been answered as the following :
    DECLARE
    CURSOR C1 IS
    SELECT ITEM_CODE,AVERAGE_COST,STORE_CODE
    FROM IM_GOODS_RECIEVE_DETAILS
    WHERE DOC_CODE = :IM_GOODS_RECIEVE_DETAILS.DOC_CODE;
    LOC_DOC_CODE VARCHAR2(10);
    LOC_ITEM_CODE VARCHAR2(30);
    LOC_ITEM_QUANTITY NUMBER(12,3);
    LOC_TOTAL_COST NUMBER(12,3);
    LOC_AVERAGE_COST NUMBER(12,3);
    BEGIN
    FOR R IN C1
    LOOP
    -- THIS FOR ISSUED ITEMS QUANTITY, it will work if there is only one record,
    -- but if the select statment below return more than one record it will give
    -- error how can I manipulate all the records in the IM_TRANS_ISSUE_DETAILS table
    FOR R2 IN (
    SELECT B.ITEM_CODE as LOC_ITEM_CODE, NVL(ITEM_QUANTITY,0) as LOC_ITEM_QUANTITY,
    A.DOC_CODE as LOC_DOC_CODE, AVERAGE_COST as LOC_AVERAGE_COST,
    TOTAL_COST as LOC_TOTAL_COST
    -- INTO LOC_ITEM_CODE,LOC_ITEM_QUANTITY,LOC_DOC_CODE,LOC_AVERAGE_COST,LOC_TOTAL_COST
    FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
    WHERE A.DOC_CODE = B.DOC_CODE
    AND B.DEL_STORE = R.STORE_CODE
    AND ITEM_CODE = R.ITEM_CODE
    AND DOC_DATE BETWEEN :IM_GOODS_RECIEVE_HEADER.DOC_DATE
    AND :EXPENSES_TAB.EXP_DATE
    ORDER BY B.ITEM_CODE )
    LOOP
    SHOW_MESSAGE('LOC_DOC_CODE' ||' '||R2. LOC_DOC_CODE);
    SHOW_MESSAGE('ITEM_CODE ->' ||' '||R2. LOC_ITEM_CODE);
    SHOW_MESSAGE('LOC_ITEM_QUANTITY'||' '||R2. LOC_ITEM_QUANTITY);
    SHOW_MESSAGE('LOC_AVERAGE_COST' ||' '||R2. LOC_AVERAGE_COST);
    SHOW_MESSAGE('LOC_TOTAL_COST ' ||' '||R2. LOC_TOTAL_COST );
    UPDATE IM_TRANS_ISSUE_DETAILS
    SET AVERAGE_COST = :AVERAGE_COST,
    TOTAL_COST = :AVERAGE_COST * R2. LOC_ITEM_QUANTITY
    WHERE DOC_CODE = R2. LOC_DOC_CODE
    AND ITEM_CODE = R2. LOC_ITEM_CODE ;
    END LOOP;
    END LOOP;
    COMMIT;
    SHOW_MESSAGE('The New Cost Price updated !!!');
    END;

  • How can i update multiple records at same time in psa

    Hi,
    i need to modify certain column's value in psa. for one of InfoObject  fix value i need to change to some other value, can i write some routine or any other way to do so quickly.
    thnx

    If you are in prod, its tough to write code to manipulate PSAs. First of all, you need to transport your Program. Also, if you make a mistake, you can potentially change other PSAs.
    If you insist, get the name of the PSA. Go to RSA1, PSA tab. THere, right click on your infosource and select Delete PSA. DON'T DELETE anything in this screen. Just copy the Table name (look around, you will find it there). Now, go to SE16 and lok at the table contennts. If you give Req, data pack, etc, you can access multiple records. Now, write the program "carefully"  to access and change records in this table.
    There is another way, but this will work-out for you.
    Uday-Ram Chamarthy

  • How can I validate Multiple Field Input as Total % = 100

    I have a form that is going to have multiple numeric values that need to be entered as percents.  OnefField is required, but more than one, possibly 20 could have values,  but the collective total must be 100%.  How can I accomplish this with Spry Validation?
    Thanks
    Joe
    Apphia Solutions
    http://apphiasolutions.com
    [email protected]

    So I have this working, but I choose to display the field value on the layout for direct feedback to the user.
    Here is a link to the form.    http://stuckey.com/forms/industries_served.php
    I have to click into the field to update it.
    What do you suggest?
    Thanks,
    Joe
    Joe Scarpetta
    Apphia Solutions, LLC
    http://apphiasolutions.com
    [email protected]

  • How to separate / validate multiple emails?

    Hi,
    User enters single or multiple emails in the field. We provide help saying that all emails must be separated by either a comma or semicolon. Not everyone follows that so if user enters [email protected] [email protected] the email is not sent. There can be more than 2 emails.
    So is there a way to check that those emails are separated by either comma or semicolon, and if not add it before email is sent?
    Thank you

    Hi Frank,
    I am trying to validate multiple email addresses as well. Currently, my function works for only one email address. Is there a way to extend this function? I am using Oracle 9i.
    FUNCTION validate_email_format(p_address IN VARCHAR2) RETURN VARCHAR2 IS
      l_dot_pos    NUMBER;
      l_at_pos     NUMBER;
      l_str_length NUMBER;
    BEGIN
      l_dot_pos := instr(p_address, '.');
      l_at_pos  := instr(p_address, '@');
      l_str_length := LENGTH(p_address);
      if ((l_dot_pos = 0) OR (l_at_pos = 0) OR (l_dot_pos = l_at_pos + 1) OR
          (l_at_pos = 1)  OR (l_at_pos = l_str_length ) OR
          (l_dot_pos = l_str_length)) then
        return 'FAILURE';
      end if;
      if instr(substr(p_address, l_at_pos), '.') = 0 then
        return 'FAILURE';
      end if;
      return 'SUCCESS';
    END validate_email_format;Thanks

Maybe you are looking for

  • Regarding output

    hi experts,                 i have developed one report in alv when i transfer it to excel sheet its coming rt in development server,,but in production server when i take it to excel sheet the material number gets cut (half) and extra zero is coming

  • ITunes 11 no longer allowing to stream video audio to an Airport?

    I just istalled iTunes 11 and discovered that when watching videos, I am no longer able to stream the audio to an AirportExpress connected to a DAC.  Very annoyingly, the new iTunes 11 user interface killed the AirportExpress entries from the output

  • ISE 1.2 to 1.3 upgrade clarification question

    I am looking to upgrade from ISE version 1.2 to version 1. 3 and am reading through the upgrade guide. The basic steps they outline are to create a repository pointing to disk: and then run the application upgrade prepare using the new repository. Th

  • Oracle RAC HAIP vs network interface bonding

    Hi, Oracle intruduced new feature called HAIP (11gR2 Grid Infrastructure Redundant Interconnect and ora.cluster_interconnect.haip [ID 1210883.1] ) in Oracle 11.2.0.2 or later. Oracle GI natively supports HAIP so that user does not need to configure I

  • Should I uninstall the Beta version and then install the Android version or . . . .?

    I installed Firefox Beta on my VTE Android. I think I also installed and uninstalled the android version. It is all a big blur. I am having so much trouble and I am so confused.