Need query help... Urgent Plz

hi,
i have the table like this.
cityid ----- productcode
1 ------ 100
1 ------ 100
2 ------ 101
2 ------ 100
2 ------ 102
2 ------ 102
2 ------ 102
3 ------ 103
3 ------ 104
3 ------ 102
i have 20 lacks records in the table.
i want to retrive top 20 city based on the cityid count descending order,
and top 1 product code of these cities based in the product count descending order.
i need the query for this.
Thanks,
S.Ashokkumar.

Hi,
can try this,
--not tested
SELECT COUNT(*) , citiid, productcode
FROM table1 t1
having max(productcode) = (SELECT max(productcode) from table1 t2 where t1.citiid= t2.citiid)
GROUP BY citiid, productcode
order by citiid DESC
May be this link will help.
http://forums.oracle.com/forums/ann.jspa?annID=719
thanks

Similar Messages

  • I need you help urgently my job is on the line

    I really need you help it is very urgent as my job is in trouble! In may my I phone got lost I had all back up on my me account and Managed to save my contact list on my I pad however the next day after my I phone got stolen , the mobile me was closed and when I started using I cloud I could not find my list.
    I never update my I pad to I tunes but recently when I got my I phone 5 and my mini I pad by mistake when I was synchronizing all the list got deleted ! Please help me I need to get it bk! If you can manage to find it somewhere please help me find the contact list.
    Thank you

    If you were syncing your contacts with your computer via MobileMe then your contacts should be in the contact manager you sync with on your computer.
    If not, and you haven't maintained offline backups of your contacts, or didn't move your account to iCloud before last June, and haven't ever synced your devices to your computer then your data is gone. It can't be retrieved because it doesn't exist anywhere else, as you haven't followed Apple's directions for backing up and syncing.

  • Need query help regarding employee retirement age.

    Need query to find employee retirement age 2years in advance.

    You can use per_all_people_f table.
    something like this :-
    SELECT PAPF.employee_number,
    PAPF.date_of_birth,
    (MONTHS_BETWEEN(SYSDATE,PAPF.date_of_birth) / 12)+2 RETIREMENT_AGE_FIGURE
    FROM per_all_people_f PAPF
    WHERE TRUNC (SYSDATE) BETWEEN PAPF.effective_Start_date AND PAPF.effective_end_date
    AND (MONTHS_BETWEEN(SYSDATE,date_of_birth) / 12)+2 >=65 /* ASSUMING 65 IS RETIREMENT AGE HERE*/
    In case if you only want to pick Employee data then use below sample query and modify according to your requirement :-
    SELECT PAPF.employee_number,
    PAPF.date_of_birth,
    ((MONTHS_BETWEEN(SYSDATE,PAPF.date_of_birth) / 12)+2) RETIREMENT_AGE_FIGURE,
    PPT.system_person_type,
    PPT.user_person_type
    FROM per_all_people_f PAPF,
    per_person_types PPT,
    per_person_type_usages_f PPTUF
    WHERE TRUNC (SYSDATE) BETWEEN PAPF.effective_Start_date AND PAPF.effective_end_date
    AND ((MONTHS_BETWEEN(SYSDATE,date_of_birth) / 12)+2) >=65
    AND PPTUF.person_id = PAPF.person_id
    AND PPT.person_type_id = PPTUF.person_type_id
    AND PPT.system_person_type = 'EMP'
    AND TRUNC (SYSDATE) BETWEEN PPTUF.effective_Start_date AND PPTUF.effective_end_date
    Edited by: VISHAL DANGI on Jul 8, 2012 10:30 PM

  • Query Help Urgent

    I have Table
    Columns
    ID NUMBER1 NUMBER2
    1A 20
    1A 21
    1B 22
    1B 23
    1C 24
    1C 25
    I need a Query like below
    ID NUMBER1||NUMBER2
    1A 20-21
    1B 22-23
    1C 23-24
    Any help is appreciated
    Thanks

    Supposing data below:
    SQL> select * from t;
    ID            NUMBER1    NUMBER2    LOC_NUM
    1A                 21                   200
    1A                            22        200
    1B                 23                   201
    1B                            24        201
    1C                 25                   202
    1C                            26        202
    1C                 27                   202
    1C                            28        202
    8 rows selected.
    SQL> select * from t2;
       LOC_NUM NAME             CODE
           200 AAA              2001
           201 BBB              3001
           202 CCC              4001
    SQL> select id, max(substr(sys_connect_by_path(col1,'-'),2))
      2  || '-' || max(name) || '-' || max(code) path
      3  from (
      4  select id,
      5  coalesce(number1, number2) col1,
      6  row_number() over (partition by id
      7  order by coalesce(number1, number2)) rn, t2.name, t2.code
      8  from t, t2
      9  where t.loc_num = t2.loc_num
    10  )
    11  start with rn = 1
    12  connect by prior rn + 1 = rn and prior id = id
    13  group by id
    14  /
    ID         PATH
    1A         21-22-AAA-2001
    1B         23-24-BBB-3001
    1C         25-26-27-28-CCC-4001Rgds.

  • Help urgent plz...

    Hello,
    Java has a character set of 128 char, What to do to display character having ASCII less then 33 & greater that 127?
    Because I want to display character from ASCII 1 to any value.
    Actully in Java it is like this 1-32 no ASCII for any character 127 & above it no ASCII.
    So if I want to get the ASCII in thease range what to do?
    Currently I'm getting the ASCII value '?'.
    Please help me...

    ok, first: why in the world do you need ASCII below 33 and over 127?? In unsigned char below 33 are control and function keys. The problem with chars over 127, well, in java no variable is unsigned, so the char variable has a range of -128 to 127.
    and second. In java a char is also a 2 byte long UNICODE(think it was UTF16, but I'm not sure)-symbol, so don't try to stick with the old ASCII-tactic. Every displayable symbol (letters, digits, special symbols like @) of ASCII has an aquivalent in UNICODE

  • Writting to file(need yr help)--- URGENT

    HI , i need the data "text field " from data base to be in one line with "@!" if more than 36000 char it will be apend "@@" but still i am not able to get the output.
    i need the only col "text" tobe in one line . and attached the code.
    CAN ANY ONE HELP ME OUT.........
    private void writeField(BufferedWriter w, String dbfield, int width) throws Exception {
                   if (dbfield == null) {
                             dbfield = " ";
                   w.write(dbfield);
                   int diff = 0;
                   if (dbfield.length() < width) {
                             diff = width - dbfield.length();
                             for (int i = 1; i <= diff; i++)
                                       w.write(" ");
    // i am calling the write method.
    private boolean writeData() {
                   String columnType = null;
                   String val = null;
                   try {
                        BufferedWriter w = new BufferedWriter(
                                  new OutputStreamWriter(
                                            new FileOutputStream(
                                                      "C:\\Documents and Settings\\mdash\\Desktop\\java_Project_work\\TEXT2.ftm"),
                                            "8859_1"));
                        while (rs.next()) {
                             for (int i = 1; i <= noOfColumns; i++) {
                                  val = (String)rs.getString(metaData.getColumnName(i));
                                  if (((String)colNameAL.get(i-1)).equals("text")) {
                                       if (val!=null)
                                            val=val.replaceAll("\n", "\r");
                                            val =val.replaceAll("\r", "@!").trim();
                                       writeField(w, val, 36000);
                                  } else {
                                       if (val!=null)
                                       //     val=val.replaceAll("\n", "\r");
                                            val=val.replaceAll("\n", "@@");
                                       writeField(w, val,(int)metaData.getColumnDisplaySize(i));
                                  if (i != noOfColumns)
                                       w.write(" ");
                             w.write("\n");
                        w.flush();
                        w.close();
                        if (con != null) {
                             try {
                                  con.close();
                             } catch (SQLException e) {
                                  e.printStackTrace();
                        System.out.println("Done");
                        return true;
                   } catch (Exception e) {
                        e.printStackTrace();
                        return false;
              }

    this code is writting 2 files with and the files have to come in one line text , but it is comming in multiple line . thinking some problem in the
    if (((String)colNameAL.get(i-1)).equals("text")) {
                                       if (val!=null)
                                            val=val.replaceAll("\n", "\r");
                                            val =val.replaceAll("\r", "@!");
                                       writeField(w, val, 36000);
                                  } else {
                                       if (val!=null)
                                       //     val=val.replaceAll("\n", "\r");
                                            val=val.replaceAll("\n", "@@");
                                       writeField(w, val,(int)metaData.getColumnDisplaySize(i));
                                  }//// i am trying to repalce with " \r " still it is throwing error.

  • Help urgent plz - lsmw retail material.

    hi all, i am posting my message again as this problem seems to have taken me too.
    i am new to lsmw and trying to create a retail material through lsmw. i chose business object method with
    business object as bus1001001.method is 'clone'
    everything has gone well and i could create a material too.
    but in unit field,(i.e the display of all types of units) the legacy data contains 4 rows of units. when i transfer them the new created material displays only one line of units. the other three rows in material display (code transaction- mm43)are empty.
    i have tried using on_change_transfer too but that doesnt seem to make any difference.
    your reply will be a great help. thanks and regards
    ps: i tried with batch input recording method too. but there ,after execution all the rows are filled with the first line of data from the source file. so a failure again.

    I have an LSMW which creates alternitive UOMs.
    Object type is IDoc
    Message Type ARTMAS
    Basic Type ARTMAS02
    Structure Relationships
    E1BPE1MATHEAD
    E1BPE1MARMRTX
    E1BPE1MAMTRT
    E1BPE1MEANRT
    Fields
    ARTICLE_NUMBER                 C(018)    Article Number                     
    OLD_EAN                        C(018)    Old EAN number                     
    NEW_EAN                        C(018)    New ean number                     
    NEW_UOM                        C(005)    New unit of measure                
    NUMERATOR                      C(006)    Numerator for conversion to base UoM
    DENOMINATOR                    C(006)    Denomator to convert to base UoM   
    EANTP                          C(002)    EAN type (HE, UC, Z3 etc)          
    Hope this helps
    SC

  • Invisible text in choice box!!!! HELP URGENT PLZ!

    after adding additems to a choice in awt, i cannot see the text, but the default option, but the list is white, the elements are there, I can click on them, but i cannot see the text ... can anyone help me ?

    By default it should be black ???
    myChoiceBox.setForeground(Color. ---- );

  • Need java help urgent plzzz

    Ive never visited a Java forum other than this one and its been over 2 years now. Out of curiosity I just went to JavaRanch.
    Ive seen a lot of heated flaming from both sides (on these forums)
    but i figured id take a look today.
    The FIRST post i look at someone asks what the purpose of an
    interface is and one of the responses he gets is:
    "Please revise your display name to meet the JavaRanch Naming Policy. To maintain the friendly atmosphere here at the ranch, we like folks to use real (or at least real-looking) names, with a first and a last name.
    You can edit your display name here. Thank you for your prompt attention!"
    i wish i could go to 33 pt font: WTF IS THAT?
    WEIRD!
    Thats just way to creepy for me and im out... as if the brown and the
    meesen (brian regan joke) everywhere werent enough.
    Anyone know any other good ones?
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=33&t=019908

    JavaRanch scares me as well. Yea i think the ranch is making an army of cattle.
    Ill check out devshed.
    http://www.javaranch.com/name.jsp
    SO F*CKING SCARY:
    "I understand that in some cultures there is no such thing as "first name and last name" - there is just one name. If you are one of these people, I WOULD LIKE TO HUMBLY ASK YOU TO SACRIFICE A PIECE OF YOUR CULTURE to help me build this culture."
    apparently the cows love the policy though:
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=10&t=001017

  • Need ur Help (Urgent)

    Hi all,
    Please give me a solution to the below problem.
    I’m executing an interactive report is executed for extracting the total cost value of product hierarchy, at first time the total cost is correct.
    But when we go back from 5th list to the 4th list and once again select the part number for viewing the total cost doubled and shows the incorrect cost for the part number.
    If once again I go back and select the part number to view the cost, then the cost value is Thrice to the original value and shows the incorrect cost for the part number.
    Thanks,
    Kanth

    Hi Kanth,
    The cost value needs to be cleared (initialized to zero) each time an action is performed.
    Use a CLEAR statement to clear the variable at the beginning.
    CLEAR <var1>
    This will always initialize the value to zero every time an activity takes place, and the value will not get doubled or tripled.
    Cheers.

  • Need query help

    Hi
    Trying to get this to work (excerpt of FMS):
    SELECT ((CEIL(@OrdQty / T0.[U_NF_Supp_VPE])) * T0.[U_NF_Supp_VPE])
    Any help to get this to work appreciated?
    Thanks
    Franz

    Hi Srujal,
    I basically got it to work now. However, though it calculates, it gives me a strange error in the statusline: ... converting nvar to numeric ... with various reference (OAIB, OCTR ...)
    A probelm could be that U_NF_Supp_VPE is alphanumeric(20) ... I cant change this anymore.
    declare @SupplCatNo AS varchar(30)
    declare @CardCode AS varchar(30)
    declare @ItemCode AS varchar(30)
    declare @OrdQty numeric(19,6)
    SET @SupplCatNo = $[$38.U_SIA_SuppCode.0]
    SET @CardCode = $[$4.1.0]
    SET @ItemCode = $[$38.1.0]
    SET @OrdQty = $[$38.11.0]
    SELECT ((CEILING(@OrdQty / T0.[U_NF_Supp_VPE])) * T0.[U_NF_Supp_VPE]) as 'Auf-VPE-Aufgerundet', T0.[Substitute] as LieferantenArtikelNummer FROM OSCN T0 
    WHERE T0.ItemCode = @ItemCode  AND T0.CardCode = @CardCode AND T0.Substitute = @SupplCatNo

  • Hi friends i need ur help (urgent)

    Hi friends,
    i have one requirment  any one can please suggest me how can it do
    i have one <b>planing hirarachy</b> like
    in one internal table or table i have the data like
    internal table (itab)
    <b>fields are                    a                     b                   c             
    data                        bike                herohonda       splender
                                  bike                herohonda        pulsar     
                                 scooty                  aaaa             xxxxx
                                  scooty                  bbbbb           yyyy</b>
    in the selection screen when the user selects the <b>a filed as</b>
      <b> bike</b>    he has to get <b>herohonda</b>  in <b>b</b> field  only    .in the third field he gets <b>splender and pulsar</b> only <b>not xxxxx and yyyy</b>    
    if user selects <b>scooty</b> in <b>a</b> filed the possible entries in <b>b</b> filed
    shoul be <b>aaaa and bbbbb</b> if he selects <b>aaaa</b> in the <b>b</b> field the possible entrie in c field should be xxxxx only.
    if he selects <b>bbbbb</b> in <b>b field</b> the possible entrie in c field should be <b>yyyy</b> only.
    Please send me how to do it
    Regards,
    balu.

    Hello Balu,
    See if this program helps, it is roughly based on the same concept
    REPORT  ztest987 MESSAGE-ID zpp .
    TYPE-POOLS: vrm, slis.
    DATA: lifnr LIKE lfa1-lifnr.
    DATA: v_repid LIKE sy-repid .
    DATA: plnt(10) TYPE n, flg TYPE i.
    DATA: name TYPE vrm_id,
    mrp(55) TYPE c,
    list TYPE vrm_values,
    var1(10) TYPE c,
    var2(30) TYPE c,
    value LIKE LINE OF list.
    DATA:BEGIN OF itabt024d OCCURS 0,
    dispo LIKE t024d-dispo,
    dsnam LIKE t024d-dsnam,
    conc(55) TYPE n,
    END OF itabt024d.
    DATA:BEGIN OF strumarc,
    matnr LIKE marc-matnr,
    maktx LIKE makt-maktx,
    END OF strumarc.
    DATA: i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    DATA: itabmarc LIKE strumarc OCCURS 0 WITH HEADER LINE.
    DATA:itabt001w LIKE TABLE OF t001w WITH HEADER LINE.
    RANGES: r_werks FOR t001w-werks,
    r_mrpdesc FOR itabt024d-dispo .
    r_werks-option = 'EQ'.
    r_werks-sign = 'I'.
    r_mrpdesc-option = 'EQ'.
    r_mrpdesc-sign = 'I'.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: plant LIKE r_werks AS LISTBOX VISIBLE LENGTH 10
    USER-COMMAND
    c1 MODIF ID pln.
    PARAMETERS: vendor LIKE r_mrpdesc AS LISTBOX VISIBLE LENGTH 50 MODIF ID
    det USER-COMMAND c1.
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
      flg = 1.
      IF flg = 1.
        CLEAR vendor.
        CLEAR plant.
      ENDIF.
    AT SELECTION-SCREEN.
    AT SELECTION-SCREEN OUTPUT.
      PERFORM fetch_plant.
    AT SELECTION-SCREEN ON plant.
      PERFORM fetch_mrp.
    AT SELECTION-SCREEN ON vendor.
      PERFORM materials.
    START-OF-SELECTION.
      REFRESH i_fieldcat.
      i_fieldcat-col_pos = 1 .
      i_fieldcat-fieldname = 'MATNR'.
      i_fieldcat-seltext_m = 'Part No'.
      i_fieldcat-outputlen = 30.
      i_fieldcat-fix_column = 'X'.
      APPEND i_fieldcat.
      CLEAR i_fieldcat.
      i_fieldcat-col_pos = 2 .
      i_fieldcat-fieldname = 'MAKTX'.
      i_fieldcat-seltext_m = 'Part Description'.
      i_fieldcat-outputlen = 30.
      i_fieldcat-fix_column = 'X'.
      APPEND i_fieldcat .
      CLEAR i_fieldcat.
      v_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = v_repid
          i_grid_title       = 'Parts Under Selected MRP Controller'
          it_fieldcat        = i_fieldcat[]
        TABLES
          t_outtab           = itabmarc.
    *&      Form  ASSIGN_LISTBOX_VALUES
    *       text
    FORM assign_listbox_values .
      REFRESH list.
      IF flg = 1.
        LOOP AT r_werks.
          name = 'PLANT'.
          value-key = r_werks-low.
          value-text = r_werks-low.
          APPEND value TO list.
        ENDLOOP.
        CALL FUNCTION 'VRM_SET_VALUES'
          EXPORTING
            id     = name
            values = list.
        CLEAR plant.
      ELSEIF flg = 0.
        CLEAR itabt024d-conc.
        LOOP AT itabt024d.
          name = 'VENDOR'.
          value-key = itabt024d-dispo.
          value-text = itabt024d-conc.
          APPEND value TO list.
        ENDLOOP.
        CALL FUNCTION 'VRM_SET_VALUES'
          EXPORTING
            id     = name
            values = list.
      ENDIF.
    ENDFORM. " ASSIGN_LISTBOX_VALUES
    *&      Form  GET_LIST_DATA
    *       text
    FORM get_list_data .
      REFRESH list.
      IF flg = 1.
        SELECT DISTINCT werks FROM t001w INTO r_werks-low.
    *    WHERE kunnr EQ 'TSL' OR kunnr EQ '0000050001'.
          APPEND r_werks.
        ENDSELECT.
        CLEAR r_werks.
        SORT r_werks ASCENDING.
        DELETE ADJACENT DUPLICATES FROM r_werks.
        CLEAR r_werks.
      ELSEIF flg = 0.
        CLEAR itabt024d.
        CLEAR itabt024d-conc.
        SELECT dispo dsnam INTO TABLE itabt024d FROM t024d
        WHERE werks EQ plant.
        CLEAR itabt024d.
        SORT itabt024d ASCENDING.
        DELETE ADJACENT DUPLICATES FROM itabt024d.
        CLEAR itabt024d.
        LOOP AT itabt024d.
          CONCATENATE itabt024d-dispo ' - ' itabt024d-dsnam INTO itabt024d-conc.
          MODIFY itabt024d.
        ENDLOOP.
      ENDIF.
    ENDFORM. " get_list_data
    *&      Form  FETCH_PLANT
    *       text
    FORM fetch_plant .
      REFRESH list.
      IF flg = 1.
        LOOP AT SCREEN.
          IF screen-group1 = 'DET'.
            screen-input = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        PERFORM get_list_data.
        PERFORM assign_listbox_values.
        flg = 0.
      ENDIF.
    ENDFORM. " fetch_plant
    *&      Form  FETCH_MRP
    *       text
    FORM fetch_mrp .
      REFRESH list.
      CLEAR vendor.
      IF flg = 0 .
        CONDENSE plant.
        IF plant NE ' '.
          LOOP AT SCREEN.
            IF screen-group1 = 'DET'.
              screen-active = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
          PERFORM get_list_data.
          PERFORM assign_listbox_values.
        ENDIF.
        flg = 2.
      ENDIF.
    ENDFORM. " fetch_mrp
    *&      Form  MATERIALS
    *       text
    FORM materials .
      IF flg = 2.
        IF vendor NE ' '.
          CONDENSE vendor.
          SELECT matnr INTO CORRESPONDING FIELDS OF
          TABLE itabmarc FROM marc WHERE werks EQ plant
          AND dispo EQ vendor.
          CLEAR itabmarc.
          LOOP AT itabmarc.
            SELECT maktx FROM makt INTO (itabmarc-maktx) WHERE matnr =
            itabmarc-matnr.
              MODIFY itabmarc.
            ENDSELECT.
          ENDLOOP.
          CLEAR itabmarc.
        ENDIF.
      ENDIF.
    ENDFORM. " materials

  • Recovery Softwares needed, please help urgent.

    By mistake a user from the company format his secondary HDD (Data HDD) which content all his data.
    Please can anyone help me to restore this HDD.
    He formats it using Don't eras data mode, so the data is still on the HDD but unreachable.
    Please any ideas or hint.
    Thanks in advance

    Hi,
    my first (and maybe only choice) would be DiskWarrior http://www.alsoft.com/DiskWarrior/index.html
    Or Drive Genius 2 http://www.prosofteng.com/products/drive_genius.php
    Both should help with that problem.
    Good Luck
    Stefan

  • Need some help here plz!

    My ipod refuses to turn on. When i try to turn it on, the HD makes a lot of noise and after about 10 seconds, it gives me the sad face ipod guy. I can't charge it, because it does the same thing when i plug it in, and reseting doesnt do anything. What can I do?
      Windows XP  

    cheesehead,
    sad face = call Apple

  • Need for help urgently

    i use set which child(int childnum)
    but it doesn't draw the selected child
    it draws the last selected child in for loop
    don't when satsify the condition draw the child of this condition
    it draws the the child of last satsified condition at function draw flow
    i want to know the reason and how i solve it?
    package MockPrototype;
    import java.io.*;
    import java.lang.reflect.Array;
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.ArrayList;
    import java.util.BitSet;
    import java.util.Hashtable;
    import javax.media.j3d.*;
    import javax.swing.JFrame;
    import javax.vecmath.*;
    //import ExSwitch.NameChildMask;
    import com.sun.j3d.utils.geometry.*;
    import com.sun.j3d.utils.universe.*;
    import com.sun.j3d.loaders.Scene;
    import com.sun.j3d.loaders.objectfile.ObjectFile;
    import com.sun.j3d.loaders.ParsingErrorException;
    import com.sun.j3d.loaders.IncorrectFormatException;
    import com.sun.j3d.utils.behaviors.vp.*;
    import com.sun.j3d.utils.behaviors.interpolators.*;
    import com.sun.org.apache.xalan.internal.xsltc.cmdline.Transform;
    * This program demonstrates the use of KBRotPosScaleSplinePathInterpolator
    * in order to to do spline animation paths using Kochanek-Bartels (also
    * known as TCB or Tension-Continuity-Bias ) splines. A cone red cone
    * is animated along a spline path specified by 5 knot points, which
    * are showns as cyan spheres.
    * Use the left mouse button to changes orientation of scene.
    * Use the middle mouse button to zoom in/out
    * Use the right mouse button to pan the scene
    public class FlowProcess extends JFrame implements ActionListener,
                                                      AdjustmentListener,
                                                      ItemListener
        // 3D Canvas
        Canvas3D           canvas;
        // UI Components
        Panel              controlPanel;
        Panel              canvasPanel;
        Button             animateButton;
        Choice             interpChoice;
        Scrollbar          speedSlider;
        Label              speedLabel;
        Label              interpLabel;
        // Scene Graph
        BoundingSphere     bounds;
        BranchGroup        sceneRoot;
        BranchGroup        behaviorBranch;
        Transform3D        sceneTransform;
        TransformGroup     sceneTransformGroup;
        ArrayList <Transform3D>        objTransform0;
        ArrayList <Transform3D>        objTransform1;
        ArrayList <Transform3D>        objTransform2;
        ArrayList <TransformGroup>     objTransformGroup0;
        ArrayList <TransformGroup>     objTransformGroup1;
        ArrayList <TransformGroup>     objTransformGroup2;
        Transform3D        lightTransform1;
        Transform3D        lightTransform2;
        TransformGroup     light1TransformGroup;
        TransformGroup     light2TransformGroup;
        Color3f aColor     = new Color3f(0.2f, 0.2f, 0.2f);
        Color3f eColor     = new Color3f(0.0f, 0.0f, 0.0f);
        Color3f sColor     = new Color3f(1.0f, 1.0f, 1.0f);
        Color3f coneColor  = new Color3f(0.9f, 0.1f, 0.1f);
        Color3f coneColor1  = new Color3f(0.0f, 0.1f, 0.1f);
        Color3f coneColor2  = new Color3f(0.7f, 0.1f, 0.1f);
        Color3f sphereColor= new Color3f(0.1f, 0.7f, 0.9f);
        Color3f bgColor    = new Color3f(0.0f, 0.0f, 0.0f);
        Color3f lightColor = new Color3f(1.0f, 1.0f, 1.0f);
        // Key Frames & Interpolator
        int                                  duration = 5000;
        Alpha                                animAlpha;
        Transform3D                          yAxis;
        KBKeyFrame[]                         linearKeyFrames = new KBKeyFrame[2];
        KBRotPosScaleSplinePathInterpolator  linearInterpolator;
        // Data: Knot positions & transform groups
        Vector3f            pos0 = new Vector3f (0.0f, 0.0f, 0.0f);
        Vector3f            pos1 = new Vector3f (0.0f,  20.0f, 0.0f);
        Vector3f            pos2 = new Vector3f ( 20.0f,  0.0f, 0.0f);
       /* Vector3f            pos3 = new Vector3f ( 0.0f, -5.0f,  0.0f);
        Vector3f            pos4 = new Vector3f ( 5.0f, -5.0f,  0.0f);
        Vector3f            pos5 = new Vector3f ( 5.0f,  5.0f,  0.0f);*/
        Point3f []po = new Point3f[3];
        po[0]=new Point3f(pos0);
        po[1]=new Point3f(pos1);
        po[2]=new Point3f(pos2);
        TransformGroup     k0TransformGroup;
        TransformGroup     k1TransformGroup;
        TransformGroup     k2TransformGroup;
        TransformGroup     k3TransformGroup;
        TransformGroup     k4TransformGroup;
        TransformGroup     k5TransformGroup;
        Group scene;
        protected TransformGroup exampleViewTransform = null;
         protected TransformGroup exampleSceneTransform = null;
         private DirectionalLight headlight = null;
         private SharedGroup column = new SharedGroup( );
         public final static Color3f White    = new Color3f( 1.0f, 1.0f, 1.0f );
         private boolean shouldCompile = true;
         private Switch swtch0 = null;
         private Switch swtch1 = null;
         private Switch swtch2 = null;
         private int currentSwitch = 0;
        // Flags
        boolean            animationOn = false;
        boolean            linear      = false;
    //   private SimpleUniverse u = null;
        int [][][]customerFlow;
        int unitsno;
       /* public FlowProcess() {
        public FlowProcess(int [][][]customerFlowNO,int unit) {
             customerFlow=customerFlowNO;
             this.setLayout(new FlowLayout());  
             objTransform0=new ArrayList(0);
             objTransform1=new ArrayList(0);
             objTransform2=new ArrayList(0);
            objTransformGroup0=new ArrayList(0);
            objTransformGroup1=new ArrayList(0);
            objTransformGroup2=new ArrayList(0);
            // Create the canvas and the UI
            canvasPanel = new Panel();
            controlPanel = new Panel();
            createCanvasPanel(canvasPanel);
            this.add(canvasPanel);
            createControlPanel(controlPanel);
            this.add(controlPanel);
            this.setVisible(true);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            this.setSize(500,600);
            unitsno=unit;
        public void destroy() {
         //u.cleanup();
         * This creates the control panel which contains a choice menu to
         * toggle between spline and linear interpolation, a slider to
         * adjust the speed of the animation and a animation start/stop
         * button.
        private void createControlPanel(Panel p) {
            GridBagLayout      gl  = new GridBagLayout();
            GridBagConstraints gbc = new GridBagConstraints();
            p.setLayout (gl);
            gbc.weightx = 100;  gbc.weighty = 100;
            gbc.fill = GridBagConstraints.BOTH;
            gbc.gridx = 0;  gbc.gridy = 5;
            gbc.gridwidth = 2;  gbc.gridheight = 1;
            animateButton = new Button("Stop Animation");
            p.add(animateButton, gbc);
            animateButton.addActionListener (this);
         * This creates the Java3D canvas
        private void createCanvasPanel(Panel p) {
            GridBagLayout      gl  = new GridBagLayout();
            GridBagConstraints gbc = new GridBagConstraints();
            p.setLayout(gl);
            gbc.gridx = 0;  gbc.gridy = 0;
            gbc.gridwidth = 5;  gbc.gridheight = 5;
            GraphicsConfiguration config =
               SimpleUniverse.getPreferredConfiguration();
            canvas = new Canvas3D(config);
            canvas.setSize(490,490);
            p.add(canvas,gbc);
         public Group buildScene( )
              Group scene = new Group( );
              KBKeyFrame []KKF;
              swtch0 = new Switch( );
              swtch1 = new Switch( );
              swtch2 = new Switch( );
              swtch0.setCapability( Switch.ALLOW_SWITCH_WRITE );
              swtch1.setCapability( Switch.ALLOW_SWITCH_WRITE );
              swtch2.setCapability( Switch.ALLOW_SWITCH_WRITE );
              swtch0.setCapability( Switch.ALLOW_SWITCH_READ );
              swtch1.setCapability( Switch.ALLOW_SWITCH_READ );
              swtch2.setCapability( Switch.ALLOW_SWITCH_READ );
              objTransform0.add(0,new Transform3D());
             objTransformGroup0.add(0,new TransformGroup(objTransform0.get(0)));
             objTransformGroup0.get(0).setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
             Material m1 = new Material(coneColor, eColor, coneColor, sColor, 100.0f);
             Appearance a1 = new Appearance();
             m1.setLightingEnable(true);
             a1.setMaterial(m1);
             Sphere sp1 = new Sphere(0.2f);
             sp1.setAppearance(a1);
             objTransformGroup0.get(0).addChild(sp1);
              swtch0.addChild(objTransformGroup0.get(0));
              objTransform1.add(0,new Transform3D());
             objTransformGroup1.add(0,new TransformGroup(objTransform1.get(0)));
             objTransformGroup1.get(0).setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
             Material m5 = new Material(coneColor, eColor, coneColor, sColor, 100.0f);
             Appearance a5 = new Appearance();
             m5.setLightingEnable(true);
             a5.setMaterial(m5);
             Sphere sp5 = new Sphere(0.3f);
             sp5.setAppearance(a5);
             objTransformGroup1.get(0).addChild(sp5);
              swtch0.addChild(objTransformGroup1.get(0));
              objTransform2.add(0,new Transform3D());
             objTransformGroup2.add(0,new TransformGroup(objTransform2.get(0)));
             objTransformGroup2.get(0).setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
             Material m7 = new Material(coneColor, eColor, coneColor, sColor, 100.0f);
             Appearance a7 = new Appearance();
             m7.setLightingEnable(true);
             a7.setMaterial(m7);
             Sphere sp7 = new Sphere(0.6f);
             sp7.setAppearance(a7);
             objTransformGroup2.get(0).addChild(sp7);
              swtch0.addChild(objTransformGroup2.get(0));
              //swtch.setBounds(bounds);
              scene.addChild( swtch0 );
              //scene.addChild( swtch1 );
              //scene.addChild( swtch2 );
              return scene;
         * This creates the scene with 5 knot points represented by cyan
         * spheres, a cone obejct that will be transformed, and two directional
         * lights + and ambient light.
        public void createSceneGraph() {
             SimpleUniverse universe=new SimpleUniverse (canvas);
              Viewer viewer = universe.getViewer( );
              ViewingPlatform viewingPlatform = universe.getViewingPlatform( );
              exampleViewTransform = viewingPlatform.getViewPlatformTransform( );
              OrbitBehavior orbit = new OrbitBehavior(canvas,OrbitBehavior.REVERSE_ALL);          
              //BoundingSphere allBounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
              BoundingSphere bounds =
                  new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
              orbit.setSchedulingBounds(bounds);
              viewingPlatform.setViewPlatformBehavior(orbit);
    //                Build the scene root
                    sceneRoot = new BranchGroup( );
                   // Build a transform that we can modify
                   exampleSceneTransform = new TransformGroup( );
                   exampleSceneTransform.setCapability(
                        TransformGroup.ALLOW_TRANSFORM_READ );
                   exampleSceneTransform.setCapability(
                        TransformGroup.ALLOW_TRANSFORM_WRITE );
                   exampleSceneTransform.setCapability(
                        Group.ALLOW_CHILDREN_EXTEND );
                   Group scene = this.buildScene( );
                   exampleSceneTransform.addChild( scene );
                   sceneRoot.addChild( exampleSceneTransform );
    //                Create transforms such that all objects appears in the scene
                    sceneTransform = new Transform3D();
                    sceneTransform.setScale(0.14f);
                    Transform3D yrot = new Transform3D();
                    yrot.rotY(-Math.PI/5.0d);
                    sceneTransform.mul(yrot);
                    sceneTransformGroup = new TransformGroup(sceneTransform);
                    sceneTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
                    sceneTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
                    sceneRoot.addChild(sceneTransformGroup);
    //                Create bounds for the background and lights
                    bounds =  new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0f);
                    // Set up the background
                    Background bg = new Background(bgColor);
                    bg.setApplicationBounds(bounds);
                    sceneTransformGroup.addChild(bg);
                    // Create the transform group node for the lights
                    lightTransform1 = new Transform3D();
                    lightTransform2 = new Transform3D();
                    Vector3d lightPos1 =  new Vector3d(0.0, 0.0, 2.0);
                    Vector3d lightPos2 =  new Vector3d(1.0, 0.0, -2.0);
                    lightTransform1.set(lightPos1);
                    lightTransform2.set(lightPos2);
                    light1TransformGroup = new TransformGroup(lightTransform1);
                    light2TransformGroup = new TransformGroup(lightTransform2);
                    sceneTransformGroup.addChild(light1TransformGroup);
                    sceneTransformGroup.addChild(light2TransformGroup);
                    // Create lights
                    AmbientLight ambLight = new AmbientLight(aColor);
                    Light        dirLight1;
                    Light        dirLight2;
                    Vector3f lightDir1 = new Vector3f(lightPos1);
                    Vector3f lightDir2 = new Vector3f(lightPos2);
                    lightDir1.negate();
                    lightDir2.negate();
                    dirLight1 = new DirectionalLight(lightColor, lightDir1);
                    dirLight2 = new DirectionalLight(lightColor, lightDir2);
                    // Set the influencing bounds
                    ambLight.setInfluencingBounds(bounds);
                    dirLight1.setInfluencingBounds(bounds);
                    dirLight2.setInfluencingBounds(bounds);
                    // Add the lights into the scene graph
                    sceneTransformGroup.addChild(ambLight);
                    sceneTransformGroup.addChild(dirLight1);
                    sceneTransformGroup.addChild(dirLight2);
                   // Create transform groups for each knot point
                    // knot point 0
                    Transform3D t3dKnot = new Transform3D();
                    t3dKnot.set (pos0);
                    TransformGroup k0TransformGroup = new TransformGroup(t3dKnot);
                    Material m4 = new Material(new Color3f(Color.YELLOW), eColor,new Color3f(Color.YELLOW), sColor, 100.0f);
                    Appearance a4 = new Appearance();
                    m4.setLightingEnable(true);
                    a4.setMaterial(m4);
                    Box box = new Box(2.0f,2.0f,2.0f,a4);
                    box.setAppearance(a4);
                   // column.addChild(box);
                    k0TransformGroup.addChild(box/*new Link(column)*/);
                    sceneTransformGroup.addChild(k0TransformGroup);
                    // knot point 1
                    t3dKnot = new Transform3D();
                    t3dKnot.set (pos1);
                    TransformGroup k1TransformGroup = new TransformGroup(t3dKnot);
                    Material m5 = new Material(new Color3f(Color.CYAN), eColor, new Color3f(Color.CYAN), sColor, 100.0f);
                    Appearance a5 = new Appearance();
                    m5.setLightingEnable(true);
                    a5.setMaterial(m5);
                    Box box1 = new Box(2.0f,2.0f,2.0f,a5); 
                    box1.setAppearance(a5);
                    k1TransformGroup.addChild(box1);
                    sceneTransformGroup.addChild(k1TransformGroup);
                    // knot point 2
                    t3dKnot = new Transform3D();
                    t3dKnot.set (pos2);
                    TransformGroup k2TransformGroup = new TransformGroup(t3dKnot);
                    Material m6 = new Material(new Color3f(Color.GREEN), eColor, new Color3f(Color.GREEN), sColor, 100.0f);
                    Appearance a6 = new Appearance();
                    m6.setLightingEnable(true);
                    a6.setMaterial(m6);
                    Box box2 = new Box(2.0f,2.0f,2.0f,a6);
                    box2.setAppearance(a6);
                    k2TransformGroup.addChild(box2);
                    sceneTransformGroup.addChild(k2TransformGroup);
                   drawflow();
          // Colors for lights and objects
          if ( shouldCompile )
                   sceneRoot.compile( );
              universe.addBranchGraph( sceneRoot );
              reset( );
        public void reset( )
              Transform3D trans = new Transform3D( );
              exampleSceneTransform.setTransform( trans );
              trans.set( new Vector3f( 0.0f, 0.0f, 10.0f ) );
              exampleViewTransform.setTransform( trans );
              //setNavigationType( navigationType );
         * This sets up the key frame data for the spline interpolator. Each knot
         * point has a scale and rotation component specified. The second argument
         * to KBKeyFrame (in this case 0) tells the interpolator that this is
         * to be interpolated using splines. The last three arguments to
         * KBKeyFrame are Tension, Continuity, and Bias components for each
         * key frame.
         * This sets up the key frame data for the linear interpolator. Each knot
         * point has a scale and rotation component specified. The second argument
         * to KBKeyFrame (in this case 1) tells the interpolator that this is
         * to be interpolated linearly. The last three arguments to TCBKeyFrame
         * are Tension, Continuity, and Bias components for each key frame.
        private KBKeyFrame[] setupLinearKeyFrames (int begin,int end) {
          // Prepare linear keyframe data
          Point3f p =new Point3f(po[begin]);
          System.out.print("positions is"+p+"\n");
          float head  = 0.0f;                          // heading
          float pitch = 0.0f;                          // pitch
          float bank  = 0.0f;                          // bank
          Point3f s = new Point3f(1.0f, 1.0f, 1.0f);   // uniform scale
          KBKeyFrame[] linearKeyFrames=new KBKeyFrame[2];
          linearKeyFrames[0] =
             new KBKeyFrame(0.0f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
          p =new Point3f(po[end]);
          System.out.print("positions is"+p+"\n");
          linearKeyFrames[1] =
             new KBKeyFrame(1.0f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
          return linearKeyFrames;
         * This sets up alpha for the interpolator
        private Alpha setupAnimationData (int times,int duration) {
          yAxis = new Transform3D();
          Alpha animAlpha = new Alpha (times,Alpha.INCREASING_ENABLE,0,0,duration,0,0,0,0,0);
          return animAlpha;
         * create a spline and a linear interpolator, but we will activate only
         * one in startInterpolator()
        private void createInterpolators (TransformGroup t,KBKeyFrame[] k,Alpha a)
             KBKeyFrame[] kk=new KBKeyFrame[2];
             kk[0]=k[0];
             kk[1]=k[1];
          BranchGroup behaviorBranch = new BranchGroup();
          KBRotPosScaleSplinePathInterpolator linearInterpolator =
             new KBRotPosScaleSplinePathInterpolator(a, t,new Transform3D(),kk);
          BoundingSphere bounds =  new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0f);
          linearInterpolator.setSchedulingBounds(bounds);
          behaviorBranch.addChild(linearInterpolator);
          t.addChild(behaviorBranch);
         * This activates one of the interpolators depending on the state of the
         * linear boolean flag which may be toggled by the user using the choice
         * menu.
        public void startInterpolator ()
            //linearInterpolator.setEnable(true);
         * Toggle animation 
        public void actionPerformed (ActionEvent event) {
          Object source = event.getSource();
          if (source == animateButton) {
            try {
              // toggle animation
              if (!animationOn) {
                animationOn = true;
                swtch0.setWhichChild(Switch.CHILD_NONE);
                //linearInterpolator.setEnable(false);
                animateButton.setLabel("Start Animation");
              } else {
                animationOn = false;
                startInterpolator();
                GridBagLayout      gl  = new GridBagLayout();
                GridBagConstraints gbc = new GridBagConstraints();
                canvasPanel.setLayout(gl);
                gbc.gridx = 0;  gbc.gridy = 0;
                gbc.gridwidth = 5;  gbc.gridheight = 5;
                GraphicsConfiguration config =
                    SimpleUniverse.getPreferredConfiguration();
                 canvas = new Canvas3D(config);
                 canvas.setSize(490,490);
                 canvasPanel.add(canvas,gbc);
                //linearInterpolator.setEnable(true);
                animateButton.setLabel("Stop Animation");
                createSceneGraph();
               // drawflow();
            } catch (Exception e) {
               System.err.println ("Exception " + e);
               e.printStackTrace();
         * Toggle the interpolators 
        public void itemStateChanged (ItemEvent event) {
          Object source = event.getSource();
          ItemSelectable ie = event.getItemSelectable();
          if (source == interpChoice) {
            try {
              if (ie.getSelectedObjects()[0] == "Spline") {
                linear = false;
              if (ie.getSelectedObjects()[0] == "Linear") {
                linear = true;
              startInterpolator();
            } catch (Exception e) {
               System.err.println ("Exception " + e);
         * Adjust the speed of the animations
        public void adjustmentValueChanged (AdjustmentEvent e) {
          int value = e.getValue();
          duration = 6000 - (500 * value);
          animAlpha.setIncreasingAlphaDuration(duration);
        public void drawflow()
             for(int i=0;i<unitsno;i++)
                  for(int j=0;j<2;j++)
                       for(int k=0;k<2;k++)
                            System.out.print(customerFlow[j][k]+"\n");
                        //System.out.print("i'm third loop ");
                        if(customerFlow[j][k][i]>0&&customerFlow[j][k][i]<5)
                             System.out.print("i'm small ball");
                             if(animationOn==true)
                                  break;
                             System.out.print("i'm small ball");
                             for(int x=0;x<1;x++)
                                  KBKeyFrame []KKF;
                                  KKF=setupLinearKeyFrames(j,k);
                                  Alpha a=setupAnimationData(1,5000);
                                  createInterpolators(objTransformGroup0.get(x),KKF,a);
                             //for(int t=0;t<3;t++)
                             System.out.print("i'm small ball");
                                  swtch0.setWhichChild(0);
                                  //swtch0.getChild(0).setPickable(true);
                             //swtch1.setWhichChild(Switch.CHILD_NONE);
                             //.setWhichChild(Switch.CHILD_NONE);
                             /*swtch0.setWhichChild( options[0].child );
                             swtch0.setChildMask( options[0].mask );*/
                        else if(customerFlow[j][k][i]>5&&customerFlow[j][k][i]<25)
                             if(animationOn==true)
                                  break;
                                  KBKeyFrame []KKF;
                                  KKF=setupLinearKeyFrames(j,k);
                                  Alpha a=setupAnimationData(1,5000);
                                  createInterpolators(objTransformGroup1.get(0),KKF,a);
                                  System.out.print("i'm mid ball");
                                  //swtch0.setWhichChild(Switch.CHILD_NONE);
                             //swtch2.setWhichChild(Switch.CHILD_NONE);
                             /*swtch0.setWhichChild( options[1].child );
                                  swtch0.setChildMask( options[1].mask );*/
                             swtch0.setWhichChild(1);
                             System.out.print("i'm mid ball");     
                        else if(customerFlow[j][k][i]>24)
                             if(animationOn==true)
                                  break;
                                  KBKeyFrame []KKF;
                                  KKF=setupLinearKeyFrames(j,k);
                                  Alpha a=setupAnimationData(1,10000);
                                  createInterpolators(objTransformGroup2.get(0),KKF,a);
                                  //swtch1.setWhichChild(Switch.CHILD_NONE);
                             swtch0.setWhichChild(2);
                                  /*swtch0.setWhichChild( options[2].child );
                                  swtch0.setChildMask( options[2].mask );*/
    private class NameChildMask
              public String name;
              public int child;
              public BitSet mask;
              public NameChildMask( String n, int c, int m )
                   name = n;
                   child = c;
                   mask = new BitSet(3);
                   if( (m&1) != 0 )     mask.set( 0 );
                   if( (m&2) != 0 )     mask.set( 1 );
                   if( (m&4) != 0 )     mask.set( 2 );
    private NameChildMask[] options =
              //new NameChildMask( "CHILD_ALL", Switch.CHILD_ALL,     0 ),
              //new NameChildMask( "CHILD_NONE", Switch.CHILD_NONE,     0 ),
              new NameChildMask( "Child 0",     0,               0 ),
              new NameChildMask( "Child 1",     1,               0 ),
              new NameChildMask( "Child 2",     2,               0 )};

    ORA-01722:     invalid number
    Cause:     The attempted conversion of a character string to a number failed because the character string was not a valid numeric literal. Only numeric fields or character fields containing numeric data may be used in arithmetic functions or expressions. Only numeric fields may be added to or subtracted from dates.
    Action:     Check the character strings in the function or expression. Check that they contain only numbers, a sign, a decimal point, and the character "E" or "e" and retry the operation.
    Cheers,
    Prasanna

Maybe you are looking for

  • How can I check my MobileMe mail & contacts from another iPhone?

    How can I check in on my MobileMe email & contacts from another iPhone or iPad, not my own? When I go to Me.com, the only option it offers is to set up the iPhone with my account -- which is NOT what I want. Is there a workaround or another path to l

  • Error while PGI Delivery order

    HI All, I am getting the following message when PGI delivery order "Material's product unit must be entered in whole numbers ". Could any one can help me to solve the issue please ? Thanks & Best regards, Saiful arif

  • System preferences layout

    why icons on system preferences are not centered? Am I the only one having this issue? I'm on OS X 10.10.1 I'm pretty sure it wasn't like that on 10.10

  • Linking the Revoke Action to Process Task

    Something that I haven't quite figured out yet is the connection between "Provision Resource" and the Process Task to Create the Resource, and likewise the connection between "Revoke Resource" and the Process Task to delete the Resource. I have a sus

  • Touch wants to automatically connect to my neighbors network

    Hi, I just changed my router wireless security to WPA Personal and now after I connect my Touch to my network it won't stay connected and when I wake it I find it is connected to my neighbors unsecured network. I click on the blue > button and click