How to use AQ Adapter for Enqueue and Dequeue in BPEL process

Can anyone help me how to use Enqueue and Dequeue in BPEL process ? Any good sample or material /tutorial??
Thanks

You shoul create a while loop, that loops through XML payload for each row. Than you can process each individual row. See also example:
C:\orabpel\samples\tutorials\112.Arrays\ArraySample.bpel

Similar Messages

  • High REDO Generation for enqueue and dequeue

    Hi,
    We have found high redo generation while enqueue and dequeue. Which is in-turn affecting our database performance.
    Please find a sample test result below :
    Create the Type:-
    CREATE OR REPLACE
    type src_message_type_new_1 as object(
    no varchar(10),
    title varchar2(30),
    text varchar2(2000))
    Create the Queue and Queue Table:-
    CREATE OR REPLACE procedure create_src_queue
    as
    begin
    DBMS_AQADM.CREATE_QUEUE_TABLE
    (queue_table => 'src_queue_tbl_1',
    queue_payload_type => 'src_message_type_new_1',
         --multiple_consumers => TRUE,
         compatible=>10.1,
         storage_clause=>'TABLESPACE EDW_OBJ_AUTO_9',
    comment => 'General message queue table created on ' ||
    TO_CHAR(SYSDATE,'MON-DD-YYYY HH24:MI:SS'
         commit;
    DBMS_AQADM.CREATE_QUEUE
    (queue_name => 'src_queue_1',
    queue_table => 'src_queue_tbl_1',
    comment => 'Test Queue Number 1'
         commit;
    dbms_aqadm.start_queue
    ('src_queue_1');
         commit;
    end;
    Redo Log Size:-
    select
    n.name, t.value
    from
    v$mystat t join
    v$statname n
    on
    t.statistic# = n.statistic#
    where
    n.name = 'redo size'
    Output:-
    595184
    Enqueue Message into the Queue Table:-
    CREATE OR REPLACE PROCEDURE enque_msg_ab
    as
    queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
    message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
    message_id raw(16);
    my_message dev_hub.src_message_type_new_1;
    begin
    my_message:=src_message_type_new_1(
    '1',
    'This is a sample message',
    'This message has been posted on');
    DBMS_AQ.ENQUEUE(
    queue_name=>'dev_hub.src_queue_1',
    enqueue_options=>queue_options,
    message_properties=>message_properties,
    payload=>my_message,
    msgid =>message_id);
    commit;
    end;
    Redo Log Size:-
    select
    n.name, t.value
    from
    v$mystat t join
    v$statname n
    on
    t.statistic# = n.statistic#
    where
    n.name = 'redo size'
    Output:-
    596740
    Can any one tell us the reason for this high redo generation and how can this can be controlled?
    Regards,
    Koushik

    Please find my answers below :
    What full version of Oracle?
    - 10.1.0.5
    How large is the average message?
    - in some byets only, at max 1-2 KB and not more than this.
    What kind of performance problem is 300G of redo causing? How? Have you ran a statspack report? What did it show?
    - Actually we are facing some performance issue as a overall prespective for our daily batch processing, which now causing a delay in the batch SLA. So we have produced an AWR report for our database and from there we have found that total redo generation is around 400 GB, amoung which 300 GB has been generated by enqueue-dequeue process.
    What other activity is taking place on this instance? That is, is all this redo really being generated as the result of the AQ activity or is some of it the result of the messages being processed? How are the messages created?
    - Normal batch process everyday. Batch process also generates REDO but the amount is low compare to enqueue-dequeue process.
    Have you looked at providing a separate physical disk stripe for the online redo logs and for the archive log location from the database data file physical disk and IO channels?
    - No, as we are not the production DBA so we don't have the direct access to production database.
    What kind of file system and disk are you using?
    - I am not sure about it. I will try to confirm it by production DBA. Is there any other way to find it out, whether it is on filesystem or raw device?
    Can you please provide any help in this topic.
    Regards,
    Koushik

  • Testcase, how to split up an xml message and call a BPEL process.

    Another question.
    Considering the following XML message.
    <?xml version="1.0" encoding="UTF-8"?>
    <rows>
    <row>
    <id>10</id>
    <naam>A</naam>
    </row>
    <row>
    <id>20</id>
    <naam>B</naam>
    </row>
    </rows>
    An input message can consist of 1 to about 20000 <row></row> elements. I would like to split up this message into individual <row></row> and call a BPEL process for further processing.
    I've tried to use the file adapters feature "Files contain Multiple Messages" Publish Messages in batches of.." This did not work. ( root element expected exceptions ).
    I've also tried to invoke an extra async routing service with a mapping which removes the root element. This also doesn't work as it leaves the following ( incorrect ) xml message at the end.
    <row>
    <id>10</id>
    <naam>A</naam>
    </row>
    <row>
    <id>20</id>
    <naam>B</naam>
    </row>
    Which is logical considering how an XSL transformation works.
    Is there any way to achieve this?
    Any help is appreciated!

    You shoul create a while loop, that loops through XML payload for each row. Than you can process each individual row. See also example:
    C:\orabpel\samples\tutorials\112.Arrays\ArraySample.bpel

  • How to use same jsp for edit and add form

    Hi,
    I would like to use the same .jsp file for edit and add. I just want to change a few controls based on edit/add mode. How do I configure this in the jsp?

    In the environment I currently have access to do not have similar setup.
    Let say you setup the DFF1 default value to $HEADER.customer_name, the name of the DFF is CUSTOMER_NAME, description can be anything.
    In DFF2, default value should be a SQL, where you can reference the DFF1. For example, SELECT DECODE($FLEX.CUSTOMER_NAME, 'ABC', 1, 'DEF', 2, NULL) FROM dual
    In this case, you can reference the DFF1.

  • How to use different iViews for variables and queries?

    Hi all!
    I need to use separtate iViews for storing variables and extracting queries.
    For example, I have one variable "Currency" for two different queries,  and I need that all of these queries (in separate iViews) would use the value of currency was put by user in the first iView with only one input.
    How can I do this task? Is it possible at all?
    Thanks for replies.

    Hello Alex,
    You have to use EP client framework (EPCF) in your development.
    I hope this idea will help you.
    Kind regards, Pino.

  • How to use progress bar for Main and Subsequences in teststand

    HI,
    I have one main sequence in that I am calling different subsequences (Containing many steps and for loop).
    I am trying to use progress bar for this sequence, but my requirement is progressbar is able to show the progress of all the steps containing in Main and subsequences.
    I have developed sequence in that I am able to show the progress for only Main sequence steps not for subsequences steps.
    Is it possible? If yes please let me know the suggestions.
    Thank You

    Hi Santosh
    Here you are
    Greetings
    Juergen
    never Double Click on Submit
    Message Edited by j_dodek on 08-05-2008 08:05 AM
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=
    Attachments:
    Progress_ts351.seq ‏52 KB

  • Use AQ Adapter Header Message ID Value in BPEL Process

    Hi guys,
    I'm trying to obtain the value of the message_id in a header variable created in a receive branch activity linked to an AQ Adapter, i've created the variable in the adapter tab of the receive activity and linked the message type variable with the InBound WSDL of the header. I want to use this message_id value obtained in the dequeue operation to set as correlation_id in a future enqueue. The question is, when i do a copy operation in an assign activity of the message_id in the first header variable (dequeue) to the second header variable (enqueue) the BPEL raises an error telling me that the variable was empty, can you help me with this? Am i doing the whole thing wrong? I'm using the 10g version on R3.
    Thanks a lot!

    Hi Anuj,
    I selected "Receive" while configuring B2B adapter. While creating the BPEL process to receive the message, i have created it as Empty BPEL process "Define WSDL later". Then i configured the B2B adapter. In the Empty BPEL process i place a receive activity and wire the B2B adapter. Operation available in Receive activity is "Receive". I'm i configuring wrongly?
    Thanks,
    Terry

  • How to use one NIC for everything and the other to allow ssh from

    Hello,
    I have two internet connexion at home:
    - a cable connection (CABLEBOX) that i use for all of my devices as it's the fastest. All my computers are connected to it using ethernet or wifi.
    - an adsl connection (ADSLBOX) that is connect to the second network card of one of my computers (MEDIABOX) only and that i want to use only to ssh that same device from the outside
    I want that specific computer to use its:
    - NIC1 to connect to the LAN and to the internet. Routing is enabled on CABLEBOX.
    - NIC2 to connect to that device from the outside using ssh. ssh-D should also work through NIC2 as i need to be able to use that computer as a proxy on some occasions. Routing is enabled on ADSLBOX and it's set to port forward the port 22 to MEDIABOX.
    Once this will be working i'd like to also route ftp connections to specific ips by NIC2.
    No firewall is set on MEDIABOX yet, i'll do it later on.
    I know basics on how to set routing rules, how to assign a specific LAN to a network card but i have a hard time on deciding which rules i should set...
    Can someone guide me?
    Thanks in advance
    Last edited by parpagnas (2013-12-03 18:31:31)

    A possible solution might be this.
    On ADSLBOX and CABLEBOX configure different subnets for the LAN, e.g.
    ADSLBOX:    192.168.1.0/24
    CABLEBOX: 192.168.2.0/24
    The MEDIABOX gets these static IPs:
    ADSL-LAN: 192.168.1.2
    CABLE-LAN: 192.168.2.2
    On the MEDIABOX, configure the two network interfaces using two routing tables.
    The ADSL-LAN routing table
    ip route add 192.168.1.0/24 dev eth0 src 192.168.1.2 table 1
    ip route add default via 192.168.1.1 table 1
    The CABLE-LAN routing table
    ip route add 192.168.2.0/24 dev eth1 src 192.168.2.2 table 2
    ip route add default via 192.168.2.1 table 2
    The main routing table
    ip route add 192.168.1.0/24 dev eth0 src 192.168.1.2
    ip route add 192.168.2.0/24 dev eth1 src 192.168.2.2
    # use the CABLE-LAN gateway as default, so general internet traffic from MEDIABOX runs over CABLEBOX
    ip route add default via 192.168.2.1
    define the lookup rules
    ip rule add from 192.168.1.2 table 1
    ip rule add from 192.168.2.2 table 2
    To test the setup:
    ip route show
    ip route show table 1
    ip route show table 2
    I don't know how to persist something like this in ArchLinux using netctl. Might require to write a special systemd unit for it. Above is a working example from a RedHat box at my company.
    Last edited by teekay (2013-12-04 07:42:22)

  • How to create custom adapter for Products and CommerceService

    Hi guys!
    First of all I wanted to say that I did search. Only relevant material I found was this http://dev.day.com/docs/en/cq/5-5/ecommerce/eCommerce-framework.html
    Unfortunately it doesn't go in details enough...
    I'm trying to follow geometrixx-outdoors example to create my shoppingCart. I have a list of of products in /etc/commerce/products.... referenced by productPage in content.
    But I don't know how to create custom CommerceProvider and Adapter to create proper Product objects - it always picks up geoProductImpl.
    As I understand I need to specify cq:commerceProvider to myProvider and then I need to somehow register MyProvider so it gets picked up.
    Also I guess I need to add MyProductAdapter somehow  so when shoppingCart executes following it returns my implementation instead of geoProductImpl.
    Product product = productResource.adaptTo(Product.class);
    I'd really appreciate if anyone could share an example or point me in the right direction for a guide.
    Cheers
    Kostya

    Hi Kostya,
        Look at this presentation recorded at http://dev.day.com/ddc/en/gems/commerce-framework.html
    Thanks,
    Sham

  • How to use Custom Tags for Theme and Base Map Definitions

    In Mapviewer documentation I've found the following new feature:
    The XML definition of a theme or base map now supports application-specific
    attribute tags. You can use the Custom Tags option in the theme definition in Map
    Builder to specify tags and their values, which can be interpreted by your application
    but are ignored by MapViewer itself.
    I'm able to define a custom tag in Mapbuilder, but how can I use it in my Application?
    Thanks.

    As he said, you have to use as Platform service to create adapter in OIM.
    tcUserOperationsIntf service = Platform.getService(Thor.API.Operations.tcUserOperationsIntf.class);
    HashMap<String,String> searchmap=new HashMap<String,String>();
    searchmap.put("Users.User ID", userID);
    tcResultSet searchset=service.findAllUsers(searchmap);

  • [b]how to use EJB QL for LIKE and ROWNUM[/b]

    Hi,
    i am using CMP EJB with OC4J server
    i face two problems in it when i make any query like
    select object(o) from Partymas o where o.stationCode like '?1' and o.rownum &gt;='?2' and o.rownum &lt;='?3' order by party_name
    then it shows error on rownum so i cant understand how to solve it
    second is when i use LIKE statment in EJB QL like this:-
    select object(o) from Partymas o where o.pinCode like '%?%'
    then it shows error so can any one help me
    thanks
    warm regards
    vikassheelgupta

    <ejb-ql>select object(o) from Partymas o where o.stationCode like '?1' and
    rownum >='?2' and rownum <='?3' order by party_name</ejb-ql>Try this:
    rownum >= ?2 and rownum <= ?3
    <ejb-ql>select object(o) from Partymas o where o.partyName like '%?%'</ejb-ql>Try this:
    like ?1

  • FM for ENQUEUE and DEQUEUE of Views.

    Hi,
    I need the Fucntiona module to Enqueue a View and later to Dequeue a View.
    Regards,
    Deepthi.

    Hi,
    Try with the following  Lock object FM for View
    ENQUEUE_E_COM_PRVIEW
    DEQUEUE_E_COM_PRVIEW
    Thank you,
    Sekhar.

  • Enqueue and Dequeue consept----Please explain urgent

    hi all,
    i want to use sap locking mechanisn (Enqueue and dequeue consept) while updating database table....please explain how to use this while updating a database table.
    Thanks in advance
    Nandha kumar

    Nandha,
    Good document on this concept..
      Activating a lock object in the ABAP Dictionary automatically creates function modules for setting (ENQUEUE_<lock object name>) and releasing (DEQUEUE_<lock object name>) locks.
    The generated function modules are automatically assigned to function groups. You should not change these function modules and their assignment to function groups since the function modules are generated again each time the lock object is activated.
    Never transport the function groups, which contain the automatically generated function modules. The generated function modules of a lock object could reside in a different function group in the target system. Always transport the lock objects. When a lock object is activated in the target system, the function modules are generated again and correctly assigned to function groups.
    Parameters of the Function Modules
    Field Names of the Lock Object
    The keys to be locked must be passed here.
    A further parameter X_<field> that defines the lock behavior when the initial value is passed exists for every lock field <field>. If the initial value is assigned to <field> and X_<field>, then a generic lock is initialized with respect to <field>. If <field> is assigned the initial value and X_<field> is defined as X, the lock is set with exactly the initial value of <field>.
    Parameters for Passing Locks to the Update Program
    A lock is generally removed at the end of the transaction or when the corresponding DEQUEUE function module is called. However, this is not the case if the transaction has called update routines. In this case a parameter must check that the lock has been removed.
    Parameter _SCOPE controls how the lock or lock release is passed to the update program (see The Owner Concept for Locks). You have the following options:
    _SCOPE = 1: Locks and lock releases are not passed to the update program. The lock is removed when the transaction is ended.
    _SCOPE = 2: The lock or lock release is passed to the update program. The update program is responsible for removing the lock. The interactive program with which the lock was requested no longer has an influence on the lock behavior. This is the standard setting for the ENQUEUE function module.
    _SCOPE = 3: The lock or lock release is also passed to the update program. The lock must be removed in both the interactive program and in the update program. This is the standard setting for the DEQUEUE function module.
    Parameters for Lock Mode
    A parameter MODE_<TAB> exists for each base table TAB of the lock object. The lock mode for this base table can be set dynamically with this parameter. Valid values for this parameter are S (shared), E (exclusive) and X (exclusive but not cumulative).
    The lock mode specified when the lock object for the table is created is the default value for this parameter. This default value can however be overridden as required when the function module is called.
    If a lock set with a lock mode is to be removed by calling the DEQUEUE function module, this call must have the same value for the parameter MODE_<TAB>.
    Controlling Lock Transmission
    Parameter _COLLECT controls whether the lock request or lock release should be performed directly or whether it should first be written to the local lock container. This parameter can have the following values:
    Initial value: The lock request or lock release is sent directly to the lock server.
    X : The lock request or lock release is placed in the local lock container. The lock requests and lock releases collected in this lock container can then be sent to the lock server at a later time as a group by calling the function module FLUSH_ENQUEUE.
    Behavior for Lock Conflicts (ENQUEUE only)
    The ENQUEUE function module also has the parameter _WAIT. This parameter determines the lock behavior when there is a lock conflict.
    You have the following options:
    Initial value: If a lock attempt fails because there is a competing lock, the exception FOREIGN_LOCK is triggered.
    X : If a lock attempt fails because there is a competing lock, the lock attempt is repeated after waiting for a certain time. The exception FOREIGN_LOCK is triggered only if a certain time limit has elapsed since the first lock attempt. The waiting time and the time limit are defined by profile parameters.
    Controlling Deletion of the Lock Entry (DEQUEUE only)
    The DEQUEUE function module also has the parameter _SYNCHRON.
    If X is passed, the DEQUEUE function waits until the entry has been removed from the lock table. Otherwise it is deleted asynchronously, that is, if the lock table of the system is read directly after the lock is removed, the entry in the lock table may still exist.
    Exceptions of the ENQUEUE Function Module
    FOREIGN_LOCK: A competing lock already exists. You can find out the name of the user holding the lock by looking at system variable SY-MSGV1.
    SYSTEM_FAILURE: This exception is triggered when the lock server reports that a problem occurred while setting the lock. In this case, the lock could not be set.
    If the exceptions are not processed by the calling program itself, appropriate messages are issued for all exceptions.
    Reference Fields for RFC-Enabled Lock Objects
    The type of an RFC-enabled function module must be completely defined. The parameters of the generated function module therefore have the following reference fields for RFC-enabled lock objects:
    Parameters
    Reference fields
    X_<field name>
    DDENQ_LIKE-XPARFLAG
    _WAIT
    DDENQ_LIKE-WAITFLAG
    _SCOPE
    DDENQ_LIKE-SCOPE
    _SYNCHRON
    DDENQ_LIKE-SYNCHRON
    Pls. reward if useful

  • How run reports JDE from BPEL using the Adapter for JD Edwards OneWorld?

    Hi,
    I need to load on line a lot of invoices from Bpel to JD Edwards using the Adapter for JD Edwards OneWorld (iWay).
    Using Business Functions as Web Services it wasn't a not good idea because of this Adapter is poorly constructed and doesn't allow simultaneous loads, a memory leak occurs on JDE server. And to load them invoice by invoice is very slow.
    A choice is to use Z tables and load them through schedules, but Bpel loses total control.
    I heard that I can run processes reports that enable to extract the data from the Z tables and load them into JDE.
    How can I execute reports JD Edwards invoked from BPEL using the Adapter for JD Edwards OneWorld?
    Thanks
    Francisco

    Hi Dario,
    BizTalk 2013 R2 (JDE LOB Adapter) is not tested against latest release of JDE EnterpriseOne 9.1.
    It only supports with 8.12 and 9.0 version of JDE.
    Refer the discussion here:
    Integrating BizTalk with JDE EnterpriseOne
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Help! I received a message on my iPhone that "phone Number Added to iPad4 [NAME of IPAD] is now using [PHONE NUMBER] for FaceTime and iMessage" and it is not my iPad!! What do I do, how do I shut them out??

    Help! I received a message on my iPhone that "phone Number Added to iPad4 [NAME of IPAD] is now using [PHONE NUMBER] for FaceTime and iMessage" and it is not my iPad!! What do I do, how do I shut them out??

    Use a strong password and set up Two Step Verification on your account.
    http://support.apple.com/kb/ht5570

Maybe you are looking for

  • Merge and Combine PDF files in a numerical order

    Greetings! I'm using Adobe Acrobat to create a photo LookBook or an eBook. I'm importing and merging straight from .JPEG's and Acrobat work's great. The JPEG's are sorted by capture date, renamed and numbered as such: "10_File.Name.jpg". However, onc

  • Help in abap

    hallow i have two tables that i wont to move the data((price) to third table itab i wont to now how i can do that? <b>i reward kindly</b> i give the tabls. INTAB_A132[] resrc                date           knumh 0000123456   20070101   <b>0000014834</

  • Starting a program from an icon icon

    Is it possible to create a application which is started by an executable icon, and if so how do you do this?

  • How do I reset my shape tools in CS5?

    All of my shapes look like I skewed them. I can't draw a perfect circle or square using my tools. They look like this. Additionally, my cursor has a vertical line with an arrow to the side of it whenever I'm about to draw a shape. Did I accidentally

  • Get-AdUser and a other domain

    I'm having problems running a script to search all accounts on a Domain. I want to be able to switch domain choices Current script is: Import-Module activedirectory Get-ADUser -Filter * -Properties * | Select-Object Name,LastLogonDate | export-csv C: