Help needed for Project Work

+People..I am new to this forum and your help is absolutely essential as it for my project work. There are two questions in my project. This is the second one. The first question is at the following thread.
http://forum.java.sun.com/thread.jspa?threadID=5220057
Thanks in advance..+*
This is the Question
Create a class ToyCollection that stores information about different toys in a toy shop.  The information to be stored about a single toy is,
-         Toy identification as String
-         Name of the toy as String
-         Short description about the toy as a String
-         Price of the toy as float
-         Quantity of the toy in hand as short integer.
This class contains following methods,
-         Constructor method that assigns user input values to above mentioned variables.
-         main ( ) method that creates array of 4 objects of ToyCollection class and that takes input for all above details from the user and
calls method to check validity of Quantity and Price values. If all values are valid then create the objects and display the details
for all 4 toys.
-         Method that checks validity of quantity and price. If the quantity is 0 or negative then method should throw user defined
exception with appropriate message and come out of program. Similarly if the price is 0 or negative then it should throw user defined exception with appropriate message and come out of program.
-         Method that displays all details about a single toy in the following format, e.g. Here Total price should be calculated.
Toy Identification                  :  S-1
Toy Name                            :  Small Scooter
Toy Description                    :  Ordinary 3 wheeler scooter
Toy price                              :   650.50
Quantity in hand                    :   3
Total price of Toys               :    1951.50
And i did the following coding
import java.io.*;
import java.lang.*;
public class ToyCollection
     public int toyid;
     public String toyname;
     public String toydetails;
     public float toyprice;
     public int toyquantity;
     public void setToyid(int tid)
          toyid = tid;
     public void setToyname(String tname)
          toyname = tname;
     public void setToydetails(String tdet)     
          toydetails = tdet;
     public void setToyprice(float tpri)
          toyprice = tpri;
     public void setToyquantity(int tquan)
          toyquantity = tquan;
     public int getToyid()
          return toyid;
     public String getToyname()
          return toyname;
     public String getToydetails()     
          return toydetails;
     public float getToyprice()
          return toyprice;
     public int getToyquantity()
          return toyquantity;
     public static void main(String args[])throws Exception
          ToyCollection a=new ToyCollection();
          System.out.println("Enter the Toy id");
          BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
          int tid=Integer.parseInt(br1.readLine());
          a.setToyid(tid);
          System.out.println("Enter the Toy name");
          BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
          String tname=br2.readLine();
          a.setToyname(tname);
          System.out.println("Enter the Toy details");
          BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));
          String tdet=br3.readLine();
          a.setToydetails(tdet);
          System.out.println("Enter the Toy price");
          BufferedReader br4=new BufferedReader(new InputStreamReader(System.in));
          float tpri=Float.parseFloat(br4.readLine());
          a.setToyprice(tpri);
          System.out.println("Enter the Toy quantity");
          BufferedReader br5=new BufferedReader(new InputStreamReader(System.in));
          int tquan=Integer.parseInt(br5.readLine());
          a.setToyquantity(tquan);
          System.out.println("The Toy Attributed you entered are displayed below \n" + " ID :" + a.getToyid() + "\n " +" Name :" + a.getToyname() + "\n " + " Details :" + a.getToydetails() + "\n " + " Price :" + a.getToyprice() + "\n " + " Quantity :" + a.getToyquantity());
I submitted the above coding and this was the response from the evaluator
*"You need to create array of toys. You are accepting details of toy in a single line and your program ends."*
Eagerly awaiting your reply at the earliest people.

DrLaszloJamf , here is the question.
Create a class ToyCollection that stores information about different toys in a toy shop. The information to be stored about a single toy is,
- Toy identification as String
- Name of the toy as String
- Short description about the toy as a String
- Price of the toy as float
- Quantity of the toy in hand as short integer.
This class contains following methods,
- Constructor method that assigns user input values to above mentioned variables.
- main ( ) method that creates array of 4 objects of ToyCollection class and that takes input for all above details from the user and
calls method to check validity of Quantity and Price values. If all values are valid then create the objects and display the details
for all 4 toys.
- Method that checks validity of quantity and price. If the quantity is 0 or negative then method should throw user defined
exception with appropriate message and come out of program. Similarly if the price is 0 or negative then it should throw user defined exception with appropriate message and come out of program.
- Method that displays all details about a single toy in the following format, e.g. Here Total price should be calculated.
Toy Identification : S-1
Toy Name : Small Scooter
Toy Description : Ordinary 3 wheeler scooter
Toy price : 650.50
Quantity in hand : 3
Total price of Toys : 1951.50
What is the java code for the above ?

Similar Messages

  • Labview Programmer needed for project work in Milwaukee Area or over the internet

    We have a project I need to get done before summers end and we have majotiy of the code. My company builds robotic systems which we use for industrial inspections mainly in the petrochemical industry.  These robotic systems work with a ultrasonic systems which we use to take thickness measurements of piping and pressure vessels using ultrasound.   We have the ultrasound equipment and most of the software as said previously, we just need it polished up and some additions made.  Here is a link from NI which is simular to what we do and you can even download the code and have a look at there code: http://zone.ni.com/devzone/cda/epd/p/id/3618 . Our code is a bit more complex but you get the picture. 
    This position is not a full time position as of yet.  We are looking for someone to work with us on a contract basis for now. We need someone experienced with the following; Data aquisition, Data analysis, Experience with RF, USB comunication.  We perfer to hire somebody local but if we cant we can can do this over the internet.  If you are interested, give us a reply with contact info.  Thanks.
    Regards,
    Bill

        Bill,
    We are able to offer you the help you need on
    this.  I work for a LabVIEW/test-system consulting group based here out
    of Salt Lake City...not too far if a quick trip is needed.  Among the
    six of us, four of us are former NI employees and we count with a lot of LabVIEW experience and regularly do
    contract work, local and remote.  This sounds interesting and right up
    our alley as far as experience goes.  I'd refer you to our website for
    further info about different projects that we've done for many
    clients.  www.mooregoodideas.com.
    If this seems workable for
    you, feel free to shoot me a note at [email protected]  I'd be
    curious to know more about what you're after and how we can help you
    out. 
    Thanks,
    Jim

  • BAPI/FM Help Needed for PM Work Order Update and Notification create

    Hi,
    I am using BAPI - BAPI_ALM_ORDER_MAINTAIN to update the work order details and create notifications for the object list but i am getting errors in doing that.
    IWO_BAPI 203 -Changing the execution factor in the BAPI is not supported
    And i have to create notifications to each object in the object list. This BAPI is not supporting that.
    So i used another BAPI BAPI_ALM_NOTIF_CREATE to create notification and passed the order number , counter etc to it but in the order it is creating a new row for that equipment and linking the notification to it.
    Need some help on these.

    Dear
    1. If you want a Notification mandatory to be created for Order using IW31 you can once make this happen by User Status in Order ,   i would suggest if you are doing implementation better Use Order Types  which has got Notification integrated in it .
    Check Order type PM05 in Ideas server you have PM05 Order with notification fields integrated , which created notification in Background when order is Created or released.
    2.For Work Order B --> Notification A , Not Allowing I donot have any idea check whether is there any User exit from experts or ask ur Abaper
    Regards,
    Edited by: Srinivas Narayana Gowda on Jun 11, 2009 1:10 PM

  • Help needed for project

    hi....i wanna ask anyone who can help tell me how you can put a .gif file such that the html file can show the .gif picture and a random number generator applet together UPON click on a button.
    u see....there are many .gif files and on the base of the html...there are buttons to click on such that when you click on different buttons...u will go into various .gif. so now now on one of the .gif files....i wanna add a random number java applet inside the .gif and add this to the whole html file.
    please help.thanks

    You can't put a random number generator is a gif. GIFs are images following a particular format (and using compression owned by an evil company which a few years ago anyway were threatening to sue everybody in the world), and is not executable. That doesn't really make sense.
    But don't try to describe problem in terms of a possible implementations; that just confuses the matter. It sounds like you want to display images, based on a static gif file, with additional random content added. Is that what you want to do?
    I'm pretty sure it's possible to:
    (1) load an image from a GIF file, into a buffer
    (2) filter that buffer through a routine that draws arbitrary stuff
    (3) that arbitrary stuff could include alphanumeric text produced by a random number generator
    (4) the output from the filter could then be used to create an image object
    (5) that image object could then be displayed.

  • File missing (file\BCD error code 0Xc0000034 help need for work!

    file missing (file\BCD  error code 0Xc0000034 help need for work!    what can i do?
    have an p 2000 notebook pc

     Hi bobkunkle, welcome to the HP Forums. I understand you cannot boot passed the error you are receiving.
    What is the model or product number of your notebook? What version of Windows is installed?
    Guide to finding your product number
    Which Windows operating system am I running?
    TwoPointOh
    I work on behalf of HP
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos, Thumbs Up" on the bottom to say “Thanks” for helping!

  • Hello, can someone guide me on how to purchase ExportPDF please? i'm currently residing in South East Asia and it doesn't allow me to purchase the software that i need for my work. Please guide me. i need help badly.

    Hello, can someone guide me on how to purchase ExportPDF please? i'm currently residing in South East Asia and it doesn't allow me to purchase the software that i need for my work. Please guide me. i need help badly.

    Hi watanabei,
    Please see Countries where ExportPDF is available for purchase. - Adobe Community. It's necessary to have a credit card billing address in one of the countries listed in this document. If ExportPDF is unavailable to you, you may want to consider an Acrobat subscription, which would also allow you to convert PDF files to Word and other format. For more information, see www.adobe.com/products/acrobat.html.
    Best,
    Sara

  • Help needed for writing query

    help needed for writing query
    i have the following tables(with data) as mentioned below
    FK*-foregin key (SUBJECTS)
    FK**-foregin key (COMBINATION)
    1)SUBJECTS(table name)     
    SUB_ID(NUMBER) SUB_CODE(VARCHAR2) SUB_NAME (VARCHAR2)
    2           02           Computer Science
    3           03           Physics
    4           04           Chemistry
    5           05           Mathematics
    7           07           Commerce
    8           08           Computer Applications
    9           09           Biology
    2)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2) SUB_ID1(NUMBER(FK*)) SUB_ID2(NUMBER(FK*)) SUB_ID3(NUMBER(FK*)) SUBJ_ID4(NUMBER(FK*))
    383           S1      9           4           2           3
    384           S2      4           2           5           3
    ---------I actually designed the ABOVE table also like this
    3) a)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2)
    383           S1
    384           S2
    b)COMBINATION_DET
    COMBDET_ID(NUMBER) COMB_ID(FK**) SUB_ID(FK*)
    1               383          9
    2               383          4
    3               383          2
    4               383          3
    5               384          4
    6               384          2          
    7               384          5
    8               384          3
    Business rule: a combination consists of a maximum of 4 subjects (must contain)
    and the user is less relevant to a COMB_NAME(name of combinations) but user need
    the subjects contained in combinations
    i need the following output
    COMB_ID COMB_NAME SUBJECT1 SUBJECT2      SUBJECT3      SUBJECT4
    383     S1     Biology Chemistry      Computer Science Physics
    384     S2     Chemistry Computer Science Mathematics Physics
    or even this is enough(what i actually needed)
    COMB_ID     subjects
    383           Biology,Chemistry,Computer Science,Physics
    384           Chemistry,Computer Science,Mathematics,Physics
    you can use any of the COMBINATION table(either (2) or (3))
    and i want to know
    1)which design is good in this case
    (i think SUB_ID1,SUB_ID2,SUB_ID3,SUB_ID4 is not a
    good method to link with same table but if 4 subjects only(and must) comes
    detail table is not neccessary )
    now i am achieving the result by program-coding in C# after getting the rows from oracle
    i am using oracle 9i (also ODP.NET)
    i want to know how can i get the result in the stored procedure itsef.
    2)how it could be designed in any other way.
    any help/suggestion is welcome
    thanks for your time --Pradeesh

    Well I forgot the table-alias, here now with:
    SELECT C.COMB_ID
    , C.COMB_NAME
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID1) AS SUBJECT_NAME1
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID2) AS SUBJECT_NAME2
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID3) AS SUBJECT_NAME3
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID4) AS SUBJECT_NAME4
    FROM COMBINATION C;
    As you need exactly 4 subjects, the columns-solution is just fine I would say.

  • Color management help needed for adobe CS5 and Epson printer 1400-Prints coming out too dark with re

    Color management help needed for adobe CS5 and Epson printer 1400-Prints coming out too dark with reddish cast and loss of detail
    System: Windows 7
    Adobe CS5
    Printer: Epson Stylus Photo 1400
    Paper: Inkjet matte presentation paper with slight luster
    Installed latest patch for Adobe CS5
    Epson driver up to date
    After reading solutions online and trying them for my settings for 2 days I am still unable to print what I am seeing on my screen in Adobe CS5. I calibrated my monitor, but am not sure once calibration is saved if I somehow use this setting in Photoshop’s color management.
    The files I am printing are photographs of dogs with lots of detail  I digitally painted with my Wacom tablet in Photoshop CS5 and then printed with Epson Stylus 1400 on inkjet paper 20lb with slight luster.
    My Printed images lose a lot of the detail & come out way to dark with a reddish cast and loss of detail when I used these settings in the printing window:
    Color Handling: Photoshop manages color, Color management -ICM, OFF no color adjustment.
    When I change to these settings in printer window: Color Handling:  Printer manages color.  Color management- Color Controls, 1.8 Gamma and choose Epson Standard it prints lighter, but with reddish cast and very little detail and this is the best setting I have used so far.
    Based on what I have read on line, I think the issue is mainly to do with what controls are set in the Photoshop Color Settings window and the Epson Printer preferences. I have screen images attached of these windows and would appreciate knowing what you recommend I enter for each choice.
    Also I am confused as to what ICM color management system to use with this printer and CS5:
    What is the best ICM to use with PS CS5 & the Epson 1400 printer? Should I use the same ICM for both?
    Do I embed the ICM I choose into the new files I create? 
    Do I view all files in the CS5 workspace in this default ICM?
    Do I set my monitor setting to the same ICM?
    If new file opens in CS5 workspace and it has a different embedded profile than my workspace, do I convert it?
    Do I set my printer, Monitor and PS CS5 color settings to the same ICM?
    Is using the same ICM for all devices what is called a consistent workflow?
    I appreciate any and all advice that can be sent my way on this complicated issue. Thank you in advance for your time and kind help.

    It may be possible to figure out by watching a Dr.Brown video on the subject of color printing. Adobe tv
    I hope this may help...............

  • Hi! I've just installed mountain lion and I find one of the programs I need for my work is crashing all the time. any ideas what i can do?

    hi! I've just installed mountain lion and I find one of the programs I need for my work is crashing all the time. any ideas what i can do?

    Ah!
    Factuur Bright x
    part of errors:
    Process:         Factuur Bright X [1476]
    Path:            /Applications/Factuur Bright X/Factuur Bright X.app/Contents/MacOS/Factuur Bright X
    Identifier:      ???
    Version:         ??? (2.0.0b20)
    Code Type:       X86 (Native)
    Parent Process:  launchd [184]
    User ID:         501
    Date/Time:       2013-07-10 22:35:39.180 +0200
    OS Version:      Mac OS X 10.8.4 (12E55)
    Report Version:  10
    Interval Since Last Report:          2118 sec
    Crashes Since Last Report:           1
    Per-App Interval Since Last Report:  24 sec
    Per-App Crashes Since Last Report:   1
    Anonymous UUID:                      47D641A2-4625-7590-369C-8BAFE1439551
    Crashed Thread:  0  Dispatch queue: com.apple.main-thread
    Exception Type:  EXC_BAD_ACCESS (SIGBUS)
    Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000010

  • Experienced CLA, CTD available for project work.

    Experienced CLA, CTD and CPI available for project work.
    Work model would be remote activity with availability for kick-off and integration onsite travel.
    Clear communicator with excellent presentation and customer facing skills.  Deep experience with large swath of NI technologies and hardware.  Wide capability with peripheral software tools such as sql, Amazon - AWS, bug tools, agile development, SCM, remote connectivity, networking, web service etc.
    Please email for more discussions:  [email protected]
    Michael Weir

    Hi All,
    Just to say I am still available for remote contract opportunities and that I am now also a Certified TestStand Architect.
    Message @ [email protected] for more information..
    Thanks & Regards,
    Shane.

  • Help need for force to signout All session ! how...

    hi
         help need for force to  signout All session !  how ??
    Solved!
    Go to Solution.

    Hi and welcome to the Skype Community,
    To force a signout of all instances your Skype is signed into please change your password: https://support.skype.com/en/faq/FA95/how-do-i-change-my-password
    Follow the latest Skype Community News
    ↓ Did my reply answer your question? Accept it as a solution to help others, Thanks. ↓

  • Help needed for using BASIC authentication through JDBCRealm

    Help needed.
    Hello,
    I am doing a degree project, so far it works fine in my local machine, I need to try it on my virtual hosting (as it is a live server).
    My project requires JDBCRealm, that is BASIC authentication loading access data from mysql database. Normally this setup can be done in Server.xml file, because my Tomcat hosting is a virtual one, I only have permission to access the web.xml file.
    My question is: is it possible to get it done in an alternative way? In web.xml? Some properties file maybe?
    Thank you very much.

    You can set this up for your context using META-INF/context.xml instead of working with server.xml.
    Make a directory called META-INF under your webapp ( it'll be at the same level as WEB-INF ). Under this, add a context.xml with all your context specific configuration including the realm. A sample is below
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/myApp" reloadable="true">
        <Realm
            className="org.apache.catalina.realm.JDBCRealm"            
            driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"         
            connectionURL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myDB;SelectMethod=Cursor;"
            connectionName="username" connectionPassword="password"
            digest="MD5" userTable="users" userNameCol="userid" userCredCol="userpassword"
            userRoleTable="user_roles" roleNameCol="rolename"
        />
    </Context>Hope this helps.
    People on the forum help others voluntarily, it's not their job.
    Help them help you.
    Learn how to ask questions first: http://faq.javaranch.com/java/HowToAskQuestionsOnJavaRanch
    ----------------------------------------------------------------

  • SAP PS Module Report, Help needed for the Right Logic.

    Hi,
             I have to develop a  PS module Report . This spec of this  report is when you enter , project # , month , date , proj type it should  display all the projects  and only the billing levels  with  different  fiels  like ITD cost, ITD sales, ytd cost,  sales,  awards  etc etc.
    Right now  Iam getting the O/P : in the  following manner, There are many fields  I am just showing the desired ones which have to be changed.
    Proj,           Title,         award,    ITDsales,         ITD cost ,    ytd sales,   ytd costs,
    14148,       New prj       123        --                   ---                    -
    14148-B01,  bill1          -
                234           -
                       456                -
    14148-B02,  bill2          -
                789          -
                       123                -
    14148.001    wbs1        -
             123                     -
                     456
    14148.001    wbs2        -
              567                    -
                     890
    But   for me  the desired output must be only for  project  and the billing levels. It shouldn’t be for WBS elements  xxxx.001  and xxxx.002.
    Desired  output:
    Proj,           Title,         award,    ITDsales,   ITD cost ,       ytd sales,      ytd costs,
    14148,       New prj       123        --               690                 -
                   1346
    14148-B01,  bill1          -
             234                -
                       456             -
    14148-B02,  bill2          -
             789                -
                      123              -
    The ITD costs  and YTD costs must be added   123 + 567 = 690 and
                                                                                 456+890 = 1346.
    And these values must come   on the project level.
    P.S:  I can restrict the values  for wbs elements  , means I can filter them at PRPS table  by giving prps-stufe LE ‘2’.  Then I wont get the wbs level, But I want the values of these to be added up and then show it on the project level.
    Please  go through  this code and let me  know where exactly I need to put the right logic  to work in the desired manner.
    Thanks   in advance
    Dan
    Code Below************************
    [code]TABLES: PROJ,                "Project Definition
            PRPS,                "WBS Elements
            prhi,
            CEPC,                " Profit Center w/ Group Head info
            BPGE,                "Plans (12, 13, etc.)
            COSP,                "Primary   Cost Element (Bill Sales, DPC)
            COSS,                "Secondary Cost Element (Shrd Sls,Sal,etc)
            COSB,                "Results Analysis Cost Elements (Unbil Sls)
            COOI,                "Commitments management: Line items
            JEST,                "Project Status
            TCJ04,               "Person Responsible for Project
            zpclasses,           "Project classes.
    New Added
            CRCO,            " Assignment of Work Center to Cost Center
            CRHD.            " Work Center Header
    Record Layout of extracted data
    TYPES: BEGIN OF EXDEF,       "Data definition of extract data
           X_BU(2)     TYPE C,   "Business Unit
           X_CNTR(10)  TYPE C,   " Profit Center
           X_PROJ(24)  TYPE C,   "Project def (Prj)
           X_CREP(30)  TYPE C,   "Contract Rep.
           X_BDREP(25) TYPE C,   "BD Rep. name
           X_GRPH(15)  TYPE C,   "Tech Rep employee name
           X_ACTREP(15)  TYPE C,  "Acct Rep employee name
           X_PMGR(15)  TYPE C,   "PM employee name
           X_TTLE(35)  TYPE C,   "Title
           X_CLNT(20)  TYPE C,   "Client
           X_POCN(20)  TYPE C,   "Prime Contract Number
           X_TYPE(13)  TYPE C,   "Order Type Sarnoff
           X_OPEN(10)  TYPE C,   "Open Date
           X_CLOSE(10) TYPE C,   "Close Date
           X_CGT(4)    TYPE C,   "CO, GV, TC
           X_DISTR(2)  TYPE C,   "Distribution Channel
           X_CONTR(6)  TYPE C,   "Percentage contribution
           X_AWRD(14)  TYPE C,   "Award        (Plan 11)
           X_P12R(14)  TYPE C,   "Auth Revenue (Plan 12 @ Rev)
           X_P12C(14)  TYPE C,   "Auth Cost    (Plan 12 @ Cost)
           X_P13R(14)  TYPE C,   "Auth Revenue (Plan 13 @ Rev)
           X_P13C(14)  TYPE C,   "Auth Cost    (Plan 13 @ Cost)
           X_ITDS(14)  TYPE C,   "ITD Sales
           X_ITDC(14)  TYPE C,   "ITD Costs
           X_YTDS(14)  TYPE C,   "YTD Sales
           X_YTDC(14)  TYPE C,   "YTD Costs
           X_MTHS(14)  TYPE C,   "Current Month Sales
           X_MTHC(14)  TYPE C,   "Current Month Costs
           X_ITDB(14)  TYPE C,   "ITD Billed Sales
           X_YTDB(14)  TYPE C,   "YTD Billed Sales
           X_MTHB(14)  TYPE C,   "Current Month Billed Sales
           X_COMM(14)  TYPE C,   "Commitments
           X_STAT(6)   TYPE C,   "Active or Inactive (REL, TECO, or CLSD)
           X_ZPROJCLASS(12),
           X_MTHIC(14) TYPE C,   "Current Month Incremental Costs
           X_YTDIC(14) TYPE C,   "YTD Incremental Costs
           X_ITDIC(14) TYPE C,   "ITD Incremental Costs
           X_ZSCURVE(10) TYPE C, "S-CURVE  Status
    New Added
           X_CM_COST(20) TYPE C,
           X_AM_COST(20) TYPE C,
           X_TL_COST(20) TYPE C,
           X_KP_COST(20) TYPE C,
           X_PM_COST(20) TYPE C,
    END OF EXDEF.
    Data declarations
    FIELD-SYMBOLS <MNT> .
    DATA: ETAB  TYPE  EXDEF   OCCURS 100  WITH  HEADER LINE.
    DATA:  X1_PM_COST(20) TYPE C,
           X1_TL_COST(20) TYPE C,
           X1_AM_COST(20) TYPE C,
           X1_CM_COST(20) TYPE C,
           X1_KP_COST(20) TYPE C.
    DATA: KOKRS_FIXED      LIKE PROJ-VKOKR VALUE 'DSRC',  "Controlling Area
          TOTAL_AWARD      LIKE BPGE-WTGES,
          TOTAL_AUTHR12    LIKE BPGE-WTGES,
          TOTAL_AUTHC12    LIKE BPGE-WTGES,
          TOTAL_AUTHR13    LIKE BPGE-WTGES,
          TOTAL_AUTHC13    LIKE BPGE-WTGES,
          TOTAL_ITDSALES   LIKE BPGE-WTGES,
          TOTAL_ITDCOSTS   LIKE BPGE-WTGES,
          TOTAL_ITDICOSTS  LIKE BPGE-WTGES,
          TOTAL_YTDSALES   LIKE BPGE-WTGES,
          TOTAL_YTDCOSTS   LIKE BPGE-WTGES,
          TOTAL_YTDICOSTS  LIKE BPGE-WTGES,
          TOTAL_MTHSALES   LIKE BPGE-WTGES,
          TOTAL_MTHCOSTS   LIKE BPGE-WTGES,
          TOTAL_MTHICOSTS  LIKE BPGE-WTGES,
          TOTAL_ITDBILLED  LIKE BPGE-WTGES,
          TOTAL_YTDBILLED  LIKE BPGE-WTGES,
          TOTAL_MTHBILLED  LIKE BPGE-WTGES,
          TOTAL_COMMITMENT LIKE COOI-WTGBTR,
          HOLD_PRART       LIKE PRPS-PRART,
          COUNT_PROJECTS   TYPE I,
          MNT_INDX(20)     TYPE C,
          HLD_INDX(3)      TYPE N,
          YYYY_MM(10)      TYPE C,
          TEMP-DATE(8)     TYPE C.
    Selection Screen
    SELECTION-SCREEN SKIP 3.
    SELECTION-SCREEN BEGIN OF BLOCK XEXTRPM WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 2.
    PARAMETERS MONTH(2)  TYPE  N   OBLIGATORY.
    PARAMETERS YEAR(4)   TYPE  N   OBLIGATORY.
    SELECT-OPTIONS: EXTRPRJ  FOR PROJ-PSPID.     " Range of Projects
    SELECT-OPTIONS: EXTRTYP  FOR PRPS-PRART.  "Project Types (CO,GV,etc.*)
    SELECT-OPTIONS: EXTRPCTR FOR PROJ-PRCTR.     " Range of Profit centers
    SELECTION-SCREEN SKIP 2.
    PARAMETERS: OPT1 RADIOBUTTON GROUP OPTN,
                OPT2 RADIOBUTTON GROUP OPTN DEFAULT 'X'.
    select-options : s_pc for proj-zprojclass.   "project class
    SELECTION-SCREEN END OF BLOCK XEXTRPM.
    Select Tables
    START-OF-SELECTION.
    write: / 'Sales data (Unshared) extracted on: ', sy-datum.
    uline.
      CLEAR:  COUNT_PROJECTS,
              TOTAL_AWARD,
              TOTAL_AUTHR12,
              TOTAL_AUTHC12,
              TOTAL_AUTHR13,
              TOTAL_AUTHC13,
              TOTAL_ITDSALES,
              TOTAL_ITDCOSTS,
              TOTAL_YTDSALES,
              TOTAL_YTDCOSTS,
              TOTAL_MTHSALES,
              TOTAL_MTHCOSTS,
              TOTAL_ITDBILLED,
              TOTAL_YTDBILLED,
              TOTAL_MTHBILLED,
              TOTAL_COMMITMENT,
              ETAB.
    PROJ Table                                          Project Definition
      SELECT  * FROM PROJ                   "Project Definition
           WHERE PSPID IN EXTRPRJ AND      " Range of Project Numbers
              PRCTR IN EXTRPCTR and        " Range of Profit center
                zprojclass in s_pc.     "project class
    SELECT * FROM PRPS WHERE           "WBS Elements
                  PRART IN EXTRTYP         " Range of Proj.Types (CO,GV,TC..
                 and PSPHI = PROJ-PSPNR.
        HOLD_PRART   = '  '.               "clears project type
        CLEAR ETAB.
        ETAB-X_PROJ  = PRPS-POSID.
        ETAB-X_BU    = PRPS-PRCTR(2).      "Business Unit
        ETAB-X_PMGR = PROJ-VERNA.          "Project Manager
        IF PRPS-PRCTR(2) = '01'.
         ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
         CONCATENATE SPACE PRPS-PRCTR INTO ETAB-X_CNTR SEPARATED BY SPACE.
        ELSE.
          ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
        ENDIF.
         ETAB-X_TTLE  = PRPS-POST1.         "Title
        CLEAR  TEMP-DATE.
        TEMP-DATE    = PROJ-PLFAZ.         "Project planned start date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_OPEN.
        TEMP-DATE    = PROJ-PLSEZ.         "Project planned finish date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_CLOSE.
    Tech Lead
    will comment below
        SELECT SINGLE VERNA FROM TCJ04     "Tech Lead name from TCJ04
               INTO  (ETAB-X_GRPH) WHERE  VERNR = PROJ-ZGRPHD.
    End Of Tech Lead
    Account Manager
        SELECT SINGLE VERNA FROM TCJ04  "Acct Manager from TCJ04
               INTO  (ETAB-X_BDREP) WHERE  VERNR = PROJ-ZBUSDEV.
    ******End Of Account Manager
    Key Personnel
        SELECT SINGLE VERNA FROM TCJ04     "Account Rep name from TCJ04
               INTO  (ETAB-X_ACTREP) WHERE  VERNR = PROJ-ZRESPDIR.
    ********End of Key Personnel
    **Contract Manager
        SELECT SINGLE VERNA FROM TCJ04     "Contract Rep name from TCJ04
               INTO  (ETAB-X_CREP) WHERE  VERNR = PROJ-ZCNTREP.
    End of Contract Manager
    PRPS Table                            WBS's attached to the Project
       SELECT * FROM PRPS WHERE           "WBS Elements
                 PRART IN EXTRTYP         "Range of Proj.Types (CO,GV,TC..
                 AND PSPHI = PROJ-PSPNR.
                order by posid stufe.    "Sort by WBS & Level (needed?)
    get info from level 1 of the WBS
         IF PRPS-STUFE EQ 1.              "top-level WBS element
            HOLD_PRART  = PRPS-PRART.      "save project type for later
            ETAB-X_STAT = '????'.          "set ? as the default status
    get Status for level 1
            SELECT * FROM JEST             "use JEST to determine Status
               WHERE OBJNR =  PRPS-OBJNR
                 AND INACT EQ SPACE.       "space denotes an active status
               CASE JEST-STAT.             "find the system status (Ixxx)
                    WHEN 'I0001'.
                         ETAB-X_STAT = 'CRTD'.    "Created
                    WHEN 'I0002'.
                         ETAB-X_STAT = 'REL'.     "Released
                    WHEN 'I0045'.
                         ETAB-X_STAT = 'TECO'.    "Technically Complete
                    WHEN 'I0046'.
                         ETAB-X_STAT = 'CLSD'.    "Closed
               ENDCASE.
            ENDSELECT.
    Select only active projects (ie; those not with TECO or CLSD)
            IF  OPT2 EQ 'X'
               AND  ( ETAB-X_STAT EQ  'TECO'
                  OR  ETAB-X_STAT EQ  'CLSD' ).
                   EXIT.
            ENDIF.
    *comment Contract Rep and Proj man because we get them from PROJ now
           etab-x_crep   = prps-zzcont.     "Contract Rep.
           etab-x_pmgr   = prps-verna.      "Program Manager Name
            ETAB-X_CLNT   = PRPS-ZZMANDT.    "Client Name
            ETAB-X_CGT    = PRPS-PRART.      "CO, GV, TC, etc
            ETAB-X_DISTR  = PRPS-ZZVTWEG.    "Distrib Channel (ie; GP, etc.)
            ETAB-X_CONTR  = PRPS-USR04.      "Contribution %
            ETAB-X_POCN   = PRPS-ZZPOCN.     "Contract Number
            ETAB-X_TYPE   = PRPS-ZZORDT.     "Order Type Sarnoff
    Award and Authorization (Revenue & Cost)
            SELECT * FROM BPGE
               WHERE OBJNR   = PRPS-OBJNR
                 AND LEDNR   = '0001'        "Budget / Planning Ledger
                 AND TRGKZ   = 'N'           "Object indicator
                 AND WRTTP   = '01'          "Value Type
                 AND ( VERSN = '011'         "011 = Award
                    OR VERSN = '012'         "012 = Billing Authorization
                    OR VERSN = '013' ).      "013 = RA Authorization
                                             "010 = Funding Authorization
    Award                                                        Plan 11
              IF BPGE-VERSN = '011'.         "Plan 11 = Award
                CASE BPGE-VORGA.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_AWRD = ETAB-X_AWRD + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        IF prps-stufe eq '2'.
    Authorization (Revenue & Cost plan 12)                       Plan 12
              IF BPGE-VERSN = '012'.         "Plan 12 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P12R = ETAB-X_P12R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P12C = ETAB-X_P12C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
    Authorization (Revenue & Cost plan 13)                       Plan 13
              IF BPGE-VERSN = '013'.         "Plan 13 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P13R = ETAB-X_P13R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P13C = ETAB-X_P13C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        endif.
            ENDSELECT.                     "BPGE
      ENDIF.      "end of if prps-stufe eq 1. top-level WBS element
    COSP Table (External Postings)                     Awards
    COSP Table (External Postings)                     Billed Sales
    COSP Table (External Postings)                     DPC's & Legacy Load
            SELECT * FROM COSP
               WHERE OBJNR = PRPS-OBJNR    AND
                     GJAHR LE YEAR
             AND (
                 ( kstar = '0000400999'   and        "old CE for Award $
                   ( KSTAR BETWEEN '0000400990' AND '0000400999' AND
                     VERSN = '011'              AND    "11 = Award
                     WRTTP = '01' )                    "01 = Planned
              OR ( ( KSTAR BETWEEN '0000400001' AND '0000400989' OR
                     KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                     WRTTP = '04' )                    "04 = Actuals
              OR ( ( KSTAR BETWEEN '0000998001' AND '0000998010' OR
                     KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                     WRTTP = '04' )                    "04 = Actuals
    *------- Awards
           if cosp-kstar = '0000400999' and          "old 400999 = Awards
             IF COSP-KSTAR BETWEEN '0000400990' AND '0000400999' AND
                COSP-VERSN = '011'              AND    "11 = Award
                COSP-WRTTP = '01'.                     "01 = Planned
               IF YEAR       = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_AWRD = ETAB-X_AWRD + <MNT>.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_AWRD = ETAB-X_AWRD +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                 EXIT.
               ENDIF.
             ENDIF.
    *------- Billed Sales
             IF ( COSP-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSP-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSP-WRTTP = '04'.
                                     "0000999001 = ITD Sales
                                     "0000999003 = ITD Billed Revenue
                IF YEAR = COSP-GJAHR.
                  DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSP-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                      ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                      IF SY-INDEX = MONTH.
                         ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                  ENDDO.
                ELSEIF YEAR > COSP-GJAHR.
                  ETAB-X_ITDB = ETAB-X_ITDB -
                             COSP-WKG001 - COSP-WKG002 -
                             COSP-WKG003 - COSP-WKG004 -
                             COSP-WKG005 - COSP-WKG006 -
                             COSP-WKG007 - COSP-WKG008 -
                             COSP-WKG009 - COSP-WKG010 -
                             COSP-WKG011 - COSP-WKG012 -
                             COSP-WKG013 - COSP-WKG014 -
                             COSP-WKG015 - COSP-WKG016.
                ELSE.
                  EXIT.
                ENDIF.
             ENDIF.
    *------- DPC's & Legacy Load
             IF ( COSP-KSTAR BETWEEN '0000998001' AND '0000998010' OR
                  COSP-KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                  COSP-WRTTP = '04'.
               IF YEAR = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
           ENDSELECT.
    COOI Table (Commitments)              commitments for the WBS elements
           SELECT  * FROM COOI
             WHERE OBJNR =  PRPS-OBJNR.
               ETAB-X_COMM = ETAB-X_COMM + COOI-WTGBTR.
           ENDSELECT.
    COSS Table (External Postings)                    G&A on Commitments
    COSS Table (External Postings)                    Shared Billed Sales
    COSS Table (External Postings)                    Shared DPC's
    COSS Table (External Postings)                    Salary,ESE,OH, & G&A
           SELECT  *   FROM  COSS
             WHERE
              ( OBJNR =  PRPS-OBJNR AND
                WRTTP =  '22' )                         "G&A on Commitments
                    OR
              ( OBJNR =  PRPS-OBJNR AND
                GJAHR LE YEAR       AND
                WRTTP = '04'        AND                 "04 = Actuals
                   (                                   "Shared Billed Sales
                     (   KSTAR BETWEEN '0000400001' AND '0000400989' OR
                         KSTAR BETWEEN '0000999001' AND '0000999003' )
                     OR                                "Shared DPC's
                     (   KSTAR BETWEEN '0000600001' AND '0000601999' )
                     OR                                "Salary,ESE,OH, & G&A
                     ( ( KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                         KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                         KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                         KSTAR BETWEEN '0000002800' AND '0000002899' ) )
                  and  parob not like 'PR%' ) "commented out on 4/19/2000
    *------- G&A on Commitments    (NOTE: data is always as of the RUN date)
             IF  COSS-WRTTP = '22'.
                   ETAB-X_COMM = ETAB-X_COMM +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
             ENDIF.
    *------- Shared Billed Sales
             IF ( COSS-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSS-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                        ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDB = ETAB-X_ITDB -
                               COSS-WKG001 - COSS-WKG002 -
                               COSS-WKG003 - COSS-WKG004 -
                               COSS-WKG005 - COSS-WKG006 -
                               COSS-WKG007 - COSS-WKG008 -
                               COSS-WKG009 - COSS-WKG010 -
                               COSS-WKG011 - COSS-WKG012 -
                               COSS-WKG013 - COSS-WKG014 -
                               COSS-WKG015 - COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Shared DPC's
             IF COSS-KSTAR BETWEEN '0000600001' AND '0000601999' AND
                COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                       ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Salary,ESE,OH,& G&A
             IF ( COSS-KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                  COSS-KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                  COSS-KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                  COSS-KSTAR BETWEEN '0000002800' AND '0000002899' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSS-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
                      ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
                      IF SY-INDEX = MONTH.
                          ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDC = ETAB-X_ITDC +
                               COSS-WKG001 + COSS-WKG002 +
                               COSS-WKG003 + COSS-WKG004 +
                               COSS-WKG005 + COSS-WKG006 +
                               COSS-WKG007 + COSS-WKG008 +
                               COSS-WKG009 + COSS-WKG010 +
                               COSS-WKG011 + COSS-WKG012 +
                               COSS-WKG013 + COSS-WKG014 +
                               COSS-WKG015 + COSS-WKG016.
               ELSE.
                 EXIT.
                ENDIF.
             ENDIF.
            ENDSELECT.
    COSB Table (Results from running RA)                    Unbilled Sales
            SELECT * FROM COSB
               WHERE OBJNR = PRPS-OBJNR
                 AND KSTAR BETWEEN '0000003004' AND '0000003005'
                                   "0000003004 = Unbilled Revenue
                                   "0000003005 = Unearned Revenue
                 AND GJAHR LE YEAR
                 AND WRTTP = '32'.                    "32 = Results Analysis
               IF YEAR = COSB-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSB-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDS = ETAB-X_ITDS - <MNT>.
                        ETAB-X_YTDS = ETAB-X_YTDS - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHS = ETAB-X_MTHS - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSB-GJAHR.
                 ETAB-X_ITDS = ETAB-X_ITDS -
                               COSB-WKG001 - COSB-WKG002 -
                               COSB-WKG003 - COSB-WKG004 -
                               COSB-WKG005 - COSB-WKG006 -
                               COSB-WKG007 - COSB-WKG008 -
                               COSB-WKG009 - COSB-WKG010 -
                               COSB-WKG011 - COSB-WKG012 -
                               COSB-WKG013 - COSB-WKG014 -
                               COSB-WKG015 - COSB-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
            ENDSELECT.
      ENDSELECT.               "End of WBS records (from PRPS) for project
    Get Total Sales by adding Billed Sales to Unbilled Sales.
       ETAB-X_ITDS  =  ETAB-X_ITDS  +  ETAB-X_ITDB.
       ETAB-X_YTDS  =  ETAB-X_YTDS  +  ETAB-X_YTDB.
       ETAB-X_MTHS  =  ETAB-X_MTHS  +  ETAB-X_MTHB.
       IF  HOLD_PRART IN EXTRTYP.   "Matches the user requested project type
         IF  OPT1 EQ 'X' OR         "All projects
           ( OPT2 EQ 'X' AND        "Only active projects
             ETAB-X_STAT NE  'TECO' AND
             ETAB-X_STAT NE  'CLSD' ).
               TOTAL_AWARD      = TOTAL_AWARD      + ETAB-X_AWRD.
               TOTAL_AUTHR12    =   TOTAL_AUTHR12    + ETAB-X_P12R .
              TOTAL_AUTHC12    = TOTAL_AUTHC12    + ETAB-X_P12C.
               TOTAL_AUTHR13    = TOTAL_AUTHR13    + ETAB-X_P13R.
               TOTAL_AUTHC13    = TOTAL_AUTHC13    + ETAB-X_P13C.
               TOTAL_ITDSALES   = TOTAL_ITDSALES   + ETAB-X_ITDS.
               TOTAL_ITDCOSTS   = TOTAL_ITDCOSTS   + ETAB-X_ITDC.
               TOTAL_YTDSALES   = TOTAL_YTDSALES   + ETAB-X_YTDS.
               TOTAL_YTDCOSTS   = TOTAL_YTDCOSTS   + ETAB-X_YTDC.
               TOTAL_MTHSALES   = TOTAL_MTHSALES   + ETAB-X_MTHS.
               TOTAL_MTHCOSTS   = TOTAL_MTHCOSTS   + ETAB-X_MTHC.
               TOTAL_ITDBILLED  = TOTAL_ITDBILLED  + ETAB-X_ITDB.
               TOTAL_YTDBILLED  = TOTAL_YTDBILLED  + ETAB-X_YTDB.
               TOTAL_MTHBILLED  = TOTAL_MTHBILLED  + ETAB-X_MTHB.
               TOTAL_COMMITMENT = TOTAL_COMMITMENT + ETAB-X_COMM.
               PERFORM SHIFT_SIGN.
               APPEND  ETAB.              "Write data to internal table
               CLEAR   ETAB.
               COUNT_PROJECTS = COUNT_PROJECTS + 1. "Count # of Projects
         ENDIF.
       ENDIF.
       ENDSELECT.
    ENDSELECT.                          "End of Projects from PROJ table
      PERFORM GRAND_TOTALS.
      SORT  ETAB  BY  X_BU X_PROJ.
      ETAB-X_BU    = 'BU'.
      ETAB-X_CNTR  = 'PrftCntr'.
      ETAB-X_PROJ  = 'Proj'.
      ETAB-X_CREP  = 'Contract Mgr'.
      ETAB-X_BDREP = 'Account Mgr'.
      ETAB-X_GRPH  = 'Technical Lead'.
      ETAB-X_ACTREP = 'Key Person1'.
      ETAB-X_PMGR  = 'Program Mgr'.
      ETAB-X_TTLE  = 'Title'.
      ETAB-X_CLNT  = 'Client'.
      ETAB-X_POCN  = 'Contract #'.
      ETAB-X_TYPE  = 'Type'.
      ETAB-X_OPEN  = 'Open'.
      ETAB-X_CLOSE = 'Close'.
      ETAB-X_CGT   = 'CGT'.
      ETAB-X_DISTR = 'DC'.
      ETAB-X_CONTR = 'Contr%'.
      ETAB-X_AWRD  = 'Award'.
      ETAB-X_P12R  = 'Auth12 Sales'.
      ETAB-X_P12C  = 'Auth12 Cost'.
      ETAB-X_P13R  = 'Auth13 Sales'.
      ETAB-X_P13C  = 'Auth13 Cost'.
      ETAB-X_ITDS  = 'ITD Sales'.
      ETAB-X_ITDC  = 'ITD Costs'.
      ETAB-X_YTDS  = 'YTD Sales'.
      ETAB-X_YTDC  = 'YTD Costs'.
      ETAB-X_MTHS  = 'Mth Sales'.
      ETAB-X_MTHC  = 'Mth Costs'.
      ETAB-X_ITDB  = 'ITD Billed'.
      ETAB-X_YTDB  = 'YTD Billed'.
      ETAB-X_MTHB  = 'Mth Billed'.
      ETAB-X_COMM  = 'Commitments'.
      ETAB-X_STAT  = 'Status'.
      INSERT ETAB  INDEX 1.    "Write a report header line to internal table
      CLEAR  ETAB.
    CALL FUNCTION 'Z_RH_START_EXCEL_DATA_OLE'
        EXPORTING
           data_name = 'C:\WINNT\Profiles\cbraswell\Desktop\TestTemp.xlt'
             DATA_NAME          = 'ZSales.XLS'
             DATA_PATH_FLAG     = 'W'
             DATA_TYPE          = 'DAT'
             DATA_BIN_FILE_SIZE = 'ZSales'
             CHART_TITLE        = 'ZSales'
             CHART_TYPE         = 2
             CATEGORY_TITLE     = 'ZSales'
             VALUE_TITLE        = 'ZSales'
             DATA_XTOP_COR      = 0
             DATA_YTOP_COR      = 0
             DATA_XBOT_COR      = 0
             DATA_YBOT_COR      = 0
             CATEGORY_XTOP_COR  = 0
             CATEGORY_YTOP_COR  = 0
             CATEGORY_XBOT_COR  = 0
             CATEGORY_YBOT_COR  = 0
         TABLES
              DATA_TAB           =    ETAB
         EXCEPTIONS
              NO_BATCH           = 1
              DOWNLOAD_ERROR     = 2
              INVALID_TYPE       = 3
              INTERNAL_ERROR     = 4
              NO_OLE_SUPPORT     = 5
              OLE_FILE_ERROR     = 6
              OLE_ERROR          = 7
              NO_DATA            = 8
              COORDINATE_ERROR   = 9
              OTHERS             = 10.
    Negative # sign in the front of number for downloading to Excel
    FORM  SHIFT_SIGN.
      IF ETAB-X_AWRD CA '-'.    SHIFT ETAB-X_AWRD RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12R CA '-'.    SHIFT ETAB-X_P12R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12C CA '-'.    SHIFT ETAB-X_P12C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13R CA '-'.    SHIFT ETAB-X_P13R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13C CA '-'.    SHIFT ETAB-X_P13C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDS CA '-'.    SHIFT ETAB-X_ITDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDIC CA '-'.   SHIFT ETAB-X_ITDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDC CA '-'.    SHIFT ETAB-X_ITDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDS CA '-'.    SHIFT ETAB-X_YTDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDC CA '-'.    SHIFT ETAB-X_YTDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDIC CA '-'.   SHIFT ETAB-X_YTDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_MTHS CA '-'.    SHIFT ETAB-X_MTHS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHC CA '-'.    SHIFT ETAB-X_MTHC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHIC CA '-'.   SHIFT ETAB-X_MTHIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDB CA '-'.    SHIFT ETAB-X_ITDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDB CA '-'.    SHIFT ETAB-X_YTDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHB CA '-'.    SHIFT ETAB-X_MTHB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_COMM CA '-'.    SHIFT ETAB-X_COMM RIGHT CIRCULAR.     ENDIF.
    ENDFORM.
    FORM  GRAND_TOTALS.
    SKIP 1.    .
    WRITE: / '----
    WRITE: / 'System ID                  = ', SY-SYSID,
           / 'Client                     = ', SY-MANDT,
           / 'User                       = ', SY-UNAME,
           / 'Date of data extract       = ', SY-DATUM ,
           / 'Number of Projects          =           ',   COUNT_PROJECTS,
           / 'total Award      (Plan 11)  = ', TOTAL_AWARD,
           / 'total Auth Sales

    Hi all,
        Iam really waiting for someone to see and  get the logic right  for this code.Iam completely stuck up.  i need ur help
    Thanks

  • Help Needed - FINAL PROJECT - SAAJ MESSAGING

    Hi there!
    currently im doing my final project and it involves sending and receiving soap messages.
    im working with sun java studio creator for the first time.
    i have done this example (excuse me for possible dumb errors im just a noobie):
    * Page1.java
    * Created on 6 de Novembro de 2006, 12:40
    package webapplication1;
    import com.sun.rave.web.ui.appbase.AbstractPageBean;
    import com.sun.rave.web.ui.component.Body;
    import com.sun.rave.web.ui.component.Form;
    import com.sun.rave.web.ui.component.Head;
    import com.sun.rave.web.ui.component.Html;
    import com.sun.rave.web.ui.component.Link;
    import com.sun.rave.web.ui.component.Page;
    import javax.faces.FacesException;
    import com.sun.rave.web.ui.component.Button;
    import com.sun.rave.web.ui.component.TextArea;
    //soap saaj
    import javax.xml.*;
    import javax.xml.soap.*;
    import java.net.URL;
    import java.net.*;
    import java.util.*;
    import javax.xml.soap.SOAPConnectionFactory;
    import javax.xml.soap.SOAPConnection;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPPart;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.SOAPElement;
    // add this import if you need soapaction
    import javax.xml.soap.MimeHeaders;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamResult;
    import com.sun.xml.messaging.saaj.*;
    import java.net.URL;
    import javax.xml.soap.*;
    import java.util.Iterator;
    import javax.xml.soap.Name;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.SOAPPart;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPBodyElement;
    import javax.xml.messaging.ReqRespListener;
    import java.text.NumberFormat;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamResult;
    import com.sun.xml.messaging.saaj.*;
    * <p>Page bean that corresponds to a similarly named JSP page. This
    * class contains component definitions (and initialization code) for
    * all components that you have defined on this page, as well as
    * lifecycle methods and event handlers where you may add behavior
    * to respond to incoming events.</p>
    import javax.xml.messaging.JAXMServlet;
    //extends JAXMServlet
    public class Page1 extends AbstractPageBean implements ReqRespListener{
    // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Definition">
    private int __placeholder;
    * <p>Automatically managed component initialization. <strong>WARNING:</strong>
    * This method is automatically generated, so any user-specified code inserted
    * here is subject to being replaced.</p>
    private void _init() throws Exception {
    private Page page1 = new Page();
    public Page getPage1() {
    return page1;
    public void setPage1(Page p) {
    this.page1 = p;
    private Html html1 = new Html();
    public Html getHtml1() {
    return html1;
    public void setHtml1(Html h) {
    this.html1 = h;
    private Head head1 = new Head();
    public Head getHead1() {
    return head1;
    public void setHead1(Head h) {
    this.head1 = h;
    private Link link1 = new Link();
    public Link getLink1() {
    return link1;
    public void setLink1(Link l) {
    this.link1 = l;
    private Body body1 = new Body();
    public Body getBody1() {
    return body1;
    public void setBody1(Body b) {
    this.body1 = b;
    private Form form1 = new Form();
    public Form getForm1() {
    return form1;
    public void setForm1(Form f) {
    this.form1 = f;
    private Button button1 = new Button();
    public Button getButton1() {
    return button1;
    public void setButton1(Button b) {
    this.button1 = b;
    private TextArea textArea1 = new TextArea();
    public TextArea getTextArea1() {
    return textArea1;
    public void setTextArea1(TextArea ta) {
    this.textArea1 = ta;
    private TextArea textArea2 = new TextArea();
    public TextArea getTextArea2() {
    return textArea2;
    public void setTextArea2(TextArea ta) {
    this.textArea2 = ta;
    // </editor-fold>/*
    public MessageFactory messageFactSent= null;
    public MessageFactory messageFactReply=null;
    public MessageFactory messageFactReceiv= null;
    public SOAPConnectionFactory soapConnectionFact;
    public URL URLendpoint;
    public SOAPConnection connection ;
    public SOAPMessage messageSent;
    public SOAPPart soapPartSent;
    public SOAPEnvelope soapEnvelopeSent;
    public SOAPBody SoapBodySent;
    public SOAPMessage messageReceiv;
    public SOAPPart soapPartReceiv;
    public SOAPEnvelope soapEnvelopeReceiv;
    public SOAPBody SoapBodyReceiv;
    public SOAPMessage messageReply;
    public SOAPPart soapPartReply;
    public SOAPEnvelope soapEnvelopeReply;
    public SOAPBody SoapBodyReply;
    public SOAPMessage reply;
    public String StringAux="";
    public final String theURI = "http://172.16.5.223:8080/WebApplication1/";
    //public final String theURI = "http://172.16.5.223:8080/WebApplication1/";
    //public final String theURI = "http://172.16.5.193:8080/WebApplication1/";
    //http://localhost:8080/WebApplication1/faces/Page1.jsp
    public SOAPMessage onMessage(SOAPMessage message) {
    StringAux=StringAux+"On message called in receiving servlet\n";
    this.textArea1.setValue(StringAux);
    try {
    soapPartReceiv = message.getSOAPPart( );
    soapEnvelopeReceiv = soapPartReceiv.getEnvelope();
    SoapBodyReceiv = soapEnvelopeReceiv.getBody();
    //analise...if needed
    // Create the reply message
    messageReply = messageFactReply.createMessage();
    soapEnvelopeReply = messageReply.getSOAPPart().getEnvelope();
    SoapBodyReply= soapEnvelopeReply.getBody();
    // Remove empty header from the Envelope
    soapEnvelopeReply.getHeader().detachNode();
    Name bodyName = soapEnvelopeReply.createName("GetLastTradePrice",
    "m", "http://wombat.ztrade.com");
    SOAPBodyElement gltp = SoapBodyReply.addBodyElement(bodyName);
    Name name = soapEnvelopeReply.createName("symbol");
    SOAPElement symbol = gltp.addChildElement(name);
    symbol.addTextNode("SUNW");
    // Return a reply message back to the JAXM client
    StringAux=StringAux+"devolveu menssagem\n";
    this.textArea1.setValue(StringAux);
    return messageReply ;
    } catch(Exception e) {
    StringAux=StringAux+"Error in processi ng or replying to a message - e: " + e+"\n";
    this.textArea1.setValue(StringAux);
    return null;
    //this.getBean(name)
    public Page1() {
    // Service serve=new Service();
    // Client cli=new Client();
    // this.textArea1.setValue(serve.GetAux());
    // this.textArea2.setValue(cli.GetAux());
    // Create a MessageFactory
    try {
    URLendpoint=new URL(theURI);
    StringAux=StringAux+"depois de criar o endpoint \n";
    //Create SOAP connection
    soapConnectionFact = SOAPConnectionFactory.newInstance();
    connection = soapConnectionFact.createConnection();
    // Create a message from the message factory.
    messageFactSent = MessageFactory.newInstance();
    messageFactReply = MessageFactory.newInstance();
    messageFactReceiv = MessageFactory.newInstance();
    StringAux=StringAux+"depois de criar as message factory \n";
    this.textArea1.setValue(StringAux);
    } catch(Throwable e) {
    StringAux="erro2!\n"+StringAux+e.toString()+"\n";
    this.textArea1.setValue(StringAux);
    * <p>Return a reference to the scoped data bean.</p>
    protected ApplicationBean1 getApplicationBean1() {
    return (ApplicationBean1)getBean("ApplicationBean1");
    * <p>Return a reference to the scoped data bean.</p>
    protected RequestBean1 getRequestBean1() {
    return (RequestBean1)getBean("RequestBean1");
    * <p>Return a reference to the scoped data bean.</p>
    protected SessionBean1 getSessionBean1() {
    return (SessionBean1)getBean("SessionBean1");
    * <p>Callback method that is called whenever a page is navigated to,
    * either directly via a URL, or indirectly via page navigation.
    * Customize this method to acquire resources that will be needed
    * for event handlers and lifecycle methods, whether or not this
    * page is performing post back processing.</p>
    * <p>Note that, if the current request is a postback, the property
    * values of the components do <strong>not</strong> represent any
    * values submitted with this request. Instead, they represent the
    * property values that were saved for this view when it was rendered.</p>
    public void init() {
    // Perform initializations inherited from our superclass
    super.init();
    // Perform application initialization that must complete
    // before managed components are initialized
    // TODO - add your own initialiation code here
    // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
    // Initialize automatically managed components
    // Note - this logic should NOT be modified
    try {
    _init();
    } catch (Exception e) {
    log("Page1 Initialization Failure", e);
    throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
    // </editor-fold>
    // Perform application initialization that must complete
    // after managed components are initialized
    // TODO - add your own initialization code here
    * <p>Callback method that is called after the component tree has been
    * restored, but before any event processing takes place. This method
    * will <strong>only</strong> be called on a postback request that
    * is processing a form submit. Customize this method to allocate
    * resources that will be required in your event handlers.</p>
    public void preprocess() {
    * <p>Callback method that is called just before rendering takes place.
    * This method will <strong>only</strong> be called for the page that
    * will actually be rendered (and not, for example, on a page that
    * handled a postback and then navigated to a different page). Customize
    * this method to allocate resources that will be required for rendering
    * this page.</p>
    public void prerender() {
    * <p>Callback method that is called after rendering is completed for
    * this request, if <code>init()</code> was called (regardless of whether
    * or not this was the page that was actually rendered). Customize this
    * method to release resources acquired in the <code>init()</code>,
    * <code>preprocess()</code>, or <code>prerender()</code> methods (or
    * acquired during execution of an event handler).</p>
    public void destroy() {
    public String button1_action() {
    try {
    StringAux=StringAux+"antes de criar a messagem para enviar\n";
    messageSent = messageFactSent.createMessage();
    soapEnvelopeSent = messageSent.getSOAPPart().getEnvelope();
    //SoapBodySent = messageSent.getSOAPPart().getEnvelope().getBody();
    SoapBodySent = soapEnvelopeSent.getBody();
    Name bodyName = soapEnvelopeSent .createName("GetLastTradePrice",
    "m", "http://wombat.ztrade.com");
    SOAPBodyElement gltp = SoapBodySent.addBodyElement(bodyName);
    Name name = soapEnvelopeSent.createName("symbol");
    SOAPElement symbol = gltp.addChildElement(name);
    symbol.addTextNode("SUNW");
    StringAux=StringAux+"\nContent of the message: \n"+messageSent.toString()+"\n";
    // Send the SOAP message and get reply
    StringAux=StringAux+"Sending message to URL: \n"+ URLendpoint+"\n"+this.URLendpoint.getPath()+"\n";
    reply = connection.call(messageSent,URLendpoint);
    StringAux=StringAux+"\n\n Content of the reply message: \n"+reply.toString()+"\n";
    this.textArea1.setValue(StringAux);
    //tratamento da resposta
    connection.close();
    } catch(Throwable e) {
    StringAux="erro!\n"+StringAux+e.toString()+"\n";
    this.textArea1.setValue(StringAux);
    return null;
    Very simple , on a click of the button a message was supost to be sent. and receive on the other machine. i have launched the same war file on both pcs
    but now nothing happens just a exception message
    com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:text/html. Is this an error message instead of a SOAP
    ....could someone help me out here ,even share a wprking project with this goal
    thank you in advance
    DMS
    Message was edited by:
    DaniDaOne

    One time, after quitting IM and re-launching it later, my project disappeared from the project list.
    Apple Support told me to do this.
    1) quit IM
    2) with the finder, move the project out of the project directory
    3) launch IM
    4) quit IM
    5) with the finder, put the project back into the project directory
    6) launch IM
    My project re-appeared. He said these steps forces a project index to be rebuilt.
    Your symptoms are different but maybe the cure is the same --- good luck.

  • Help needed with project

    Hello everyone. Some help would be appreciated. I have created a wildlife resort database with access.
    It has an animals table with 5 entries, a species table with 3 entries and a user table with 3 entries.
    I have set up a JDBC-ODBC bridge.
    The server side of this application when run gets stuck upon pressing connect the first time so I have to run the server again while the first server window is running in the background and press connect for it to start running. The server works just fine after that. I can add and remove from the tables using the server.
    When I run the client and try to connect it, it doesn't accept the hostname. I can't connect or log in.
    I think the problem is with the threads but I'm not sure what to do to fix it.
    Also I use java beans for coding.
    These are some errors I get when running the client:
    java.lang.IllegalThreadStateException
    at java.lang.ThreadGroup.add(ThreadGroup.java:856)
    at java.lang.Thread.start(Thread.java:573)
    at org.apache.tools.ant.taskdefs.ProcessDestroyer.removeShutdownHook(ProcessDestroyer.java:145)
    at org.apache.tools.ant.taskdefs.ProcessDestroyer.remove(ProcessDestroyer.java:198)
    at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:487)
    at org.apache.tools.ant.taskdefs.Java.fork(Java.java:746)
    at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:170)
    at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    at org.apache.tools.ant.Task.perform(Task.java:364)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:64)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    at org.apache.tools.ant.Task.perform(Task.java:364)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:377)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    at org.apache.tools.ant.Task.perform(Task.java:364)
    at org.apache.tools.ant.Target.execute(Target.java:341)
    at org.apache.tools.ant.Target.performTasks(Target.java:369)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
    at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:217)
    at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:236)
    at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:125)
    Exception in thread "Thread-7" java.lang.NullPointerException
    at Client.Connect.connecting(Connect.java:45)
    at Client.ClientGUI.run(ClientGUI.java:214)
    at java.lang.Thread.run(Thread.java:595)
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Client.Connect.userPass(Connect.java:206)
    at Client.ClientGUI.actionPerformed(ClientGUI.java:164)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1766)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    These are the classes I have created:
    On the client side:
    //imports needed for the GUI and I/O Operations
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import java.io.*;
    public class ClientGUI extends JFrame implements ActionListener, Runnable {
    JPanel pane = new JPanel();
    //Create the Menubar Items
    JMenuBar bar = new JMenuBar();
    JMenu jMenu1 = new JMenu();
    JMenu jMenu2 = new JMenu();
    JMenu jMenu3 = new JMenu();
    JMenuItem Exit = new JMenuItem();
    JMenuItem Open = new JMenuItem();
    JMenuItem Close = new JMenuItem();
    JMenuItem Find = new JMenuItem();
    static JMenuItem Add = new JMenuItem();
    static JMenuItem Remove = new JMenuItem();
    static JMenuItem Connect1 = new JMenuItem();
    static JMenuItem Disconnect = new JMenuItem();
    static JMenuItem Login = new JMenuItem();
    static JMenuItem Logout = new JMenuItem();
    static boolean check = true;
    static JLabel running = new JLabel("You are not Connected");
    //Creates the animal JTable and adds it to a scrollpane
    public static String[] animalH = {"Id" , "Name" , "Description" , "Species Id"};
    public static Object rows1 [] [] = new Object[40][4];
    public static JTable animal = new JTable(rows1 , animalH);
    JScrollPane animalP;
    //Creates the species JTable and adds it to a scrollpane
    public static String[] speciesH = {"Species Id" , "Species Name"};
    public static Object rows2 [] [] = new Object[40][2];
    public static JTable species = new JTable(rows2 , speciesH);
    JScrollPane speciesP;
    public static Thread runner;
    //Declares Globale variables
    static int currentT;
    int respones;
    static String hostname;
    static boolean connected = false;
    /** Creates a new instance of ClientGUI */
    public ClientGUI() {
    super("SA Wildlife -- Client");
    setSize(800 , 600);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    getContentPane().add(running , BorderLayout.SOUTH);
    Add.setEnabled(false);
    Remove.setEnabled(false);
    Logout.setEnabled(false);
    Disconnect.setEnabled(false);
    try {
    jbInit();
    }catch(Exception e) {
    e.printStackTrace();
    addListener();
    setJMenuBar(bar);
    setVisible(true);
    //Add the actionListeners to the components
    public void addListener(){
    Open.addActionListener(this);
    Close.addActionListener(this);
    Exit.addActionListener(this);
    Connect1.addActionListener(this);
    Disconnect.addActionListener(this);
    Find.addActionListener(this);
    Login.addActionListener(this);
    Logout.addActionListener(this);
    Add.addActionListener(this);
    Remove.addActionListener(this);
    //Add the actions which the components must perform
    public void actionPerformed(ActionEvent evt){
    Object s = evt.getSource();
    if (s == Open){
    choice();
    Close();
    if (respones == 0){
    currentT = 1;
    clearTableAnimals();
    Connect.allAnimal();
    animal = new JTable(rows1, animalH);
    animalP = new JScrollPane(animal);
    getContentPane().add(animalP, BorderLayout.CENTER);
    setVisible(true);
    }else if (respones == 1 ){
    currentT = 2;
    clearTableSpecies();
    Connect.allSpecies();
    species = new JTable(rows2 , speciesH);
    speciesP = new JScrollPane(species);
    getContentPane().add(speciesP, BorderLayout.CENTER);
    setVisible(true);
    }else if (s == Close){
    Close();
    }else if (s == Exit){
    exit();
    }else if (s == Connect1){
    hostname = JOptionPane.showInputDialog(null , "Please enter Hostname");
    if (check = true){
    runner = new Thread(this);
    runner.start();
    Connect1.setEnabled(false);
    Disconnect.setEnabled(true);
    }else if (s == Disconnect){
    Connect.out.println("Bye");
    runner = null;
    try {
    Connect.out.close();
    Connect.in.close();
    Connect.clientSocket.close();
    } catch (IOException ioe) {
    JOptionPane.showMessageDialog(null,
    "Error " + ioe.toString(),
    "IO Exception",
    JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    }else if (s == Find){
    choice();
    Close();
    if (respones == 0){
    currentT = 1;
    String Aname = JOptionPane.showInputDialog(null , "Enter Animal name to find ");
    clearTableAnimals();
    Connect.findAnimal(Aname);
    animal = new JTable(rows1, animalH);
    animalP = new JScrollPane(animal);
    getContentPane().add(animalP, BorderLayout.CENTER);
    setVisible(true);
    }else{
    currentT = 2;
    String Sname = JOptionPane.showInputDialog(null , "Enter Species name to find ");
    clearTableSpecies();
    Connect.findSpecies(Sname);
    species = new JTable(rows2 , speciesH);
    speciesP = new JScrollPane(species);
    getContentPane().add(speciesP, BorderLayout.CENTER);
    setVisible(true);
    }else if( s== Login){
    String name = JOptionPane.showInputDialog(null , "Please enter a UserName");
    String password = JOptionPane.showInputDialog(null , "Please enter a Password");
    Connect.userPass(name , password);
    }else if (s == Logout){
    Logout();
    }else if (s== Add){
    choice();
    Close();
    if(respones == 0){
    currentT = 1;
    String id = JOptionPane.showInputDialog(null , "Enter an Animal id");
    String name = JOptionPane.showInputDialog(null , "Enter an Animal Name");
    String desc = JOptionPane.showInputDialog(null , "Enter an Animal Description");
    String speciesid = JOptionPane.showInputDialog(null , "Enter an Animal species id");
    clearTableAnimals();
    Connect.toAddAnimal(id , name , desc , speciesid);
    Connect.allAnimal();
    animal = new JTable(rows1, animalH);
    animalP = new JScrollPane(animal);
    getContentPane().add(animalP, BorderLayout.CENTER);
    setVisible(true);
    }else{
    currentT = 2;
    String id = JOptionPane.showInputDialog(null , "Enter a Species id");
    String name = JOptionPane.showInputDialog(null , "Enter a Species name");
    clearTableSpecies();
    Connect.toAddSpecies(id , name);
    Connect.allSpecies();
    species = new JTable(rows2 , speciesH);
    speciesP = new JScrollPane(species);
    getContentPane().add(speciesP, BorderLayout.CENTER);
    setVisible(true);
    }else if (s == Remove){
    choice();
    Close();
    if(respones == 0){
    currentT = 1;
    String id = JOptionPane.showInputDialog(null , "Enter an Animal id to Remove");
    Connect.toRemoveAnimal(id);
    }else{
    currentT = 2;
    String id = JOptionPane.showInputDialog(null , "Enter a Species id to Remove");
    Connect.toRemoveSpecies(id);
    public void run() {
    Connect connect = new Connect();
    while (runner != null) {
    try {
    connect.connecting();
    catch (IOException ioe) {
    System.out.println("Error: " + ioe);
    ClientGUI.running.setText("You are now connected");
    //Method the creates the dialog box for the user to choose what he wants to do
    void exit(){
    String [] option = { "Exit" , "Minimize" , "Cancel" };
    int which = JOptionPane.showOptionDialog(null , "Sure you want to exit"
    , "Exiting" , 0 , JOptionPane.WARNING_MESSAGE ,
    null , option , option[2] );
    if (which == 0){
    System.exit(1);
    }else if (which == 1){
    setState(JFrame.ICONIFIED);
    }else{}
    //Closes the current table on the panel
    public void Close(){
    if(currentT == 1){
    animalP.setVisible(false);
    }else if (currentT == 2){
    speciesP.setVisible(false);
    }else{}
    //Method that give the user a choice on which table to perform actions on
    public void choice(){
    String[] choices = {"Animals" , "Species"};
    respones = JOptionPane.showOptionDialog(null ,
    "Please select Table" , "Table" , 0 , JOptionPane.INFORMATION_MESSAGE ,
    null , choices , choices[1] );
    //Clears the Species table
    public void clearTableSpecies(){
    for (int i = 0; i < 40; i++){
    rows2[0] = "";
    rows2[i][1] = "";
    //Clears the Animal table
    public void clearTableAnimals(){
    for (int i = 0; i < 40; i++){
    rows1[i][0] = "";
    rows1[i][1] = "";
    rows1[i][2] = "";
    rows1[i][3] = "";
    //Method for the Logout button
    public void Logout(){
    JOptionPane.showMessageDialog(null , "You are now logged out ");
    Login.setEnabled(true);
    Add.setEnabled(false);
    Remove.setEnabled(false);
    Logout.setEnabled(false);
    //Main Methof
    public static void main(String[] args) {
    ClientGUI GUI1 = new ClientGUI();
    // Adds all components to the panel
    private void jbInit() throws Exception {
    jMenu1.setText("File");
    Exit.setText("Exit");
    jMenu2.setText("Table Action");
    Open.setText("Open Table");
    Add.setText("Add to Table");
    Remove.setText("Remove from Table");
    Find.setText("Find In table");
    Close.setText("Close Current");
    jMenu3.setText("Client");
    Connect1.setText("Connect");
    Disconnect.setText("Disconnect");
    Login.setText("Login");
    Logout.setText("Logout");
    bar.add(jMenu1);
    bar.add(jMenu2);
    bar.add(jMenu3);
    jMenu1.add(Exit);
    jMenu2.add(Open);
    jMenu2.add(Add);
    jMenu2.add(Remove);
    jMenu2.add(Find);
    jMenu2.add(Close);
    jMenu3.add(Connect1);
    jMenu3.add(Disconnect);
    jMenu3.add(Login);
    jMenu3.add(Logout);
    package Client;
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import java.util.*;
    public class Connect {
    static public Socket clientSocket = null;
    static public PrintWriter out = null;
    static public BufferedReader in = null;
    public void connecting() throws IOException {
    try{
    clientSocket = new Socket(ClientGUI.hostname , 1234);
    out = new PrintWriter(clientSocket.getOutputStream() , true);
    in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
    }catch (UnknownHostException e){
    JOptionPane.showMessageDialog(null , "Dont know about host");
    ClientGUI.check = false;
    ClientGUI.Connect1.setEnabled(true);
    ClientGUI.Disconnect.setEnabled(false);
    ClientGUI.runner = null;
    }catch(IOException i){
    ClientGUI.check = false;
    JOptionPane.showMessageDialog(null,"Couldnt get i/O for the connection to 127.0.0.0.1");
    ClientGUI.Connect1.setEnabled(true);
    ClientGUI.Disconnect.setEnabled(false);
    ClientGUI.runner = null;
    if (ClientGUI.check = true){
    String fromServer;
    StringTokenizer token1;
    String First;
    String Second;
    String Third;
    while ( (fromServer = in.readLine()) != null) {
    System.out.println("From SerVer ---------------> " + fromServer);
    token1 = new StringTokenizer(fromServer, "%");
    StringTokenizer token2;
    StringTokenizer token3;
    First = token1.nextToken();
    System.out.println("First ------- > " + First);
    if (First.equalsIgnoreCase("SelectedAnimal")) {
    System.out.println("IT's ON ");
    Second = token1.nextToken();
    System.out.println("Second ----> " + Second);
    int y = 0;
    int x = 0;
    System.out.println("In the 1while");
    token2 = new StringTokenizer(Second, "$");
    while (token2.hasMoreTokens()) {
    System.out.println("In the 2while");
    token3 = new StringTokenizer(token2.nextToken(), "@");
    x = 0;
    while (token3.hasMoreTokens()) {
    ClientGUI.rows1[y][x] = token3.nextToken();
    x++;
    y++;
    else if (First.equalsIgnoreCase("SelectedSpecies")) {
    System.out.println("IT's ON BITCH ");
    Second = token1.nextToken();
    System.out.println("Second ----> " + Second);
    int y = 0;
    int x = 0;
    System.out.println("In die 1while");
    token2 = new StringTokenizer(Second, "$");
    while (token2.hasMoreTokens()) {
    System.out.println("In die 2while");
    token3 = new StringTokenizer(token2.nextToken(), "@");
    x = 0;
    while (token3.hasMoreTokens()) {
    ClientGUI.rows2[y][x] = token3.nextToken();
    x++;
    y++;
    else if (First.equalsIgnoreCase("FoundAnimal")) {
    Second = token1.nextToken();
    if (! (Second.equalsIgnoreCase("NONE"))) {
    System.out.println("Second ----> " + Second);
    int y = 0;
    int x = 0;
    System.out.println("In the 1while");
    token2 = new StringTokenizer(Second, "$");
    while (token2.hasMoreTokens()) {
    System.out.println("In the 2while");
    token3 = new StringTokenizer(token2.nextToken(), "#@#");
    x = 0;
    while (token3.hasMoreTokens()) {
    ClientGUI.rows1[y][x] = token3.nextToken();
    x++;
    y++;
    else {
    JOptionPane.showMessageDialog(null,
    "Could not find Animal , Please try again");
    else if (First.equalsIgnoreCase("FoundSpecies")) {
    Second = token1.nextToken();
    if (! (Second.equalsIgnoreCase("NONE"))) {
    System.out.println("Second ----> " + Second);
    int y = 0;
    int x = 0;
    System.out.println("In die 1while");
    token2 = new StringTokenizer(Second, "$");
    while (token2.hasMoreTokens()) {
    System.out.println("In die 2while");
    token3 = new StringTokenizer(token2.nextToken(), "#@#");
    x = 0;
    while (token3.hasMoreTokens()) {
    ClientGUI.rows2[y][x] = token3.nextToken();
    x++;
    y++;
    else {
    JOptionPane.showMessageDialog(null,
    "Could not find Species , Please try again");
    else if (First.equalsIgnoreCase("FoundUser")) {
    System.out.println("From Server --- > " + First);
    String login = token1.nextToken();
    System.out.println("Find true or false ---- > " + login);
    if (login.equalsIgnoreCase("isUser")) {
    JOptionPane.showMessageDialog(null, "You are now logged in");
    ClientGUI.Add.setEnabled(true);
    ClientGUI.Remove.setEnabled(true);
    ClientGUI.Logout.setEnabled(true);
    ClientGUI.Login.setEnabled(false);
    else {
    JOptionPane.showMessageDialog(null,
    "Invalid Username or Password, Please try again");
    else if (First.equalsIgnoreCase("RecordAddedA")) {
    JOptionPane.showMessageDialog(null, "Record Added");
    else if (First.equalsIgnoreCase("RecordAddedS")) {
    JOptionPane.showMessageDialog(null, "Record Added");
    else if (First.equalsIgnoreCase("SQLE")) {
    System.out.println("ERROR SQL ERROR");
    else if (First.equalsIgnoreCase("Blah1")) {
    System.out.println("ERROR Ander ERROR");
    else if (First.equalsIgnoreCase("AnimalRemoved")) {
    JOptionPane.showMessageDialog(null, "Record Removed");
    else if (First.equalsIgnoreCase("SpeciesRemoved")) {
    JOptionPane.showMessageDialog(null, "Record Removed");
    }else{
    System.out.println("BLAAAAAAAAH");
    static public void Close() throws IOException{
    out.println("bye");
    ClientGUI.runner = null;
    ClientGUI.Disconnect.setEnabled(false);
    ClientGUI.Connect1.setEnabled(true);
    out.close();
    in.close();
    clientSocket.close();
    static public void allAnimal(){
    out.println("SELECTANIMALS");
    static public void allSpecies(){
    out.println("SELECTSPECIES");
    static public void findAnimal(String name){
    out.println("FINDANIMAL" + "@" + name);
    static public void findSpecies(String name){
    out.println("FINDSPECIES@" + name);
    static public void userPass(String name , String password){
    System.out.println("FINDUSER -----> " + name + " " + password);
    out.println("FINDUSER@" + name + "@" + password);
    static public void toAddAnimal(String id , String name , String desc , String species){
    out.println("toAddAnimal@" + id +"@" + name +"@" + desc +"@" + species );
    static public void toAddSpecies(String id , String name){
    out.println("toAddSpecies@" + id +"@" + name );
    static public void toRemoveAnimal(String id){
    out.println("toRemoveAnimal@" + id);
    static public void toRemoveSpecies(String id){
    out.println("toRemoveSpecies@" + id);
    On the server side:
    package Server;
    ////import everything necesary for the Database Connection
    import java.sql.*;
    import java.util.StringTokenizer;
    import javax.swing.*;
    import java.util.*;
    public class DatabaseConnect {
    //Declaration of Globale variables
    static int hoeveel = 0;
    static ResultSet rec ;
    static String bidData[] = new String[100];
    static String toSend[] = new String[100];
    //Connects the program to the database
    public DatabaseConnect() {
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String source = "jdbc:odbc:Database";
    Connection dbconnect = DriverManager.getConnection(source);
    Statement st = dbconnect.createStatement();
    }catch(ClassNotFoundException cnf){
    System.out.println("classNotFound" + cnf);
    }catch(SQLException se) {
    System.out.println("SqlExeption" + se);
    //Selects the data from the databas and adds the data to the tables
    public void open(){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String source = "jdbc:odbc:Database";
    Connection dbconnect = DriverManager.getConnection(source);
    Statement st = dbconnect.createStatement();
    if (ServerGUI.currentT == 1){
    hoeveel = 0;
    rec = st.executeQuery("SELECT * FROM ANIMALS");
    while (rec.next()) {
    bidData[hoeveel++] = rec.getString(1) + "@#@" +
    rec.getString(2) + "@#@" +
    rec.getString(3) + "@#@" +
    rec.getString(4);
    readintoTable1();
    }else if (ServerGUI.currentT == 2){
    hoeveel = 0;
    rec = st.executeQuery("SELECT * FROM SPECIES");
    while (rec.next()) {
    bidData[hoeveel++] = rec.getString(1) + "@#@" + rec.getString(2);
    readintoTable2();
    }else if(ServerGUI.currentT == 3){
    hoeveel = 0;
    rec = st.executeQuery("SELECT * FROM USER");
    while (rec.next()) {
    bidData[hoeveel++] = rec.getString(1) + "@#@" + rec.getString(2)
    + "@#@" + rec.getString(3);
    readintoTable3();
    }catch(ClassNotFoundException cnf){
    System.out.println("classNotFound" + cnf);
    }catch(SQLException se) {
    System.out.println("SqlExeption" + se);
    //Clean the table and reads the data into the animal table
    public void readintoTable1(){
    for(int a = 0; a < 40; a++){
    ServerGUI.rows1[a][0] = "";
    ServerGUI.rows1[a][1] = "";
    ServerGUI.rows1[a][2] = "";
    ServerGUI.rows1[a][3] = "";
    for (int i = 0; i < hoeveel; i++) {
    StringTokenizer str = new StringTokenizer(bidData[i], "@#@");
    ServerGUI.rows1[i][0] = str.nextToken();
    ServerGUI.rows1[i][1] = str.nextToken();
    ServerGUI.rows1[i][2] = str.nextToken();
    ServerGUI.rows1[i][3] = str.nextToken();
    //Clean the table and reads the data into the Species table
    public void readintoTable2(){
    for(int a = 0; a < 40; a++){
    ServerGUI.rows2[a][0] = "";
    ServerGUI.rows2[a][1] = "";
    for (int i = 0; i < hoeveel; i++) {
    StringTokenizer str = new StringTokenizer(bidData[i], "@#@");
    ServerGUI.rows2[i][0] = str.nextToken();
    ServerGUI.rows2[i][1] = str.nextToken();
    //Clean the table and reads the data into the User table
    public void readintoTable3(){
    for(int a = 0; a < 40; a++){
    ServerGUI.rows3[a][0] = "";
    ServerGUI.rows3[a][1] = "";
    ServerGUI.rows3[a][2] = "";
    for (int b = 0; b < hoeveel; b++) {
    StringTokenizer str = new StringTokenizer(bidData, "@#@");
    ServerGUI.rows3[b][0] = str.nextToken();
    ServerGUI.rows3[b][1] = str.nextToken();
    ServerGUI.rows3[b][2] = str.nextToken();
    //add animal information to the Animal table in the database
    public void addAnimal(String id , String name , String desc , String species_id){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String source = "jdbc:odbc:Database";
    Connection dbconnect = DriverManager.getConnection(source);
    Statement st = dbconnect.createStatement();
    int toAdd;
    String sqlstm = "INSERT INTO animals" + "(animal_id, animal_Name , description , species_id)" +
    "VALUES (" + id + ", '" + name + "', '" + desc + "', " + species_id + ")";
    toAdd = st.executeUpdate(sqlstm);
    dbconnect.close();
    JOptionPane.showMessageDialog(null , "New Record Added");
    ServerGUI.refreshAnimal();
    ServerGUI.currentT = 1;
    open();
    }catch(ClassNotFoundException cnf){
    JOptionPane.showMessageDialog(null,
    "Class Not Found -> " + cnf.toString(),
    "Error!!",
    JOptionPane.ERROR_MESSAGE);
    System.out.println("classNotFound" + cnf);
    }catch(SQLException se) {
    JOptionPane.showMessageDialog(null,
    "SQL Exception -> " + se.toString()
    + "\n Please make sure all data is entered correctly ",
    "Error!!",
    JOptionPane.ERROR_MESSAGE);
    System.out.println("SqlExeption" + se);
    //add animal information to the Species table in the database
    public void addSpecies(String id1 , String name1){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String source = "jdbc:odbc:Database";
    Connection dbconnect = DriverManager.getConnection(source);
    Statement st = dbconnect.createStatement();
    int toAdd;
    String sqlstm = "INSERT INTO species" + "(species_id, species_name)" +
    "VALUES ( '" + id1 + "', '" + name1 + "')";
    toAdd = st.executeUpdate(sqlstm);
    dbconnect.close();
    JOptionPane.showMessageDialog(null , "New Record Added");
    ServerGUI.refreshSpecies();
    ServerGUI.currentT = 2;
    open();
    }catch(ClassNotFoundException cnf){
    JOptionPane.showMessageDialog(null,
    "Class Not Found -> " + cnf.toString(),
    "Error!!",
    JOptionPane.ERROR_MESSAGE);
    System.out.println("classNotFound" + cnf);
    }catch(SQLException se) {
    JOptionPane.showMessageDialog(null,
    "SQL Exception -> " + se.toString()
    + "\n Please make sure all data is entered correctly ",
    "Error!!",
    JOptionPane.ERROR_MESSAGE);
    System.out.println("SqlExeption" + se);
    //add animal information to the User table in the database
    public void addUser(String id2 , String user , String pass){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String source = "jdbc:odbc:Database";
    Connection dbconnect = DriverManager.getConnection(source);
    Statement st = dbconnect.createStatement();
    int toAdd;
    String sqlstm = "INSERT INTO user" + "(user_id, user_name ,user_password)" +
    "VALUES ( '" + id2 + "', '" + user + "', '"+ pass + "')";
    toAdd = st.executeUpdate(sqlstm);
    dbconnect.close();
    JOptionPane.showMessageDialog(null , "New Record Added");
    ServerGUI.refreshUser();
    ServerGUI.currentT = 3

    Your code is completely unreliable and it should be placed inside a code block when you add it. Also your question would be better off in the JDBC forum than the networking one.

Maybe you are looking for

  • How do I upload a long video  (29 minutes) from my iPhone 4s to my Mac?

      I have a PowerBook G4 and when I sync my iPhone every photo and video shows up in the imagecapture or iphoto, except for the long one, which is the one I need. Help!

  • Problems launching Full Screen QT7 in Windows... help?

    I have been testing full screen video over the web using QT7. It works awsome in Mac, but I am dealing with odd bugs in widnows - so here goes. This page: http://www.24frets.com/testing/ Works fine, but the controller that appears on full screen does

  • Help with N97 and Access points after V20 upgrade

    Hi Guys, I'm hoping someone can help me - I have an 505 uk unit and have changed to a generic euro product code to get the V20 software ( as theres a 2 week wait minimum for the network to release its custome version ) and its working brilliantly - e

  • I can't get my applet to work in HTML

    I have written an applet that works perfectly OK when I run it at the command line. However, if I try running it from an HTML file it just doesn't work. I get an 'Applet ImageApplet notinited' message in the bar at the bottom of the page. I assume th

  • Asfunction, cursor states, and moviclips...oh my

    Hello all. I've ran into a bit of a snag and I'm thinking the obvious is sitting right in front of me... I have a dynamic movieclip that is created to serve as a container for a dynamically created textfield. The textfield has html text. Within that