Programming practice issues

hi,
i'm now working on a project that requires me to create an UI with Swing...but before i start to actually code anything...i have a small question...it is sort of a programming practice/convention question...
my project has 2 major interfaces (or i should say 2 major "main windows" kind of thing)...the concept is...when the application runs...it first pops up a simple dialog box (could be a simple JFrame with 2 buttons)...the 2 buttons decide which of the 2 "main windows" you want to launch...let's say the 2 "main windows" are called interfaceA.java and interfaceB.java...
my thinking is...i should create a file called launcher.java which contains just a JFrame with the 2 necessary buttons...and by clicking 1 of the buttons would launch the indicated "main window" (interfaceA or interfaceB)...
i'm not exactly sure whether this approach is correct...because for most cases...i'd probably be writing a single "main window" and all other features like dialog boxes, menus, buttons, etc will be built on top of that main window...so the "centre" is the 1 "main window"...however...for my case...it seems to me that there'd no longer be any "centre"...the "centre" now seems to be just that simple JFrame and everything is building on top or spreading out of that JFrame...
is this a correct approach...?
thank you very much!

Are these two "major interfaces" connected to each
other at all? Will the user be able to switch from
one to the other, and is he at all likely to do so?
If not, then what you have is two applications, and
each should have its own entry point. They may just
be two shortcuts to the same program but with
different command-line arguments, but the user
doesn't need to be aware of that. Having them share
the same entry point is like setting the user up for
an ambush ("But what program did you really
want to run?").
Is the user much more likely to choose one interface
over the other (e.g., "Play Game" or "Change
Settings")? If so, then start the more likely one
while providing the means to suspend or quit it and
start the other.
Finally, if there's no way for you to decide
which interface should be the default, maybe the user
can. In that case, go ahead and show that dialog the
first time your app runs, but put a "Set as default"
checkbox on it.
</rant>hi uncle_alice,
thanks for your reply...you've definitely mentioned something meaningful...but my situation is a little bit different from the scenarios you talked about...
maybe i should have been a bit clearer when i first posted my question...in fact...there're 2 "major interfaces" in my project as i've said...and i would say that both interfaces are of almost equal likeliness to be used...
here is a scenario the decribes my project...there's a computer in a kindergarten library that would be used by either a 4-year-old kid or an adult kindergarten teacher to search for books...the interface will be different for the 2 kinds of user...for the kid one...it would be an interface with some graphics and large buttons...for the adult one...it would just be an ordinary book searching utility...
and now...what i want to do is to have a "launcher" that let the user to choose between the "kid interface" and the "adult interface"...there would be chances that a teacher would like to switch to the "kid interface" and browse around...what i planned to do is to have a "log out" button in both interfaces such that at any time if "log out" is clicked...the current interface will be dismissed and the "launcher" pops back again...

Similar Messages

  • Do IOS app developers follow any good program practices?

    I've had my iPad (original) a little over two years now, and I can say without a doubt, it is the most unstable platform I've used in nearly 30 years of using computers.  Most apps crash routinely, usually while at least one other app is running in the background.  Unloading the crashed app from memory and reopening uually works, but is a huge nuisance (and reason enough to me why iPads are not business-ready, except for specific task applications requiring mobility).  As one trained in both software and systems engineering, with 20 years IT experience mostly in engineering, I have to conclude that IOS app developers use "code and fix" development, with little testing before release.  Of course, in theory it could be that IOS itself isn't well designed to handle multitasking and doesn't provide adequate process isolation.  Either way, it makes for a frustrating experience as a user.
    Has anyone else had similar issues?  Thoughts on why?

    The original iPad does poorly with multiple apps open, the memory is just too small at 256 MB.  The processor is very slow compared to those in the current generation iPads.  And then couple that with developers who are for the most part independent of Apple and merely submit there products to Apple and you get a totally unpoliced set of apps.  Some are true professionals and follow very good programming practices, one that comes to mind is the GoodReader PDF reader.  Very stable and very powerfully built.  then you get into the gamers and Is is almost like they never heard of writing effecient, compact code.
    The issue I see is a tightly controled operating system, with app developers handed a set of specs under which to code, but no real controls other than does the app run and is it free of malicious code.
    Just some thoughts.

  • Best Programming Practice for CompareTo

    Hi, I am currently writing a small program that deals with an array of objects, where some of the objects can be null. I want to sort the array by a variable of the objects, so I implement compareTo(). My problem is that since some of the objects in the array can be null, when I call Arrays.sort() I get a NullPointerException.
    My question is, which is better programming practice:
    1. modify the program to make a new array containing only the non-null objects, then sort that.
    2. decide what to do with non-null objects, e.g. return -1 in the compareTo() so that the array is sorted with the nulls at the end.
    3. something else??
    Thanks for your time.

    I have an array that represents a timetable. The objects in the array are classes, so if there is no class at a particular time slot then the object is null. I then want to sort the classes by their average attendance and generate a report, so this means I don't want the null objects after sorting.
    So far my code is:
        public int compareTo(FitnessClass other) {
                     double thisAverageAttendance = this.getAverageAttendance();
                 double otherAverageAttendance = other.getAverageAttendance();
                 if(thisAverageAttendance < otherAverageAttendance){
                      return 1;
                 else if(thisAverageAttendance == otherAverageAttendance){
                      return 0;
                 else
                      return -1;
        }And the array sorting is done by:
         public FitnessClass[] getSortedClassList(){
                   //Create an array of all the non-null fitness classes.
              FitnessClass [] nonNulls = new FitnessClass[totalClasses];
              int i = 0;
              for(int index = 0; index < MAX_CLASSES; index++){
                   if(classList[index] != null){
                        nonNulls[i] = classList[index];
                        i++;
                   //Sort the array by average attendance, making use of the compareTo method from FitnessClass.
              Arrays.sort(nonNulls);
              return nonNulls;
         }And basically my question is, would this be considered to be acceptable programming practice, i.e. creating another array to get rid of the null objects? Or would I be better handling null objects in my compareTo method such that the resulting array would have all of the nulls at the end, then when it comes to creating my report I can just use the objects that are non-null.

  • Fireworks CS3 Program Switching Issue

    In the office we have 3 machines using Fireworks CS3 (part of Studio CS3). All the machines are experiencing the issue I am about to describe. Each machine is an Intel Core 2 Duo with 4GB ram. All 3 machines are using Windows Vista.
    We all had the old Vista Aero problem with brushes, and we quickly overcame this by using the "disable desktop composition" fix.
    However, one problem we have never been able to solve occurs when switching between ANY application and Fireworks. There is a delay of at least 20-30 seconds (sometimes more) when trying to swap back to Fireworks. We have being doing various Google & Adobe forum searches regularly over the past 2+ years, looking in vein for a fix, but as yet have still not managed to find a solution or even a record of someone else with the same issue (mainly because out searches are dominated with the old "disable desktop composition" fix). We assumed it was a problem fundemental to CS3 yet still hold out hope for a solution.
    Normally it's not a problem, but when working on websites which involve a lot of graphics edits and/or switching in and out of Fireworks it can quickly add a very frustrating hour or more to a job.
    Recently, I was forced to upgrade to a new computer with Windows 7, and transfered my old CS3 install to the new machine. I was surprised to find that I can switch in and out of Fireworks instantly, much to the frustration of the other guys in the office who are unfortunately stuck with Vista for the time being.
    Is there a fix for this horrible switching delay on Vista and has anyone else here even sufered with the same issue?
    TL:DR - This is not the desktop composition problem with brushes which seems to domnate results when we try to search for a fix, this is a very noticable delay when swapping in and out of Fireworks.

    I'm affraid that didn't help. It actually slowed down the inital launch of the program and it took around 5 minutes for Fireworks to finally start. Once started the program switching issue was still present

  • Good programming practices:   creating Iterator objects

    Hi,
    This is a question about Good programming practices for creating Iterator objects of ArrayList objects. The following line of code works fine in my program (as ridiculous as it may sound):
            Iterator cheesesIterator = cheeses.iterator();but I was wondering whether Java is automatically inserting the <Type> and new code to make:
            Iterator<String> cheesesIterator = new cheeses.iterator();and therefore whether it is good practice to use these everytime? Thank you. ("full" code shown below:)
    import java.util.ArrayList;
    import java.util.Iterator;
    public class DemonstrateIterator
        private ArrayList<String>  cheeses;
         * constructor:
        public DemonstrateIterator()
            cheeses = new ArrayList<String>();
            cheeses.add("Emmentaler");
            cheeses.add("Cheddar");
            cheeses.add("Stilton");
            cheeses.add("Brie");
            cheeses.add("Roquefort");
        public void listCheeses()
             //make an iterator object of the ArrayList object
            Iterator cheesesIterator = cheeses.iterator();
            while (cheesesIterator.hasNext()) {
                System.out.println(cheesesIterator.next());
            /** Exploring the toString and Super functions. **/       
            System.out.println("\na toString call to Super returns: " +
                                              super.toString() + "\n");
    }

    AJ-Phil wrote:
    Hi,
    This is a question about Good programming practices for creating Iterator objects of ArrayList objects. The following line of code works fine in my program (as ridiculous as it may sound):
            Iterator cheesesIterator = cheeses.iterator();but I was wondering whether Java is automatically inserting the <Type> and new code to make:
            Iterator<String> cheesesIterator = new cheeses.iterator();and therefore whether it is good practice to use these everytime? TFirst, new chesses.iterator() won't compile.
    iterator() is just a method that returns an iterator. It constructs an instance of a private or nested class that implements iterator, and returns a reference to it.
    As for the <T>, when you declare List<String>, that parameterizes that list with type String. The iterator() method returns Iterator<T>. You can look at the source code for yourself. It's in src.zip that came with your JDK download.
    Separate from that is your declaration of that variable as type Iterator, rather than Iterator<String>. Regardless of what you declare on the LHS, the iterator() method returns Iterator<T>. Your bare Iterator is essentially Iterator<Object> or Iterator<? extends Object> (not sure which, or what the difference is), which is assignment compatible with Iterator<T>. If you had declared it Iterator<String>, you wouldn't have to cast after calling next().
    Edited by: jverd on Nov 23, 2008 11:33 AM

  • Program delay issue

    1. Once or twice a week but not necessarily every week I will turn on my TV and the box will stuck playing a program from an hour before. I will try pushing the Fios TV button to go to live programming and it will flash the correct program info but will then change the info to the earlier program and stay showing the earlier program. Turning the box on and off will do nothing and I will have to unplug and reboot the box to see current programming. I have a Motorola QIP6416-2 hd-dvr. I figure I'm probably going to have to get a new box.
    2. However, I had a newer box when I first had my fios hooked up and had all kinds of issues with it.
    So, I guess I have two questions,
    1. Any suggestions on the program delay issue?
    And
    2. Have they fixed the problems with the sound/etc on the new boxes?
    "If your problem has been solved, please mark it as such. Don't forget to hand out your Kudos!"

    Thank you. I have not tried a 2 channel move, only 1. Hopfully they get the newer boxes fixed. The ability to record 2 programs and watch a third using the buffer is very useful.
    "If your problem has been solved, please mark it as such. Don't forget to hand out your Kudos!"

  • Good programming practice - Abstract class

    Hi all,
    I have been trying to help another soul in this forum, and came to the conclusion that I don't know good
    programming practice when it comes to abstract classes.
    Is this correct?
    You CAN implement methods in an abstract class, but it's not recommended.
    I have NEVER done this...when is there possibly a need to?
    Regards.
    / k

    Yes, absolutely, you can implement methods in an abstract class. Any method that all subclasses will perform in the same way can be implemented in the abstract base class. If subclasses perform similiar functions depending on their type you declare those as abstract in the base class. Here is a contrived example that I have seen on job interviews.
    Suppose your developing an application that draws on a panel. We want to provide some canned shapes such as a circle, a square and a triangle. We want to be able to draw the shape set or get its color and calculate its area.
    Let's define an abstract base class Shape
    public abstract class Shape{
        private Color myColor;
       //  since color has nothing to do with what kind of shape we're working with, create concrete implementation
       public Color getColor(){
            return myColor;
    public void setColor(Color newColor){
       myColor = newColor;
    // however, drawing the shape and calculation its area are depending on the actual shape.
    public abstract void draw();
    public abstract double getArea();
    // so then Square would be something like
    public class Square extends Shape{
       public double get Area()
          return sideLength * sideLength  // assumes somehow we know sideLength
    public void draw(){
                  // concrete implementation
    }we can do the same things for Circle class and Triangle class.
    And, if you think about it you'll notice that we could have made a Rectangle class and then Square would be a subclass of Rectangle where both dimensions are equal.
    I hope that somewhat strained example helps answer your question.
    DB

  • After 10.5.8 update no shut down, Finder, Dock, program folder issues

    Hi all,
    I've seen and read similar topics to these issues but as the given tips couldn't help me I open another topic.
    Yesterday I installed the 10.5.8 update. Since then I cannot access the Dock, it even doesn't show up, the Finder does not let me access the program folder and my Mac doesn't shut down at all, only by using Contol, Command and Power (sorry, does not know the proper terms in English).
    I tried to repair the disk by using Disk Utility from the initial DVD and it did repair a lot of stuff. In the end, it shows "Keys out of order" in red and that my disk could be repaired but one volume couldn't. If I try to repair permissions it doesn't even start saying something of "... inaccessible ...".
    After trying this no change in my issues.
    What could I do more?
    Thanx for any tips and help
    Steph

    You can find the directions here.
    Good luck and let us know.
    EDIT: Erase the Disk with DU, yes. But don't install the system, if you want to do a full TM restore.
    -mj
    Message was edited by: macjack

  • ABAP MAPPING PROGRAM TRANSPORTATION ISSUE

    Hi Experts,
    Our issue is as following:
    Already one ABAP mapping program is there in our DEV and in QA also.
    Now we have changes the code according to some requirement.
    Now we need to reflect the same in QA also.
    For that I have certain doubts.
    1) after releasing the request number in R/3, will it effect there in integration builder of the QA?
    2) Is there any need to do in ADMINISTRATION to reflect the same?
    Please revert urgenly.
    Regards
    sreeni

    hi barry,
    thanks a lot . we have released it into integration it is working fine.
    thanks once again and i wll reward points also.
    I think you can tell my one more doubt is as:
    I have one new ABAP mapping program which is not used till now in any interface mapping in ID of XI.
    now want use this my integration builder ID in as mapping program.
    in this case is any requirement to enable the same in Integration ADMINISTRATION tab.
    plz clarify me.
    regards
    sreeni

  • Concurrent program performance Issue

    Hi,
    We are currently experiencing performance issue in one of the concurrent program related
    to the HR module. The concurrent request is currently completing in 3 hrs time.
    We have obtained a trace for the concurrent program.
    Please help me analyze the cause of the performance issue from the trace file.
    Trace file below:
    BEGIN SLC_PYINF_USMONACCROH_PKG.SLC_421_HANDLE_OUTBOUND(:errbuf,:rc,:A0,:A1,
    :A2,:A3,:A4,:A5,:A6,:A7,:A8,:A9,:A10,:A11); END;
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 76.08 9602.16 700828 1330818 663813 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 76.08 9602.16 700828 1330818 663813 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net message to client 3 0.00 0.00
    SQL*Net message from client 3 0.00 0.00
    PL/SQL lock timer 969 9.83 9485.16
    UPDATE HRAPPS.SLC_PYINF_USMONACCRO_STG SET PROCESS_STATUS = 2
    WHERE
    CONC_REQUEST_ID = :B2 AND SET_SEQUENCE_NUM = :B1 AND PROCESS_STATUS = 1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 24.83 45.67 145127 695479 602714 560730
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 24.83 45.67 145127 695479 602714 560730
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    0 UPDATE SLC_PYINF_USMONACCRO_STG (cr=684898 pr=134556 pw=0 time=44759708 us)
    1135266 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=694708 pr=124937 pw=0 time=6874212 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 15622 1.43 13.94
    db file sequential read 25578 0.52 14.30
    latch: cache buffers lru chain 3 0.00 0.00
    DELETE FROM SLC_PYINF_USMONACCRO_ARC
    WHERE
    EXTRACT_DATE<TRUNC(SYSDATE)-60
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 7.41 15.05 87598 87668 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 7.41 15.06 87598 87668 0 0
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    0 DELETE SLC_PYINF_USMONACCRO_ARC (cr=87668 pr=87598 pw=0 time=15053606 us)
    0 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_ARC (cr=87668 pr=87598 pw=0 time=15053595 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 3 0.00 0.00
    db file scattered read 11025 0.61 13.21
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1
    call count cpu elapsed disk query current rows
    Parse 2 0.00 0.00 0 0 0 0
    Execute 2 0.00 0.00 0 0 0 0
    Fetch 2 10.14 10.23 116633 123540 0 2
    total 6 10.14 10.23 116633 123540 0 2
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=58317 pw=0 time=5290475 us)
    560730 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=58317 pw=0 time=1689204 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 15646 0.27 6.24
    db file sequential read 625 0.00 0.01
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1 AND
    PROCESS_STATUS = 2
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 5.20 8.32 51482 69842 0 1
    total 3 5.20 8.32 51482 69842 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=69842 pr=51482 pw=0 time=8323369 us)
    560730 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=69842 pr=51482 pw=0 time=2811304 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 6514 0.30 6.09
    db file sequential read 114 0.00 0.02
    SELECT MAX(SET_SEQUENCE_NUM)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 5.34 6.63 58318 61770 0 1
    total 3 5.34 6.63 58318 61770 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=58318 pw=0 time=6639527 us)
    560730 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=58318 pw=0 time=2250410 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 7820 0.30 4.46
    db file sequential read 313 0.00 0.05
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B2 AND
    SET_SEQUENCE_NUM = :B1 AND PROCESS_STATUS = 1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 4.99 4.88 58315 61770 0 1
    total 3 4.99 4.88 58315 61770 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=58315 pw=0 time=4887337 us)
    560730 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=58315 pw=0 time=1688451 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 7824 0.00 3.02
    db file sequential read 313 0.00 0.00
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1 AND
    PROCESS_STATUS = 1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 4.98 4.87 58318 61770 0 1
    total 3 4.98 4.87 58318 61770 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=58318 pw=0 time=4872548 us)
    560730 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=58318 pw=0 time=1688407 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 7821 0.00 2.98
    db file sequential read 312 0.00 0.00
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1 AND
    PROCESS_STATUS = -1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 4.45 4.36 58317 61770 0 1
    total 3 4.45 4.36 58317 61770 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=58317 pw=0 time=4369473 us)
    0 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=58317 pw=0 time=4369425 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 7823 0.00 2.98
    db file sequential read 312 0.00 0.00
    SELECT COUNT(*)
    FROM
    HRAPPS.SLC_PYINF_USMONACCRO_STG WHERE CONC_REQUEST_ID = :B1 AND
    PROCESS_STATUS < 0
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 4.14 4.24 51481 61770 0 1
    total 3 4.14 4.24 51481 61770 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=61770 pr=51481 pw=0 time=4243020 us)
    0 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_STG (cr=61770 pr=51481 pw=0 time=4242968 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 6537 0.06 2.90
    db file sequential read 104 0.00 0.00
    DELETE FROM SLC_PYINF_USMONACCRO_GLI_ARC
    WHERE
    EXTRACT_DATE<TRUNC(SYSDATE)-60
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.63 2.52 7681 7689 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.63 2.52 7681 7689 0 0
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    0 DELETE SLC_PYINF_USMONACCRO_GLI_ARC (cr=7689 pr=7681 pw=0 time=2521592 us)
    0 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_GLI_ARC (cr=7689 pr=7681 pw=0 time=2521583 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 1 0.00 0.00
    db file scattered read 976 1.00 2.36
    UPDATE HRAPPS.SLC_PYINF_USMONACCRO_GLI_STG SET PROCESS_STATUS = 2
    WHERE
    CONC_REQUEST_ID = :B1 AND PROCESS_STATUS = 1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 1.89 2.25 5863 16125 60963 52309
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 1.89 2.25 5863 16125 60963 52309
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    0 UPDATE SLC_PYINF_USMONACCRO_GLI_STG (cr=11787 pr=1273 pw=0 time=1332023 us)
    122679 TABLE ACCESS FULL SLC_PYINF_USMONACCRO_GLI_STG (cr=16291 pr=5859 pw=0 time=48501241 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file scattered read 745 0.01 0.76
    db file parallel read 1 0.00 0.00
    db file sequential read 5 0.00 0.00
    SELECT B.ATTRIBUTE1 ,B.ATTRIBUTE2 ,B.ATTRIBUTE3 ,T.FLEX_VALUE_MEANING ,
    T.DESCRIPTION
    FROM
    FND_FLEX_VALUES_TL T ,FND_FLEX_VALUES B WHERE B.FLEX_VALUE_ID =
    T.FLEX_VALUE_ID AND T.LANGUAGE = USERENV ('LANG') AND TRIM(UPPER
    (B.FLEX_VALUE)) = TRIM(UPPER (:B1 )) AND B.ENABLED_FLAG = 'Y' AND UPPER
    (B.VALUE_CATEGORY) = UPPER ('SLCHR_INTERFACE_CLEANUP')
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 2 0.00 0.00 0 0 0 0
    Fetch 2 0.25 0.86 1640 3286 0 2
    total 5 0.25 0.86 1640 3286 0 2
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    2 NESTED LOOPS (cr=3286 pr=1640 pw=0 time=866461 us)
    2 TABLE ACCESS FULL FND_FLEX_VALUES (cr=3280 pr=1637 pw=0 time=848331 us)
    2 TABLE ACCESS BY INDEX ROWID FND_FLEX_VALUES_TL (cr=6 pr=3 pw=0 time=18101 us)
    2 INDEX UNIQUE SCAN FND_FLEX_VALUES_TL_U1 (cr=4 pr=2 pw=0 time=9705 us)(object id 849241)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 4 0.00 0.02
    db file scattered read 208 0.30 0.71
    SELECT PHASE_CODE, STATUS_CODE, COMPLETION_TEXT, PHASE.LOOKUP_CODE,
    STATUS.LOOKUP_CODE, PHASE.MEANING, STATUS.MEANING
    FROM
    FND_CONCURRENT_REQUESTS R, FND_CONCURRENT_PROGRAMS P, FND_LOOKUPS PHASE,
    FND_LOOKUPS STATUS WHERE PHASE.LOOKUP_TYPE = :B3 AND PHASE.LOOKUP_CODE =
    DECODE(STATUS.LOOKUP_CODE, 'H', 'I', 'S', 'I', 'U', 'I', 'M', 'I',
    R.PHASE_CODE) AND STATUS.LOOKUP_TYPE = :B2 AND STATUS.LOOKUP_CODE =
    DECODE(R.PHASE_CODE, 'P', DECODE(R.HOLD_FLAG, 'Y', 'H',
    DECODE(P.ENABLED_FLAG, 'N', 'U', DECODE(SIGN(R.REQUESTED_START_DATE -
    SYSDATE),1,'P', R.STATUS_CODE))), 'R', DECODE(R.HOLD_FLAG, 'Y', 'S',
    DECODE(R.STATUS_CODE, 'Q', 'B', 'I', 'B', R.STATUS_CODE)), R.STATUS_CODE)
    AND (R.CONCURRENT_PROGRAM_ID = P.CONCURRENT_PROGRAM_ID AND
    R.PROGRAM_APPLICATION_ID= P.APPLICATION_ID ) AND REQUEST_ID = :B1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 971 0.25 0.16 0 0 0 0
    Fetch 971 0.53 0.65 0 13605 0 971
    total 1943 0.78 0.81 0 13605 0 971
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    971 TABLE ACCESS BY INDEX ROWID FND_LOOKUP_VALUES (cr=17489 pr=0 pw=0 time=877481 us)
    2913 NESTED LOOPS (cr=16518 pr=0 pw=0 time=1643550 us)
    971 NESTED LOOPS (cr=11663 pr=0 pw=0 time=658551 us)
    971 NESTED LOOPS (cr=5837 pr=0 pw=0 time=95374 us)
    971 TABLE ACCESS BY INDEX ROWID FND_CONCURRENT_REQUESTS (cr=2924 pr=0 pw=0 time=63054 us)
    971 INDEX UNIQUE SCAN FND_CONCURRENT_REQUESTS_U1 (cr=1953 pr=0 pw=0 time=43874 us)(object id 240792)
    971 TABLE ACCESS BY INDEX ROWID FND_CONCURRENT_PROGRAMS (cr=2913 pr=0 pw=0 time=28198 us)
    971 INDEX UNIQUE SCAN FND_CONCURRENT_PROGRAMS_U1 (cr=1942 pr=0 pw=0 time=17956 us)(object id 849182)
    971 TABLE ACCESS BY INDEX ROWID FND_LOOKUP_VALUES (cr=5826 pr=0 pw=0 time=558105 us)
    971 INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=4855 pr=0 pw=0 time=539171 us)(object id 906518)
    971 INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=4855 pr=0 pw=0 time=172115 us)(object id 906518)
    SELECT MAX(LT.SECURITY_GROUP_ID)
    FROM
    FND_LOOKUP_TYPES LT WHERE LT.VIEW_APPLICATION_ID = :B2 AND LT.LOOKUP_TYPE =
    :B1 AND LT.SECURITY_GROUP_ID IN (0,
    TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),55,1), ' ', '0', NULL, '0',
    SUBSTRB(USERENV('CLIENT_INFO'),55,10))))
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1945 0.11 0.11 0 0 0 0
    Fetch 1945 0.18 0.10 0 3890 0 1945
    total 3891 0.29 0.21 0 3890 0 1945
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Rows Row Source Operation
    1945 SORT AGGREGATE (cr=3890 pr=0 pw=0 time=142954 us)
    1945 FIRST ROW (cr=3890 pr=0 pw=0 time=96520 us)
    1945 INDEX RANGE SCAN (MIN/MAX) FND_LOOKUP_TYPES_U1 (cr=3890 pr=0 pw=0 time=89938 us)(object id 906517)
    INSERT INTO HRAPPS.SLC_HRINF_INT_SUMMARY (INT_SUMMARY_ID,
    INT_SUMMARY_CREATE_DATE ,INT_SUMMARY_LAST_UPDATE_DATE, INTERFACE_NAME ,
    HANDLER_CONC_REQUEST_ID, INT_CONC_REQUEST_ID ,SET_SEQUENCE_NUMBER,
    SET_RECORD_COUNT, INT_FROM_DATE ,INT_TO_DATE, INT_STATUS_1_STATE,
    INT_STATUS_1_MESSAGE ,INT_STATUS_1_STARTED, INT_STATUS_1_COMPLETED ,
    INT_STATUS_1_SUCCESS_COUNT, INT_STATUS_1_ERROR_COUNT ,INT_STATUS_2_STATE,
    INT_STATUS_2_MESSAGE ,INT_STATUS_2_STARTED, INT_STATUS_2_COMPLETED ,
    INT_STATUS_2_SUCCESS_COUNT, INT_STATUS_2_ERROR_COUNT ,INT_STATUS_3_STATE,
    INT_STATUS_3_MESSAGE ,INT_STATUS_3_STARTED, INT_STATUS_3_COMPLETED ,
    INT_STATUS_3_SUCCESS_COUNT, INT_STATUS_3_ERROR_COUNT ,INT_STATUS_4_STATE,
    INT_STATUS_4_MESSAGE ,INT_STATUS_4_STARTED, INT_STATUS_4_COMPLETED ,
    INT_STATUS_4_SUCCESS_COUNT, INT_STATUS_4_ERROR_COUNT ,INT_STATUS_5_STATE,
    INT_STATUS_5_MESSAGE ,INT_STATUS_5_STARTED, INT_STATUS_5_COMPLETED ,
    INT_STATUS_5_SUCCESS_COUNT, INT_STATUS_5_ERROR_COUNT )
    VALUES
    (:B7 , :B6 , :B6 , :B5 , :B4 , NULL , NULL, NULL, :B3 , :B2 , :B1 , NULL ,
    NULL, NULL , NULL, NULL , :B1 , NULL , NULL, NULL , NULL, NULL , :B1 , NULL
    , NULL, NULL , NULL, NULL , :B1 , NULL , NULL, NULL , NULL, NULL , :B1 ,
    NULL , NULL, NULL , NULL, NULL )
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.01 0.12 12 1 12 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.01 0.12 12 1 12 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 70 (recursive depth: 1)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 12 0.02 0.12
    Thanks & Regards,
    Rup

    Hi;
    Please check our previous topic
    Concurrent manager real time tune
    Oracle apps database
    tune concurrent manager
    Oracle apps database
    Concurrent Manager very slow
    Concurrent Manager very slow........
    Regard
    Helios

  • WRITEQUERY program output issue..

    hi,
    we are using writequery program for one of our apps. when using writequery prg. the description is not displalyed completly in the output, but displays properly in BEx query output. Any thoughts on this issue..we have to use writequery for our app..
    thanks

    Hi,
    Create a Background job schedule it will runs in background automatically it will creates a spool. 
    To Create Background job schedule         T-Code SM36
    To Execute the Background job schedule T-code SM37
    To see the spool                                     T-code is SP01.
    Thanks
    Ganesh

  • Examples for good programming practice with multiple DAQmx tasks

    I'm writing a program to continuously log data from 8 counters, 8 encoders, and 8 voltages. The proof of concept VI with a single counter was simple and elegant, but scaling up to all signals resulted in a wiring mess. I've been working through the Labview Core courses, and am currently on Core 3. I still haven't come across a discussion on how to work with multiple DAQmx tasks without making a mess of the block diagram. Can anyone point me in the right direction?
    Also, say I have a state machine that has a configure, idle, and logging states. I need to set the initial values of the encoders during configuration, and keep up with their changes while in the idle state so I have appropriate starting values when entering the logging state. Can anyone point to an example that shows how this might be accomplished?
    Thanks

    I'm very familiar with AE's/Functional Globals - but I have struggled in the past with handling multiple DAQmx tasks - particularly when you're using multiple devices and using different types of measurements which require seperate tasks/handling (e.g. such as thermocouples which require extra compensation).
    I'm not even sure I know whare the requirements are for needing multiple tasks - I know you can need multiple tasks for a single device if the type of measurement is different but can you share an Analogue Input task amongst multiple devices?
    I think in hindsight (and without too much thought now) it looks like a good case for Object Oriented LabVIEW - with a base DAQmx class (initialise, configure, start, acquire, stop, close etc.) and then child classes for each type of measurement (with one task associated with each - and private data unique to that specific class). You then hold an array of objects (one for each task) and iterate through each one with dynamic despatch to get the data.
    I don't know your particular experience level of using LabVIEW (and as such, OO may not be appropriate) - but as a wider discussion of 'best practice' it seems like an appropriate method I would use going forward.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • General programming practice question (possibly re: clusters)

    I apologize for this probably being an old topic or something I should have found elsewhere, but I simply didn't know what to search for.
    I am tackling my first labview program of significant scale, and quickly discovering that the difficulty of wiring scales exponentially with the number of things you're trying to do.  I marvel at the short and sweet pieces of code people post on here, and try my hardest to replicate the style to no avail.
    If I've missed a good guide for good organizational practices when programming, please point the way!
    Essentially, I'm grabbing info from a video signal via a daq card, using this to compute the location of objects in the video, and sending instructions to a robot to control its movement-- this means I have the image wires, serial wires, integer wires for pixel values, real wires for coordinates coordinates, and error wires flying around.  It's not an extraordinary amount of data but it seems to be an extraordinary amount of scooting things around to make things look pretty and/or readable, every time I make a change.
    Clearly use of subVIs is the way to go for each of the tasks, but I still have several pieces of data that need to be communicated from each task to the next.
    Is it common practice to cluster the data even if it's unrelated, just to simplify the wiring?  Is there significant overhead if you're unclustering and re-clustering it in each subVI?  (I tried to write a quick benchmark program but I couldn't quite figure out how to use the profiler)
    Any general veteran tips would be much appreciated!

    Check out the following links: -
    http://www.bloomy.com/resources/index.php#pres
    Specifically here the Powerpoint presentations (five_techniques_for_better_labview_code.pps)
    Some additional pointers/ resources below: -
    http://forums.ni.com/ni/board/message?board.id=LVETF&message.id=1
    http://zone.ni.com/devzone/cda/tut/p/id/4434
    http://openg.org/tiki/tiki-index.php?page=Style%20Guide
    There is a host of other information out there as well, try Google and use the term 'LabView style guide'.
    Hope this helps put you on the right track.

  • AP Computer Programming Practice Exam

    I am in Advanced Placement Computer Programming 12, a High school Java Class. My teacher is actually the AIT teacher, and the visual basic teacher, and does not seem to know much about Java since he cannot answer most of my questions. I was given a textbook and told to learn, because the teacher teaches us and the normal Computer Programming students (Visual Basic) at the same time, and they are more important. However, we do pass in assignments to him.
    He has been marking me down for forgetting the date in the comments, for forgetting to name my variables with a type (double dblVarName, instead of my way, varName), not enough whitespace, etc. Is this even allowed? It is not in the textbook. I should also mention I have been programming for 4 years and I know 16 languages including C++, but my specialty is PHP, so I code WAY differently then him, and lose points because of my style.
    All of my programs to work EXACTLY as the book shows they should. I do an exam for him and the official college level exam, so i don't know what to do. I should also mention that half of the people have failed HIS exam in the last 4 years, and all of them except 2 have failed the College Level Exam. My Physics teacher who is a programmer told me to download the practice exam for the College Level one, so I was wondering where to find it, any ideas?

    Guardian-Mage wrote:
    He has been marking me down for forgetting the date in the comments, for forgetting to name my variables with a type (double dblVarName, instead of my way, varName), not enough whitespace, etc. Is this even allowed?Obviously it is... quit complaining and do it right. You're going to have to please someone with your coding style no matter what you do.
    It is not in the textbook. I should also mention I have been programming for 4 years...Congratulations, before I went to college I had programmed for at least that long and so had most of the people I was in college with.
    and I know 16 languages including C++, but my specialty is PHP, ...in something like 8 different languages not including various dialects of assemblers... and that was back in the day before dinosaurs roamed the earth (before the internet and these things they call scripting languages).
    so I code WAY differently then him, and lose points because of my style. Get over it and learn to do it the way the shop wants. It just sounds in this case both of you have a rather large case of themselves. You are going to be required to accept some standards in your programming career--even in college there is some discretionary points given for style--yes, white space, variable naming, the number of lines in your code, readability and etc. (I'm not saying he has the end all of styles or what he is requiring is correct, but he is the one you have to please right now with your style--it rather foolish not to--he's the one with the grade book.)
    Getting a program to work it only part of the desired result, it's about time you learned that. You have to be able to cut easily readable, easily maintainable, highly cohesive, correct code. Yes, pretty print actually counts in the real world too. Decide to do it right now and you'll be a lot better off later on.
    When you get to college you're going to find one thing: everyone is going to be the top of their class... AP placement... programmed for X years... knows XX languages... etc. You're finding that just getting it to work is not the end all of the problem. DO IT RIGHT, and learn what your instructor is trying to teach you... get some style that you can be proud to show in a job interview instead of what you are doing now.
    BTW: I had a very similar attitude going into college, and shock of my life... everyone was the top of their HS programming classes. This was driving home to me in my Senior year in a Systems Programming class that was taught by the CS Department Chair. He stood up in front of the class and faced us very solumn faced and sternly asked: "Who here thinks they are gifted?"
    I raised my hand and he looked at the others and siad: "What's the matter with the rest of you? You are the top 2%, if you're not gifted who is?"

  • Learning java programing - Array issues.

    Hi Everyone,
    I just started in java programming and into Arrays multidimensional. I started a simple 2 dimensional array with 5 names with genders. I 'm having issues because it does not want to print out the names with correct genders Male/ Female. The simple program should print out the 5 names with gender type.
    example:
    Jack - Male
    Sally - Female
    Dave - Male
    Sue - Female
    Brian - Male
    Here is what I came up with so far:
    public class Multiname
         public static void main(String[] args)
              //String[][] multiname;
              String [][] multiname =
                        {"Jack", "sally"},
                        {"Dave", "Brian"},
                        {"Sue"}
              /* multiname [0][0] = "Jack";
              multiname [0][1] = "Male";
              multiname [1][0] = "Sally";
              multiname [1][1] = "Female";
              multiname [2][0] = "Dave";
              multiname [2][1] = "Male";
              multiname [3][0] = "Sue";
              multiname [3][1] = "Female";
              multiname [4][0] = "Brain";
              multiname [4][1] = "Male";     
              //int rows = 2;
         //int columns = 2;
                   for(int i = 0; i < 4; i++)
                        {for(int j = 0; j < 2; j++)
                                System.out.println("multiname " + ": " + multiname [i][j]);               
    This is the result:
    multiname : Jack
    multiname : sally
    multiname : Dave
    multiname : Brian
    multiname : Sue
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
         at MultiD.main(MultiD.java:29)
    Can someone inform me what is wrong or missing, and what do I need to do to correct this. I'm new to this and I'm a visual person. Any assistance would be appreciated.
    Thanks,

    Welcome to the forum!
    When you post code use \ on the line before and on the line after the code to preserve formatting (read the FAQ). You can use the 'Preview' tab on the reply window to see what your reply will look like.
    Please edit your post and add the code tags.
    {quote}
    The simple program should print out the 5 names with gender
    {quote}
    How could it possibly do that when you commented out the lines the put the gender into the arrays?/* multiname [0][0] = "Jack";
    multiname [0][1] = "Male";
    multiname [1][0] = "Sally";
    multiname [1][1] = "Female";
    multiname [2][0] = "Dave";
    multiname [2][1] = "Male";
    multiname [3][0] = "Sue";
    multiname [3][1] = "Female";
    multiname [4][0] = "Brain";
    multiname [4][1] = "Male";
    When you are starting out don't use any more data than you need to get things working. You only need two name/gender combinations; any more just gets in the way.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for

  • Need to do a clean installation but....

    My computer at work has been going bonkers on me for the last couple of weeks. I've been having issues with Microsoft: Entourage won't open for nothing. Neither Word or Excel. I tried re-installing them and nothing. When I open Word it's telling me s

  • Photoshop CS4 11.0.1 and 11.0.2 Updaters Crash in 10.6.4

    I am unable to update a volume license copy of CS4 Photoshop 11.0 to anything newer. Adobe Updater 6 claims there are no updates (after searching for less than 1 second) and the manual 11.0.1 and 11.0.2 updaters initially run but both crash when I cl

  • Display counter output on graph

    I have two counters generating continuous digial pulse trains from my PCI 6010, and I'm trying to display the output on a graph.  I've got the output of one counter connected to an AI line that leads to a waveform graph, but I can't get anything on t

  • 'Zoom to Keyframes' in Effect Controls Window

    Here are my 2 latest FRs.  Please resend to Adobe as your own FRs if you like the ideas! *******Enhancement / FMR********* Brief title for your desired feature: Zoom to Keyframes How would you like the feature to work? The same way Shift-Z can be use

  • Reliable message delivery

    Hi, I am trying to configure Realiable Message Delivery in a Composite Application in OpenESB. In CASA editor I do "Clone WSDL Port to edit" and then I change Server and Client configuration to enable "Realiable Message Delivery". My configuration is