Possibility of dynamic MQ queue selection in one receiver JMS channel

Hi all,
I just want to ask whether it's possible in PI7.0 or PI7.1 to send a message dynamically to MQ queues based on payload information using a single JMS receiver channel.
Example:
1)
If the XML looks like this:
<element>param_1</element>
Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_1".
2)
If the XML looks like this:
<element>param_2</element>
Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_2".
Is that doable? If yes how (by using some module in the channel)?
Thanks in advance for your help!
Regards,
Kai

Yeah... cause such a scenario is not so hard to image. Just the possibility to giva a placeholder as value for MQ queue name in the channel would be sufficient and to assign a value at runtime to it.
At the moment the implementation is like this:
PI => static MQ wueue => own Java developed small adapter (JBoss) => dynamical MQ queue addressing
But a change here would be nice to have it all in PI.
Only option I see at the moment is to integrate the Java development into PI based on PCK. Or is there any alternative?
Edited by: Kai Lerch-Baier on Mar 25, 2009 11:02 AM

Similar Messages

  • How to pass dynamic filename to Receiver JMS channel

    Hi experts,
    I want to pass the dynamic filename to receiver JMS message Properties.
    for example
    I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
    eg.
    key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    value.0 - >  testdirectory ( which is static value)
    Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PM

    Already given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
    Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
    //UDF code
    String filename="";
    String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
    try{
          DynamicConfiguration conf = (DynamicConfiguration) param.get(
            StreamTransformationConstants.DYNAMIC_CONFIGURATION);
          DynamicConfigurationKey key  =  DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File",   "FileName");
           // read filename value
           filename = conf.get(key);     
          // So far we extracted filename value .. now do your logic  something like this...
          DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
           conf.put(key2,filename);
         } catch(Exception e){

  • JMS Queue Vs JMS replyTo Queue name for Receiver JMS channel.

    HI,
    I am working with receiver JMS adapter and using the protocol WbeSphereMQ JMS provider.
    Here I could not able to figure out the difference between the following parameter.
    Target tab JMS Queue  and Processing tab-JMS replyTo Queue name.
    I tries the find the same in help.sdn.com but here also not able to find correct information .
    for Processing tab -JMS replyTo Queue name Parameter it is written that "Specify the name of the queue to which the responses are to be sent."
    But what is the use of Target tab JMS Queue Parameter. No information is given against this parameter.
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    regards,
    Navneet.

    the initial JMS Queue is the queue you will connect too.
    i guess SAP felt an explanation to that was not required....
    SAP does not even bother to explain it here in the specific link to JMS-Provider-Specific Settings (for Webshpere although it does for SonicMQ!).
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
    I do not use the "ReplyTo" in my current scenarios.

  • Is it possible to sync two iPhones so that one receives text messages from both?

    In other words a mother and daughter both have iPhones mother wants to see all messages going in and out of her daughters phone can she?

    Ok different situation then what you are thinking its the mother reading the child's messages from father and other family members on fathers side and deleting them before they reach the child and responding as the child. Sick person trying to stop the dad from being part if the child's life

  • How can One sender communication channel pick two file from two location

    Hello
    I have a requirement that how can One sender communication channel pick two file from two location.Both the file has same name...How to configure the one receiver communication channel.i dont have any IR,no mapping..Please help me...

    >
    Soumitra Sinha wrote:
    > Hello Vijay
    > I already done the adapter specific message attribute.i am getting the file name properly.but that is nothing to do with my req.i am again clearing my problem:
    > i have two folder   folder a,folder b.Both has the same file credit0002. i have two destination folder i have one sender and one receiver channel.I dont have any IR.How one sender channel can  pick file from two location and how one receiver channel can put in two location.please help me..
    Ok now I get your requirement.
    you cant achieve this -  how one receiver channel can put in two location if you dont have a dynamic configuration defined i.e Adapter specific attributes.
    easy way - involve IR mapping
    else
    have a adapter module to define your dynamic configuration.
    Ref: /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules & /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further
    Set the dynamic directory/file name etc for your receiver adapter.

  • Three sender systems and one receiver

    Hi Experts,
    In my scenario I have three sender R/3 systems and one receiver file system.This is Idoc-XI-File bypass scenario.
    Idoc can get trigerred from any one of these R/3  systems and reach the file system via XI without any mapping or routing.So I didn't touch any of the IR objects.
    In ID,
    I have created three business systems for three senders and one business service for receiver  file system.
    I have created three receiver determinations,three interface determinations and three receiver agreeements.I have created one receiver communication channel.
    All the ALE configurations are correct.
    The Idoc is reaching XI system when I trigger from any one of the R/3 systems but the error it is showing is <b>no receiver could be determined</b>.
    Can any one of you through light on where I have done the mistake .
    Regards,
    Lokesh

    Lokesh
    Can you pls. try these two different options & let us know the result -->
    Option 1.
    Design this scenario as 1 Sender & 1 Receiver and check whether you are able to create the IDOC xml in Receiver System. With this atleast we can say that rest of the configuration are correct.
    Option 2.
    For the Receiver System, create 3 different Business Services & now map each of them with 3 Senders individually. I mean in this case also you will create 3 Rec. Determinations but now receiever is going to be different in each of them. Then in File Adapter you can actually mention the same location path.
    - Lalit -

  • Dynamical declaration of SELECT-OPTIONS / RANGE possible

    Hi fellow programmers,
    does anybody know whether there is a way to declare a
    SELECT-OPTION respectively a RANGE dynamically during
    runtime? I have both the name of the range to be created
    and the DDIC-referencefield stored in variables.
    Thanks in advance for your appreciated help.
    Andreas

    Hi Andreas,
    DYNAMIC PROGAM SHOWS SELECTION-SCREEN.
    1 Sap does not allow execution of dynamic programs from memory.
      (dynamic means, only in memory, not in database)
    2. However, it allows execution of dynamic FORM/ENDFORM.
    3. But your requirement is of selection-screen using parameters and select-options.
    4. Hence, we can use the concept of DYNAMIC PROGRAM
       (build the program code in an internal table)
       using command
       INSERT REPORT 'ZDYN01' FROM itab.
       THIS WILL SAVE / OVERWRITE THE PRGRAM IN DB.
       HENCE, BE CAUTIOUS.
    5. Just Copy/Paste this sample program
       It will generate a dynamic program called ZDYN01.
       it will also execute it and
       SHOW SELECTION-SCREEN
       of the DYNAMIC PROGRAM.
    6. You may build up yuour own logic
        of constructing selection-screen from   
         required data stored in tables.
    7.
    REPORT abc.
    Data
    DATA : BEGIN OF itab OCCURS 0,
           l(72) TYPE c,
           END OF itab.
    DATA : prog(8) TYPE c.
    Make Dynamic Program
    CLEAR itab.
    itab-l = 'REPORT ABC.'.
    APPEND itab.
    itab-l = 'PARAMETERS : MATNR LIKE MARA-MATNR.'.
    APPEND itab.
    itab-l = 'START-OF-SELECTION.'. APPEND itab.
    itab-l = 'WRITE :/  MATNR.'. APPEND itab.
    Generate Program
    INSERT REPORT 'ZDYN01' FROM itab.
    COMMIT WORK. "----- COMMIT NECESSARY FOR DB
    *------ Call Report
    SUBMIT zdyn01 VIA SELECTION-SCREEN.
    HOPE THE ABOVE HELPS.
    Regards,
    Amit M.

  • Dynamic select querry in sender JDBC channel

    Hi,
        We are working on a scenario where we need to read data from various database tables , we were trying to see if it is possible that the select querry can be set dynamically so that the same channel can be used to read from the various tables.
        Request all to please come up with suggestions as to whether this is possible.
    Thanks ,
    Pravesh Puria.

    Hi All,
    Thanks VJ for your reply.
    Let me reframe my question.
    I have multiple database instances at source side. On all instances I have same table name.
    My requirement is to poll all these instances table and fetch data.
    Do I need to create multiple sender agreements or there is a way to dynamically change the datbase name in sender Communication channel.
    Any other solution is also appreciated.
    Same is the case with JMS adapter, Multiple instances of JMS are there at source side sending similar structure data in there own queue.
    Request you to kindly response.
    Regards,
    Pravesh

  • Merging  3 select in one query

    Good Day!!!
    Got a little problem guys,
    i got 3 tables and i need to get get the count of plate_no on each table but all table have where condition im using oracle xe 11g
    here is my 3 query:
    SELECT COUNT(PLATE_NO)
    FROM EX_DEPOT
    WHERE PLANT_ORIGIN IN ('Batangas','Teresa','Bulacan')
    AND STATUS IN ('ON THE WAY TO PLANT','TRUCK IS LOADED','FOR QUEUING','QUEUING FOR DEPOT','ON THE WAY TO DEPOT'
    ,'ON THE WAY TO DEPOT','UNLOADING FOR DEPOT')
    SELECT COUNT(PLATE_NO)
    FROM EX_BULACAN
    WHERE status not in ('NA as this moment','SERVED','CANCELLED')
    AND PLANT_ORIGIN IN ('Batangas','Teresa','Bulacan','Norzagaray')
    select count(PLATE_NO)
    from BREAK
    WHERE LOCATION NOT IN ('NA AT THIS MOMENT');Note: Is that possible to make that 3 query to one?
    please help need that for my reports
    Regards,
    Mike

    >
    Is that possible to make that 3 query to one?
    >
    Since the data sources have nothing in common just UNION ALL the results together
    SELECT 'EX_DEPOT' data_source, COUNT(PLATE_NO) PLATE_COUNT
    FROM EX_DEPOT
    WHERE PLANT_ORIGIN IN ('Batangas','Teresa','Bulacan')
    AND STATUS IN ('ON THE WAY TO PLANT','TRUCK IS LOADED','FOR QUEUING','QUEUING FOR DEPOT','ON THE WAY TO DEPOT'
    ,'ON THE WAY TO DEPOT','UNLOADING FOR DEPOT')
    UNION ALL
    SELECT 'EX_BULACAN', COUNT(PLATE_NO)
    FROM EX_BULACAN
    WHERE status not in ('NA as this moment','SERVED','CANCELLED')
    AND PLANT_ORIGIN IN ('Batangas','Teresa','Bulacan','Norzagaray')
    UNION ALL
    SELECT BREAK, count(PLATE_NO)
    from BREAK
    WHERE LOCATION NOT IN ('NA AT THIS MOMENT');The result will something like:
    DATA_SOURCE PLATE_COUNT
    EX_DEPOT 582
    EX_BULACAN 74
    BREAK 103

  • Specify database field's name dynamically in a select statement

    Hi to all!!
    I have the following problem:
    I got a paraneters statement where the user is to choose the month of the year,once i have the month, i need to make a query on a database(select field_name) of a field whose name deppend on the month that the user chose before, is it possible?
    What I need? I think i can do it using field simbols but I've never worked with field simbols and I have no time to learn it now.
    Thanks everybody

    Hi,
    <b>Below code is the Simple one:</b>
    <b>DATA: DYN_FIELD(15)
    SELECT single (DYN_FIELD)
    into corresponding fields of <IT_TABLE>
    from <TABLE> where XXX = YYY.</b>
    This is the complex program, have a look at it ...
    REPORT zdany_dynamic_select.
    * We use some parameters to dynamically control the select, this is not very
    * clever but this is just a test program !!
    PARAMETER : p_tabnam TYPE tabname DEFAULT 'SFLIGHT',
                p_selfl1 TYPE edpline DEFAULT 'CARRID',
                p_selfl2 TYPE edpline DEFAULT 'CONNID',
                p_selfl3 TYPE edpline DEFAULT 'FLDATE',
                p_selfl4 TYPE edpline DEFAULT 'PRICE',
                p_selfl5 TYPE edpline DEFAULT 'CURRENCY',
                p_where1 TYPE edpline DEFAULT 'PRICE > 300',
                p_where2 TYPE edpline DEFAULT 'AND CURRENCY = ''EUR'''.
    FIELD-SYMBOLS : <lt_outtab> TYPE ANY TABLE,
                    <ls_outtab> TYPE ANY,
                    <l_fld> TYPE ANY.
    DATA: lt_where    TYPE TABLE OF edpline,
          lt_sel_list TYPE TABLE OF edpline,
          lt_group    TYPE TABLE OF edpline,
          l_having    TYPE string,
          l_wa_name   TYPE string,
          l_sel_list  TYPE edpline,
          dref        TYPE REF TO data,
          itab_type   TYPE REF TO cl_abap_tabledescr,
          struct_type TYPE REF TO cl_abap_structdescr,
          elem_type   TYPE REF TO cl_abap_elemdescr,
          comp_tab    TYPE cl_abap_structdescr=>component_table,
          comp_fld    TYPE cl_abap_structdescr=>component.
    TYPES: f_count TYPE i.
    * Creation of the output table including a non standard field, f_count
    * see ABAP FAQ #14 for more information on this topic
    struct_type ?= cl_abap_typedescr=>describe_by_name( p_tabnam ).
    elem_type   ?= cl_abap_elemdescr=>describe_by_name( 'F_COUNT' ).
    comp_tab = struct_type->get_components( ).
    * We remove the unnecessary fields
    LOOP AT comp_tab INTO comp_fld.
       IF comp_fld-name <> p_selfl1 AND
          comp_fld-name <> p_selfl2 AND
          comp_fld-name <> p_selfl3 AND
          comp_fld-name <> p_selfl4 AND
          comp_fld-name <> p_selfl5.
             DELETE TABLE comp_tab WITH TABLE KEY name = comp_fld-name.
       ENDIF.
    ENDLOOP.
    comp_fld-name = 'F_COUNT'.
    comp_fld-type = elem_type.
    APPEND comp_fld TO comp_tab.
    struct_type = cl_abap_structdescr=>create( comp_tab ).
    itab_type   = cl_abap_tabledescr=>create( struct_type ).
    l_wa_name = 'l_WA'.
    CREATE DATA dref TYPE HANDLE itab_type.
    ASSIGN dref->* TO <lt_outtab>.
    CREATE DATA dref TYPE HANDLE struct_type.
    ASSIGN dref->* TO <ls_outtab>.
    * Creation of the selection fields and the "group by" clause
    APPEND p_selfl1 TO lt_sel_list.
    APPEND p_selfl1 TO lt_group.
    APPEND p_selfl2 TO lt_sel_list.
    APPEND p_selfl2 TO lt_group.
    APPEND p_selfl3 TO lt_sel_list.
    APPEND p_selfl3 TO lt_group.
    APPEND p_selfl4 TO lt_sel_list.
    APPEND p_selfl4 TO lt_group.
    APPEND p_selfl5 TO lt_sel_list.
    APPEND p_selfl5 TO lt_group.
    APPEND 'COUNT(*) AS F_COUNT' TO lt_sel_list.
    * creation of the "where" clause
    APPEND p_where1 TO lt_where.
    APPEND p_where2 TO lt_where.
    * Creation of the "having" clause
    l_having = 'count(*) >= 1'.
    * THE dynamic select
    SELECT          (lt_sel_list)
           FROM     (p_tabnam)
           INTO CORRESPONDING FIELDS OF TABLE <lt_outtab>
           WHERE    (lt_where)
           GROUP BY (lt_group)
           HAVING   (l_having)
           ORDER BY (lt_group).
    * display of the results
    LOOP AT <lt_outtab> ASSIGNING <ls_outtab>.
       LOOP AT comp_tab INTO comp_fld.
          ASSIGN COMPONENT comp_fld-name OF STRUCTURE <ls_outtab> TO <l_fld>.
          WRITE: <l_fld>.
       ENDLOOP.
       SKIP.
    ENDLOOP.
    Have a look at the link, this link will have lot of examples :-
    http://www.susanto.id.au/papers/DynOpenSQL.asp
    Regards
    Sudheer

  • Dynamically change the contents of one combo box based on the other

    Hi Forum,
    I have a question which might have a possibly simple answer. Well anyway help me out since i could not find the simple answer.
    I am building an application using Swing and binding with BC4J using JClient. My GUI has combo boxes, grids, editboxes. My requirement is that i should be able to dynamically change the contents of one combo box based on the selected item in trhe previous combo box. For example, when i choose a country in the "country combo box", the "states combo box" should show the list of the states of the selected country.
    Now how do i do this using binding. If not, how do i write custom querirs in BC4J layer and return a resultset to the remote application so theat i can populate the dependent combo boxes.
    I will appreciate if anyone can help me out in this regard.
    Thank You
    Sumit

    there could be quite a few number of ways of solving this problem.
    One way is through event handlers.
    taking your example as a model when user selects a country you could fire an action with a flag set to ture. A method will return the states from the DB or your temporary files or what ever and then the true flag will be used in the states combo box rendering.
    other way: javascript
    this might be a bit clumsy as you will need the states information in a property file and you can get the info as the user selects a country.
    regards,
    raj

  • Create a dynamic form where selected text boxes appears, based on options chosen in a drop-down box

    HELP!!! Can anyone please provide some guidance on how to create a dynamic form where selected text boxes appears, based on options chosen in a drop-down box.
    I have a form which – based on the department that's selected from a drop-down box – will have different form fields/text boxes, etc, made available.
    Is this possible in LiveCycle, if so, can you please provide the script/info - as needed.
    Thanks,

    In the preOpen event of the second dropdown list you put something like (in formCalc):
    if (dropdown1 == 1) then
    $.clearItems()
    $.setItems("Year, 2 Year,  3 Year")
    elseif (dropdown1 == 2) then
    $.clearItems()
    $.setItems("3 Year,  4 Year")
    endif

  • Is that possible to display the user selection data in the printable page?

    Hi All,
    I'm going to add a printablepage button on my page.
    Here comes a questions.
    Is that possible to display the user selection data in the printable page?
    For example,
    I have a table in the page,with 10 records.User select 5 of them.Can I display these 5 records in the printable page?
    Please help.

    Hi Yannick,
    Thanks a lot for the information. It worked.
    The portlet data can be accessible using bindings, but parameter name can be different.
    Meanwhile I have got one more scenario, where the Portlet and Task Flow placed in different pages of WCP Application. On change of data in the Portlet the application should navigate to another page where the Task Flow placed and displays selected data.
    Basically I can not use any button for navigation. The navigation should happen once I do some action in Portlet.
    Is this possible? If yes can you please let me know the steps?
    Thanks in advance!
    Somnath
    Edited by: Somnath Basak on Dec 20, 2011 9:41 AM

  • Is it possible to have too many keyframes in one project in Premiere?

    Hi all,
    I'm using Premiere 6 on a Windows 7 ULT machine.
    Is it possible to have too many keyframes in one project in Premiere?
    I'm getting app crashes when I try to re-open a certain project in Premiere 6 and it seems that if that file has over 93 keyframes, then it will not re-open.  But I can re-open that exact same project file with 93 keyframes in it, no problem.
    But if I go any further and create any more keyframes than 93 in a new re-saved version of the exact same file, then that file will not re-open and I get an app crash... you can see screenshots of the two Windows app crash info panels below that I'm getting from three different bad Premiere project files that I've created so far.
    I've tested and tested what is going on here and this seems to be what is causing the bad files.  I've re-created the scenario and re-created files with over 93 keyframes from the same base project file that will still open... as soon as I get more than 93 keyframes in this file, then that newly saved file will not re-open after I close and try to re-open it.
    This is 75 keyframes in one still image clip, 14 keyframes in another still image clip and 2 keyframes each in two other still image clips in a single project file... that is the limit... if I create any more keyframes in the clip that has 75 keyframes, the new file will save and render, but it won't re-open once it has been closed.
    The two slightly different app crash info panels show, in the first one below,
    "Fault Module Name: StackHash_e98d"
    ... and the second one shows,
    "Fault Module Name: PREMINFO.dll"
    ... both messages with a little more different info in each one.  I get either of the two error info panels when trying to re-open all three bad files that I've created with over 93 keyframes in them.  That is, two of the files alternate between giveing "StackHash_e98d" and "PREMINFO.dll" when trying to open them and one of them always shows the "Fault Module Name: PREMINFO.dll" error.
    So even the error messages are inconsistent with two of the bad files.
    I've searched the internet for this error in association with Premiere and I've also searched on this forum and found nothing.  Can anyone shed any light on this?
    Thanks,
    digi

    Bill,
    Even though I figured out a work around, I was still interested to know if these file opening crashes are related to Virtual Memory.
    So on the topic of Virtual Memory... a few months ago I was troubleshooting a different problem in Premeire and I found this information...
    "To improve performance in Premiere Pro, adjust the size of the paging file to a maximum of twice the amount of installed RAM."
    Previous to that time three months ago or so, I had my Virtual Memory settings at the default automatic setting, but I tried setting my VM to twice the amount of installed RAM, and I've had it set that way ever since, just to make sure I'm optimizing the VM performance for Premiere and other apps.
    But that isn't making any difference in this case.  Today I also found information in a search that says to troubleshoot StackHash crashes, one should turn off "DEP" in the system settings for the application with the crash problem... according to the paragraph below, from the second post down by Chris on this tdistler.com page... http://tdistler.com/2009/04/10/stackhash-and-application-crashes-on-windows
    Even though this was written in 2009 with Windows Vista in mind, many things for Vista work in Windows 7... it says,
    "Here’s how 99 percent of Vista users can fix a StackHash failure. I’ll walk you through it step by step:
    Method A:
    1. Open your Start menu and click Control Panel
    2. Browse to “System Maintenance” then “System”
    3. In the left panel, select “Advanced System Settings” from the available links
    4. You should now see the System Properties Window, which will have three sections. The top section is labeled “Performance” and has a “Settings” button. Click this button.
    5. Select the “Data Execution Prevention” tab.
    6. Select the option which reads “Turn on DEP for all programs and services except those I select”
    7. Use the “Browse” button to locate the executable file for the application you were trying to start when you received the StackHash error, and click Open to add it to your exceptions list.
    8. Click Apply or OK to commit your changes."
    But I tried this and none of the three problem files that I encountered would open... I still got the StackHash_e98d or PREMINFO.dll crash errors.
    So anyway, I'm a ways past that in my project now, just continuing with more keyframes over the number of 78 in separate but identical still image clips... that allows me to successfully work with this project with as many keyframes as I need.
    Thanks again,
    digi

  • Suddenly I cannot select just one file in a folder, all of them get selected at the same time.  Happens in Lightroom also when scrolling through the filmstrip. what did I do?

    My Mac Pro is acting wonky all of a sudden. This all began after someone in my family spilled water on the keyboard and tried to clean it up while still turned on. I bought a new keyboard but now I cannot select just one file in a folder, all get selected. Same thing happens in Lightroom 3 when editing in the filmstrip mode, I cannot just select one photo, they all get selected. Plus, after awhile I cannot type in small letters either, just capitals. If I restart it is ok for about 15 minutes then the problems start. I did a reinstall of the OS but it is still happening. I zapped the pram, fixed permissions, etc but no luck. I am on a 2x2.4 GHz Quad-Core Intel Xeon machine with 900 gigs unused. Any suggestions? 

    Try also resetting smc.
    Also check your keyboard preferences.  And just to possibly reset some keyboard related caches and prefs you might go through the "Change Keyboard Type..." (Keyboard tab in the Keyboard preferences).

Maybe you are looking for