Help in writing a code

Hello
I am deleting records in a start routine. I want to put a condition in this saying that delete the source package where status is closed and system date is not equal to changed date.
Please can someone tell me how can i write this condition. I Probably will have to us IF. Should I do a loop in this ..
Please reply with the code.
thanks

Dear,
first u hv to fill date filed and change_date then loop at internal table in which all value are collect.
delete source pck name where satus = 'X' and date <> change_date.
Thanks,
Jaten

Similar Messages

  • Need help in writing the code

    Hi,
    My table data is as below.
    Kunnr  BDAT EDAT  D1 D2 D3 D4 D5
    1111    2001  2002   1      2    1      2     1
    1111    2003  2008   1      0    4     1      2
    1111    2008  2011   1      1    1     1      1
    2222    2003  2008   1      2    2             2
    2222    2008  2011           1    2     1      1
    Here for kunnr  between begin and end date we have to caluclate the dependencies. (I.e if there is any value in D1or D2 or D3orD4 it shoulbe counted as 1. of it is zero or blank then it should not be coutned).
    for Ex: for 1111 between 2001 & 2002 tot dependencies are 5.            
               for 1111 between 2003 & 2008 tot dependencies are 4.
    in this scenario what will be the best way of writing the code. Do we need to check each and every field when counting the Sum value or and simple way to improve the performance.
    Regards,
    Vishnu
    Edited by: Vishnuvadhan K on May 13, 2011 10:30 AM
    Moderator Message: This is not a forum, where you can get your work done by others.
    Edited by: kishan P on May 13, 2011 3:52 PM

    Hi Vishnu,
    Here, you will have to check for the range of your begin date & end date. If it comes in the said range, then you simply have to add the values of your D1, D2,... DX values which you can store in some variables by setting out a flag as one counter for each.
    If your case is satisfied for any of the date range, then just check for the flag values which are satisfied & add them or display the sum of the number of counters.
    @Ambujavalli, At End Of won't work here because the date ranges given by Vishnu will differ.
    Those statements are useful in a case when suppose for the same field value, you need to calculate a particular sum.
    Here, that is not the case. Hence, AT First & At End Of won't work.
    Thanks,
    Gayathri.
    Edited by: gnikesh88 on May 13, 2011 11:52 AM

  • Need help in writing ABAP Code

    Hi All,
    I have a scenario to write a code for below requirement to fetch a latest sales document based on Last Date of Change and Last Time Change and I have written below code in the transfer rule..
    SORT datapak BY Sales Doc
      Last Date of Change Last Time Change descending.
    DELETE ADJACENT DUPLICATES FROM DATAPAK
    COMPARING Sales Doc
    The above code works as per below details
    Data is coming from source in FULL mode
    Data in Source: Input
    Sales Doc       Last Date of Change    Last Time Change    Order Reason
    201                01/03/2014                   04:10:00                        A
    201                 01/03/2014                   05:12:00                        B
    Output: Data in DSO(after moving from transfer rule)
    201                  01/03/2014                  05:12:00                        B             ------------------This is correct(record based on latest date of modification and time)
    Data in source
    Sales Doc       Last Date of Change    Last Time Change    Order Reason
    201                01/03/2014                   04:10:00                        A
    201                 02/04/2014                   05:12:00                        B
    Data in output
    201                01/03/2014                   04:10:00                        A 
    201                 02/04/2014                  05:12:00                        B  -------------------------In this case code is not working when Last date of Modification is different, the DSO fetches both the records while it should fetch only record with latest Date of Modification and Time....
    Could you pls advice if the code is correct or any changes to be made to the code..

    Hi Antony,
    Here the problem is of SORT statement when the Time has been introduced as the sorting factor.
    Please apply below additional code and it will do the job for you.
    *Additional Code
    DATA: ls_datapak LIKE LINE OF datapak.
    DATA: ls_datapak1 LIKE LINE OF datapak.
    * First sort the datapack with only last change date
    SORT datapak BY vbeln aedat DESCENDING.
    * remove all the old dates first and keep only the latest change date in DATAPAK
    READ TABLE datapak INTO ls_datapak1 INDEX 1.
    LOOP AT datapak INTO ls_vbak.
      IF ls_datapak-aedat LT ls_datapak1-aedat.
        DELETE datapak INDEX sy-tabix.
      ENDIF.
    ENDLOOP.
    * below is your code
    SORT datapak BY vbeln aedat lastchangetime DESCENDING.
    DELETE ADJACENT DUPLICATES FROM datapak COMPARING vbeln.
    Please let me know if you face any issue with this code.
    Thanks
    Amit

  • Help me writing - Writing Code at InfoPackage

    Hi Experts,
    Please help me out writing code at the info package level. For some reasons my generic Extractor supports only Full upload. So now I need to extract data on  daily basis for an individual day.
    Eg: If I triigger Info package then it has to extract the data (present day -1) means if I trigger on Tuesday then it has to extract the sales orders which are generated on Monday.
    Please guide me as how to write this code and where to write in the Info package? Help me with the code as well..
    I Appreciate your help in this regard.
    thanks
    BUlli

    Hello Bulli
    I don't know why the generic extraction in your case is not supporting delta, there are three options in RS02 to create delta anyway comming to your point
    You can use your 0CALDAY IO in infoPackage selection condition. Restrict its value on current day and previous day, write a ABAP code, for this you have to select transformation type 6( which means ABAP code).
    To calculate previous day you can use  directly
    data: w_previous_day type D.
    w_previous_day = sy-datum - 1.
    Assign points if it helps.
    Thanks

  • How doest jdk docs help as in writing java code?

    hi i wonder how does jdk docs help as in writing java code because if i google a java code the jdk docs always becomes the result of my search but in my experience jdk docs never helps me.
    is there any one know how to use jdk docs? and how to get the code from there.
    im telling about jdk docs from here http://download.oracle.com/javase/1.4.2/docs/api/
    cross posted from http://www.thenewboston.com/forum/viewtopic.php?f=119&t=13778
    Edited by: 871484 on Jul 18, 2011 4:18 PM

    871484 wrote:
    ok can any one give me example how to use jdk docs? for example this code
    Your question still does not make any sense, and you still haven't clarified what you're not understanding.
    However, if you think that just by reading the API docs, with no other training or study, that you will be able to write that code, then you are seriously misunderstanding the purpose of the docs.
    Obviously English is not your native language. You grew up speaking some other language at home and with your friends, and at some point in school or as private study, you started to learn English. You learned about the grammar and the alphabet and pronunciation, sentence structure, word order, etc. Now you have the basics of how the language works, and you know some words. When you want to learn new words to fit into the structure you have learned, you use a dictionary.
    If you didn't study the grammar, sentence structure, etc., and just said, "I want to learn English. I will look at a dicationary," clearly that would not work.
    Right?
    So, since you now understand and agree with the English example, let me state something that I hope is obvious to you by now: The API docs are your dictionary. They are not a substitute for learning the language basics.
    Furthermore, once you know the language basics in English and have your dictionary, you still won't know how to write a resume (which you may know as a CV). You will look at examples and perhaps take a course on resume (CV) writing. Just reading a dictionary won't help you write a resume(CV). Similarly, if you know some Java basics, you can't learn how to write a Swing app just by reading the Javadocs. You'll look at tutorials and examples. Then, once you know the basic structure of a Swing app, you'll look to the javadocs for more details about more kinds of GUI classes--different buttons and windows and panes and panels and layout managers, etc.

  • Any one could help me out in writing a code in VB for drawing an arc.

    Any one could help me out in writing a code in VB for drawing an arc.

    Here's the link to the scripting guides. http://www.adobe.com/devnet/illustrator/scripting.html

  • Help with writing code for button

    Hi!
    Can someone help me with the code for a button that sends my menu back to 0?
    This is the code current code, and I've created a button called sistapilen that I want to insert where the regular button "arrow" is not visible. I want sistapilen to navigate me back to 0. (Or if I can get "arrow" to do it and delete "sistapilen"). 
    /Jen
    // File downloaded from www.riacodes.com
    import com.greensock.*;
    var arrayX :Array = [0,-800,-1600,-2400,-3200,-4000,-4800];
    var currentIndex:Number=6;
    left_mc.addEventListener(MouseEvent.CLICK,navigate);
    right_mc.addEventListener(MouseEvent.CLICK,navigate);
    left_mc.buttonMode = true;
    right_mc.buttonMode = true;
    checkArrows();
    function navigate(e:MouseEvent):void{
    if(e.currentTarget == left_mc) currentIndex --;
    else currentIndex ++;
    checkArrows();
    TweenLite.to(content_mc,.5 ,{x:arrayX[currentIndex]});
    function checkArrows():void{
    if(currentIndex == 0) left_mc.visible=false;
    else if (currentIndex == arrayX.length - 1) right_mc.visible = false;
    else{
    left_mc.visible = true;
    right_mc.visible= true;

    Add a listemer for whichever other button you plan to use...
    sistapilen.addEventListener(MouseEvent.CLICK,navigate);
    And try changing your navigate function as follows...
    function navigate(e:MouseEvent):void{
         if(e.currentTarget == left_mc) {
              currentIndex--;
         } else if(e.currentTarget == right_mc){
              currentIndex ++;
         } else {
              currentIndex = 0;
         checkArrows();
         TweenLite.to(content_mc,.5 ,{x:arrayX[currentIndex]});

  • To avoid writing database code in the front end

    Hello,
    I am working on a database application using 10g database as backend and dotnet as front end. I wish to execute only oracle stored procedure for all the select (to avoid hard parse and use of bind variable), DDL and DML operations; just to avoid writing database code in the front end. Can anyone please give me a little examples of :
    1.Select query's output to be return as resultset by stored procedure.
    2.DML example by stored procedure.
    3.Any DDL example by stored procedure.
    using scott.emp, so that i would just call the stored procedure, rather than giving select,DML and/or DDL commands in the front end. Even though i have read in the documentation, but a clear cut examples will help me to get into clear concept as well.
    Thanks & Regards
    Girish Sharma

    Hi...
    -->Select example
    create or replace procedure get_emp(rc out sys_refcursor)
    is
    begin
    open rc for select * from emp;
    end;
    -->DML example
    create or replace procedure do_dml_emp(pempid in number,
    pempname varchar2,
    result out number)
    is
    begin
    insert into emp(empid,empname) values(pempid,pempname) returning empid into result;
    exception
    when others then
    result:=-1;
    end;
    -->DDL example
    create or replace procedure ddl_emp(colname varchar2,
    coltype varchar2,
    result out number)
    is
    begin
    result:=-1;
    execute immediate 'alter table emp add column ' || colname || ' ' || coltype ;
    result:=1;
    end;

  • Need Help in writing a UDF

    Hi,
    Please help in writing a UDF for these fields in mapping, which I need for the object Iu2019m doing currently.
    The fields are like this:
    1)         batch_no = "TRUNC((GetMaxObjid('x_txn_sap_parts')-POWER(2,28))/5000)+1",
    2)         lot_id = "TRUNC((GetMaxObjid('x_txn_sap_parts')-POWER(2,28))/500)+1",
    3)        How to use JDBC connection factory class in the UDF.
    Some logic I can provide which I know i.e. Power (2, 28) means 2 to the power of 28 (2 multiplied 28 times), Trunc means truncate, X_TXN_SAP_Parts is a database table.The Target fields are Batch_no, lot_id & Objid.Actually, objid is mapped initially to a source field i.e. Object ID and in this function it is only being used for the calculation of the batch_no.
    Thanks in Advance,
    Sreedhar.

    Hi,
    Following with my query I've tried to use this code but still I'm unable to execute the mapping.
    import java.util.*;
    import com.sap.aii.mapping.lookup.*;
    import com.sap.aii.mapping.lookup.*;
    DataBaseAccessor accessor = null;
    DataBaseResult JDBCOutPayload = null;
    String BusinessSystem="clarify_dev_bizsys";
    //give your business system having channel name
    String CommunicationChannel="JDBC_TO_CDEV";
    //give your channel name
    String InputPayload= " select X_TXN_PRE_SITE_XFACE.nextval from dual;";
    //give your sql query
    try {
    Channel channel =
    LookupService.getChannel(BusinessSystem,CommunicationChannel);
    accessor = LookupService.getDataBaseAccessor(channel);     
    DataBaseResult resultSet = accessor.execute(InputPayload);
         for(Iterator rows = resultSet.getRows();rows.hasNext();){  
         Map rowMap = (Map)rows.next();
         Object cValue = rowMap.get("batchno");
    //field name of field required , as in database
          catch (Exception e) {}
          finally {
                  if (accessor != null)
                  accessor.close();
           result.addValue((String)cValue);
    --> I don't know what are the parameters to be used and how to be used in the UDF because this is the first time I'm writing a UDF.
    --> The problem in using this query is that both OBJID & BatchNo. are on the target side and the value for the OBJID is retrieved by a SELECT query from the database.
    Kindly help me how to resolve this query of mine.
    Thanks in Advance.
    Sreedhar.

  • Help with writing and retrieving data from a table field with type "LCHR"

    Hi Experts,
    I need help with writing and reading data from a database table field which has a type of "LCHR". I have given an example of the original code but don't know what to change it to in order to fix it and still read in the original data that's stored in the LCHR field.
    Basically we have two Function modules, one that saves list data to a database table and one that reads in this data. Both Function modules have an identicle table which has an array of fields from type INT4, CHAR, and type P. The INT4 field is the first one.
    Incidentally this worked in the 4.7 non-unicode system but is now dumping in the new ECC6 Unicode system.
    Thanks in advance,
    C
    SAVING THE LIST DATA TO DB
    DATA: L_WA(800).
    LOOP AT T_TAB into L_WA.
    ZDBTAB-DATALEN = STRLEN( L_WA ).
    MOVE: L_WA to ZDBTAB-RAWDATA.
    ZDBTAB-LINENUM = SY-TABIX.
    INSERT ZDBTAB.
    READING THE DATA FROM DB
    DATA: BEGIN OF T_DATA,
                 SEQNR type ZDBTAB-LINENUM,
                 DATA type ZDBTAB-RAWDATA,
               END OF T_TAB.
    Select the data.
    SELECT linenum rawdata from ZDBTAB into table T_DATA
         WHERE repid = w_repname
         AND rundate = w_rundate
         ORDER BY linenum.
    Populate calling Internal Table.
    LOOP AT T-DATA.
    APPEND T_DATA to T_TAB.
    ENDLOOP.

    Hi Anuj,
    The unicode flag is active.
    When I run our report and then to try and save the list data a dump is happening at the following point
    LOOP AT T_TAB into L_WA.
    As I say, T_TAB consists of different fields and field types whereas L_WA is CHAR 800. The dump mentions UC_OBJECTS_NOT_CONVERTIBLE
    When I try to load a saved list the dump is happening at the following point
    APPEND T_DATA-RAWDATA to T_TAB.
    T_DATA-RAWDATA is type LCHR and T_TAB consists of different fields and field types.
    In both examples the dumps mention UC_OBJECTS_NOT_CONVERTIBLE
    Regards
    C

  • Need help in writing data from JSP to excel

    Hi ,
    I need help in writing the data from JSP to excel.I somehow able to retrieve the data into excel but unable to get the required format.
    For eg: The amount should be displayed in 0.00 format .when i am exporting it to excel it is displaying as 0 :( .
    I am using the following code in JSP.
    "out.print(amt + '\t');"
    Would like to know if there is any otherway where in i can get my requirement.
    Thanks
    Tom

    Hi,
    Try using format part of the JSTL tag libs.
    Syntax :
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <fmt:formatNumber value="40" pattern="$#,##0.00"/>
    I need help in writing the data from JSP to excel.I
    somehow able to retrieve the data into excelHow do u convert the jsp to excel?
    One way to convert the jsp page to excel, is to render it as an excel appl instead of html. Set the content type of the response to application/ms-excel.
    response.setContentType("application/ms-excel")Hope this Helps....

  • Writing web code on a Mac???? And FTP Programs?

    Alright, so bear with me on this one. I've been using mac's for years for my graphic design and graphic pieces of my web sites, but I still use my PC to write the code (HTML, JavaScript, CSS, mostly) that the sites run on. I write it, in true old-fashioned sense, in Notepad.
    However, now my overglorified word processor (PC) is being totally, ridiculously, slow and acting weird... I think it did this before my last Blue Screen of Death, so luckily I've backed up everything important. Anyway, I thought I'd give writing code on the Mac (a gorgeous 20" imac, in all its wondrous glory) a shot. Here's what I've done:
    - Open TextEdit, type in a few lines of test code.
    - Save As : select HTML as the file type, with a file name of "Test" or something.
    - Open the file in Safari, expecting to see a real, webpage. Instead? I see my code. Black text, white background, flaunting every little
    and tag like a defiant child smearing raspberry jam all over my couch.
    I just can't switch to a WYSIWYG editor and lose the (tyrannical) control I've had over my web pages from writing the code in notepad. So what should I be doing to write code on a mac? I need to know soon, since my PC will be exploding any day now. Any help would be GREATLY appreciated.
    P.S. I'd prefer not to have to spend any money to purchase a text editor for web code. Am I being cheap? I don't really know. But if I can use a program that's already on my mac, I'm all for it.
    P.P.S. Also, I've been uploading code/images/etc. to my hosts via the WinSCP FTP software, on a PC. Can anyone recommend good FTP software for OSX (10.4.10).

    Both of iFelix's suggestions are great free apps and I would recommend them also.
    If you don't mind shelling out some money for the apps (after a trial of course), I myself use Panic's Coda (http://www.panic.com/coda/) for coding. A lot of people also prefer apps like TextMate (http://macromates.com/).
    CSSEdit (http://macrabbit.com/cssedit/) is a really nice combination of a WYSIWYG and source editior strictly for CSS also (Coda has this sort of functionality built in also).
    As far as FTP, if you arent happy with the free options, Panic makes an app called Transmit (http://www.panic.com/transmit/) that is excellent, and is also basically built into Coda.
    Message was edited by: shadeDream

  • Need help for writing extract program

    hi
    i need help for writing extract program to retriew data from legacy system.
    i already developed bdc programs for me31k and me21.
    my requirement is to write extract program s for those t.codes.
    to retriew data from legacy system and stored in flat file.

    i need help with a java program. it is a program that allows the user to enter a student's GPA, number of extracurricular activities, and number of service activities. The user can not enter a gpa above 4.0 or below 0. The user can not enter a negative number for the number of both activities. If the student meets the following criteria: 1) GPA of 3.8 or above and at least one extracurricular activity and one service activity, 2) GPA below 3.8 but at least 3.4 and a total of at least three extracurricular and service activities, 3) GPA below 3.4 but at least 3.0 and at least two extracurricular activities and three service activities, the message "Scholarship candidate" should display. If the student does not meet the criteria above, then the message"not a candidate" should display. Can you help me, please?
    You haven't posted ANY 'java program' for us to help with.
    The forum is NOT a coding service. It is to help you with YOUR code.
    Post the code you have written and SHOW us (don't just tell us) how you compile it and execute it and the results you get. Then we can help you with any problems you are are having.
    If you need help understanding just what the program should be doing you need to ask your instructor to clarify the assignment.

  • Finished writing amazing code that compiles but won't run properly

    I finished writing this code for someone and it compiles but it does not run properly. Anyone see any problems? Any help would be gladly appreciated.
    /* Program is for the Coconut Grove Palace Building. This program keeps track of the building occupants and the maintenance for each tenant using a simple menu system. */
    import java.util.Scanner;
    public class Grove {
    private static Scanner keyboard = new Scanner(System.in);
    /* Declaring values that will not change throughout the program. The plus one is so that people don't get confused */
    private static final int TOTAL_BUILDING_MAX = 16 + 1;
    private static final int TOTAL_FLOOR_MAX = 8 + 1;
    private static final int APARTMENT_MAX = 4 + 1;
    public static void main (String[] args) {
    // Declare main variable
         int cocoPalace[][] = new int[2][3];
         char menuChoice;
         int aptNumber = 0;
         int floorNumber = 0;
         int totalFloor = 0;
         int totalBuilding = 0;
    //Fill up the array with the original amount of 2 people per apartment
         for (int dex = 0; dex <3; dex++)
                   cocoPalace[0][dex] = 2;
                   cocoPalace[1][dex] = 2;     
         System.out.println("Welcome to the coconut grove palace");
    //Main part of the program that is essentially the menu screen.     
         do
              //method that calculates the maintenance that will be used several times
              double buildingMaintenance = calculateMaintenance(cocoPalace);
              //Menu System using a switch command with nested for loops and other code.
                   System.out.println("(A)partment, (B)uilding, (P)eople, E(x)it");
                   menuChoice = keyboard.nextLine().charAt(0);
                        switch (menuChoice)     
    //FIRST CASE 'A' ASK FOR THE FLOOR AND APARTMENT NUMBER AND DISPLAYS THE MAINTENANCE COST FOR IT
                   case 'a':
                   //Idiot proof 1
                   System.out.println("Please enter floor number :");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again:");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartmentNumber :");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again:");
                   aptNumber = keyboard.nextInt();
                   System.out.println("Floor number" + cocoPalace[floorNumber] + "Apartment number" + cocoPalace[floorNumber][aptNumber] + " : " + buildingMaintenance);
                   break;
    //SECOND CASE 'B' REPORTS THE OCCUPANCY AND MAINTENANCE FOR THE WHOLE BUILDING
                   case 'b':
                   for (int dex2 = 0; dex2 < 3; dex2++)
                   System.out.println("Floor number 1 Apartment number " + cocoPalace[0][dex2] + " : " + buildingMaintenance);                    
                   for (int dex3 = 0; dex3 < 2; dex3++)
                   System.out.println("Floor number 2 Apartment number " + cocoPalace[1][dex3] + " : " + buildingMaintenance);                    
                   break;
    /*THIRD CASE 'P' ALLOWS THE USER TO CHANGE THE AMOUNT OF PEOPLE IN AN APARTMENT AND RECALCULATES THE MAINTENACE. IT IS ALSO "IDIOT PROOFED" SO THAT VALUES DO NOT EXCEED THE REGULATIONS OF THE BUILDING IT SELF */
                   case 'p':
                   //Idiot proof 1
                   System.out.println("Please enter floor number : ");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 3)
                   System.out.println("Floor number must be between 1 and 2. Try again: ");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartment number : ");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 4)
                   System.out.println("Apartment number must be between 1 and 3. Try again: ");
                   aptNumber = keyboard.nextInt();
                   //Idiot proof 3 with the amount of people being added at the same time.
                   System.out.println("How many people will there be : ");
                   int amountPeople = keyboard.nextInt();
                   cocoPalace[floorNumber][aptNumber] = amountPeople;
                   while (amountPeople > APARTMENT_MAX || totalBuilding > TOTAL_BUILDING_MAX || totalFloor > TOTAL_FLOOR_MAX )
              System.out.print("Too many people in building. Please try again : ");
                   amountPeople = keyboard.nextInt();
                        cocoPalace[floorNumber][aptNumber] = amountPeople;
                   break;
         while (menuChoice != 'x'|| menuChoice != 'a' || menuChoice != 'p' || menuChoice != 'b');
    //Method to calculate maintenance.
    private static double calculateMaintenance(int cocoPalace[][])
         int amountPeople = 0;
         for (int dex4 = 0; dex4 < 2; dex4++)
                   amountPeople += cocoPalace[0][dex4];
                   amountPeople += cocoPalace[1][dex4];
                   cocoPalace[0][dex4] = 2;
                   cocoPalace[1][dex4] = 2;     
              double buildingMaintenance = 5000/(amountPeople);
         return(buildingMaintenance);
    }

    ok the array problem is fixed i was having a simple "one off" mistake when accessing the array.
    As for the error that i keep getting. I honestly can't see where the problem with this is in code.
    The it cant be equalt to nothing because this is written so that it has to equal a letter before the program actually runs through everything. Thanks again for the help
    here is the error that i am getting when the program runs.
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(String.java:558)
    at Grove.main(Grove.java:46)
    Here is the code with the new corrections.
    /* Program is for the Coconut Grove Palace Building. This program keeps track of the building occupants and the maintenance for each tenant using a simple menu system. */
    import java.util.Scanner;
    public class Grove {
    private static Scanner keyboard = new Scanner(System.in);
    /* Declaring values that will not change throughout the program. The plus one is so that people don't get confused */
    private static final int TOTAL_BUILDING_MAX = 16 + 1;
    private static final int TOTAL_FLOOR_MAX = 8 + 1;
    private static final int APARTMENT_MAX = 4 + 1;
    public static void main (String[] args) {
    // Declare main variable
         int cocoPalace[][] = new int[2][3];
         char menuChoice;
         int totalFloor = 0;
         int totalBuilding = 0;
    //Fill up the array with the original amount of 2 people per apartment
         for (int dex = 0; dex <3; dex++)
                   cocoPalace[0][dex] = 2;
                   cocoPalace[1][dex] = 2;     
         System.out.println("Welcome to the coconut grove palace");
    //Main part of the program that is essentially the menu screen.     
         do
         //Variables intialized
         int aptNumber = 0;
         int floorNumber = 0;
              //method that calculates the maintenance that will be used several times
              double buildingMaintenance = calculateMaintenance(cocoPalace);
              //Menu System using a switch command with nested for loops and other code.
                   System.out.println("(A)partment, (B)uilding, (P)eople, E(x)it");
                   menuChoice = keyboard.nextLine().charAt(0);
                        switch (menuChoice)     
    //FIRST CASE 'A' ASK FOR THE FLOOR AND APARTMENT NUMBER AND DISPLAYS THE MAINTENANCE COST FOR IT
                   case 'a':
                   //Idiot proof 1
                   System.out.println("Please enter floor number     :");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again:");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartmentNumber  :");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again:");
                   aptNumber = keyboard.nextInt();
                   System.out.println("Floor number" + cocoPalace[floorNumber] + "Apartment number" + cocoPalace[floorNumber - 1][aptNumber - 1] + "  :  " + buildingMaintenance);
                   break;
    //SECOND CASE 'B' REPORTS THE OCCUPANCY AND MAINTENANCE FOR THE WHOLE BUILDING
                   case 'b':
                   for (int dex2 = 0; dex2 < 3; dex2++)
                   System.out.println("Floor number 1 Apartment number  " + cocoPalace[0][dex2] + "  :  " + buildingMaintenance);                    
                   for (int dex3 = 0; dex3 < 2; dex3++)
                   System.out.println("Floor number 2 Apartment number  " + cocoPalace[1][dex3] + "  :  " + buildingMaintenance);                    
                   break;
    /*THIRD CASE 'P' ALLOWS THE USER TO CHANGE THE AMOUNT OF PEOPLE IN AN APARTMENT AND RECALCULATES THE MAINTENACE. IT IS ALSO "IDIOT PROOFED" SO THAT VALUES DO NOT EXCEED THE REGULATIONS OF THE BUILDING IT SELF */
                   case 'p':
                   //Idiot proof 1
                   System.out.println("Please enter floor number     : ");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again: ");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartment number : ");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again: ");
                   aptNumber = keyboard.nextInt();
                   //Idiot proof 3 with the amount of people being added at the same time.
                   System.out.println("How many people will there be : ");
                   int amountPeople = keyboard.nextInt();
                   cocoPalace[floorNumber - 1][aptNumber - 1] = amountPeople;
                   while (amountPeople > APARTMENT_MAX || totalBuilding > TOTAL_BUILDING_MAX || totalFloor > TOTAL_FLOOR_MAX  )
                          System.out.print("Too many people in building. Please try again : ");
                               amountPeople = keyboard.nextInt();
                        cocoPalace[floorNumber - 1][aptNumber - 1] = amountPeople;
                   break;
         while (menuChoice != 'x'|| menuChoice != 'a' || menuChoice != 'p' || menuChoice != 'b');
    //Method to calculate maintenance.
    private static double calculateMaintenance(int cocoPalace[][])
         int amountPeople = 0;
         for (int dex4 = 0; dex4 < 2; dex4++)
                   amountPeople += cocoPalace[0][dex4];
                   amountPeople += cocoPalace[1][dex4];
                   cocoPalace[0][dex4] = 2;
                   cocoPalace[1][dex4] = 2;     
              double buildingMaintenance = 5000/(amountPeople);
         return(buildingMaintenance);
    }

  • Need Help on writing Update Routines

    Hi BW Experts,
    I have a requirement to display data from Header and item datasource.From item datasource, i need to pull only 0MATERIAL.The Common fields for this datasource is service order number. I just want to pull 0MATERIAL from item datasource.So i am planning to write a routine to lookup the data from item datasource. But i have a small query on writing the Code.
    Suppose if i write the code in Update Rules for header datsource and pulling the data for (LOOKUP of 0MATERIAL) 0material from Item datasource.Seems for One Service Order there are 5 to 6 materials. While writing the routine, how can i pull 5 materials to header datasource.
    In Update rules, we are moving to RESULT. How can i pull 5 materials.
    Can u pls help on this with the sample Code.
    Thanks
    Jelina

    Hi
    Re: Flat file extraction
    Re: how to look up master data in update rule
    Hope it helps

Maybe you are looking for