Stacks and Queues

Hello, I am new to Java and am working out an assignment. I need to manipulate some stacks and queues in various ways.
I need to reverse a stack in three different ways:
1. using two additional stacks.
2. using one additional queue.
3. using one additional stack and some additional non-array variables.
I think I have ways to do 1 and 2 but I'm a bit confused about 3.
For 1, I would pop the the elements off of the full stack A, and push them onto B. Then pop them from B and push them to C. Then pop them from C and push them to A, thus reversing the order.
For 2, simply pop the elements from the stack and enqueue them in the queue. Then dequeue them and push them back to the stack.
For 3, not really sure where to start or how? I could think of how to do it with an array but I'm drawing a blank on this. I don't want anyone to write the code for me just maybe point me in the right direction?
The assignment then carries on to sorting in ascending order using a stack and then just using non-array variables. I feel like if I can figure out number 3 above the rest will be along similar lines.
Any help is greatly appreciated.

The restrictions might be nudging towards a constant-storage algorithm. In which case, try the following.
You can move any element to the top of the stack using a stack and non-array variables. Take the 4th element for example:
Pop 3 elements from the stack and push onto the other.
Pop the next element and store in a variable.
Pop the 3 elements from the second stack and push back on the first.
Push the value from the variable onto the first stack.
This can be used for reversing and sorting the stack.

Similar Messages

  • Help regarding Stacks and Queues.!!!!!!Please....

    I have a working program right now..But it lacks some things to be done..It already does the stacks and queues..But still it doesnt print the info on the desired output file outTwo.dat..Both the stacks and queues should be printed on it..Also it has to compute the total commission on categories 1 and 2...and put it again on the outTwo.dat..Any kind hearted people would want to help me here?Here's the assignment detail...Thank YOU!!!!
    Q2. Linked List
    a.     create a compile AStack class, and a AQueue class similar to the text
    b.     provide an application that will:
    �     instantiate an AStack object and an AQueue object
    �     create a property object for each data line read from the input file assign4.dat
    �     push it ti the stack if its is category 1 property; queue if its is category 2; ignore all others
    �     print a title called category 1 to an output file called outTwo.dat
    �     after printing a few blank lines to outTwo.dat, print a title called category 2 to outTwo.dat
    �     traverse the queue and print it to the same output file outTwo.dat
    �     print the total commission earned on this category of property to outTwo.dat
    Note that for this question you should also print out and submit outTwo.dat. Have Fun!
    //This is the program I have done so far....
    import java.io.*;
    import java.util.StringTokenizer;
    public class TestSQ {
         public static void readFileSQ(AStack s, AQueue q)
              try {
    FileReader inStream=new FileReader("assign4.dat");
    BufferedReader ins= new BufferedReader(inStream);
    FileWriter outStream=new FileWriter("outTwo.dat");
    PrintWriter outs= new PrintWriter(outStream);
    String line;
    int category;
    double price;
    String categoryString;
    String priceString;
    StringTokenizer st;
    while((line=ins.readLine())!=null) {
    st=new StringTokenizer(line," ");
    if(st.countTokens()==2){
    categoryString = st.nextToken();
    priceString = st.nextToken();
    try{
    category = Integer.parseInt(categoryString);
    price = Double.parseDouble(priceString);
    Property myProperty = new Property(category, price);
    myProperty.setCommissionRate();
    myProperty.getCommission();
         if(category==1)
    s.push(myProperty);
    outs.println(s.toString());
    if(category==2)
                             q.insert(myProperty);
                             outs.println(q.toString());
    }catch(NumberFormatException nfe){
    System.out.println("error while parsing Integer: "+categoryString+"/"+priceString);
    else
    System.out.println("invalid number of elements in line: " +st.countTokens());
    catch (IOException e) {
    System.out.println("i/o error:"+e.getMessage());
    e.printStackTrace();
         public static void showStack(AStack s){
              while(!s.isEmpty()){
                   Object line=s.pop();
                   System.out.println(line);
    public static void main(String args[])
         AStack stackOfProperty=new AStack();
         AQueue queueOfProperty=new AQueue();
         readFileSQ(stackOfProperty,queueOfProperty);
         showStack(stackOfProperty);
         System.out.println();
         System.out.println(queueOfProperty.toString());
    }

    import java.io.*;
    import java.util.StringTokenizer;
    public class TestSQ {
         public static void readFileSQ(AStack s, AQueue q)
              try {
                FileReader inStream=new FileReader("assign4.dat");
                BufferedReader ins= new BufferedReader(inStream);
                FileWriter outStream=new FileWriter("outTwo.dat");
                PrintWriter outs= new PrintWriter(outStream);
                String line;
                int category;
                double price;
                String categoryString;
                String priceString;
                StringTokenizer st;
                 while((line=ins.readLine())!=null) {
                    st=new StringTokenizer(line," ");
                    if(st.countTokens()==2){
                        categoryString = st.nextToken();
                        priceString = st.nextToken();
                        try{
                            category = Integer.parseInt(categoryString);
                            price = Double.parseDouble(priceString);
                            Property myProperty = new Property(category, price);
                            myProperty.setCommissionRate();
                            myProperty.getCommission();
                                if(category==1)
                            s.push(myProperty);
                          //  outs.println(s.toString());
                            else if(category==2)
                                 q.insert(myProperty);
                                 outs.println(q.toString());
                        }catch(NumberFormatException nfe){
                            System.out.println("error while parsing Integer: "+categoryString+"/"+priceString);
                    else
                        System.out.println("invalid number of elements in line: " +st.countTokens());
                outs.close();
                ins.close();
            catch (IOException e) {
                System.out.println("i/o error:"+e.getMessage());
                e.printStackTrace();
         public static void showStack(AStack s){
              while(!s.isEmpty()){
                   Object line=s.pop();
                   System.out.println(line);
        public static void main(String args[])
             AStack stackOfProperty=new AStack();
             AQueue queueOfProperty=new AQueue();
             readFileSQ(stackOfProperty,queueOfProperty);
             showStack(stackOfProperty);
             System.out.println();
             System.out.println(queueOfProperty.toString());
       }//This is the updated version of my program..Now the ouput file works now, but then it shows different ouput..Thats only for the queue.I dont know about the stack..Tnx for looking...

  • Stack and queue problem

    hi i am trying to change infix expression to postfix and also the opposite, like
    ((a+b)*(a-c*d)/(b+d*e)) to ab+acb*-bde+/
    using stack and queue
    I am so confuse

    Hello,
    See this URL :
    http://www24.brinkster.com/premshree/perl
    You will find the algorithms here.
    Here is a Perl version :
    #     Script:          infix-postfix.pl
    #     Author:          Premshree Pillai
    #     Description:     Using this script you can :
    #               - Convert an Infix expression to Postfix
    #               - Convert a Postfix expression to Infix
    #               - Evaluate a Postfix expression
    #               - Evaluate an Infix expression
    #     Web:          http://www.qiksearch.com
    #     Created:     23/09/02 (dd/mm/yy)
    #     � 2002 Premshree Pillai. All rights reserved.
    sub isOperand
         ($who)=@_;
         if((!isOperator($who)) && ($who ne "(") && ($who ne ")"))
              return 1;
         else
              return;
    sub isOperator
         ($who)=@_;
         if(($who eq "+") || ($who eq "-") || ($who eq "*") || ($who eq "/") || ($who eq "^"))
              return 1;
         else
              return;
    sub topStack
         (@arr)=@_;
         my $arr_len=@arr;
         return($arr[$arr_len-1]);
    sub isEmpty
         (@arr)=@_;
         my $arr_len=@arr;
         if(($arr_len)==0)
              return 1;
         else
              return;
    sub prcd
         ($who)=@_;
         my $retVal;
         if($who eq "^")
              $retVal="5";
         elsif(($who eq "*") || ($who eq "/"))
              $retVal="4";
         elsif(($who eq "+") || ($who eq "-"))
              $retVal="3";
         elsif($who eq "(")
              $retVal="2";
         else
              $retVal="1";
         return($retVal);
    sub genArr
         ($who)=@_;
         my @whoArr;
         for($i=0; $i<length($who); $i++)
              $whoArr[$i]=substr($who,$i,1);
         return(@whoArr);
    sub InfixToPostfix
         ($infixStr)=@_;
         my @infixArr=genArr($infixStr);
         my @postfixArr;
         my @stackArr;
         my $postfixPtr=0;
         for($i=0; $i<length($infixStr); $i++)
              if(isOperand($infixArr[$i]))
                   $postfixArr[$postfixPtr]=$infixArr[$i];
                   $postfixPtr++;
              if(isOperator($infixArr[$i]))
                   if($infixArr[$i] ne "^")
                        while((!isEmpty(@stackArr)) && (prcd($infixArr[$i])<=prcd(topStack(@stackArr))))
                             $postfixArr[$postfixPtr]=topStack(@stackArr);
                             pop(@stackArr);
                             $postfixPtr++;
                   else
                        while((!isEmpty(@stackArr)) && (prcd($infixArr[$i])<prcd(topStack(@stackArr))))
                             $postfixArr[$postfixPtr]=topStack(@stackArr);
                             pop(@stackArr);
                             $postfixPtr++;
                   push(@stackArr,$infixArr[$i]);
              if($infixArr[$i] eq "(")
                   push(@stackArr,$infixArr[$i])
              if($infixArr[$i] eq ")")
                   while(topStack(@stackArr) ne "(")
                        $postfixArr[$postfixPtr]=pop(@stackArr);
                        $postfixPtr++;
                   pop(@stackArr);
         while(!isEmpty(@stackArr))
              if(topStack(@stackArr) eq "(")
                   pop(@stackArr)
              else
                   $temp=@postfixArr;
                   $postfixArr[$temp]=pop(@stackArr);
         return(@postfixArr);
    sub PostfixToInfix
         ($postfixStr)=@_;
         my @stackArr;
         my @postfixArr=genArr($postfixStr);
         for($i=0; $i<length($postfixStr); $i++)
              if(isOperand($postfixArr[$i]))
                   push(@stackArr,$postfixArr[$i]);
              else
                   $temp=topStack(@stackArr);
                   pop(@stackArr);
                   $pushVal=topStack(@stackArr).$postfixArr[$i].$temp;
                   pop(@stackArr);
                   push(@stackArr,$pushVal);
         return((@stackArr));
    sub PostfixEval
         ($postfixStr)=@_;
         my @stackArr;
         my @postfixArr=genArr($postfixStr);
         for($i=0; $i<length($postfixStr); $i++)
              if(isOperand($postfixArr[$i]))
                   push(@stackArr,$postfixArr[$i]);
              else
                   $temp=topStack(@stackArr);
                   pop(@stackArr);
                   $pushVal=PostfixSubEval(topStack(@stackArr),$temp,$postfixArr[$i]);
                   pop(@stackArr);
                   push(@stackArr,$pushVal);
         return(topStack(@stackArr));
    sub PostfixSubEval
         ($num1,$num2,$sym)=@_;
         my $returnVal;
         if($sym eq "+")
              $returnVal=$num1+$num2;
         if($sym eq "-")
              $returnVal=$num1-$num2;
         if($sym eq "*")
              $returnVal=$num1*$num2;
         if($sym eq "/")
              $returnVal=$num1/$num2;
         if($sym eq "^")
              $returnVal=$num1**$num2;
         return($returnVal);
    sub joinArr
         (@who)=@_;
         my $who_len=@who;
         my $retVal;
         for($i=0; $i<$who_len; $i++)
              $retVal.=$who[$i];
         return $retVal;
    sub evalInfix
         ($exp)=@_;
         return PostfixEval(joinArr(InfixToPostfix($exp)));
    sub init
         my $def_exit="\n\tThank you for using this Program!\n\tFor more scripts visit http://www.qiksearch.com\n";
         printf "\n\tInfix - Postfix\n";
         printf "\n\tMenu";
         printf "\n\t(0) Convert an Infix Expression to Postfix Expression";
         printf "\n\t(1) Convert a Postfix Expression to Infix Expression";
         printf "\n\t(2) Evaluate a Postifx Expression";
         printf "\n\t(3) Evaluate an Infix Expression";
         printf "\n\t(4) Exit this Program";
         printf "\n\t(5) About this Program\n";
         printf "\n\tWhat do you want to do? (0/1/2/3/4/5) ";
         $get=<STDIN>;
         chomp $get;
         if(!(($get eq "0") || ($get eq "1") || ($get eq "2") || ($get eq "3") || ($get eq "4") || ($get eq "5")))
              printf "\n\t'$get' is an illegal character.\n\tYou must enter 0/1/2/3/4/5.";
         if(($get ne "4") && ($get ne "5") && (($get eq "0") || ($get eq "1") || ($get eq "2") || ($get eq "3")))
              printf "\n\tEnter String : ";
              $getStr=<STDIN>;
              chomp $getStr;
         if($get eq "0")
              printf "\tPostfix String : ";
              print InfixToPostfix($getStr);
         if($get eq "1")
              printf "\tInfix String : ";
              print PostfixToInfix($getStr);
         if($get eq "2")
              printf "\tPostfix Eval : ";
              print PostfixEval($getStr);
         if($get eq "3")
              printf "\tExpression Eval : ";
              print evalInfix($getStr);
         if($get eq "4")
              printf $def_exit;
              exit 0;
         if($get eq "5")
              printf "\n\t======================================================";
              printf "\n\t\tInfix-Postfix Script (written in Perl)";
              printf "\n\t\t(C) 2002 Premshree Pillai";
              printf "\n\t\tWeb : http://www.qiksearch.com";
              printf "\n\t======================================================\n";
              printf "\n\tUsing this program, you can : ";
              printf "\n\t- Convert an Infix Expression to Postfix Expression.";
              printf "\n\t Eg : 1+(2*3)^2 converts to 123*2^+";
              printf "\n\t- Convert a Postfix Expression to Infix Expression.";
              printf "\n\t Eg : 123*+ converts to 1+2*3";
              printf "\n\t- Evaluate a Postfix Expression";
              printf "\n\t Eg : 37+53-2^/ evaluates to 2.5";
              printf "\n\t- Evaluate an Infix Expression";
              printf "\n\t Eg : (5+(4*3-1))/4 evaluates to 4";
              printf "\n\n\tYou can find the algorithms used in this Program at : ";
              printf "\n\t-http://www.qiksearch.com/articles/cs/infix-postfix/index.htm";
              printf "\n\t-http://www.qiksearch.com/articles/cs/postfix-evaluation/index.htm";
              printf "\n\n\tYou can find a JavaScript implementation of 'Infix-Postfix' at : ";
              printf "\n\t-http://www.qiksearch.com/javascripts/infix-postfix.htm";
         printf "\n\n\tDo you want to continue? (y/n) ";
         my $cont=<STDIN>;
         chomp $cont;
         if($cont eq "y")
              init();
         else
              printf $def_exit;
              exit 0;
    init;

  • Website on data structures such as stacks and queues.

    Hi,
    I'm currently try to read up on data structures such as stacks, queues but don't quite understand how to implement that. Is there any useful links with example that I can read up from?
    Thanks

    Depends what you mean by "implement". If you want to use standard Java classes that are already written, and you want to know which to choose, then
    http://java.sun.com/docs/books/tutorial/collections/
    If you want to write your own, for some obscure reason, then read a book on data structures. Or try to write your own implementation of the Java collection classes.

  • Iterative maze generation with a stack and queue

    I searched the forums, and a couple of hits were interesting, particularly http://forum.java.sun.com/thread.jsp?forum=54&thread=174337 (the mazeworks site is very very cool), but they all centered on using a recursive method to create a maze. Well, my recursive maze generation is fine; it seems to me that recursion lends itself quite well to this particular form of abuse, so well in fact that I am having trouble wrapping my head around an iterative approach. :) I need to create a maze iteratively, using a stack if specified by the user, else a queue. I can vaguely see how a stack simulates recursion but conceptualization of the queue in particular is making my hair hurt. So I was just wondering if anyone had any thoughts or pointers that they wouldn't mind explaining to me to help me with this project. Thanks kindly.
    Maduin

    Stacks (i.e. a first in, last out data storage structure) are very, very closely tied to recursive calls - after all, the only reason that the recursion works at all is because the language is placing the current state of the method on a stack before it calls the method again.
    As for using queue's to implement the same type of thing, are you allowed to use a dequeue (double ended queue)? If so, dequeue's are a pretty common way of implementing a stack - they allow you to implement both FILO and FIFO (first in, first out) structures by whether you pull the stored item from the head or tail of the dequeue.
    If you are talking about a FIFO, then that's a different story - let us know!
    - K
    PS - recursion is an odd topic to get your head around - keep working at it! The biggest thing to realize is that all recursive routines must have SOME way to exit them without continuing the recursion. The design of a recursive call, then, is generally easiest to do when implemented by answering the following question: "Under what condition should the recursion stop?", and then building the routine backwards from there.

  • Stack and Queue

    Where do we use them?So far i haven't come across any program which uses them.

    You could use a stack for a calculator application, or a queue for a resource management application.

  • Help with java coding involving stacks and queues.

    I was wondering if anyone can help with tips on what to fill in for the coding.
    My project is to creating a word processor by the process of 2 stacks. The methods are given, but I'm not really sure what goes in them. So I was wonder if anyone can answer this for me, or give tips that would be great thanks.
    Example Code, similar to what were suppose to do, but instead it's CHARACTER stacks rather than String.
    [http://www.cs.jhu.edu/~jason/226/hw3/source/EditableString.java]

    /** Stack of Characters to the left of the cursor; the ones
       * near the top of the stack are closest to the cursor.
      private Stack left;
      /** Stack of Characters to the right of the cursor; the ones
       * near the top of the stack are closest to the cursor.
      private Stack right;Do you know how a stack works?
    No - Google it
    Yes - Continue on with this post
    /** Another constructor.
       * @param left The text to the left of the cursor.
       * @param right The text to the right of the cursor.
      public EditableString(String left, String right) {
        // fill this in
      }Do you know how to read?
    No - How did you answer this question then?
    Yes - Then why can't you read the comments above each method. Is it really that hard to understand?
    Mel

  • Improve Auto-Stack and Process Collections with user settings

    I have read through all of the Bridge request discussions, and encountered a few comments on the stacking process but nothing to explain my critique and feature request. My apologies for any redundancy.
    Bridge CS4 includes two features that would (virtually) streamline my entire photo-organization workflow. Brilliant! Except that they offer zero configuration and my default scenario is very different from Adobe's, so these two would-be-wonderful features are pretty much useless to me, and to anybody else who doesn't happen to shoot in the way the presets are configured.
    The first feature is to automatically group images into stacks, based on their similarity, exposure settings, and timestamps. Unfortunately Bridge considers no minimum or maximum amount of photos per stack, and has a fixed timestamp window of 18 seconds. I shoot everything in three-exposure bursts and sometimes multiple shots in less than 18 seconds, so being able to say "process collections in 3-item stacks only" would be absolutely perfect. For other people, being able to limit the timestamp range or other min/max exposure options would work great.
    The second feature, which could save me hours every week but is equally useless, is to automatically process collections in Photoshop. My biggest ire about this function is that it completely ignores stacks that I have manually created AND stacks that were previously created using the auto-stack feature. Every time this function is run, it re-runs the auto-stack process from scratch and then delivers the collections to Photoshop. Not only is this made useless by the previously mentioned inflexibility of the auto-stack process, but even if auto-stack worked perfectly, this would waste time by doing the entire thing again and denying the user the option to review the stacks before committing to the Photoshop processing. The process collections feature would also be much improved if the option were given to process ONLY panoramas or HDR photos, or auto-detect. I have never shot a panorama in my life and I'm sure plenty of people have never shot HDR, but Photoshop isn't capable of knowing our intentions and there's no reason why we shouldn't be able to instruct it.

    Agree. It is an interesting capability that falls short of being really useful. I feel like an ingrate to complain, but ...
    I'd also like to see the capability to specify something than "Auto" for the panorama option. My experience is that most of my panos work best with "Cylindrical + Geometric Correction".
    My experience is that once you get past 5+ images in a pano, it becomes very tedious ... and then 20+ images in rows is painful. Unlike a single image that you can quickly evaluate, with panos I find I need to make the pano to tell if it going to turn out.  I have been generating smaller 1800x1200 or 1200x1800 files to speed up the evaluation process, but it is still very manual and tedious.
    The Auto-Stack generates a AutoCollectionCache.xml, but I haven't found it workable to edit this. I'd like to be able to modify it to "force" my knowledge of what is in a group. It seems to check the time-stamp, and re-do the Auto-Stack, thus ignoring my changes. Sigh.

  • When do VI and queue references become invalid?

    Hi all,
    I have a fairly complicated problem, so please bear with me.
    1)  I have a reentrant SubVI (let's call it VI "Assign") that has an input cluster of (VI ref, queue ref) (let's call the cluster type "Refs").  If the VI ref is invalid (first execution), the VI ref and queue ref are assigned values and are passed on as an output cluster of same type.  (The VI does other things too, but for simplicity only this is important.)
    2)  The VI that calls VI "Assign" (let's call it VI "Store") is not reentrant and has a local variable of type "Refs" that is wired to the input and output of VI "Assign".  This VI effectively stores the references.  The references returned by VI "Assign" are always valid right after the call, but after the problem condition described below, they are invalid at the start of all calls before they are passed to VI "Assign".
    3)  VI "Store" is called by multiple non-reentrant VIs, so the local variables of VI "Assign" retain their values (Has been tested and verified to retain their values).  The VI causing the problem in this case is a template VI of which multiple copies are launched (let's call it VI "Template").
    The problem is that the moment an instance of VI "Template" is closed, the queue reference becomes invalid, although the actual variant value of the reference remains the same.  The VI ref can become invalid or not, depending on small changes, but is always reproducible.  I assume there must be some similarity between VI and queue refs.  After spending some time researching, the Labview help states for the Open VI Ref component "If you do not close this reference, it closes automatically after the top-level VI associated with this function executes."  In this case I assumed it means that the moment the reentrant VI "Assign" finishes, the references will get cleared ??  So I made a non-reentrant VI (let's call it VI "NR Assign") that only assigns values to the references and VI "Assign" now calls this VI (It effectively does what I described VI "Assign" does).  I keep this VI alive by using it in a VI which never terminates and since it never terminates, the references should never become invalid.  Anyone still following?  This didn't solve the problem though.  If I reproduce the same scenario using only one instance of the template VI, it works just fine.  Furthermore, the VI and queue references are never closed, to aid analysis of the problem.  Can anyone shine some light on what happens when a template VI terminates?  Could this be the problem?
    Unfortunately I cannot include the code.
    Thank you whoever is able to make sense of this.
    Christie

    Christie wrote:
    Hi all,
    I have a fairly complicated problem, so please bear with me.
    1)  I have a reentrant SubVI (let's call it VI "Assign") that has an input cluster of (VI ref, queue ref) (let's call the cluster type "Refs").  If the VI ref is invalid (first execution), the VI ref and queue ref are assigned values and are passed on as an output cluster of same type.  (The VI does other things too, but for simplicity only this is important.)
    2)  The VI that calls VI "Assign" (let's call it VI "Store") is not reentrant and has a local variable of type "Refs" that is wired to the input and output of VI "Assign".  This VI effectively stores the references.  The references returned by VI "Assign" are always valid right after the call, but after the problem condition described below, they are invalid at the start of all calls before they are passed to VI "Assign".
    3)  VI "Store" is called by multiple non-reentrant VIs, so the local variables of VI "Assign" retain their values (Has been tested and verified to retain their values).  The VI causing the problem in this case is a template VI of which multiple copies are launched (let's call it VI "Template").
    The problem is that the moment an instance of VI "Template" is closed, the queue reference becomes invalid, although the actual variant value of the reference remains the same.  The VI ref can become invalid or not, depending on small changes, but is always reproducible.  I assume there must be some similarity between VI and queue refs.  After spending some time researching, the Labview help states for the Open VI Ref component "If you do not close this reference, it closes automatically after the top-level VI associated with this function executes."  In this case I assumed it means that the moment the reentrant VI "Assign" finishes, the references will get cleared ??  So I made a non-reentrant VI (let's call it VI "NR Assign") that only assigns values to the references and VI "Assign" now calls this VI (It effectively does what I described VI "Assign" does).  I keep this VI alive by using it in a VI which never terminates and since it never terminates, the references should never become invalid.  Anyone still following?  This didn't solve the problem though.  If I reproduce the same scenario using only one instance of the template VI, it works just fine.  Furthermore, the VI and queue references are never closed, to aid analysis of the problem.  Can anyone shine some light on what happens when a template VI terminates?  Could this be the problem?
    Unfortunately I cannot include the code.
    Thank you whoever is able to make sense of this.
    Christie
    All LabVIEW refnums do get deallocated automatically when the top-level VI in whose hierarchy the refnum was created goes idle (stops executing). You will have to make sure that the creation of a refnum is done inside a VI hierarchy that stays running for the entire time you want to use that refnum.
    Rolf Kalbermatter
    Message Edited by rolfk on 06-27-2007 11:52 AM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Monitoring of remote system's Transactional RFC and Queued RFC

    Hello,
    In our production system, in rz20- CCMS monitor templates- Communication-Transactional RFC and Queued RFc- outbound queues- Queues otherwise not monitored we can see blocked queues for each client.
    System is connected to solution manager and we wish the central auto reaction is implemented in solution manager
    However i am unable to find Transactional RFC and Queued RFC for the remote system, they exist only for solution manager itself
    Tell me how can i do the central monitoring

    Hello,
    First you need to check with your Landscape in solman in order to monitor any kind of activities to do so pls follow these steps.
    Go to SMSY in solman under Landscape components>Product systemsselect you satellite system example SAP ECC.
    On the main screen you will find client for which you have generated RFC connection. Please check though connection are working fine, Go to edit mode and try to click on generate button there will be a pop-up, which gives a clear picture of RFC connection which already exists, and you can also re-generate this RFC connection by clean it up when you re-generate pls select under Actions after generation assign RFC dest for system monitoring.
    But make sure there is no project impact on this RFC, like they are not using any logical components and already have some projects running on this RFC connection.
    I would advise you to first you the option of assign and check RFC button which is next to generate icon.
    Regards
    JUDE

  • Re@lted t0 bluetooth dongle, stack and configuration.. .......

    Hi to all,
    Those r new or require some more info realted to STACK and statring the prohect read the following page
    http://www.cs.hku.hk/~fyp05016/kyng/bt_j9.htm
    This is may be benifical to u.
    Anyhow, i am making the my final year project related to Bluetooth and i am trying to use AVETANA which can be dowloaded from the following link:
    http://www.avetana-gmbh.de/avetana-gmbh/downloads/relicense.idmexieubncmqxqphuvrohkpjcgwbv.eng.xml
    After u visit this link u will see that, avetana require three bluetooth address. I have inputed the address 22:22:22:22:22:22 ( or 22-22-22-22-22-22). I have extracted this address from start-run-ipconfig/all after i install the device dirver software "BlueSoleil_1.6.2.1" in Win XP OS. My bluetooth dongle is "ISSC Bluetooth Device" which i extracted from Device Manager (Start - Right Click My computer - Properties - Hardware - Device Manager). Moreover my VID and UID of the bluetooth dongle is "USB\VID_1131&PID_1001". I have even cheked the microsoft XP site
    http://support.microsoft.com/kb/841803/
    for the sake of conformation that whether my bluetooth dongle is supported my Win XP sp2 and the above VID and UID is not present there.
    Now the problem is that site doesnot accept my above written address, and so i am unable to download the avetana,,,
    In the end(after searching on the net) I have concluded that might the following reason may be there:
    1) my bluetooth dongle is either of some local company manufacturer which is not recognized by win XP
    2) i am using wrong device driver
    3) i am unable to configure properly the bluetooth device.
    Moreover, even after installing the device driver (BlueSoleil_1.6.2.1) i am unable to see any bluetooth icon in the Control panel so that i can see/change the bluetooth property.
    Plz help me up..
    and if i am thinking correct, which company dongle i should purchase or which other bluetooth stack (say like atinav, BlueCove) i should use...
    I even want to know that with respect to stack (say atinav) i need to purchase the dongle or not..
    moreover, i donot want to buy any stack as this is only my academic project so i donot have so much money to buy a stack (like atinav)
    thx in advance..

    Bluetooth forum
    http://vietcovo.com http://forum.vietcovo.com

  • PI 7.1(dual stack) and PI 7.31(Single stack) -

    Friends,
    I have a proxy to proxy scenario - Proxy --> PI --> Proxy
    We have two servers PI 7.1(dual stack) and PI 7.31(Single stack)
    i did the development in ESR and my ESR is pointing to PI 7.1, when i execute the scenario i receive one error message "receiver could not be determined", i ensured that all my input is correct, still i get the same error message.
    the expectation is my scenario should point to PI 7.31, Can some one help me where and what settings i need to make in-order to make it work.
    Please Note: All my data is correct and i read some scn forums wherein they asked to refresh the cache , i have refreshed the cache also still the problem persists.
    Thanks in advance!

    Iñaki Vila
    Communication component in ID is the same as sender side.
    could you share your sender configuration?
    Did you mean Tcode - SXMB_ADM and under that Sender/Receiver configuration
    Krupa Rao Atluri
    In ID steps are correctly defined.
    I spoke to my colleague he hinted that at RUN TIME we want to point to PI7.31, he mentioned config change needed in SXMB_ADM
    any further inputs from any one could be useful.

  • What is required in the HOST and QUEUE field when ...

    Hi
    When setting up my printer, i fill the options identical to what follows:
    PRINTER:  SAMSUNG HOME
    DRIVER:    GENERAL
    BEARER:  LPR <-----------------------------( NOT SURE IF IT IS THE CORRECT OPTION TO SELECT )
    The following fields appear once LPR is selected:
    ACCES POINT : HOME
    HOST:              WHAT COMES HERE?
    USER:              SKY00BER
    QUEUE:            WHAT COMES HERE?
    ORIENTATION: PORTRAIT
    PAPER SIZE: A4
     if it helps, my printer is SAMSUNG CLX-3175FW. It is Wifi Enable and is connected to my HOME acces point.
    please do correct me if there has to be changes to the BEARER or anything else.
    i could really use some help.
    thanks in advanced.

    sky00ber wrote:
     Hi,
    What is required in the HOST and QUEUE field when setting a WIFI printer?
    When setting up my printer, i fill the options identical to what follows:
    PRINTER:  SAMSUNG HOME
    DRIVER:    GENERAL
    BEARER:  LPR <-----------------------------( NOT SURE IF IT IS THE CORRECT OPTION TO SELECT )
    The following fields appear once LPR is selected:
    ACCES POINT : HOME
    HOST:              WHAT COMES HERE?
    USER:              SKY00BER
    QUEUE:            WHAT COMES HERE?
    ORIENTATION: PORTRAIT
    PAPER SIZE: A4
     if it helps, my printer is SAMSUNG CLX-3175FW. It is Wifi Enable and is connected to my HOME acces point.
    please do correct me if there has to be changes to the BEARER or anything else.
    HELP URGENTLY NEEDED!
    I'm not sure but I give it a try.Turn your security(WPA/WEP) and Firewall temporarely off. HOST is the IP address of the printer. QUEUE can be YES or a specific amount of prints, like 1,2,3......
    If I look at the manual of your printer I see that you can find the IP and MAC addresses in the Network Configuration Report.I don't know what the USER is doing there because if there is a user then there must be a password.
    ‡Thank you for hitting the Blue/Green Star button‡
    N8-00 RM 596 V:111.030.0609; E71-1(05) RM 346 V: 500.21.009

  • Duplicates in Stacks and other Editing in the Finder

    I am a new Aperture 2 user and I am loving it so far!
    What I am wondering is if there is a way to make duplicates in a stack show up in the finder? I have noticed that the only files in the finder are masters... is there a way to show the duplicates at least?
    At the very least - I would like to be able to use some events as a screensaver or desktop. In sys prefrences, the album shows up, and all the edited photos appear as they should, but still - the duplicates are not there.
    Do I need to un-stack the photo's to accomplish this?
    Thanks =]

    Two things:
    1- You can't show edited versions in the Finder because they don't exist outside of Aperture (unless you've created a TIFF file by using Dodge and burn or another plugin or editor). This is why it's a non-destructive editor: your adjustments are just sets of instructions saved in an xml file and applied on the fly by Aperture when you view the picture. The only thing you can see in the Finder are your masters. If you want to use edited versions you first need to export them.
    2- The iLife browser only shows files for which Aperture has created a preview. Make sure the files you want to use as screensaver or desktop pic contain a preview (try dragging it to your desktop: if the preview is there you'll see a green + sign appear signifying it'll be copied. If no sign appears, you don't have a preview). You can set Preview generation in Aperture's preferences or generate them manually.
    But I'm struggling with your definition of duplicates: what exactly do you mean by that? If you're talking about different versions of the same file (with varying settings), then they're called versions. In fact the entire Aperture workflow is based on versions, stacks and picks. Duplicates would be the exact same picture, without any changes.
    Not trying to be snotty here btw, just want to make sure I'm understanding you correctly!

  • FRM-13002 : Stacked and Tab Canvas must be created within Content Canvas

    Hi,
    I have a Tab Canvas with 2 pages on it.
    In one of the pages the data to be displayed will be
    out of the region(size or length) of that page.
    I read in this forum for the same problem, the
    member had suggested to use a Stacked Canvas on that
    Tab page alone and enable the scrollbars of the stacked canvas.
    When I drag and drop a stacked canvas on a tab page
    of the tab canvas I get the following error:
    FRM-13002 : Stacked and Tab Canvas must be created
    within content canvas.
    Any help is appreciated.
    Thanks in advance
    Sharath

    Hi,
    I am breaking my head over this.
    I am still unable to solve this issue.
    ========The Requirement is as follows :===========
    When I select a Tab Page of a Tab canvas, I get a
    combo box with items in it. When I select an item from
    the combo box, based on the item selected, I am
    retrieveing the data from the database and displaying
    it in that Tab Page itself. This data is in a matrix
    format. i,e Has a number of rows and columns.
    Without a Horizontal and a Vertical Toolbar attached
    to the Tab Page I would be unable to view all the records
    that are displayed on that Tab Page.
    Any suggestions or examples is most welcome and
    appreciated.
    NOTE : ALso in what situations can we use a stacked
    canvas, if the designer does not allow me to
    use it with other canvases?.
    Thanks in advance
    Sharath.

Maybe you are looking for