Help with collect statement

Hi,
I have the following code involving collect:
SORT I_ZDAILY_MVMT BY MATNR WERKS.
LOOP AT I_ZDAILY_MVMT.
AT END OF MATNR.
  SUM.
  COLLECT I_ZDAILY_MVMT INTO I_OUTPUT_CHECK.
ENDAT.
ENDLOOP.
Say I_ZDAILY_MVMT contains 4 records. All this does is sends 1 record at each loop, until  I_OUTPUT_CHECK is filled with the same 4 records and no sum.
How do i fix this?
Thanks,
John

REPORT ztestinsg .
DATA: BEGIN OF I_OUTPUT_CHECKOCCURS 0,
      matnr LIKE mara-matnr,
      werks(4) TYPE c, "make it char
      bwart(3) TYPE C, "make it char
      menge  LIKE mseg-menge,
      END OF I_OUTPUT_CHECK.
SORT I_ZDAILY_MVMT BY MATNR WERKS.
LOOP AT I_ZDAILY_MVMT.
*-- if only the both structure are same its unlikely since we are using
*--character field for plants and for other fields too
*-- so move one by one
Move I_zdaily_mvmt-matnr to I_OUTPUT_CHECK-matnr.
Move I_zdaily_mvmt-werks to I_OUTPUT_CHECK-werks.
Move I_zdaily_mvmt-bwart to I_OUTPUT_CHECK-bwart.
Move I_zdaily_mvmt-menge to I_OUTPUT_CHECK-menge.
COLLECT I_ZDAILY_MVMT INTO I_OUTPUT_CHECK.
ENDLOOP.
*--Now you should get total for every material and movement type.
WRITE: 'Reward if you find this useful.!'

Similar Messages

  • Help with dynamic statement returning values into collection

    Hi All
    I am trying to use dynamic statement to return values into a collection using the returning clause. However, I get an ORA-00933 error. Here is a simple setup:
    create table t(
        pk number,
        id_batch varchar2(30),
        date_created date,
        constraint t_pk primary key ( pk )
    create or replace type num_ntt is table of number;
    create or replace type vc2_ntt is table of varchar2(30);
    create or replace
    package pkg
    as
      type rec is record(
          pk        num_ntt,    
          id_batch  vc2_ntt
      procedure p(
          p_count in number,
          p_rt    out nocopy rec
    end pkg;
    create or replace
    package body pkg
    as
      procedure p(
          p_count in number,
          p_rt    out nocopy rec
      is
      begin
          execute immediate '
          insert into t
          select level, ''x'' || level, sysdate
          from   dual
          connect by level <= :p_count
          returning pk, id_batch into :pk, :id_batch'
          using p_count returning bulk collect into p_rt.pk, p_rt.id_batch;
      end p;
    end pkg;
    declare
      r  pkg.rec;
    begin
      pkg.p( 5, r );
    end;
    /

    sanjeevchauhan wrote:
    but I am working with dynamic statement and returning multiple fields into a collection.And using an INSERT...SELECT statement combined with a RETURNING INTO clause still does not work. Whether it's dynamic SQL or not: it doesn't work. The link describes a workaround.
    By the way, I don't see why you are using dynamic SQL here. Static SQL will do just fine. And so you can literally copy Adrian's setup.
    Regards,
    Rob.

  • Help with if statement in cursor and for loop to get output

    I have the following cursor and and want to use if else statement to get the output. The cursor is working fine. What i need help with is how to use and if else statement to only get the folderrsn that have not been updated in the last 30 days. If you look at the talbe below my select statement is showing folderrs 291631 was updated only 4 days ago and folderrsn 322160 was also updated 4 days ago.
    I do not want these two to appear in my result set. So i need to use if else so that my result only shows all folderrsn that havenot been updated in the last 30 days.
    Here is my cursor:
    /*Cursor for Email procedure. It is working Shows userid and the string
    You need to update these folders*/
    DECLARE
    a_user varchar2(200) := null;
    v_assigneduser varchar2(20);
    v_folderrsn varchar2(200);
    v_emailaddress varchar2(60);
    v_subject varchar2(200);
    Cursor c IS
    SELECT assigneduser, vu.emailaddress, f.folderrsn, trunc(f.indate) AS "IN DATE",
    MAX (trunc(fpa.attemptdate)) AS "LAST UPDATE",
    trunc(sysdate) - MAX (trunc(fpa.attemptdate)) AS "DAYS PAST"
    --MAX (TRUNC (fpa.attemptdate)) - TRUNC (f.indate) AS "NUMBER OF DAYS"
    FROM folder f, folderprocess fp, validuser vu, folderprocessattempt fpa
    WHERE f.foldertype = 'HJ'
    AND f.statuscode NOT IN (20, 40)
    AND f.folderrsn = fp.folderrsn
    AND fp.processrsn = fpa.processrsn
    AND vu.userid = fp.assigneduser
    AND vu.statuscode = 1
    GROUP BY assigneduser, vu.emailaddress, f.folderrsn, f.indate
    ORDER BY fp.assigneduser;
    BEGIN
    FOR c1 IN c LOOP
    IF (c1.assigneduser = v_assigneduser) THEN
    dbms_output.put_line(' ' || c1.folderrsn);
    else
    dbms_output.put(c1.assigneduser ||': ' || 'Overdue Folders:You need to update these folders: Folderrsn: '||c1.folderrsn);
    END IF;
    a_user := c1.assigneduser;
    v_assigneduser := c1.assigneduser;
    v_folderrsn := c1.folderrsn;
    v_emailaddress := c1.emailaddress;
    v_subject := 'Subject: Project for';
    END LOOP;
    END;
    The reason I have included the folowing table is that I want you to see the output from the select statement. that way you can help me do the if statement in the above cursor so that the result will look like this:
    emailaddress
    Subject: 'Project for ' || V_email || 'not updated in the last 30 days'
    v_folderrsn
    v_folderrsn
    etc
    [email protected]......
    Subject: 'Project for: ' Jim...'not updated in the last 30 days'
    284087
    292709
    [email protected].....
    Subject: 'Project for: ' Kim...'not updated in the last 30 days'
    185083
    190121
    190132
    190133
    190159
    190237
    284109
    286647
    294631
    322922
    [email protected]....
    Subject: 'Project for: Joe...'not updated in the last 30 days'
    183332
    183336
    [email protected]......
    Subject: 'Project for: Sam...'not updated in the last 30 days'
    183876
    183877
    183879
    183880
    183881
    183882
    183883
    183884
    183886
    183887
    183888
    This table is to shwo you the select statement output. I want to eliminnate the two days that that are less than 30 days since the last update in the last column.
    Assigneduser....Email.........Folderrsn...........indate.............maxattemptdate...days past since last update
    JIM.........      jim@ aol.com.... 284087.............     9/28/2006.......10/5/2006...........690
    JIM.........      jim@ aol.com.... 292709.............     3/20/2007.......3/28/2007............516
    KIM.........      kim@ aol.com.... 185083.............     8/31/2004.......2/9/2006.............     928
    KIM...........kim@ aol.com.... 190121.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190132.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190133.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190159.............     2/13/2006.......2/14/2006............923
    KIM...........kim@ aol.com.... 190237.............     2/23/2006.......2/23/2006............914
    KIM...........kim@ aol.com.... 284109.............     9/28/2006.......9/28/2006............697
    KIM...........kim@ aol.com.... 286647.............     11/7/2006.......12/5/2006............629
    KIM...........kim@ aol.com.... 294631.............     4/2/2007.........3/4/2008.............174
    KIM...........kim@ aol.com.... 322922.............     7/29/2008.......7/29/2008............27
    JOE...........joe@ aol.com.... 183332.............     1/28/2004.......4/23/2004............1585
    JOE...........joe@ aol.com.... 183336.............     1/28/2004.......3/9/2004.............1630
    SAM...........sam@ aol.com....183876.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183877.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183879.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183880.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183881.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183882.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183883.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183884.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183886.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183887.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183888.............3/5/2004.........3/8/2004............     1631
    PAT...........pat@ aol.com.....291630.............2/23/2007.......7/8/2008............     48
    PAT...........pat@ aol.com.....313990.............2/27/2008.......7/28/2008............28
    NED...........ned@ aol.com.....190681.............4/4/2006........8/10/2006............746
    NED...........ned@ aol.com......95467.............6/14/2006.......11/6/2006............658
    NED...........ned@ aol.com......286688.............11/8/2006.......10/3/2007............327
    NED...........ned@ aol.com.....291631.............2/23/2007.......8/21/2008............4
    NED...........ned@ aol.com.....292111.............3/7/2007.........2/26/2008............181
    NED...........ned@ aol.com.....292410.............3/15/2007.......7/22/2008............34
    NED...........ned@ aol.com.....299410.............6/27/2007.......2/27/2008............180
    NED...........ned@ aol.com.....303790.............9/19/2007.......9/19/2007............341
    NED...........ned@ aol.com.....304268.............9/24/2007.......3/3/2008............     175
    NED...........ned@ aol.com.....308228.............12/6/2007.......12/6/2007............263
    NED...........ned@ aol.com.....316689.............3/19/2008.......3/19/2008............159
    NED...........ned@ aol.com.....316789.............3/20/2008.......3/20/2008............158
    NED...........ned@ aol.com.....317528.............3/25/2008.......3/25/2008............153
    NED...........ned@ aol.com.....321476.............6/4/2008.........6/17/2008............69
    NED...........ned@ aol.com.....322160.............7/3/2008.........8/21/2008............4
    MOE...........moe@ aol.com.....184169.............4/5/2004.......12/5/2006............629
    [email protected]/27/2004.......3/8/2004............1631
    How do I incorporate a if else statement in the above cursor so the two days less than 30 days since last update are not returned. I do not want to send email if the project have been updated within the last 30 days.
    Edited by: user4653174 on Aug 25, 2008 2:40 PM

    analytical functions: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions2a.htm#81409
    CASE
    http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#36899
    http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/04_struc.htm#5997
    Incorporating either of these into your query should assist you in returning the desired results.

  • Help with If statement please

    Hi,
    First Special thanks to Kglad for the help with the AS1 to AS3 conversion.
    I've been able to link up my buttons to play a different frames of the movie. this was my novice way of finally getting the programming to work.
    In frame 95 I have
    var myLoader:Loader = new Loader();
    addChild(myLoader); var url:URLRequest = new URLRequest("page1.swf");
    myLoader.load(url);
    in frame 165:
    var myLoader1:Loader = new Loader();
    addChild(myLoader1); var url1:URLRequest = new URLRequest("page1.swf");
    myLoader1.load(url1);
    My buttons link to 116 which plays a frame and loads ^
    in frame 226: removeChild(myLoader).
    But if the user has looped back into home from another part in the movie clip then it would need to remove myLoader1 instead of myLoader.
    I'm guessing there is some really dynamic way to solve the programatic nightmare i'm developing, but I'm really novice.
    So what i need is an if statement for frame 226
    That would do something:
    if(myLoader <> null
         removeChild(myLoader)
    else(
    removechild(myLoader1)
    Anyone have a method for this?

    yes, you can use the same urlrequest but just change its url property:
    // initialize, for example in frame 1.  this is done once and never again:
    var loader:Loader=new Loader();
    var urlR:URLRequest=new URLRequest();
    //  then in frame 2, for example:
    urlR.url="page1.swf";
    loader.load(urlR);
    //  in frame 20, for example:
    urlR.url="page2.swf";
    loader.load(urlR);
    // in frame 30, for example:
    urlR.url="page3.swf";
    loader.load(urlR);
    //etc.  if you're loading any swfs that play streams (sound or video), you'll want to add some code to this.

  • Problem with Collect statement

    Hi Experts,
    I am facing a peculiar problem. Please go through the code below and it is not giving the aggregate of it_ekbe_642_pgi-menge for the same it_ekbe_642_pgi-ebeln and it_ekbe_642_pgi-ebelp.
    LOOP AT it_ekbe_642_pgi.
        it_ekbe_642_pgi_tot-ebeln =   it_ekbe_642_pgi-ebeln.
        it_ekbe_642_pgi_tot-ebelp =   it_ekbe_642_pgi-ebelp.
        it_ekbe_642_pgi_tot-budat =   it_ekbe_642_pgi-budat.
        it_ekbe_642_pgi_tot-xblnr =   it_ekbe_642_pgi-xblnr.
        it_ekbe_642_pgi_tot-menge =   it_ekbe_642_pgi-menge.
        COLLECT it_ekbe_642_pgi_tot.
      ENDLOOP.
    Please suggest.
    Thanks....
    Shibaji.

    Hi Shibaji Maitra ,
    Since you are aggregating the it_ekbe_642_pgi-menge for the same it_ekbe_642_pgi-ebeln and it_ekbe_642_pgi-ebelp.
    For using the Collect statement the order of the fields should be
    in proper order i.e. all the char fields come up & then after that
    all the numeric fields.Please check the sequence in your internal
    table and also the fields type of menge field.
    LOOP AT it_ekbe_642_pgi.
      it_ekbe_642_pgi_tot-ebeln = it_ekbe_642_pgi-ebeln.
      it_ekbe_642_pgi_tot-ebelp = it_ekbe_642_pgi-ebelp.
    it_ekbe_642_pgi_tot-xblnr = it_ekbe_642_pgi-xblnr.
    it_ekbe_642_pgi_tot-budat = it_ekbe_642_pgi-budat.
    it_ekbe_642_pgi_tot-menge = it_ekbe_642_pgi-menge.
    COLLECT it_ekbe_642_pgi_tot.
    ENDLOOP.
    Rewards points if helpful.
    Regards
    Manoj Kumar

  • Help with Switch statements using Enums?

    Hello, i need help with writing switch statements involving enums. Researched a lot but still cant find desired answer so going to ask here. Ok i'll cut story short.
    Im writing a calculator program. The main problem is writing code for controlling the engine of calculator which sequences of sum actions.
    I have enum class on itself. Atm i think thats ok. I have another class - the engine which does the work.
    I planned to have a switch statement which takes in parameter of a string n. This string n is received from the user interface when users press a button say; "1 + 2 = " which each time n should be "1", "+", "2" and "=" respectively.
    My algorithm would be as follows checking if its a operator(+) a case carry out adding etc.. each case producing its own task. ( I know i can do it with many simple if..else but that is bad programming technique hence im not going down that route) So here the problem arises - i cant get the switch to successfully complete its task... How about look at my code to understand it better.
    I have posted below all the relevant code i got so far, not including the swing codes because they are not needed here...
    ValidOperators v;
    public Calculator_Engine(ValidOperators v){
              stack = new Stack(20);
              //The creation of the stack...
              this.v = v;          
    public void main_Engine(String n){
           ValidOperators v = ValidOperators.numbers;
                    *vo = vo.valueOf(n);*
         switch(v){
         case Add: add();  break;
         case Sub: sub(); break;
         case Mul: Mul(); break;
         case Div: Div(); break;
         case Eq:sum = stack.sPop(); System.out.println("Sum= " + sum);
         default: double number = Integer.parseInt(n);
                       numberPressed(number);
                       break;
                      //default meaning its number so pass it to a method to do a job
    public enum ValidOperators {
         Add("+"), Sub("-"), Mul("X"), Div("/"),
         Eq("="), Numbers("?"); }
         Notes*
    It gives out error: "No enum const class ValidOperators.+" when i press button +.
    It has nothing to do with listeners as it highlighted the error is coming from the line:switch(v){
    I think i know where the problem is.. the line "vo = vo.valueOf(n);"
    This line gets the string and store the enum as that value instead of Add, Sub etc... So how would i solve the problem?
    But.. I dont know how to fix it. ANy help would be good
    Need more info please ask!
    Thanks in advance.

    demo:
    import java.util.*;
    public class EnumExample {
        enum E {
            STAR("*"), HASH("#");
            private String symbol;
            private static Map<String, E> map = new HashMap<String, E>();
            static {
                put(STAR);
                put(HASH);
            public String getSymbol() {
                return symbol;
            private E(String symbol) {
                this.symbol = symbol;
            private static void put(E e) {
                map.put(e.getSymbol(), e);
            public static E parse(String symbol) {
                return map.get(symbol);
        public static void main(String[] args) {
            System.out.println(E.valueOf("STAR")); //succeeds
            System.out.println(E.parse("*")); //succeeds
            System.out.println(E.parse("STAR")); //fails: null
            System.out.println(E.valueOf("*")); //fails: IllegalArgumentException
    }

  • Hi i have some problem with collect statement.

    hi when i am using collect statement and whn ever any field is modified it is getting doubled and showing doubled value. may i knoe what would be problem.

    Hai Kumar
    Go through the following Collect Syntax
    COLLECT
    Basic form
    COLLECT [wa INTO] itab.
    Addition
    ... SORTED BY f
    Effect
    COLLECT is used to create unique or compressed datsets. The key fields are the default key fields of the internal table itab .
    If you use only COLLECT to fill an internal table, COLLECT makes sure that the internal table does not contain two entries with the same default key fields.
    If, besides its default key fields, the internal table contains number fields (see also ABAP/4 number types ), the contents of these number fields are added together if the internal table already contains an entry with the same key fields.
    If the default key of an internal table processed with COLLECT is blank, all the values are added up in the first table line.
    If you specify wa INTO , the entry to be processed is taken from the explicitly specified work area wa . If not, it comes from the header line of the internal table itab .
    After COLLECT , the system field SY-TABIX contains the index of the - existing or new - table entry with default key fields which match those of the entry to be processed.
    Notes
    COLLECT can create unique or compressed datasets and should be used precisely for this purpose. If uniqueness or compression are unimportant, or two values with identical default key field values could not possibly occur in your particular task, you should use APPEND instead. However, for a unique or compressed dataset which is also efficient, COLLECT is the statement to use.
    If you process a table with COLLECT , you should also use COLLECT to fill it. Only by doing this can you guarantee that
    the internal table will actually be unique or compressed, as described above and
    COLLECT will run very efficiently.
    If you use COLLECT with an explicitly specified work area, it must be compatible with the line type of the internal table.
    Example
    Compressed sales figures for each company
    DATA: BEGIN OF COMPANIES OCCURS 10,
            NAME(20),
            SALES TYPE I,
          END   OF COMPANIES.
    COMPANIES-NAME = 'Duck'.  COMPANIES-SALES = 10.
    COLLECT COMPANIES.
    COMPANIES-NAME = 'Tiger'. COMPANIES-SALES = 20.
    COLLECT COMPANIES.
    COMPANIES-NAME = 'Duck'.  COMPANIES-SALES = 30.
    COLLECT COMPANIES.
    The table COMPANIES now has the following appearance:
    NAME SALES
    Duck 40
    Tiger 20
    Addition
    ... SORTED BY f
    Effect
    COLLECT ... SORTED BY f is obsolete and should no longer be used. Use APPEND ... SORTED BY f which has the same meaning.
    Note
    Performance
    The cost of a COLLECT in terms of performance increases with the width of the default key needed in the search for table entries and the number of numeric fields with values which have to be added up, if an entry is found in the internal table to match the default key fields.
    If no such entry is found, the cost is reduced to that required to append a new entry to the end of the table.
    A COLLECT statement used on a table which is 100 bytes wide and has a key which is 60 bytes wide and seven numeric fields is about approx. 50 msn (standardized microseconds).
    Note
    Runtime errors
    COLLECT_OVERFLOW : Overflow in integer field when calculating totals.
    COLLECT_OVERFLOW_TYPE_P : Overflow in type P field when calculating totals.
    Thanks & regards
    Sreenivasulu P

  • Help with if statement for a beginner.

    Hello, I’m new to the dev lark and wondered if someone could point me in the right direction.
    I have the following (working!) app that lets users press a few buttons instead of typing console commands (please do not be too critical of it, it’s my first work prog).
    //DBS File send and Receive app 1.0
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import java.applet.Applet;
    public class Buttons extends JFrame
         public Buttons()
              super("DBS 2");          
              JTextArea myText = new JTextArea   ("Welcome to the DBS application." +
                                                           "\n" +
                                                           "\n\n1. If you have received an email informing you that the DBS is ready to dowload please press the \"Receive DBS\" button." +
                                                           "\n" +
                                                           "\n1. Once this has been Received successfully please press the \"Prep File\" button." +
                                                           "\n\n2. Once the files have been moved to their appropriate locations, please do the \"Load\" into PAS." +
                                                           "\n\n3. Once the \"Load\" is complete, do the \"Extract\"." +
                                                           "\n\n4. When the \"Extract\" has taken place please press the \"File Shuffle\" button." +
                                                           "\n\n5. When the files have been shuffled, please press the \"Send DBS\" Button." +
                                                           "\n\nJob done." +
                                                           "\n", 20,50);
              JPanel holdAll = new JPanel();
              JPanel topPanel = new JPanel();
              JPanel bottomPanel = new JPanel();
              JPanel middle1 = new JPanel();
              JPanel middle2 = new JPanel();
              JPanel middle3 = new JPanel();
              topPanel.setLayout(new FlowLayout());
              middle1.setLayout(new FlowLayout());
              middle2.setLayout(new FlowLayout());
              middle3.setLayout(new FlowLayout());
              bottomPanel.setLayout(new FlowLayout());
              myText.setBackground(new java.awt.Color(0, 0, 0));     
              myText.setForeground(new java.awt.Color(255,255,255));
              myText.setFont(new java.awt.Font("Times",0, 16));
              myText.setLineWrap(true);
              myText.setWrapStyleWord(true);
              holdAll.setLayout(new BorderLayout());
              topPanel.setBackground(new java.awt.Color(153, 101, 52));
              bottomPanel.setForeground(new java.awt.Color(153, 0, 52));
              holdAll.add(topPanel, BorderLayout.CENTER);
              topPanel.add(myText, BorderLayout.NORTH);
              setSize(700, 600);
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              getContentPane().add(holdAll, BorderLayout.CENTER);
              Container c = getContentPane();
              c.setLayout(new FlowLayout());
              final JButton receiveDBS = new JButton("Receive DBS"); //marked as final as it is called in an Inner Class later
              final JButton filePrep = new JButton("Prep File");
              final JButton fileShuffle = new JButton("File Shuffle");
              final JButton sendDBS = new JButton("Send DBS");
              JButton exitButton = new JButton("Exit");
    //          JLabel statusbar = new JLabel("Text here");
              receiveDBS.setFont(new java.awt.Font("Arial", 0, 25));
              filePrep.setFont(new java.awt.Font("Arial", 0, 25));
              fileShuffle.setFont(new java.awt.Font("Arial", 0, 25));
              sendDBS.setFont(new java.awt.Font("Arial", 0, 25));
              exitButton.setBorderPainted ( false );
              exitButton.setMargin( new Insets ( 10, 10, 10, 10 ));
              exitButton.setToolTipText( "EXIT Button" );
              exitButton.setFont(new java.awt.Font("Arial", 0, 20));
              exitButton.setEnabled(true);  //Set to (false) to disable
              exitButton.setForeground(new java.awt.Color(0, 0, 0));
              exitButton.setHorizontalTextPosition(SwingConstants.CENTER); //Don't know what this does
              exitButton.setBounds(10, 30, 90, 50); //Don't know what this does
              exitButton.setBackground(new java.awt.Color(153, 101, 52));     
              topPanel.add(receiveDBS);
              middle1.add(filePrep);
              middle2.add(exitButton);
              middle3.add(fileShuffle);
              bottomPanel.add(sendDBS);
              receiveDBS.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent ae)
                        if (ae.getSource() == receiveDBS);
                        try
                             Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\ReceiveDBSfile.bat");
                        catch(Exception e)
                             System.out.println(e.toString());
                             e.printStackTrace();
              filePrep.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent ae)
                        if (ae.getSource() == filePrep);
                        try
                             Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\filePrep.bat");
                        catch(Exception e)
                             System.out.println(e.toString());
                             e.printStackTrace();
              exitButton.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent ae)
                        System.exit(0);
              fileShuffle.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent ae)
                        if (ae.getSource() == fileShuffle);
                        try
                             Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\fileShuffle.bat");
                        catch(Exception e)
                             System.out.println(e.toString());
                             e.printStackTrace();
              sendDBS.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent ae)
                        if (ae.getSource() == sendDBS);
                        try
                             Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\sendDBSFile.bat");
                        catch(Exception e)
                             System.out.println(e.toString());
                             e.printStackTrace();
              c.add(receiveDBS);
              c.add(filePrep);
              c.add(fileShuffle);
              c.add(sendDBS);
              c.add(exitButton);
    //          c.add(statusbar);
         public static void main(String args[])
              Buttons xyz = new Buttons();
              xyz.setVisible(true);
         }What I would like help with is the following…
    I would like output to either a JLabel or JTextArea to appear if a file appears on the network. Something along these lines…
    If file named nststrace*.* is in \\[network path] then output “Download successful, please proceed.”
    btw I have done my best to search this forum for something similar and had no luck, but I am looking forward to Encephalopathic’s answer as he/she has consistently made me laugh with posted responses (in a good way).
    Thanks in advance, Paul.

    Hospital_Apps_Monkey wrote:
    we're starting to get aquainted, but I think "best friend" could take a while as it is still as hard going as I recall, but I will persevere.Heh, it's not so bad! For example, if I had no idea how to test whether a file exists, I would just scan the big list of classes on the left for names that sound like they might include File operations. Hey look, File! Then I'd look at all of File's methods for something that tests whether it exists or not. Hey, exists! Then if I still couldn't figure out how to use it, I'd do a google search on that particular method.

  • Need help with Object States or Buttons?

    I currently work in InDesign to compile layouts and present design decks to clients. Our template includes an approval section (Not Approved, Revised, Approved) that we currently have as white/black bubbles that we change manually on each page. I've been trying to find a way to speed up this process. I know that in InDesign you can create buttons than you can then click on-off on your PDF - we used to do this but it is too time consuming (we have PDF's anywhere from 25-120 pages). I have been playing around with Object States, so we can quickly update the bubbles in InDesign itself as we work.
    Does anyone know of a way to change the state of multiple objects on multiple pages at the same time? (For example, if I want to change all pages to "Approved" at the same time - or if I only wanted to do some, but not all, of the pages.)
    Can anyone recommend any other InDesign tools that may be able to create a similar function for an "approval" stamp, but that still is done in InDesign (not in the PDF after exporting)?

    I was hoping that wouldn't be the only way. My have multiple master pages already, and not all pages will be "approved" at the same time. So we've run into issues with putting these on the masters as it gets easier to miss them.

  • In need of help with Collections.

    Greetings,
    I've been assigned a college work where I have to develop a solution, utilizing Swing and Collections, to the problem below:
    "There is a department store with several products. The store owner doesn't know exactly how many product types there are, so he decided to register all types of products. The registering option consists of the following operations: add, remove, and change product.
    The products have three characteristics (attributes): name, quantity and price. Once all products are registered, the store owned wants to see a list of the products in alphabetical order on the screen.
    The store owner also wants the program to sell the products. The sale is done with the user searching for a product by the name, and the program will show the price of the product on the screen. The user confirms that it's the right product, and the program will reduce the item's quantity by one.
    Obs.: To simplify the problem, work with a reduced number of products. Also the program does not need to store date in the disk."
    So far I've built a class named Product, a visual class for the GUI and the main class. Inside the Product class I have a String for the name, a Float for the price, and Integer for the quantity, as well as the getters and setters for those private variables.
    In the GUI class I've made a Product Array and I also made the text fields so the user can type the data and put it in the array. This part seems to be working fine. The problem begins when using Collections. How can I use this array to make a sorted list of the products (it seemed to work when using Arrays.sort(products, byAlpha [Comparator I've creadted to sort alphabetically]), but I don't know how to work with this, now supposedly sorted, data), maybe put it inside a JList, where the user can see what products he is registering in real time? Can I make it so the user clicks on the product in the JList and he can now delete it or change the values of that product (price, quantity)?
    Any help, suggestions, insight, are greatly appreciated. Thanks in advance!
    Thiago.

    So, for example, on a JButton, I should
    write the code on a different class, and in the GUI
    class, make an instance of that class (or is it the
    other way around?), and call the method that I need
    for that button inside the actionPerformed? (Sorry if
    I sound confusing, I'm not very familiar with Java)Suppose you have a class called Store, that represents the store. Internally, it has a Collection of Products, but the caller doesn't need to know that.
    So, Store might have a method called findProducts:
    public Collection<Product> findProducts(String findThis) {
        Collection<Product> returnThis = new ArrayList<Product>;
        // code here that searches through the internal collection, and
        // adds products whose names match the search string to returnThis
        return returnThis;
    }So then you might have a GUI that looks like this:
    public class StoreGUI {
        private Store theStore;
        public StoreGUI() {
            theStore = new Store();
            // create frame, etc.
            final JTextField searchThis = new JTextField();
            JButton searchButton = new JButton("Search");
            final JList searchResults = new JList();
            searchButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    Collection<Product> result = store.findProducts(searchThis.getText());
                    searchResults.setListData(result.toArray());
            // add text field, button, etc. to frame, etc.
    It may be preferable to get rid of getters and
    setters and instead have operations that are
    specifically meaningful for Products. Not sure if I understand, could you give me an
    example of how I could do that?I mean that if Product now has this:
    private int quantity;
    public int getQuantity() {
        return quantity;
    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }Then arguably that doesn't make sense, because when you run a store you can't just magically create a hundred boxes of cornflakes, which (arguably) is what you'd be doing if you did this:
    cornflakes.setQuantity(100);So it might make more sense to get rid of setQuantity, and provide methods on Product like this:
    private int quantity;
    public int getQuantity() { // this is still OK, you can always look at your inventory
        return quantity;
    public void buy(int quantity) {
        // check to make certain that quantity is no more than this.quantity
        this.quantity -= quantity;
    public void addInventory(int quantity) {
        this.quantity += quantity;
    }This might not be the best example, because the difference isn't huge. But the idea is that you're modelling reality a little more closely, and you're moving the logic that controls the state of the object, directly into the logic. (So you don't have some external object calling getQuantity, changing it, and then calling setQuantity.) This tends to make code easier to maintain.
    The book I'm using as reference gives examples
    of List and ArrayList, but only using String. I'm not
    sure how to use it for my Product class, would it be
    something like this?
    > HashSet<Product> products = new HashSet<Product>();Yes, that's exactly right.
    Also, do you happen to know any
    resource on the web where I can learn more about
    Collections?http://java.sun.com/docs/books/tutorial/collections/index.html

  • Help with IF statement in numbers

    Hi Community
    Please could someone assist with creating a formula.
    I have created an exercise log (see image). Now when I input a formula in E, =D2/C2 it gives me my Minutes/km, but in a row containing 'Resistance' it obviously gives me the enoying red beacon.
    How can I create an IF/THEN statement, basically IF column C = "0", then 'leave field black', otherwise 'calculate my Minutes/km'.
    A solution will be greatly appreciated.
    Cheers,
    Mike

    I suggest the following changes:
    1) omit the "km" from in each entry of the "Distance" column and simply place it in the column header
    2) use the following formula for the "Min / km" column:
    E2=IF(C2>0,DURATION(,,,DUR2MINUTES(D2)/C2,), "")
    the problem is you cannot divide by 0 (EVER).  so you were correct to consider using an if to omit entries where the was no distance.
    I hop this helps.
    Wayne

  • Urgent help with If statement please!

    HI Everyone
    Was wondering if anyone can tell me why flash seems to be
    ignoring my If Statements, every time I try to use one it ignores
    the condition and just actions the command. Its driving me crazy.
    I'm sure I must be doing something wrong I just can't work it out.
    I've put;
    on (release) {
    if ((_root.eyeshadow = "Pink") && (_root.lipy =
    "Pink")) {
    _root.correct._alpha =100;
    It seems to just action the _root.correct._alpha = 100;
    even when a different colour is selected.
    I was wondering can flash read a variable from another
    script, because if not it will not know what eyeshadow and lipy
    are. I dont get any error messages though.
    Please help somebody!
    Thank you,
    Stacy.x.

    Thank you that appears to have made the if statement work,
    but now i have another problem.
    It doesn't seem to acknowledge wether these selections have
    been selected.
    I have put in the code for the pink eyeshadow;
    on (release) {
    _root.eyeshadow2._alpha =0;
    _root.eyeshadow1._alpha = 100;
    eyeshadow == "Pink";
    the same code is in all the other selections, with the name
    variations.
    any ideas?
    .x.

  • Need help with IF Statement!!!

    I am trying to write an IF statement using FormCalc in LiveCycle. I have cell "tpe" which captures total points. I would like to assign levels based on the number of points achieved. For example, level I = 1001-1985; level II = 851-1000; level III = 551-850; level IV = <551. I want cell "level" to show either I, II, III or IV, based on the points in cell "tpe". How can I do this? I have zero familiarity with FormCalc or scrips in general. Can someone please help me with this? Would appreciate any help!! Thanks!

    This is what it says:
    topmostSubform.Page3.tpe::calculate - (FormCalc, client)
    sum (rrtotal, programtotal, financetotal, leadershiptotal, executivetotal, meetingstotal, filestotal, brotherhoodtotal, conferencetotal, communicationstotal, minutestotal, standardstotal, basileustotal, abtotal, gramtotal, antigramtotal, tamtotal, pgramtotal, partotal, epistotal, torchtotal, hodtotal, phitotal)
    if ($ > 1000 and $ <= 1985)then
    level = "I"
    elseif ($ > 850 and $ <= 1000)then
    level = "II"
    elseif ($ > 550 and $ <= 850)then
    level = "III"
    elseif ($ <= 550)then
    level = "IV"
    else level = ""
    endif

  • JavaScript:  Help with IF Statement

    I am not familar with Java and I have been fighting with this IF statement and I cannot get it to work.  I am sure it is something fairly basic.  Can anyone help?  I have seeminly tried everything.  In this example below I am trying to check if the data the user has entered in the FAVOR field is AAA and if it is then put up a message and if it isn't then put up a different message.  My top node in my hierarcy is data and then I have a MainSubform and then a Contact02Subform.  I have this code attached to a button and notthing happens when I click the button.  If I remove the if statement and just have the message box by itself then it shows the message box.  So I know it is my IF statement and I am sure it is simple.  Help please?
    if (xfa.resolveNode("xfa.form.data.MainSubform.Contact02Subform.FAVOR").rawValue == 'AAA')
      xfa.host.messageBox("My IF"); else;  xfa.host.messageBox("My ELSE");
    endif;

    Try this.
    if (xfa.resolveNode("xfa.form.data.MainSubform.Contact02Subform.FAVOR"). rawValue == 'AAA')
              xfa.host.messageBox("My IF");
    else
               xfa.host.messageBox("My ELSE");
    endif is used in FormCalc generally not in JavaScript.
    Thanks,
    Bibhu.

  • Need help with If statement Please

    Hi guys,
    This is my first time posting and sorry if for some reason i post incorrectly.
    I am having trouble figuring out what I am doing with my if Statement and why the compiler is giving me an error which says 'cannot find symbol';
    Just incase you need to see the code here it is. And please any pointers would help me get back on track. And please dont laugh at the novice code i just started^^;
    import java.util.*;
    import java.text.*;
    public class Student
         public static void main(String[]args)
         Scanner scan=new Scanner(System.in);
         double std1, std2, std3, num1, num2, num3, num4;
         String a, answer1, name1;
    System.out.println("Welcome to _____ program, press any button to continue: ")
    a=scan.nextLine();
    System.out.println("Good, would you like to enter a grade for a student(y/n)?");
    answer1=scan.nextLine();
    if (answer1 == y)
         System.out.println("Please enter the students name ");
                             name1=scan.nextLine();
                             System.out.println("Please label the test number ");
                             num1=scan.nextDouble();
                             System.out.println("Please enter the grade, "+name1+" recieved");
    std1=scan.nextDouble();
    if (answer1==n)
         System.out.println("Thank you for trying my program ");
    else
    System.out.println("It's obvious you couldn't follow a simple direction good bye ");

    Thanks Flounder,
    I'll keep in mind to edit the code the way you told me too.
    As far as the code goes, what do you mean 'y' is not a string and should be a variable. All I'm trying to do is give a true false statement.
    For example
    if (input==y)
    System.out.println("________");
    And in my code it gives an error stating that y is a variable.
    I dont understand why.
    Thanks much for all your replies.

Maybe you are looking for

  • Error when calling Synchronous SOAP Receiver

    Hi, When I am calling a synchronous Web service using SOAP Receiver adapter I am getting the following error:   <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!--  Inbound Message   --> - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Messag

  • Overlapping fields in JFree report

    Hi All, I need an urgent help. Its very urgent. My application is developed in Swing. I am using JFree report for printing. I have some more than 10 columns. The column width is long. So when I print from JFree report my values are overlapping . Am u

  • Search page by name

    Hi experts, What is the best way to search for a page by its name? not by title or any other jcr properties. Thanks in advance.

  • Hiding columns

    I am trying to print, hiding selected columns. Some columns hide almost immediately. Other seem to hang. I am not using any functions in any cells. It is purely text. There are no more than 10 characters in a cell, approx 900 rows. Any suggestions?

  • Need help with my mac pro model # a1188

    help please i installed a second hard drive in my mac that had windows on it and now my mac gets stuck on the white screen with the apple logo and and a gear turning i tried the command r and now it goes to that screen with a progress bar and shuts d