Commiting for each record is useful

Hi All,

commiting for each record is usefulWhy do you say that? What makes you think it is useful?
It is all fine for us to tell you that the statement is wrong.. but that will not really address the reasons you think it is useful. So if you can tell the forum of the reasons of your statement, we can show you why those are incorrect and what the correct approach and methodology are.

Similar Messages

  • How to call webservice for each record in a table using ODI

    Hi
    I am new to ODI and Webservice. I want to invoke a scenario in ODI using web service. I hava a weblogic application server with axis 2 deployed.
    But I want call webservice for each record in a table
    For eg: "EMP" table have 50 records, for each record web service should invoke
    Can any one help me on it.
    Thanks,
    phani
    Edited by: user12774166 on Jun 6, 2010 11:16 PM

    If your goal is "call" a web service, Jason's Straub's [flex-ws-api|https://flex-ws-api.samplecode.oracle.com/] is by far the best I've seen. You might want read more about it on [his blog|http://jastraub.blogspot.com/search?q=+flex_ws_api+].
    Tyler Muth
    http://tylermuth.wordpress.com
    [Applied Oracle Security: Developing Secure Database and Middleware Environments|http://sn.im/aos.book]

  • Table cntrol field to be display/Change only For each record

    Hi all,
    How to set a particular Field in table control either as display only or
    change only for <b>each row</b> based on certain condition.I need to set this property for each record in table control not for the entire coloumn?.I know the procedure for setting up an entire coloumn in table control either as diplay or change only using <b>Loop at screen</b> statement.
    Conditions:
    If Material is batch managed:
    itab-batch field has to be <b>Display only</b> mode.
    if material is not batch managed:
    itab-batch field has to be <b>change mode</b>.
    <b>O/p of Table Control :</b>
    Material     Batch
    1000         Display only
    2000        Change only
    8000        Change only
    3500        Display only
    3600        Display only

    Hi Ravi,
              Thanks for your reply.I have put the code as u said. It is modifying the whole coloumn insted of  modifying Current row of the coloumn.
    I have tried to modify the screen property using  Table control attributes (TC-COLS).The following commented code is that logic.Even that also doing the same thing.Can yoy please tell me how to do it.
    MODULE tc_get_lines OUTPUT.
    LOOP AT SCREEN.
        IF screen-name = 'X_ZPINV-CHARG'.
          IF fg_batch = ' '.
            screen-input = 0.
          ELSE.
            screen-input = 1.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    LOOP AT tc-cols INTO tc_wa
      WHERE screen-name = 'X_ZPINV-CHARG'.
       IF x_zpinv-matnr IS NOT INITIAL.
         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
           EXPORTING
             input  = x_zpinv-matnr
           IMPORTING
             output = v_matnr.
         SELECT SINGLE * FROM marc WHERE matnr = v_matnr
         AND werks = w_plant.
         IF marc-xchar IS INITIAL.
           tc_wa-screen-input = 0.
         ELSE.
           tc_wa-screen-input = 1.
         ENDIF.
         MODIFY tc-cols FROM tc_wa INDEX sy-tabix."    transporting screen-input
       ENDIF.
    ENDLOOP.
    ENDMODULE.                    "TC_GET_LINES OUTPUT

  • From XML (import) for each record automatic new page creation?

    Hello,
    I'm playing around with XML.
    Can someone tell me where to look and help me?
    I load variable data via XML.
    Example content xml:
    <pages>
         <page>
             <id>1</id>
             <article>title page 1</article>
             <info>Info page 1</info>
             <price>price page 1</price>
         </page>
         <page>
             <id>2</id>
             <article>title page 2</article>
             <info>Info page 2</info>
             <price>price page 2</price>
         </page>
         <page>
             <id>3</id>
             <article>title page 3</article>
             <info>Info page 3</info>
             <price>price page 3</price>
         </page>
    </pages>
    I have 1 page classified (ie 3 text boxes). The idea is that for each record in the xml (in this case 1, 2 and 3) a new page is created (Qua layout identical to the page that I had prepared, but with the corresponding data in each box)
    How do I do this?
    Thanks!

    If you need to keep the three parts of your page in separate text frames, you are probably out of luck.
    I can't tell from your question whether you know how to tag frames and import XML content into them. If you don't, the manual is fairly clear on it. However, it states more than once that "InDesign flows merged XML content into existing frames only."  That means that it won't add frames or pages for you -- you can only load XML into tagged frames on the first page and will have to add extra ones by hand.
    If you could rework your design so that all the elements could be accommodated in a single text frame, using paragraph styles to keep them apart, you could just import the XML and map tags to styles, then drag it into a frame on the first pages. If your article style was set to start in a new frame,  everything but the first would go into overset text, which you could deal with in the usual way -- shift-click on the in port of a new frame and InDesign will add the pages you need.

  • Create single message in receiving side for each record in the sender file

    Dear Experts,
    My Interface is from FILE to MQ (JMS)..
    I have a specific requirement in my project, I have multiple files in sender directory ( /tmp)
    Ex: FILE_20090202.TXT
    FILE_20090203.TXT
    FILE_20090204.TXT
    FILE_20090205.TXT
    And each file has couple of records just shown below:
    ABC   123     WER    SER
    BCD   345     WEDR    SER
    CDE   567     GHTE   DDGG u2026. Etc..
    I have to process all the files at a time ( may be I can use file masking by FILE*.txt) , one message has to be created in MQ for each record of the file..
    Ex:
    Message 1: ABC   123     WER    SER
    Message 2: BCD   345     WEDR    SER
    Message 3: CDE   567     GHTE   DDGG
    Valuable inputs are appiciated !!
    Cheers,
    Kumar

    As already suggested, multi-mapping can be used
    You need to set target root node occurrence to unbounded and map root node accordingly
    you will have to use enhanced interface determinaion
    For detail refer:
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

  • How to have a unique value for each record??

    could any 1 help me out in this...
    I want to have a column name 'Order No' which should be unique.
    How to generate a unique value for each record.??

    could any 1 help me out in this...
    I want to have a column name 'Order No' which should be unique.
    How to generate a unique value for each record.?? If you are using SQL PLUS to create the table try something like
    this:
    CREATE TABLE ORDER_TEST (
    ORD_NO NUMBER (8) NOT NULL PRIMARY KEY,
    ORDERDATE DATE,
    CUSTID NUMBER (8) NOT NULL,
    SHIPDATE DATE,
    TOTAL NUMBER (8,2) CONSTRAINT TOTAL_ZERO CHECK
    (TOTAL >= 0),
    CONSTRAINT ORD_FOREIGN_KEY FOREIGN KEY (CUSTID) REFERENCES
    CUSTOMER (CUSTID),
    CONSTRAINT ORD_UNIQUE UNIQUE (ORD_NO)
    -- or a simpler table example
    DROP TABLE ORDER_TEST;
    CREATE TABLE ORDER_TEST (
    ORD_NO NUMBER (8),
    ORDERDATE DATE,
    CUSTID NUMBER (8) NOT NULL,
    SHIPDATE DATE,
    TOTAL NUMBER (8,2) CONSTRAINT TOTAL_ZERO CHECK
    (TOTAL >= 0),
    CONSTRAINT ORD_UNIQUE UNIQUE (ORD_NO)
    note: ORD_NO can also be a primary key
    If you are doing the INSERT during runtime from a form first
    create a sequence in SQL PLUS to handle the ORD_NO value:
    Create SEQUENCE ORDERNO_UNIQUEVAL_sqnc
    START WITH 000001
    NOMAXVALUE
    NOCACHE;
    and reference it as the ORD_NO parameter in your INSERT
    statement:
    ORDERNO_UNIQUEVAL_sqnc.NEXTVAL
    note: to maintain data integrity you must use the sequence
    everytime you insert a new order to table. To start a new
    sequence drop the sequence and re-create it with whatever "START
    WITH" value you want.
    Hope this helps
    Kevin

  • Graphical mapping question - need to create 2 nodes for each record

    The mapping is from flat to nested, i.e. flat file to FIDCC2 idoc. Each record has to go to 2 repeated IDoc segments, each one with different posting key. Right now, I have it working for each record to a segment(for one segment) by using splitByValue (value change). How can I repeat the creation of another but with slightly different constant.
    Also, how do I add line numbers? I remember seeing a posting on this a while ago - cannot locate it.
    Will be Rewarded WELL.
    Thanks,
    Pam

    Hi, Pam
    Using the following example to store it as global variable
    SetParameter from GloabalContainer:
    container.getGlobalContainer ().setParameter ("COUNTER", "0");
    GetParameter from GloabalContainer:
    String myCounter = (String) container.getGlobalContainer().getParameter ("COUNTER");
    When you map to your constant, store it in global variable, then you map other field, get current global variable, check its value, based on the value, you do proper mapping.
    Hope it helps
    Liang

  • Calling Procedure for each record ?

    Hi,
    I am using a procedure in a mapping.
    I defined the procedure which is having 4 out parameters.
    I am assigning these default values to the tables in a mapping.
    When I see the generated code in a mapping, I observed that, the procedure is being called for each record.
    But actually, its enogh to be called only once.
    Could any one please help me, how can I restrict the procedure calling for each record.
    Any help would be greatly appreciated.
    Thank you,
    Regards,
    Gowtham Sen

    Hi,
    U can use MAP-INPUTS operator to give the inputs to the procedure and use a PRE_MAPPING operator to call the procedure. this way even if u feel u want to make the mapping running thru an scheduler u can still use it without changing the code.
    Regards
    Bharath

  • Lookup Data For Each Record of Result Set

    I'm trying to determine if the following task is possible in BPEL and how to implement it.
    Assume I have two DB Adapters returning data from two different databases.
    The first excepts no inputs returns 5 records in a collection looking somewhat like the following.
    Order ID, Item ID
    1, 2
    2, 1
    3, 1
    4, 2
    5, 3
    The second accepts an Item ID as input and returns the description for that item.
    I would like the output of the BPEL Process to look like this.
    Order ID, Item ID, Item Desc
    1, 2, Computer
    2, 1, Desk
    3, 1, Desk
    4, 2, Computer
    5, 3, Lamp
    I'm new to BPEL and I'm assuming this will involve invoking the first db adapter link and then iterator through the result set calling the second db adapter link for each record but I'm not sure where to start. I'm hoping someone can give me a simple example that I can play with. I've looked at How to iterate through multiple records read from a file adapter? and How to pass a single element in an array to XSL from BPEL but I'm getting lost.
    Thanks

    I just got it working in the BPEL for-each loop by creating a variable of type Order which I then assigned the results from that loop and then appended them to my output variable. I'd be interested in seeing how I could do that within a transformation if its quicker. How do I append in a transformation so that I can add the row after each loop.
    Here is the BPEL so far.
    I will note that I think just fetching a complete copy of both data sources and merging wouldn't be ideal as my items table could contain a million records or more and I'm only wanting to fetch the ones I'm interested in.
    Thanks
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
      Oracle JDeveloper BPEL Designer
      Created: Thu Dec 19 10:16:29 CST 2013
      Author:  shawn.c.weeks.ctr
      Type: BPEL 2.0 Process
      Purpose: Synchronous BPEL Process
    -->
    <process name="Lookup_Orders"
                   targetNamespace="http://xmlns.oracle.com/Order_Lookup/Sales_System/Lookup_Orders"
                   xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
                   xmlns:client="http://xmlns.oracle.com/Order_Lookup/Sales_System/Lookup_Orders"
                   xmlns:ora="http://schemas.oracle.com/xpath/extension"
                   xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
             xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
             xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/Order_Lookup/Sales_System/get_orders"
             xmlns:ns2="http://www.example.org"
             xmlns:ns3="http://xmlns.oracle.com/pcbpel/adapter/db/top/get_orders"
             xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
             xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
             xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
             xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
             xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
             xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
             xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
             xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
             xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
             xmlns:ns4="http://xmlns.oracle.com/pcbpel/adapter/db/Order_Lookup/Sales_System/get_items"
             xmlns:ns5="http://xmlns.oracle.com/pcbpel/adapter/db/top/get_items"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <import namespace="http://xmlns.oracle.com/Order_Lookup/Sales_System/Lookup_Orders" location="Lookup_Orders.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
        <!--
            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="lookup_orders_client" partnerLinkType="client:Lookup_Orders" myRole="Lookup_OrdersProvider"/>
        <partnerLink name="get_orders" partnerLinkType="ns1:get_orders_plt"
                     partnerRole="get_orders_role"/>
        <partnerLink name="get_items" partnerLinkType="ns4:get_items_plt"
                     partnerRole="get_items_role"/>
      </partnerLinks>
      <!--
          VARIABLES                                                       
          List of messages and XML documents used within this BPEL process
      -->
      <variables>
        <!-- Reference to the message passed as input during initiation -->
        <variable name="inputVariable" messageType="client:Lookup_OrdersRequestMessage"/>
        <!-- Reference to the message that will be returned to the requester-->
        <variable name="outputVariable" messageType="client:Lookup_OrdersResponseMessage"/>
        <variable name="Invoke1_get_ordersSelect_InputVariable"
                  messageType="ns1:get_ordersSelect_inputParameters"/>
        <variable name="Invoke1_get_ordersSelect_OutputVariable"
                  messageType="ns1:OrdersCollection_msg"/>
        <variable name="Invoke2_get_itemsSelect_InputVariable"
                  messageType="ns4:get_itemsSelect_inputParameters"/>
        <variable name="Invoke2_get_itemsSelect_OutputVariable"
                  messageType="ns4:ItemsCollection_msg"/>
        <variable name="Output_Row" element="ns2:OrderCollection"/>
      </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 Lookup_Orders.wsdl) -->
        <receive name="receiveInput" partnerLink="lookup_orders_client" portType="client:Lookup_Orders" operation="process" variable="inputVariable" createInstance="yes"/>
        <!-- Generate reply to synchronous request -->
        <invoke name="Invoke1" bpelx:invokeAsDetail="no" partnerLink="get_orders"
                portType="ns1:get_orders_ptt" operation="get_ordersSelect"
                inputVariable="Invoke1_get_ordersSelect_InputVariable"
                outputVariable="Invoke1_get_ordersSelect_OutputVariable"/>
        <forEach parallel="no" counterName="ForEach1Counter" name="ForEach1">
          <startCounterValue>1</startCounterValue>
          <finalCounterValue>count($Invoke1_get_ordersSelect_OutputVariable.OrdersCollection/ns3:Orders)</finalCounterValue>
          <scope name="Scope1">
            <sequence name="Sequence1">
              <assign name="Assign2">
                <copy>
                  <from>$Invoke1_get_ordersSelect_OutputVariable.OrdersCollection/ns3:Orders[$ForEach1Counter]/ns3:itemId</from>
                  <to>$Invoke2_get_itemsSelect_InputVariable.get_itemsSelect_inputParameters/ns5:item_id</to>
                </copy>
              </assign>
              <invoke name="Invoke2" bpelx:invokeAsDetail="no"
                      partnerLink="get_items" portType="ns4:get_items_ptt"
                      operation="get_itemsSelect"
                      inputVariable="Invoke2_get_itemsSelect_InputVariable"
                      outputVariable="Invoke2_get_itemsSelect_OutputVariable"/>
              <assign name="Assign3">
                <copy>
                  <from>$Invoke1_get_ordersSelect_OutputVariable.OrdersCollection/ns3:Orders[$ForEach1Counter]/ns3:orderId</from>
                  <to>$Output_Row/ns2:Order/ns2:Order_ID</to>
                </copy>
                <copy>
                  <from>$Invoke1_get_ordersSelect_OutputVariable.OrdersCollection/ns3:Orders[$ForEach1Counter]/ns3:itemId</from>
                  <to>$Output_Row/ns2:Order/ns2:Item_ID</to>
                </copy>
                <copy>
                  <from>$Invoke2_get_itemsSelect_OutputVariable.ItemsCollection/ns5:Items[1]/ns5:itemDesc</from>
                  <to>$Output_Row/ns2:Order/ns2:Item_Desc</to>
                </copy>
              </assign>
              <assign name="Assign4">
                <extensionAssignOperation>
                  <bpelx:append>
                    <bpelx:from>$Output_Row/ns2:Order</bpelx:from>
                    <bpelx:to>$outputVariable.payload</bpelx:to>
                  </bpelx:append>
                </extensionAssignOperation>
              </assign>
            </sequence>
          </scope>
        </forEach>
        <reply name="replyOutput" partnerLink="lookup_orders_client" portType="client:Lookup_Orders" operation="process" variable="outputVariable"/>
      </sequence>
    </process>

  • How do I store images uploaded by end users for each record?

    I am writing an application which requires end users to upload an image for each record they add. There could be thousands of images, and they are exclusive to this app. I use a File Browse item in order to let the user choose an image file to upload.
    But all I have managed to achieve at the moment is storing the full pathname of where the image is on the users machine, which means they can see the images they upload but no-one else can! Obviously not practical. I haven't figured out how to actually upload the images to the server and achieve multi-user access from there.
    My questions are, where is the best place to store these images, in the database or in a folder on the server? And what setups do I, or the DBA, need to do for both of these scenarios in order to save the uploaded images and display them.
    Hopefully someone can give advice, or point me to some documentation explaining this procedure. Thanks in anticipation.
    Rick.

    Hi
    The file you upload can be found in APEX_APPLICATION_FILES view. If you are want to store the file as BLOB in your table you can use the code similar to:
                 SELECT BLOB_CONTENT, FILENAME, MIME_TYPE
                 INTO    v_blob, v_actual_name, V_MIME_TYPE
                 FROM   APEX_APPLICATION_FILES
                 WHERE name = :P216_FILE;Or directly insert in your table using
                 INSERT INTO ......... (.....)
                 (SELECT BLOB_CONTENT, FILENAME, MIME_TYPE
                 FROM   APEX_APPLICATION_FILES
                 WHERE name = :P216_FILE);-----
    Zulqarnain
    http://www.maxapex.com
    Low Cost, High Quality Hosting for Oracle Apex

  • Filter Oldest Entry for Each Record

    Post Author: Stephanie
    CA Forum: Desktop Intelligence Reporting
    I have a file that has multiple rows for each record, each with a different date. I would like to filter the report so that only the oldest entry for each record appears. Any suggestions? The report looks like this:
    Record 1     01/01/07
    Record 1     03/01/07
    Record 1     05/01/07
    Record 2     03/01/07
    Record 2     05/01/07
    Record 2     07/01/07
    I would like the report to show this:
    Record 1     01/01/07
    Record 2     03/01/07
    Thank you.

    Post Author: Stephanie
    CA Forum: Desktop Intelligence Reporting
    Thanks for the suggestion, but I had already tried that and I could not get it to work. I made a variable =Min(<Date>). When I removed the other date field, my report did look like this:
    Record 1     01/01/07
    Record 2     03/01/07
    The problem is that there are other fields in the entry that I need to display as well. Let me rephrase what my original file looks like.
    Record 1     01/01/07     Product A
    Record 1     03/01/07     Product H
    Record 1     05/01/07     Product K
    Record 2     03/01/07     Product Z
    Record 2     05/01/07     Product G
    Record 2     07/01/07     Product H
    I want the result to look like this:
    Record 1     01/01/07     Product A
    Record 2     03/01/07     Product Z
    When I use the min formula, I can't figure out a way to get the product information from the original record as well.

  • Conditionally display an icon for each record in a multi record block

    Hi,
    I am using Forms 6i. Is there any way to conditionally display an icon for each record in a multi record block. The SET_ITEM_INSTANCE_PROPERTY builtin does not have many choices. Thanks for your help.

    Henry,
    I doubt that. You would have to replace the text item with an image item. This however can't be done for individual cells in a table but only for the whole column.
    On the web chances are that these could be handled with a custom PJC, but this solution doesn't work in client/server
    Frank

  • Can I plot 2 locations at the same time for each record in a table

    I'm trying to plot 2 Locations (2 points on a Power View Map) at the same time for each record/project in a table
    I can plot 1 location for each project of course with no problem
    but I'm trying to show the Begin Point and the
    End Point for each project at the same time
    Is this even possible?

    First of all THANKS this worked!
    But now I stumbled on another issue. So I actually have 3 tables (and I've adopted them to the file you sent)
    Table 1 => TripData
    Trip
    LongLat
    Location
    Type
    TypeCode
    Size
    NW Tour
    47.568077, -122.320800
    Seattle, WA
    Begin
    0
    1
    NW Tour
    47.035608,   -122.884812
    Olympia,   WA
    End
    1
    1
    Cali Trip
    37.808848, -122.412580
    San Francisco, CA
    Begin
    0
    1
    Cali Trip
    32.682611, -117.178348
    San Diego, CA
    End
    1
    1
    Table 2 =>
    TripInfo
    Trip
    OneLongLat
    NTP
    NW Tour
    47.568077, -122.320800
    1/1/2015
    Cali Trip
    37.808848, -122.412580
    1/5/2015
    Table 3 =>
    ALLTrips
    Trip
    Stop
    Owner
    NW Tour
    1
    Owner1
    NW Tour
    2
    Owner2
    NW Tour
    3
    Owner3
    NW Tour
    4
    Owner4
    NW Tour
    5
    Owner5
    Cali Trip
    1
    Owner6
    Cali Trip
    2
    Owner7
    Cali Trip
    3
    Owner8
    Cali Trip
    4
    Owner9
    Cali Trip
    5
    Owner10
    Cali Trip
    6
    Owner11
    This is how the Diagram View looks like in PowerPivot
    Trip Data => Trip Info <= ALLTrips
    Since I don't know how to post pictures
    The MAP FIELDS are as follows
    SIZE - Count of Stop(s)
    LOCATIONS - OneLongLat followed by
    LongLat (drill down feature)
    COLOR - Trip
    The problem now happens with the drill down feature
    You can either plot OneLongLat which is the general location for each trip
    Or LongLat of each trip which shows the begin and end points
    But you can't use the drill down feature???
    If instead of OneLongLat you use a
    State Column it actually works!!!
    I wonder if it has to do with the fact that both locations used for the drill down are Long/Lat numbers???
    Any suggestions???
    And again Thanks for the response!

  • Create id, update id with date for each record

    Hi,
    Please give me brief idea or document for this concept:
    I need create id, create date, update id, update date for each record inserted or updated in database (in few tables).
    1) how user id can be obtained?
    2) Is it better if i use views instead of tables for this?
    3) is it possible for each record?
    Please show me complete scenario. a piece of code can also be helpful.
    thanx in advance.

    only.ashish99 wrote:
    Hi,
    Please give me brief idea or document for this concept:
    I need create id, create date, update id, update date for each record inserted or updated in database (in few tables).
    1) how user id can be obtained?SELECT
    2) Is it better if i use views instead of tables for this?It depends.
    post EXPLAIN PLAN for both.
    3) is it possible for each record?yes
    How do I ask a question on the forums?
    SQL and PL/SQL FAQ

  • Sending emails for each record from tabular form

    I currently have a requirements management tabular form that used to update or set job requirements inactive and/or covered.
    We're a staffing agency and have salesmen across the country that will use this tabular form to quickly manage their requirements to mark them as covered or inactive if the position has been filled.
    The multi-row update works fine since the form was built using the wizard, but I need to be able to send out an email for each record that's been marked as covered in the tabular form.
    How can this be accomplished?
    I'm running Oracle 12c and Apex 4.2.0 on a windows 2008 R2 server.
    Thanks again.

    Greg,
    I took a different approach from what I originally suggested.  Since the tabular form is displaying only reqs that eligible to be covered, I chose to construct a process that would read the database after the reqs table was updated.  The code should find recent reqs covered by the salesman and then send out an email for each covered req.
    Since I cannot see the data structure of your reqs table, I guessed the data type and size for the local variables in the DECLARE section, you many need to adjust these.
    Give this code a shot and let's see where we get.  By the way, the naming conventions of your database are in need of naming standards.
    The process needs to occur After Submit and after the Automatic Row Processing (DML) process that is updating the reqs table.  Make sure that the process sequence number is greater than the Automatic Row Processing (DML) sequence number.
    DECLARE
       l_id           NUMBER;
       l_index        NUMBER;
       l_vc_arr2      apex_application_global.vc_arr2;
       lc_message     VARCHAR2 (4000);
       l_pkey         NUMBER;
       l_date_wrote   DATE;
       l_sales        VARCHAR2 (100);
       l_client       VARCHAR2 (100);
       l_job          VARCHAR2 (100);
       l_1or2         VARCHAR2 (100);
       l_rate         NUMBER;
       l_notes        VARCHAR2 (4000);
    BEGIN
       FOR c1
          -- Retrieve reqs primary key that have been covered
          -- in the last 2 seconds by the salesman
       IN (SELECT pkey
             INTO l_pkey
             FROM reqs
            WHERE     SYSDATE < (date_wrote + 1 / 46200)
                  AND active = 'Active'
                  AND reqs.sales = :p12_sales
                  AND covered IS NOT NULL)
       -- Send an email for each req that has been covered
       LOOP
          SELECT c1.date_wrote,
                 c1.sales,
                 c1.client,
                 c1.job,
                 c1.notes,
                 c1.who,
                 c1.1or2,
                 c1.rate
            INTO l_date_wrote,
                 l_sales,
                 l_client,
                 l_job,
                 l_notes,
                 l_who,
                 l_1or2,
                 l_rate
            FROM reqs
           WHERE pkey = l_pkey;
          lc_message := 'Date Written   :' || l_date_wrote || CHR (10);
          lc_message := lc_message || 'Sales          :' || l_sales || CHR (10);
          lc_message := lc_message || 'Client         :' || l_client || CHR (10);
          lc_message := lc_message || 'Position       :' || l_job || CHR (10);
          lc_message := lc_message || '#1 or #2       :' || l_1or2 || CHR (10);
          lc_message := lc_message || 'Rate           :' || l_rate || CHR (10);
          lc_message := lc_message || 'Notes      :' || l_notes || CHR (10);
          l_id :=
             apex_mail.send (
                p_to     => '[email protected]',
                p_from   => 'DO_NOT_REPLY@REQS',
                p_subj   =>    ''
                            || l_who
                            || ' Has Covered '
                            || l_job
                            || ' at '
                            || l_client
                            || CHR (10),
                p_body   => lc_message);
          COMMIT;
          apex_mail.push_queue ();
       END LOOP;
    END;
    Jeff

Maybe you are looking for