Multiple queue vs single queue - peformance

Hi All,
Could pls throw some light on the following design.
Currenty, We have more than 100 queues and for each there is a different MDB to receive the message.Now, somehow we made a single instance of same MDB listen to all these queues by looking at the input message. The requiement now is, is it possible to club all the queues into single queue as it's asynchronous messaging. The receiver may also try write into the same queue at the end of message processing.If so, how would be performance. Is this performance better than having multiple queues?.
The message are expecting to be 25 k/day in the queue. And we are using Weblogic server.
Please let me know if you need more details.
Thanks
Srinath

You could try to use selectors to assign messages to particular MDBs. This way you off load some of the work on the broker but selectors by their nature usually have an impact on broker's performance. It all depends on your application, your expectations, size and the rate of your messages, how long it takes to process them on the client side. There is no simple answer in this case. You would have to test some scenarios to come up with a best solution that fits your requirements. Having said that I personally believe that some degree of partitioning of your queue could be beneficial. On a heavily loaded system it may increase the concurrency of the system and its resilience, particularly if you place the queues in different brokers. Try to imagine your broker as if it was a DB server with just one table (I'm not sure if this is the best analogy but I can't think about anything else at the moment).

Similar Messages

  • Single queue: concurrent processing of messages in multiple consumers

    Hi,
    I am new to jms . The goal is to  process messages concurrently from a queue in an asynchronous listener's onMessage method  by attaching a listener instance to multiple consumer's with each consumer using its own session and running in a separate thread, that way the messages are passed on to the different consumers for concurrent processing. 
    1) Is it ossible to process messsages concurrently from a single queue by creating multiple consumers ?
    2)  I came up with the below code, but would like to get your thoughts on whether the below code looks correct for what I want to accomplish.  
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Properties;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.walmart.platform.jms.client.JMSConnectionFactory;
    public class QueueConsumer implements Runnable, MessageListener {
      public static void main(String[] args) {
       // Create an instance of the client
        QueueConsumer consumer1 = new QueueConsumer();
        QueueConsumer consumer2 = new QueueConsumer();
        try {
        consumer1.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");   //US.Q.CHECKOUT-ORDER.1.0.JSON   is the queue name
        consumer2.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");
        }catch( JMSException ex ){
        ex.printStackTrace();
        System.exit(-1);
        // Start the client running
        Thread newThread1 = new Thread(consumer1);
        Thread newThread2 = new Thread(consumer1);
        newThread1.start();newThread2.start();
        InputStreamReader aISR = new InputStreamReader(System.in);
              char aAnswer = ' ';
              do {
                  try {
      aAnswer = (char) aISR.read();
    catch (IOException e)
      // TODO Auto-generated catch block
      e.printStackTrace();
    } while ((aAnswer != 'q') && (aAnswer != 'Q'));
              newThread1.interrupt();
              newThread2.interrupt();
              try {
      newThread1.join();newThread2.join();
      } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
              System.out
      .println("--------------------exiting main thread------------------------"+Thread.currentThread().getId());
            System.exit(0);
    // values will be read from a resource properties file
    private static String connectionFactoryName = null;
    private static String queueName = null;
    // thread safe object ref
      private static ConnectionFactory qcf = null;
      private static Connection queueConnection = null;
    // not thread safe
      private Session ses = null;
      private Destination queue = null;
      private MessageConsumer msgConsumer = null;
      public static final Logger logger = LoggerFactory
      .getLogger(QueueConsumer.class);
      public QueueConsumer() {
      super();
      public void onMessage(Message msg) {
      if (msg instanceof TextMessage) {
      try {
      System.out
      .println("listener is "+Thread.currentThread().getId()+"--------------------Message recieved from queue is ------------------------"
      + ((TextMessage) msg).getJMSMessageID());
      } catch (JMSException ex) {
      ex.printStackTrace();
      public void run() {
      // Start listening
      try {
      queueConnection.start();
      } catch (JMSException e) {
      e.printStackTrace();
      System.exit(-1);
      while (!Thread.currentThread().isInterrupted()) {
      synchronized (this) {
      try {
      wait();
      } catch (InterruptedException ex) {
      break;
      * This method is called to set up and initialize the necessary Session,
      * destination and message listener
      * @param queue2
      * @param factoryName
      public void init(String factoryName, String queue2) throws JMSException {
      try {
      qcf = new JMSConnectionFactory(factoryName);
      /* create the connection */
      queueConnection = qcf.createConnection();
      * Create a session that is non-transacted and is client
      * acknowledged
      ses = queueConnection.createSession(false,
      Session.CLIENT_ACKNOWLEDGE);
      queue = ses.createQueue(queue2);
      logger.info("Subscribing to destination: " + queue2);
      msgConsumer = ses.createConsumer(queue);
      /* set the listener  */
      msgConsumer.setMessageListener(this);
      System.out.println("Listening on queue " +queue2);
      } catch (Exception e) {
      e.printStackTrace();
      System.exit(-1);
      private static void setConnectionFactoryName(String name) {
      connectionFactoryName = name;
      private static String getQueueName() {
      return queueName;
      private static void setQueueName(String name) {
      queueName = name;

    Hi Mark,
    if the messages are sent with quality of service EO (=exactly once) you can add queues.
    From documentation:
    Netweaver XI -> Runtime -> Processing xml messages -> Queues for asynchronous message processing
    ...For incoming messages you set the parameter EO_INBOUND_PARALLEL from the Tuning category.
    If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues.
    Transaction: SXMB_ADM
    Regards
    Holger

  • Single Queue Vs Multiple Queues

    Hi,
    I am in the process of architecting some queues between remote databases. There are different document types being propagated from one queue to another, and they have different priorities. At the end queue there are multiple processes to dequeue and action the different document types.
    My question is, is it better to have one end queue for each process/document type ( ie multiple end point queues), or one single end point queue with all the documents in them regardless of the type?
    I know that it is possible to have the single queue end point, but is this the best option and why?
    Thanks,
    matt

    Hi Peter,
    What do you mean by different document type?Document content only is different. The payload will be the same. All the documents will be passed through as blobs. The payload will have a field to define the document content type.
    Do you intend to store different message types in the same source queue?At this stage we can go either way. If we have one single end point queue we will more than likely have one single source queue.
    If so what is the definition of the payload? The payload definition will be the same in all cases, both source and destination.
    What version of databases are you propagating between?10.2
    How many dequeueing processes will you have at the remote end?One program for each of the different document content type (invoices, remittance, etc.). Initially there will be 4, but this is likely to grow to 12 or more.
    Ultimately we expect around 10,000 documents per day to pass through the system.
    Thanks,
    Matt

  • Does QueueSender send same object multiple times to the Queue

    Hi ,
    Does the QueueSender sends the same message object multiple times to the queue ?If so then the same will be send multiple times right. why do the client retain same object for long time if the expiry time is 0, Please some one help on this .
    Thanks
    Maruti

    Little_Pale_Face wrote:
    Michel,
    Just to clarify, I can drag duplicates to an album but it only appears once - so it's not actually adding to the album. The question, as I understand it, is that PSE doesn't warn you whereas it use to in PSE 3..
    Ok, that clear now.
    If I remember correctly, the format of the database for PSE was changed around version 4. So the error message that Beachcomber was seeing may have been generated by the old database system.
    Version 4 used Microsoft Access as the database engine, not sure about version 5. Anyway I am sure that from version 6, the sqlite database engine was used.

  • Queue vs Distributed queue

    Hi Guys,
    Could you please help me resolve some doubts on Regular Queue and Distributed Queues.
    1. What is the basic Difference between regular q and distributed q.
    2. Can we deploy the regular q on clustered weblogic, If yes, how will this be different from deploying a distributed q on cluster.
    Regards

    Hi,
    Queue or Distributed Queue had same set of working design but only one difference is one queue is set for one pinned services where as Distributed queue is targeted to Cluster that means, One distirbuted queue can have multiple queue which are targeted to individual managed server or JMS server.
    I hope you know difference between Uniform distributed queue and Distributed queue.
    Uniform Distributed queue will created its own temporary queue destination on run time where as Distributed queue will required physical queue to assigned with in clustere.
    Hope I address your query.
    Regards,
    Kal

  • Scanning multiple pages into single document

    Is there a way to scan multiple pages into single document?  I am using the following: HP pavilion laptop with windows 8,  HP photosmart C6380 all in one printer scanner copier.

    Hi,
    Please try
    Double click printer icon on desktop,
    Select Scan a Document or Photo,
    Put the first page on the glass (face down),
    Check options (size, dpi ...), and select Scan document to file,
    Click Scan - machine will scan the first page
    Remove the first page on the glass, put the second page,
    Click + (plus sign) It sits on the left hand side of a red x
    Machine will scan the second page, put 3rd page on the glass and click + again ..... to the end then click Save
    Click Done after Save
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Problem in Loading Multiple image in Single Sprite/MovieClip

    Hi All,
    I am having a killing problem in loading multiple images in single movie clip/sprite using a separate class.
    Here is the ImageLoader.as class
    package com.project.utils{
        import com.project.*;
        import com.project.utils.*;
        import flash.events.EventDispatcher;
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.display.Loader;
        import flash.events.IOErrorEvent;
        import flash.net.URLLoader;
        import flash.events.MouseEvent;
        import flash.net.URLRequest;
        import flash.display.Bitmap;
        public class ImageLoader extends EventDispatcher {
            public var imgloader:Loader;
            public var imgMc:MovieClip;
            public var imgObject:Object;
            public var loaded:Number;
            public function ImageLoader():void {
                imgMc = new MovieClip();
                imgObject = new Object();
                imgloader = new Loader();
            public function loadImage(imgHolder:MovieClip, imgObj:Object):void {
                imgMc = new MovieClip();
                imgObject = new Object();
                imgloader = new Loader();
                imgMc = imgHolder;
                imgObject = imgObj;
                imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImgLoad);
                imgloader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onImgLoadProgress);
                imgloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onImageLoadFailed);
                imgloader.load(new URLRequest(imgObj.FilePath));
            private function onImgLoad(Evt:Event):void {
                var image:Bitmap = Bitmap(Evt.target.content);
                try {
                    imgMc.removeChildAt(0);
                } catch (error:Error) {
                imgMc.addChild(image);
                try {
                    if (imgObject.URL != undefined) {
                        imgMc.buttonMode = true;
                        imgMc.removeEventListener(MouseEvent.CLICK, onImageClicked);
                        imgMc.addEventListener(MouseEvent.CLICK, onImageClicked);
                } catch (err:Error) {
                dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD"));
            private function onImageClicked(evt:MouseEvent):void {
                trace("Image Attrs:"+imgObject.URL +" Target "+imgObject.Target);
            private function onImgLoadProgress(Evt:ProgressEvent):void {
                if (Evt.bytesLoaded>0) {
                    loaded = Math.floor((Evt.bytesLoaded*100)/Evt.bytesTotal);
                    dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD_PROC",loaded));
            private function onImageLoadFailed(Evt:IOErrorEvent):void {
                trace("Image Loading Failed");
                dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD_FAIL"));
    Here I am loading some images using the above class in a for loop, like
                for (var i=0; i < 3; i++) {
                    //imgLoader=new ImageLoader;
                    imgLoader.addEventListener("CustomEvent.ON_IMGE_LOAD",onImageLoad);
                    var target:MovieClip=videolist_mc["list" + mcCount + "_mc"];
                    target.list_mc.visible=false;
                    var imgObj:Object=new Object;
                    imgObj.FilePath=list[i].Thumbnail;
                    imgObj.Url=list[i].Url;
                    imgObj.Target=list[i].Target;
                    target.list_mc.urlObj=new Object  ;
                    target.list_mc.urlObj=imgObj;
                    imgLoader.loadImage(target.list_mc.imgholder_mc,imgObj);
                    target.list_mc.lable_txt.htmlText="<b>" + list[i].Label + "</b>";
                    target.list_mc.imgholder_mc.buttonMode=true;
                    target.list_mc.imgholder_mc.addEventListener(MouseEvent.CLICK,onItemPressed);
                    mcCount++;
    In this case, the ImageLoader.as works only on the last movie clip from the for loop. For example, if i am trying to load three image in three movie clips namely img_mc1,img_mc2 and img_mc3 using the for loop and ImageLoader.as, I am getting the image loaded in the third movie clip only img_mc.
    See at the same time, If i uncomment onething in the for loop that is
    //imgLoader=new ImageLoader;         
    its working like a charm. But I know creating class objects in a for loop is not a good idea and also its causes some other problems in my application.
    So, help to get rid out of this problem.
    Thanks
    -Varun

    package com.project.utils{
        import com.project.*;
        import com.project.utils.*;
        import flash.events.EventDispatcher;
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.display.Loader;
        import flash.events.IOErrorEvent;
        import flash.net.URLLoader;
        import flash.events.MouseEvent;
        import flash.net.URLRequest;
        import flash.display.Bitmap;
        public class ImageLoader extends EventDispatcher {
            public var imgloader:Loader;
            public var imgMc:MovieClip;
            public var imgObject:Object;
            public var loaded:Number;
            public function ImageLoader():void {
    // better add you movieclip to the stage if you want to view anything added to it.
                imgMc = new MovieClip();
                imgObject = new Object();
                imgloader = new Loader();
            public function loadImage(filepath:String):void {
                imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImgLoad);
                imgloader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onImgLoadPr ogress);
                imgloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onImageLoadF ailed);
                imgloader.load(new URLRequest(filepath));
            private function onImgLoad(Evt:Event):void {
                var image:Bitmap = Bitmap(Evt.target.content);
                try {
                    imgMc.removeChildAt(0);
                } catch (error:Error) {
                imgMc.addChild(image);
                try {
                    if (imgObject.URL != undefined) {
                        imgMc.buttonMode = true;
                        imgMc.removeEventListener(MouseEvent.CLICK, onImageClicked);
                        imgMc.addEventListener(MouseEvent.CLICK, onImageClicked);
                } catch (err:Error) {
                dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD"));
            private function onImageClicked(evt:MouseEvent):void {
                trace("Image Attrs:"+imgObject.URL +" Target "+imgObject.Target);
            private function onImgLoadProgress(Evt:ProgressEvent):void {
                if (Evt.bytesLoaded>0) {
                    loaded = Math.floor((Evt.bytesLoaded*100)/Evt.bytesTotal);
                    dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD_PROC",loaded));
            private function onImageLoadFailed(Evt:IOErrorEvent):void {
                trace("Image Loading Failed");
                dispatchEvent(new CustomEvent("CustomEvent.ON_IMGE_LOAD_FAIL"));
    Here I am loading some images using the above class in a for loop, like
                for (var i=0; i < 3; i++) {
                    var imgLoader:ImageLoader=new ImageLoader();
                    imgLoader.addEventListener("CustomEvent.ON_IMGE_LOAD",onImageLoad);
                    var target:MovieClip=videolist_mc["list" + mcCount + "_mc"];
                    target.list_mc.visible=false;
                    var imgObj:Object=new Object;
                    imgObj.FilePath=list[i].Thumbnail;
                    imgObj.Url=list[i].Url;
                    imgObj.Target=list[i].Target;
                    target.list_mc.urlObj=new Object  ;
                    target.list_mc.urlObj=imgObj;
                    imgLoader.loadImage(pass the image file's path/name);
                    target.list_mc.lable_txt.htmlText="<b>" + list[i].Label + "</b>";
                    target.list_mc.imgholder_mc.buttonMode=true;
                    target.list_mc.imgholder_mc.addEventListener(MouseEvent.CLICK,onItemPressed);
                    mcCount++;

  • How to delete the data in update queue and delta queue for Queued delta?

    Dear BWers,
    How do i delete the delta queue and update queue data before i fill the setup tables for a extraction based on Queued delta. Please help.
    Thanks
    Raj

    Hi Raj,
    I think you need some ground work for the LO extraction same as others here. Please read the 3 blogs expliciltly created for LIS by Robert Negro.
    /people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
    /people/sap.user72/blog/2004/12/23/logistic-cockpit-delta-mechanism--episode-two-v3-update-when-some-problems-can-occur
    /people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
    As well, the OSS 380078 would clear your doubts reagrding the the BW QUEUE mainatinance. 
    Please let me know if these material has been suffecient enough.
    regarda,
    raj

  • Can we have a multiple TAGS in single line.Pls let me know

    Hi Team,
    Can we have a multiple TAGS in single line.Ie 2 open tags and 2 close tags in XML..Pls let me know

    chk this xml file
    <ns0:Test1>  
    <Address><street>LinkinPark</street><city>Paris</city></Address>
    </ns0:Test1>
    But I am not sure whether u can have any value for parent node in 7.0 for like node Address... only child nodes can have value..
    It can be done in 7.1
    Regards,
    Syed

  • How to send multiple attachements in single mail

    Hi All,
    Currently i am using this function module SO_NEW_DOCUMENT_ATT_SEND_API1 to send mail with only one attachment.
    But now i need to send multiple attachments to a single mail.
    Can any one please tell me as how to send multiple attachments in single mail.
    Thanks in advance.

    Hi
    See this and do accordingly
    Mailing with Attachment by ABAP Coding  
    Refer this link:
    Mail with attachment.
    FORM send_list_to_basis .
      DATA: w_path      LIKE rlgrap OCCURS 0 WITH HEADER LINE,
            lt_index    TYPE sy-tabix,
            doc_type(3) TYPE c,
            descr       LIKE it_objpack_basis-obj_descr,
            temp_data   LIKE w_path,
            temp1       TYPE string,
            tab_lines   TYPE i,
            langu(15)   TYPE c,
            expirydate  TYPE so_obj_edt,
            L_FILE1(100).
      CONCATENATE 'C:\' sy-repid '_' sy-datum '.XLS' INTO L_FILE1.
      W_PATH-FILENAME = L_FILE1.
      APPEND w_path.
      CLEAR w_path.
      wa_doc_chng-obj_descr  = 'User List not logged on for 180 days'.
      wa_doc_chng-obj_langu  = 'E'.
      wa_doc_chng-obj_expdat = sy-datum.
      CLEAR w_subject.
      CONCATENATE 'Please find attached document with list of users'
                  'not logged on for 180 days for client' sy-mandt
                  INTO w_subject SEPARATED BY space.
      it_objtxt_basis-line = w_subject.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      it_objtxt_basis-line = text-004.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      CLEAR w_tab_line.
      DESCRIBE TABLE it_objtxt_basis LINES w_tab_line.
      READ TABLE it_objtxt_basis INDEX w_tab_line  INTO l_cline.
      wa_doc_chng-doc_size =
       ( w_tab_line - 1 ) * 255 + STRLEN( l_cline ).
      CLEAR it_objpack_basis-transf_bin.
      it_objpack_basis-head_start = 1.
      it_objpack_basis-head_num   = 0.
      it_objpack_basis-body_start = 1.
      it_objpack_basis-body_num   = w_tab_line.
      it_objpack_basis-doc_type   = 'RAW'.
      APPEND it_objpack_basis.
      CLEAR it_objpack_basis.
      LOOP AT w_path.
        temp1 = w_path.
        descr = w_path.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '\'
            string    = descr
          IMPORTING
            head      = descr
            tail      = temp_data.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '.'
            string    = descr
          IMPORTING
            head      = temp_data
            tail      = doc_type.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename      = temp1
            filetype      = 'BIN'
            header_length = 0
            read_by_line  = 'X'
            replacement   = '#'
          TABLES
            data_tab      = it_upload.
        DESCRIBE TABLE it_upload LINES tab_lines.
        DESCRIBE TABLE it_objbin_basis LINES lt_index.
        lt_index = lt_index + 1.
        LOOP AT it_upload.
          wa_objbin_basis-line = it_upload-line.
          APPEND wa_objbin_basis TO it_objbin_basis.
          CLEAR wa_objbin_basis.
        ENDLOOP.
        it_objpack_basis-transf_bin = 'X'.
        it_objpack_basis-head_start = 0.
        it_objpack_basis-head_num   = 0.
        it_objpack_basis-body_start = lt_index.
        it_objpack_basis-body_num   = tab_lines.
        it_objpack_basis-doc_type   = doc_type.
        it_objpack_basis-obj_descr  = descr.
        it_objpack_basis-doc_size   = tab_lines * 255.
        APPEND it_objpack_basis.
        CLEAR it_objpack_basis.
      ENDLOOP.
      it_reclist_basis-receiver = '[email protected]'.
      it_reclist_basis-rec_type = 'U'.
      APPEND it_reclist_basis.
      CLEAR it_reclist_basis.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = it_objpack_basis
          contents_txt               = it_objtxt_basis
          contents_bin               = it_objbin_basis
          receivers                  = it_reclist_basis
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
      IF sy-subrc EQ 0.
        SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
      ENDIF.
    ENDFORM.                    " send_list_to_basis
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • SCRIPT TO IMPORT MULTIPLE PLACED IMAGES..AND OUTPUT MULTIPLE IMAGES TO SINGLE PDF.

    Anyone got a script to import multiple placed images into CS4? or is this possible in CS5?
    and can we output multiple layers into a single PDF in illustrator?  Or multiple layers into single JPEGS from illustrator with one command instead of individually saving out each page... would be a huge time saver for me.
    Currently I output each completed layer individually and then right click those outputted jpegs in their output folder and choose "combine supported files into acrobat..." to make a single acrobat file..
    I`d also like to be able to CTRL click multiple layers and go save as... only those layers get saved out...
    And so adding something in the Save for PDF output dialogue box to save layers to multiple pages would be a helpful time saver..

    In CS 4 and CS 5 you can drag and drop fro m the finder or the Bridge, and I guess any other similar type viewer, multiple number of image files to a document. You can configure the bridge in such a way as to allow you to see the Bridge and your document at the same time for this very purpose.
    If you just drag and drop the files are linked if you drag while holding the shift key then the files will be embedded.
    ID and PS CS 5 have a minibridge which works the sam way but is an actually panel and will stay in the front.
    I separate the images but they import one on top of another.

  • 10G-form: How to do MULTIPLE WORD OR SINGLE WORD SEARCH at ITEM?

    I am using 10G DB + 10G Form Builder.
    I've 'database_item' where I am storing multiline text data.
    I want to do MULTIPLE WORD OR SINGLE WORD SEARCH at this item through FORM.
    I've tried by creating the following NON Database Items on the form:
    - multiline_search_text_item, and
    - multiline_result__text_item
    And then writing execute_query in KEY-NEXT-ITEM trigger.
    I've also tried using this in the POST-TEXT-ITEM at multiline_search_text_item:
    select table.database_item into :multiline_result__text_item from table where multiline_search_text_item = :multiline_search_text_item;
    Pl help me asap.
    Gaurav

    What you want to do is not clear.
    The query you wrote will select records where the table contains exactly what has been written in the search item. You can use LIKE and a wildcard search to find records which contain the search text:
    select table.database_item into :multiline_result__text_item
    from table
    where multiline_search_text_item LIKE '%'||:multiline_search_text_item||'%';
    You can use UPPER to make this case insensitive:
    select table.database_item into :multiline_result__text_item
    from table
    where Upper(multiline_search_text_item) LIKE Upper('%'||:multiline_search_text_item||'%');
    But I suspect you want either to match the individual words in the search text to individual words in the database multiline field, or find records where the search words appear (not necessarily as whole words). In that case, check out the following:
    -- set up a table (multiline and various whitespaces)
    DROP TABLE t;
    CREATE TABLE t AS
    SELECT
      ROWNUM rn,
      owner||Chr(9)||object_name||Chr(160)||subobject_name||'    '||object_id||' '||
      data_object_id||Chr(10)||object_type||' '||created||' '||last_ddl_time||' '||
      timestamp||' '||status||' '||temporary||' '||generated||' '||secondary AS col
    FROM all_objects;
    -- check the format of the multiline text item (col)
    SELECT * FROM t WHERE ROWNUM < 4;
    -- a type for the function below
    CREATE TYPE string_tab AS TABLE OF VARCHAR2(255);
    -- this function takes a string and cuts out each word, idetifying words
    -- as being separated by any whitespace.  it returns a collection
    CREATE OR REPLACE FUNCTION string_to_tab(
      p_string IN VARCHAR2) RETURN string_tab IS
      l_string LONG DEFAULT
        RTrim(regexp_replace(p_string,'[[:space:]]+',' ')) || ' ';
      l_data string_tab := string_tab();
      n NUMBER;
    BEGIN
      LOOP
        EXIT WHEN l_string IS NULL;
        n := InStr(l_string, ' ');
        l_data.extend;
        l_data(l_data.Count) := LTrim(RTrim(SubStr(l_string, 1, n - 1)));
        l_string := SubStr(l_string, n + 1);
      END LOOP;
      RETURN l_data;
    END string_to_tab;
    -- selecting from t where ANY of the words in the search text has
    -- a match in the multiline field (as a word or part of a word), so SYS
    -- matches to MDSYS and SYSTEM
    SELECT DISTINCT
      t.rn, t.col
    FROM
      t,
      (SELECT column_value
       FROM TABLE(CAST(string_to_tab('SYS   INDEX') AS string_tab))) x
    WHERE InStr(t.col,x.column_value) > 0;
    -- selecting from t where ALL of the words in the search text has
    -- a match in the multiline field (as a word or part of a word), so SYS
    -- matches to MDSYS and SYSTEM
    SELECT rn, col FROM(
    SELECT
      t.rn, t.col, cnt_x, Count(*) cnt
    FROM
      t,
      (SELECT column_value , Count(1) over(PARTITION BY 1)cnt_x
       FROM TABLE(CAST(string_to_tab('SYS   INDEX') AS string_tab))) x
    WHERE InStr(t.col,x.column_value) > 0
    GROUP BY t.rn, t.col, cnt_x
    WHERE cnt = cnt_x;
    -- selecting from t where ANY of the words in the search text
    -- match a word in the multiline field, so SYS matches only to SYS
    SELECT DISTINCT
      t.rn, t.col
    FROM
      t,
      (TABLE(CAST(string_to_tab(t.col) AS string_tab))) t2,
      (SELECT column_value
       FROM TABLE(CAST(string_to_tab('SYS   INDEX') AS string_tab))) x
    WHERE t2.column_value = x.column_value;
    -- selecting from t where ALL of the words in the search text
    -- match a word in the multiline field, so SYS matches only to SYS
    SELECT rn, col FROM(
    SELECT
      t.rn, t.col, cnt_x, Count(*) cnt
    FROM
      t,
      (TABLE(CAST(string_to_tab(t.col) AS string_tab))) t2,
      (SELECT column_value , Count(1) over(PARTITION BY 1)cnt_x
       FROM TABLE(CAST(string_to_tab('SYS   INDEX') AS string_tab))) x
    WHERE t2.column_value = x.column_value
    GROUP BY t.rn, t.col, cnt_x
    WHERE cnt = cnt_x;For your application you would replace 'SYS INDEX' with a variable (the search field). You can use upper() and wildcards for case insensitive & 'fuzzy' searches. You might need to modify the function so it removes other delimiters such as commas and colons.

  • Create multiple rule in single alert category

    Hi All,
    any body tell me can we create multiple rule in single alert category.When i click on a  add rule button in existing category nothing will happen same page will come with existing data.
    Thanks & Regards
    Samarjit

    HI,
    you can define alert category multiple rules.. see the below links
    http://help.sap.com/saphelp_nw2004s/helpdata/en/bb/f0033c128f4a7de10000000a114084/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/45/23827054604aa8e10000000a11466f/content.htm
    You must define the binding from the task container to the rule container for each rule. For further information, refer to Rule Resolution
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c5/e4b5aa453d11d189430000e829fbbd/content.htm
    Regards
    Chilla

  • Configure Monitoring of a MSMQ private queue Messages in Queue counter

    Hi
    I have a workgroup server that is not part of my local domain.
    I have contented the server to my local SCOM 2012 R2 server and it is working fine.
    My SCOM server has MSMQ 6.0 & 6.3  MP's installed.
    On the remote servers I have some MSMQ 6.0 private queues.
    When I am trying to monitor one counter in 1 queue , when the threshold is reached I am getting error message on al the queues.
    On the performance counter tab I have :
    Object: MSMQ Queue
    Counter : Messages In Queue
    Instance :[server name'\private$\error
    There were 1207 messages in this queue .
    I Got about 30 messages and error on all queues.
    What did I do wrong ?
    Itamar
    Itamar

    Hi
    This is the alert email I got :
    Alert: Notification Queue
    Source: maasw1\private$\maas.backend.scheduler.timeoutsdispatcher
    Path: MAASW1.xxx.com
    Last modified by: System
    Last modified time: 2/18/2014 2:45:49 PM Alert description: Instance Computer Queues
    Object MSMQ Queue
    Counter Messages in Queue
    Has a value 19
    At time 2014-02-18T14:45:35.0000000+02:00
    I did not place a monitor on this queue but on 2 other queues.
    one with threshold of 500 and on with 1 .
    I have made some change in the monitor and will test it now.
    Thanks
    Itamar 
    Itamar

  • RE: Accessing multiple Env from single Client-PC

    Look in the "System Management Guide" under connected environments page
    72. This will allow services in your primary environment to find
    services in your connected environment. However, there is a bug
    reported on this feature which is fixed in 2F4 for the HP and H1 for all
    other servers. The following is from Forte:
    The connected environments bug that was fixed in 2F4 is #24282. The
    problem
    was in the nodemgr/name server source code and caused the following to
    occur:
    Service1 is in connected envs A and B.
    Client has env A as primary, B as secondary.
    Envmgr A dies before the client has ever made a call to Service1.
    Afer env A is gone, client makes a call to Service1 which causes Envmgr
    B to
    seg fault.
    You should upgrade your node manager/env manager nodes to 2F4. The 2F2
    development and runtime clients are fully compatible with 2F4 servers.
    Kal Inman
    Andersen Windows
    From: Inho Choi[SMTP:[email protected]]
    Sent: Monday, April 21, 1997 2:04 AM
    To: [email protected]
    Subject: Accessing multiple Env from single Client-PC
    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

    Look in the "System Management Guide" under connected environments page
    72. This will allow services in your primary environment to find
    services in your connected environment. However, there is a bug
    reported on this feature which is fixed in 2F4 for the HP and H1 for all
    other servers. The following is from Forte:
    The connected environments bug that was fixed in 2F4 is #24282. The
    problem
    was in the nodemgr/name server source code and caused the following to
    occur:
    Service1 is in connected envs A and B.
    Client has env A as primary, B as secondary.
    Envmgr A dies before the client has ever made a call to Service1.
    Afer env A is gone, client makes a call to Service1 which causes Envmgr
    B to
    seg fault.
    You should upgrade your node manager/env manager nodes to 2F4. The 2F2
    development and runtime clients are fully compatible with 2F4 servers.
    Kal Inman
    Andersen Windows
    From: Inho Choi[SMTP:[email protected]]
    Sent: Monday, April 21, 1997 2:04 AM
    To: [email protected]
    Subject: Accessing multiple Env from single Client-PC
    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

Maybe you are looking for

  • Using Apple remote with macbook display closed

    Hi , I have a macbook connected to LCD TV with HDMI connection . Is there a way to use Apple remote with display closed . examples of using apple remote with display closed would be (1) waking the macbook with apple remote (2) putting the macbook to

  • How to use analytic function with aggregate function

    hello can we use analytic function and aggrgate function in same qurey? i tried to find any example on Net but not get any example how both of these function works together. Any link or example plz share with me Edited by: Oracle Studnet on Nov 15, 2

  • WIKI server upgrade 10.7 to 10.x lost calendar.

    Just pulled the trigger and updated my MacMini server that was running 10.7.x to Yosemite 10.x. After the upgrade I checked and a WIKI that has been active for close to 1/yr is not %100. The base page, images, and documents are there but the calendar

  • Create Conditions for CRMD_ORDER (Rebate)

    Hi, Can you please  tell me if we have any STD FM/BAPI for creating conditions for CRMD_ORDER (Rebates)? Thanks Ashu

  • Context Menu on the right click of af:tree node

    Hi Experts, I am using drag and drop functionality in af:tree.In that i used one tree for drag source and another one tree for drop target,and it is working as expected. Now I want to bring one additional option in the context menu of the target tree