What is the wrong in this code

*& Report  ZTESTTEST
REPORT  ztesttest LINE-SIZE 256.
TYPE-POOLS: slis.
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE ,
               <dyn_wa>,
               <dyn_field>.
FIELD-SYMBOLS: <dyn_table1> TYPE STANDARD TABLE ,
               <dyn_wa1>,
               <dyn_field1>.
DATA: alv_fldcat TYPE slis_t_fieldcat_alv,
      it_fldcat TYPE lvc_t_fcat.
TYPE-POOLS : abap.
DATA : it_details TYPE abap_compdescr_tab,
       wa_details TYPE abap_compdescr.
DATA :itab TYPE abap_component_tab.
*       CLASS cl_my_structure  DEFENITION
CLASS cl_my_structure DEFINITION.
  PUBLIC  SECTION.
    METHODS: x.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.                    "cl_my_structure  DEFENITION
*       CLASS cl_my_structure IMPLEMENTATION
CLASS cl_my_structure IMPLEMENTATION.
  METHOD x.
    WRITE 'HI'.
  ENDMETHOD.                    "x
ENDCLASS.                    "cl_my_structure IMPLEMENTATION
DATA : ref_descr TYPE REF TO cl_abap_structdescr.
DATA: new_table TYPE REF TO data,
      new_line  TYPE REF TO data,
      wa_it_fldcat TYPE lvc_s_fcat.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text .
PARAMETERS: p_table(30) TYPE c DEFAULT 'T001'.
SELECTION-SCREEN END OF BLOCK b1.
* Get the structure of the table.
ref_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).

That depends on what you want it to do.  Do you want it to write "Hi"?  If so...
report  ztesttest line-size 256.
*type-pools: slis.
*field-symbols: <dyn_table> type standard table ,
*               <dyn_wa>,
*               <dyn_field>.
*field-symbols: <dyn_table1> type standard table ,
*               <dyn_wa1>,
*               <dyn_field1>.
*data: alv_fldcat type slis_t_fieldcat_alv,
*      it_fldcat type lvc_t_fcat.
*type-pools : abap.
*data : it_details type abap_compdescr_tab,
*       wa_details type abap_compdescr.
*data :itab type abap_component_tab.
*       CLASS cl_my_structure  DEFENITION
class cl_my_structure definition.
  public  section.
    methods: x.
  protected section.
  private section.
endclass.                    "cl_my_structure  DEFENITION
*       CLASS cl_my_structure IMPLEMENTATION
class cl_my_structure implementation.
  method x.
    write 'HI'.
  endmethod.                    "x
endclass.                    "cl_my_structure IMPLEMENTATION
*data : ref_descr type ref to cl_abap_structdescr.
*data: new_table type ref to data,
*      new_line  type ref to data,
*      wa_it_fldcat type lvc_s_fcat.
data: o_ref type ref to cl_my_structure.
selection-screen begin of block b1 with frame title text .
parameters: p_table(30) type c default 'T001'.
selection-screen end of block b1.
start-of-selection.    "<--  YES, YOU NEED THIS.
create object o_ref .
call method o_ref->x.
* Get the structure of the table.
*ref_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).
Regards,
RIch Heilman

Similar Messages

  • What is the wrong in this PL/SQL  block

    Hi a...
    Can you please tell what is the wrong in this pl/sql block.
    declare
    TYPE TYP_NT_NUM IS TABLE OF NUMBER ;
    v_tab TYP_NT_NUM := TYP_NT_NUM();
    TYPE uname is VARRAY(30) of varchar2(100) ;
    usr uname := uname ( 'u1','u2','u3','u4' );
    TYPE pwd is VARRAY(30) of varchar2(100) ;
    psw pwd := pwd('p1','p2','p3','p4');
    x number(10):=0;
    Cursor fcid IS Select distinct FC_ID From FCMASTER ;
    Begin
    Open fcid ;
    --for ii in usr.first .. usr.last loop
         Loop
              Fetch fcid Into x ;
              Exit When fcid%NOTFOUND ;
              v_tab(fcid%ROWCOUNT) := x ;
         End loop ;
         For iii IN v_tab.FIRST .. v_tab.LAST Loop
              dbms_output.put_line(v_tab(iii).FC_ID) ;
              End loop ;
    End loop; End of outer loop
    End;
    The error is
    Error
    [row:28,col:36] ORA-06550: line 28, column 36:
    PLS-00487: Invalid reference to variable 'NUMBER'
    ORA-06550: line 28, column 4:
    PL/SQL: Statement ignored
    Thanks in advance,
    Pal

    v_tab(iii).FC_ID
    declare
      type typ_nt_num is table of number;
      v_tab typ_nt_num;
    begin
      select distinct object_id bulk collect into v_tab from all_objects where rownum <= 10;
      for i in 1 .. v_tab.count loop
        dbms_output.put_line(v_tab(i)) ;
      end loop ;
    end;
    /

  • What's the problem in this code

    import java.lang.reflect.*;
    import java.awt.*;
    class ABC
         public Integer i;
         ABC()
         public void setInt(Integer t)
              i = t;
    public class SampleName {
    public static void main(String[] args)
    ABC g1 = new ABC();
    g1.setInt(new Integer(10));
    printFieldNames(g1);
    static void printFieldNames(Object o) {
    Class c = o.getClass();
    Field[] publicFields = c.getDeclaredFields();
    for (int i = 0; i < publicFields.length; i++)
    try {
    Object ref = publicFields.get(c);
    System.out.println(" ref.toString() : " + ref.toString());
         }catch(Exception e)
                   e.printStackTrace();
    What is the problem with this code,at run time Iam getting this exception
    java.lang.IllegalArgumentException: object is not an instance of declaring class
    How can we get the value of field of an object

    Now it got this exception
    java.lang.IllegalAccessException
    at java.lang.reflect.Field.get(Native Method)That's strange - I didn't! ;-)
    Are you running exactly the same code as the code you posted (except for the one line I said to change)?

  • Please tell me what is the problem with this code

    Hai,
    Iam new to Swings. can any one tell what is the problem with this code. I cant see those controls on the frame. please give me the suggestions.
    I got the frame ,but the controls are not.
    this is the code:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class ex2 extends JFrame
    JButton b1;
    JLabel l1,l2;
    JPanel p1,p2;
    JTextField tf1;
    JPasswordField tf2;
    public ex2()
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setTitle("Another example");
    setSize(500,500);
    setVisible(true);
    b1=new JButton(" ok ");
    p1=new JPanel();
    p1.setLayout(new GridLayout(2,2));
    p2=new JPanel();
    p2.setLayout(new BorderLayout());
    l1=new JLabel("Name :");
    l2=new JLabel("Password:");
    tf1=new JTextField(15);
    tf2=new JPasswordField(15);
    Container con=getContentPane();
    con.add(p1);
    con.add(p2);
    public static void createAndShowGUI()
    ex2.setDefaultLookAndFeelDecorated(true);
    public static void main(String ar[])
    createAndShowGUI();
    new ex2();
    }

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class ex2 extends JFrame
        JButton b1;
        JLabel l1,l2;
        JPanel p1,p2;
        JTextField tf1;
        JPasswordField tf2;
        public ex2()
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setTitle("Another example");
            b1=new JButton(" ok ");
            p1=new JPanel();
            p1.add(b1);
            p2=new JPanel();
            p2.setLayout(new GridLayout(2,2));
            l1=new JLabel("Name :");
            l2=new JLabel("Password:");
            tf1=new JTextField(15);
            tf2=new JPasswordField(15);
            p2.add(l1);
            p2.add(tf1);
            p2.add(l2);
            p2.add(tf2);
            Container con=getContentPane();
            con.add(p1, BorderLayout.NORTH);
            con.add(p2, BorderLayout.CENTER);
            pack();
            setVisible(true);
        public static void createAndShowGUI()
            ex2.setDefaultLookAndFeelDecorated(true);
        public static void main(String ar[])
            createAndShowGUI();
            new ex2();
    }

  • Vector, what is the problem with this code?

    Vector, what is the problem with this code?
    63  private java.util.Vector data=new Vector();
    64  Vector aaaaa=new Vector();
    65   data.addElement(aaaaa);
    74  aaaaa.addElement(new String("Mary"));on compiling this code, the error is
    TableDemo.java:65: <identifier> expected
                    data.addElement(aaaaa);
                                   ^
    TableDemo.java:74: <identifier> expected
                    aaaaa.addElement(new String("Mary"));
                                    ^
    TableDemo.java:65: package data does not exist
                    data.addElement(aaaaa);
                        ^
    TableDemo.java:74: package aaaaa does not exist
                    aaaaa.addElement(new String("Mary"));Friends i really got fed up with this code for more than half an hour.could anybody spot the problem?

    I can see many:
    1. i assume your code snip is inside a method. a local variable can not be declare private.
    2. if you didn't import java.util.* on top then you need to prefix package on All occurance of Vector.
    3. String in java are constant and has literal syntax. "Mary" is sufficient in most of the time, unless you purposly want to call new String("Mary") on purpose. Read java.lang.String javadoc.
    Here is a sample that would compile...:
    public class QuickMain {
         public static void main(String[] args) {
              java.util.Vector data=new java.util.Vector();
              java.util.Vector aaaaa=new java.util.Vector();
              data.addElement(aaaaa);
              aaaaa.addElement(new String("Mary"));
    }

  • What's the point of this code?

    Hi, I'm getting an error in a program.
    So I went to look in the code where the error is displayed.
    And I found this:
    z_nbjr = sy-datum - z_fromdt.
    if z_nbjr > 1.
      message is displayed.
    Now, z_fromdt is the value TVARV-LOW for 'ZVDL_VBUK_LAST_RUN', and the message that is displayed is 'Please rebuild index file ZVDL_VBUK'.
    Can anyone explain to me what is the point of this? What is TVARV-LOW?
    And why do they make this check? And how do I rebuild the index file?

    >
    christophe latinne wrote:
    > Can anyone explain to me what is the point of this? What is TVARV-LOW?
    > And why do they make this check? And how do I rebuild the index file?
    As Pushpraj has already pointed out correctly, TVARV is where the variants are stored. It's rather strange that you've never seen fields like LOW and HIGH, because they're also used in the ABAP range tables (see Help for command RANGES).
    Since this is all your custom development, we, unfortunately, cannot know what is the point of all this. I'm guessing that the message to "rebuild the index" is also custom and, therefore, you would need to find a documentation for the program in question or ask your colleagues what this could mean. Also check if there is a long text available for the message (although I doubt that).
    Most likely it's some kind of an internal process of running some other program.

  • What is the wrong with this small code of groupitems

    var msg =""
    if(app.documents.length > 0)
    var pgItems = app.activeDocument.pageItems;
    tot_obj=pgItems.length ;
    if( pgItems.length > 0 )
      var GroupItem =app.activeDocument.groupItems;
      total_Group = GroupItem.length;
       for(var a = 0;a<total_Group;a++)
        GroupItem[a].hidden=true;

    Use this code :
    app.activeDocument.groupItems[a].hidden=true;

  • What's is wrong with this code

    import java.awt.*;
    public class FormulaOne extends Canvas {
    public FormulaOne() {
    super();
    setSize(300, 200);
    setBackground(Color.black);
    public static void main(String args[]) {
    FormulaOne it = new FormulaOne();
    GUIFrame frame = new GUIFrame("Formula One Manager");
    frame.add(it);
    frame.pack();
    frame.setVisible(true);
    public void paint(Graphics g) {
    Image img1 = Toolkit.getDefaultToolkit().getImage("F1.gif");
    g.DrawImage(img1, 0, 0, this);
    I get 3 errors
    1.GUIFrame frame = new GUIFrame("Formula One Manager");
    2.GUIFrame frame = new GUIFrame("Formula One Manager");
    3.g.DrawImage(img1, 0, 0, this);
    the line underneath the error code is what is given with the IDE iam using (Gel)
    The idea of this little code is to get a picture up for my game
    Can anybody help

    I get 3 errors
    1.GUIFrame frame = new GUIFrame("Formula One
    Manager");
    2.GUIFrame frame = new GUIFrame("Formula One
    Manager");
    The two are probably related. The code is looking to create
    an instance of the class GUIFrame. The compiler won't see
    GUIFrame unless you either import it into your source file with
    import <<whatever>>.GUIFrame, or have the GUIFrame class within
    the same package as your new class.
    In addition, you'll also need to make sure that the GUIFrame class
    contains a Constructor that takes a single String parameter, or you'll
    get an error with that line.
    3.g.DrawImage(img1, 0, 0, this);
    ------------------------------it's g.drawImage, not g.DrawImage

  • Please help me: what is the wrong in my code?

    Hi all ,
    I wrote a script in unix to send a mail, i am executing the script using java code, when i test the script separately in unix it is working properly , when i am executing it in java it is not working properly it is not showing any errors.
    UNIX script: Send_mail.ksh
    #!/bin/ksh
    . ./set_mail_details.ksh
    echo 'In script'
    subject=$1
    echo '\nsubject'
    echo $1
    echo "$subject" | sed 's/~/ /g' | read sub
    body_of_email=$2
    echo '\nBody'
    echo $2
    echo '\nMail List'
    to_list=$3
    echo $3
    echo "$body_of_email" | sed 's/~/ /g' | read body
    (echo "$body";echo '\n';cat U.CUE_CPM )| mailx -s "$sub" -r [email protected] "$to_list"
    if [ $? -eq 0 ]
    then
      echo "Mail is Sent"
    else
      echo "Mail is not sent(In script)"
    fijava code: sendMail.java
    import java.lang.*;
    import java.util.*;
    import java.io.*;
    public class sendMail
      public static void main(String argv[])
          /* This function will send a mail.*/
              String mailIds = "[email protected],[email protected]";
              try{
                   String subject="Test mail";
                       String body = "This is to test the code";
                       String exec_command = "send_mail.ksh "+subject+" "+body+" "+mailIds;
                       Process p = Runtime.getRuntime().exec(exec_command);
                            int exitVal=p.waitFor();
                            if (exitVal == 0)
                                    System.out.println("Mail Is Sent Successfully");
                            else
                                    System.out.println("Mail Is Not Sent ");
                     catch(Exception e)
                        System.out.println("Mail Delivary Failure due to following reasons.");
                            System.out.println("error in email:"+e.getMessage());
                            System.out.println("Cause:"+e.getCause());
                            System.out.println("to string:"+e.toString());
    }when i execute the sendMail i am getting the output as
    $ java sendMail
    Mail Is Sent Successfully
    but i didn't receive any mail.can any one please help in resolving my prob :((

    When using Runtime.exec(String) method, the parameter is split by whitespaces. The first token being the program to run, and each other being considerred as an argument to this program.
    In your test, the body contains whitespaces. Therefore, "This" is considered as one argument, and "is" as another one (mail list in this case...), etc.
    You should consider using the Runtime.exec(String[]) method instead, whith which you have control on the parameters (the first element of the array being the command and every subsequent element being an argument.)String[] exec_command = {"send_mail.ksh", subject, body, mailIds};
    Process p = Runtime.getRuntime().exec(exec_command);http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html
    Tim - What about JavaMail ?

  • What is the error in this code

    hi everone
    I write this code in push button
         declare
              x varchar2(222);
         begin
              x:=get_application_property(:system.mode);
              message(x);
              end;
    to know the system mode
    but the resullt was exeception ora-06502

    simple write
    x := :system.mode;
    or
    message(:system.mode);
    message(:system.mode);Best way to resolve the issue is always check Forms online help first

  • What is the problem in this code

    hi
    im tring to ftech mutliple reords to tabuler form text item
    i write this code but its only fetch values for first record in the text item and do not fetch to other records in the same text item
    Declare
    cursor c is
    select distinct group_a from sc_mast; <here i select all values
    in my database that they are 63 values>
    begin
    for r in c loop
    next_record;
    :visib_groups.group_a:=r.group_a;<it assign vakues only for first record>
    end loop;
    end;

    This?
    Go_block('>your_block<')
    first_record;
    begin
    for r in c loop
    :visib_groups.group_a:=r.group_a;<it assign vakues only for first record>
    next_record;
    end loop;Ros

  • What is the problem in this code (problem in select query)

    Just need your help in solving one issue. In the below code one query which is highlighted
    Select statement not working means cursor directly goes to the endselect .means these two statements not executed.
    CLASS cl_abap_container_utilities DEFINITION LOAD.
    CALL METHOD cl_abap_container_utilities=>read_container_c
    I am attaching that code with this mail. Please do the needful help.
    *& Report  ZEOU_RG1                                                   *
    REPORT  zeou_rg1 LINE-SIZE 400.
    Purpose : RG1 Report driver
    Remarks :
    constants
    INCLUDE j_2icons.
    type declerations
    INCLUDE j_2isdef.
    table definitions and internal tables
    INCLUDE j_2iddef.
    INCLUDE <icon>.
    DATA: $plant  TYPE bp_addr_typ,
          $lincnt LIKE sy-linct,
          m_date LIKE j_1ipart2-budat,
          m_chapid LIKE j_1iexcdtl-chapid,
          m_matform LIKE j_1irg1-matform,
          m_bedrate LIKE j_1irg1-bedrate,
          tot_op_bal LIKE j_1irg1-menge,
          tot_qty_mnfr LIKE j_1irg1-menge,
          tot_total_qty_mnfr LIKE j_1irg1-menge,
          tot_remv_home LIKE j_1irg1-menge,
          tot_remv_hval LIKE j_1irg1-exbas,
          tot_remv_expr LIKE j_1irg1-menge,
          tot_remv_eval LIKE j_1irg1-exbas,
          tot_remv_expb LIKE j_1irg1-menge,
          tot_remv_othr LIKE j_1irg1-menge,
          tot_remv_opur LIKE j_1irg1-menge,
          tot_duty_amt  LIKE j_1irg1-exbed,
          tot_cb_fr     LIKE j_1irg1-exbed,
          tot_cb_br     LIKE j_1irg1-exbed.
    DATA: t_rg1_cons TYPE rg1_typ OCCURS 0 WITH HEADER LINE.
    FIELD-SYMBOLS: <x_extrctdata> TYPE c,
                   <x_rg1> TYPE rg1_typ,
                   <x_part1typ> TYPE part1_typ.
    DATA : it_j_1iexchdr TYPE j_1iexchdr OCCURS 0 WITH HEADER LINE,
           wa_j_1iexchdr TYPE j_1iexchdr,
           it_j_1iexcdtl TYPE j_1iexcdtl OCCURS 0 WITH HEADER LINE,
           wa_j_1iexcdtl TYPE j_1iexcdtl.
    selection screen
    PARAMETERS: p_exgrp LIKE j_1iexchdr-exgrp OBLIGATORY MEMORY ID j2i,
                p_stdate   LIKE sy-datum OBLIGATORY,
                p_endate   LIKE sy-datum OBLIGATORY.
    *SELECTION-SCREEN SKIP 1.
    *SELECTION-SCREEN BEGIN OF BLOCK 4 WITH FRAME TITLE TEXT-001.
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN POSITION 01.
    *PARAMETERS: P_INDI RADIOBUTTON GROUP 57F4 DEFAULT 'X'.
    *SELECTION-SCREEN COMMENT (25) TEXT-002.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN POSITION 01.
    *PARAMETERS: P_CONS RADIOBUTTON GROUP 57F4.
    *SELECTION-SCREEN COMMENT (25) TEXT-003.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN END OF BLOCK 4.
    INITIALIZATION.
    AT SELECTION-SCREEN.
      SELECT SINGLE *
      FROM j_1iexgrps
      WHERE j_1iexcgrp = p_exgrp.
      IF sy-subrc NE 0.
        MESSAGE e399(8i) WITH p_exgrp.
      ENDIF.
    *check company code
      SELECT SINGLE *
      FROM t001k
      WHERE bwkey = j_1iexgrps-j_1iwerks.
      IF sy-subrc NE 0.
        MESSAGE e518(8i) WITH 'the' 'plant' j_1iexgrps-j_1iwerks.
      ENDIF.
    <b>START-OF-SELECTION.
      CLEAR: j_1irg1, j_2icomp.
    retrieve layout name and details
    SELECT SINGLE *
    FROM J_2ILAYCTR
    WHERE BUKRS    = T001K-BUKRS
    AND   REGISTER = C_RG1
    AND   LAYOUTNR = 1.
    IF SY-SUBRC NE 0.
       MESSAGE E635(8I) WITH T001K-BUKRS C_RG1.
    ENDIF.
    SET COUNTRY 'IN'.
      REFRESH t_reciepts.
    report driver logic
      SELECT *
      FROM j_2iextrct
      WHERE exgrp  = p_exgrp
      AND budat   >= p_stdate
      AND budat   <= p_endate
      AND register = c_rg1
      ORDER BY budat keyid.
       assign J_2IEXTRCT-EXTRCTDATA to <x_extrctdata> casting.
       assign T_RG1 to <x_rg1> casting.
       <x_rg1> = <x_extrctdata>.
        CLASS cl_abap_container_utilities DEFINITION LOAD.
        CALL METHOD cl_abap_container_utilities=>read_container_c
          EXPORTING
            im_container           = j_2iextrct-extrctdata
          IMPORTING
            ex_value               = t_rg1
          EXCEPTIONS
            illegal_parameter_type = 1
            OTHERS                 = 2.
       MOVE J_2IEXTRCT-EXTRCTDATA TO T_RG1.
        APPEND t_rg1.
      ENDSELECT.
      DESCRIBE TABLE t_rg1 LINES $lincnt.
      IF $lincnt = 0.
        MESSAGE e548(8i) WITH p_stdate p_endate.
      ENDIF.</b>
    PERFORM PLANT_AND_EXCISE_DTLS USING P_WERKS.
      PERFORM plant_and_excise_dtls USING j_1iexgrps-j_1iwerks.
      MOVE : 'ZJ_2I_RG1' TO j_2ilayctr-layoutname.
      SORT t_rg1 BY  chapid matnr cpudt .
    open form
      PERFORM open_form USING  j_2ilayctr-layoutname j_2ilayctr-noofcopies    "J_2ILAYCTR-LAYOUTNAME
                              j_2ilayctr-outdevice  true.
    process extract data and write
    IF P_INDI = 'X'.
      PERFORM get_data_and_write.
    ELSEIF P_CONS = 'X'.
       PERFORM RG1_PRINT_CONS.
       PERFORM GET_DATA_AND_WRITE_CONS.
    ENDIF.
    close form
      PERFORM close_form.
                              F O R M S
      INCLUDE j_2ilayo.
    *&      Form  GET_DATA_AND_WRITE
    Purpose : Logic to print RG1 report
    FORM get_data_and_write.
      DATA: save_matnr LIKE mara-matnr.
      CLEAR: j_1irg1, j_2icomp, save_matnr.
      SELECT * FROM j_1iexchdr INTO TABLE it_j_1iexchdr
      WHERE  exgrp  = p_exgrp
      AND budat   >= p_stdate
      AND budat   <= p_endate.
      SORT it_j_1iexchdr BY cpudt docno.
      LOOP AT it_j_1iexchdr.
        SELECT * FROM j_1iexcdtl INTO wa_j_1iexcdtl
        WHERE docno = it_j_1iexchdr-docno.
          APPEND wa_j_1iexcdtl TO it_j_1iexcdtl.
        ENDSELECT.
      ENDLOOP.
      clear wa_j_1iexcdtl.
      SORT it_j_1iexcdtl BY chapid  matnr cpudt docno.
      LOOP AT t_rg1.
        CLEAR: j_1irg1, j_2icomp.
    assign header fields
        j_2icomp-stdate = p_stdate.
        j_2icomp-endate = p_endate.
        IF save_matnr NE t_rg1-matnr.
    fill header line with matnr, description, chapterid and unit
          j_1irg1-chapid = t_rg1-chapid.
          mara-matnr  = t_rg1-matnr.
          marav-maktx = t_rg1-maktx.
          mara-meins  = t_rg1-meins.
          save_matnr  = t_rg1-matnr.
          IF sy-tabix NE 1.
            j_2icomp-new_page = true.
          ELSE.
            j_2icomp-new_page = false.
          ENDIF.
        ELSE.
          j_2icomp-new_page = false.
        ENDIF.
        PERFORM write_form USING element-spac function-set
                                  typ-body window-main .
    determine line to display viz. manufacture entry/removal entry
        IF t_rg1-matform  = c_packed.
          j_2icomp-rg1_p_l = c_packed.
        ELSEIF t_rg1-matform  = c_loose.
          j_2icomp-rg1_p_l = c_loose.
        ENDIF.
        j_1irg1-cpudt    = t_rg1-cpudt.
        j_2icomp-op_qty  = t_rg1-op_bal.
        j_2icomp-mf_qty  = t_rg1-qty_mfr.
        j_2icomp-to_qty  = t_rg1-total.
        j_2icomp-cl_fin  = t_rg1-cl_bal_fn.
        j_2icomp-cl_bon  = t_rg1-cl_bal_bn.
        j_2icomp-remarks = t_rg1-remarks.
        j_2icomp-h_menge = t_rg1-h_menge.
        j_2icomp-h_value = t_rg1-h_value.
        j_2icomp-e_menge = t_rg1-e_menge.
        j_2icomp-e_value  = t_rg1-e_value.
        j_2icomp-e_menge_bn = t_rg1-e_menge_bond.
        j_2icomp-o_menge    = t_rg1-o_menge.
        j_2icomp-o_purpose  = t_rg1-o_purpose.
        j_2icomp-o_pur_meng = t_rg1-o_pur_menge.
        j_1irg1-bedrate  = t_rg1-bedrate.
        j_1irg1-exbed    = t_rg1-bedamt.
        j_2icomp-cl_fin  = t_rg1-cl_bal_fn.
        j_2icomp-cl_bon  = t_rg1-cl_bal_bn.
        j_2icomp-remarks = t_rg1-remarks.
       READ TABLE it_j_1iexcdtl WITH KEY cpudt = t_rg1-cpudt
                                         chapid = t_rg1-chapid
                                         matnr = t_rg1-matnr.
    IF sy-subrc = 0.
    get duties for issues only.
        IF t_rg1-rcptissrsn = 'IPD'
        OR t_rg1-rcptissrsn = 'IWD'
        OR t_rg1-rcptissrsn = 'IDH'
        OR t_rg1-rcptissrsn = 'IDE'
        OR t_rg1-rcptissrsn = 'IWE'
        OR t_rg1-rcptissrsn = 'IWT'
        OR t_rg1-rcptissrsn = 'IWO'.
          READ TABLE it_j_1iexchdr WITH KEY exnum = t_rg1-rdoc1
                                            trntyp = 'DLFC'
                                            cpudt = t_rg1-cpudt.
          READ TABLE it_j_1iexcdtl WITH KEY docno = it_j_1iexchdr-docno
                                            cpudt = it_j_1iexchdr-cpudt
                                            trntyp = 'DLFC'
                                            matnr = t_rg1-matnr.
      docyr = it_j_1iexchdr-docyr
          IF IT_j_1iexchdr-expind <> 'B'
          and  it_j_1iexchdr-expind <> 'U'
          and  it_j_1iexchdr-expind <> 'D'
          and  it_j_1iexchdr-expind <> 'N'
          AND  T_RG1-h_menge > 0.
         and  it_j_1iexchdr-expind IS INITIAL.
            IF it_j_1iexchdr-censtat = 'P'.
              wa_j_1iexcdtl-ecs = it_j_1iexcdtl-ecs.
            ENDIF.
            IF it_j_1iexchdr-censtat = 'C'.
              wa_j_1iexchdr-exbed = it_j_1iexchdr-exbed.
              wa_j_1iexchdr-ecs = it_j_1iexchdr-ecs.
              wa_j_1iexchdr-censtat = it_j_1iexchdr-censtat.
              wa_j_1iexchdr-cpudt = it_j_1iexchdr-cpudt.
              wa_j_1iexcdtl-rgplaser = it_j_1iexcdtl-rgplaser.
              wa_j_1iexcdtl-rg23aser = it_j_1iexcdtl-rg23aser.
            ENDIF.
          ENDIF.
         endif.
        ENDIF.
        PERFORM write_form USING element-d function-append
                                typ-body window-main .
        CLEAR :  wa_j_1iexchdr, wa_j_1iexcdtl.
      ENDLOOP.
    ENDFORM.                               " GET_DATA_AND_WRITE
    *&      Form  GET_DATA_AND_WRITE_CONS
          text                                                           *
    -->  p1        text
    <--  p2        text
    FORM get_data_and_write_cons.
      DATA: save_chapid LIKE j_1iexcdtl-chapid.
      CLEAR: j_1irg1, j_2icomp, save_chapid.
      LOOP AT t_rg1_cons.
        CLEAR: j_1irg1, j_2icomp.
    assign header fields
        j_2icomp-stdate = p_stdate.
        j_2icomp-endate = p_endate.
        IF save_chapid NE t_rg1_cons-chapid.
    fill header line with chapterid
          j_1irg1-chapid = t_rg1_cons-chapid.
          save_chapid  = t_rg1_cons-chapid.
          IF sy-tabix NE 1.
            j_2icomp-new_page = true.
          ELSE.
            j_2icomp-new_page = false.
          ENDIF.
        ELSE.
          j_2icomp-new_page = false.
        ENDIF.
        PERFORM write_form USING element-spac function-set
                                  typ-body window-main .
    determine line to display viz. manufacture entry/removal entry
        IF t_rg1_cons-matform  = c_packed.
          j_2icomp-rg1_p_l = c_packed.
        ELSEIF t_rg1_cons-matform  = c_loose.
          j_2icomp-rg1_p_l = c_loose.
        ENDIF.
        j_1irg1-cpudt    = t_rg1_cons-cpudt.
        j_2icomp-op_qty  = t_rg1_cons-op_bal.
        j_2icomp-mf_qty  = t_rg1_cons-qty_mfr.
        j_2icomp-to_qty  = t_rg1_cons-total.
        j_2icomp-cl_fin  = t_rg1_cons-cl_bal_fn.
        j_2icomp-cl_bon  = t_rg1_cons-cl_bal_bn.
        j_2icomp-remarks = t_rg1_cons-remarks.
        j_2icomp-h_menge = t_rg1_cons-h_menge.
        j_2icomp-h_value = t_rg1_cons-h_value.
        j_2icomp-e_menge = t_rg1_cons-e_menge.
        j_2icomp-e_value  = t_rg1_cons-e_value.
        j_2icomp-e_menge_bn = t_rg1_cons-e_menge_bond.
        j_2icomp-o_menge    = t_rg1_cons-o_menge.
        j_2icomp-o_purpose  = t_rg1_cons-o_purpose.
        j_2icomp-o_pur_meng = t_rg1_cons-o_pur_menge.
        j_1irg1-bedrate  = t_rg1_cons-bedrate.
        j_1irg1-exbed    = t_rg1_cons-bedamt.
        j_2icomp-cl_fin  = t_rg1_cons-cl_bal_fn.
        j_2icomp-cl_bon  = t_rg1_cons-cl_bal_bn.
        j_2icomp-remarks = t_rg1_cons-remarks.
        PERFORM write_form USING element-d function-append
                                 typ-body window-main .
    *for grand totals
        tot_remv_hval = tot_remv_hval + t_rg1_cons-h_value.
        tot_remv_eval = tot_remv_eval + t_rg1_cons-e_value.
        tot_duty_amt  = tot_duty_amt  + t_rg1_cons-bedamt.
      ENDLOOP.
    *for grand totals
      j_2icomp-amount1 = tot_remv_hval.
      j_2icomp-amount2 = tot_remv_eval.
      j_2icomp-amount3 = tot_duty_amt.
      PERFORM write_form USING element-t function-append
                                        typ-body window-footer.
    ENDFORM.                               " GET_DATA_AND_WRITE_CONS
    *&      Form  RG1_PRINT_CONS
          text                                                           *
    -->  p1        text
    <--  p2        text
    FORM rg1_print_cons.
      DATA : first_time VALUE on.
      SORT t_rg1 BY chapid cpudt.
      LOOP AT t_rg1.
        IF first_time = on.
          m_chapid = t_rg1-chapid.
          m_date = t_rg1-cpudt.
          m_matform = t_rg1-matform.
          m_bedrate = t_rg1-bedrate.
          first_time = off.
        ENDIF.
        IF m_chapid <> t_rg1-chapid.
          PERFORM chapid_break.
        ELSEIF m_date <> t_rg1-cpudt.
          PERFORM date_break.
        ENDIF.
    Accumulate totals
        tot_op_bal = tot_op_bal + t_rg1-op_bal.
        tot_qty_mnfr = tot_qty_mnfr + t_rg1-qty_mfr.
        tot_total_qty_mnfr = tot_total_qty_mnfr + t_rg1-total.
        tot_remv_home = tot_remv_home + t_rg1-h_menge.
        tot_remv_hval = tot_remv_hval + t_rg1-h_value.
        tot_remv_expr = tot_remv_expr + t_rg1-e_menge.
        tot_remv_eval = tot_remv_eval + t_rg1-e_value.
        tot_remv_expb = tot_remv_expb + t_rg1-e_menge_bond.
        tot_remv_othr = tot_remv_othr + t_rg1-o_menge.
        tot_remv_opur = tot_remv_opur + t_rg1-o_pur_menge.
        tot_duty_amt = tot_duty_amt + t_rg1-bedamt.
        tot_cb_fr = tot_cb_fr + t_rg1-cl_bal_fn.
        tot_cb_br = tot_cb_br + t_rg1-cl_bal_bn.
      ENDLOOP.
      PERFORM chapid_break.
    ENDFORM.                               " RG1_PRINT_CONS
    *&      Form  DATE_BREAK
          text                                                           *
    -->  p1        text
    <--  p2        text
    FORM date_break.
      CLEAR t_rg1_cons.
      t_rg1_cons-chapid = m_chapid.
      t_rg1_cons-cpudt  = m_date.
      t_rg1_cons-op_bal  = tot_op_bal.
      t_rg1_cons-qty_mfr = tot_qty_mnfr.
      t_rg1_cons-total   = tot_total_qty_mnfr.
      t_rg1_cons-h_menge = tot_remv_home.
      t_rg1_cons-h_value = tot_remv_hval.
      t_rg1_cons-e_menge = tot_remv_expr.
      t_rg1_cons-e_value = tot_remv_eval.
      t_rg1_cons-e_menge_bond = tot_remv_expb.
      t_rg1_cons-o_menge      = tot_remv_othr.
      t_rg1_cons-o_pur_menge  = tot_remv_opur.
      t_rg1_cons-bedamt       = tot_duty_amt.
      t_rg1_cons-cl_bal_fn    = tot_cb_fr.
      t_rg1_cons-cl_bal_bn    = tot_cb_br.
      t_rg1_cons-matform      = m_matform.
      t_rg1_cons-bedrate      = m_bedrate.
      APPEND t_rg1_cons.
      tot_op_bal = 0.
      tot_qty_mnfr = 0.
      tot_total_qty_mnfr = 0.
      tot_remv_home = 0.
      tot_remv_hval = 0.
      tot_remv_expr = 0.
      tot_remv_eval = 0.
      tot_remv_expb = 0.
      tot_remv_othr = 0.
      tot_remv_opur = 0.
      tot_duty_amt  = 0.
      tot_cb_fr     = 0.
      tot_cb_br     = 0.
      m_date = t_rg1-cpudt.
      m_matform = t_rg1-matform.
      m_bedrate = t_rg1-bedrate.
    ENDFORM.                               " DATE_BREAK
    *&      Form  CHAPID_BREAK
          text
    -->  p1        text
    <--  p2        text
    FORM chapid_break.
      PERFORM date_break.
      m_chapid = t_rg1-chapid.
    ENDFORM.                               " CHAPID_BREAK

    hi rakesh,
        in your first select single * statement you have given WHERE BUKRS = T001K-BUKRS..but at the point of execution, what will be the value stored in t001k-bukrs...i doubt it will be initial....so,  store bukrs in a variable or hardcode it.....
       in the second select, you hve not given any target work area for the into class...that's y your subrc is 4...specify a target area, where you want the data to be stored...

  • What is the problem with this code ? Race condition??

    Guys,
    The idea behind the attached code is quite simple.
    I have a 2D parent array. First, I print a subset of this array into a table control (based on a sensor selection). Now, I want edit the numbers in the table. I need the changes to be reflected in the table and the parent 2D array. (In simple terms, this is like replacing the the edited array subset into the parent 2D array)
    The problem is when I change(edit) any entry in the table, the entry changes back to its original value. The change doesnt seem to be reflecting on the parent 2D array and the table. .
    Can anyone tell me where the problem is?
    Thanks
    Ravi
    Solved!
    Go to Solution.
    Attachments:
    Alarm threshold test.vi ‏14 KB

    I agree with Chris, here's an idea (of whatI think your code does):
    The case structure in your code was unnecessary, all the cases were the same so I removed them.
    The sequence structure was unnecessary.
    Ton
    Message Edited by TonP on 11-20-2008 07:52 PM
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!
    Attachments:
    Alarm threshold test_BD.png ‏19 KB

  • What is the problem with this code?

    dear sirs...
    i have a page that does not contain any binding, it contains the following event:
    public void onCheck(DataActionContext ctx)
    ViewObject V=ctx.getBindingContext.findDataControl("AppModuleDataControl").getApplicationModule.findViewObject("empview1");
    V.setWhereClause("");
    V.executeQuery();
    V.first();
    note that the above code works if the table emp is on the page, however, if the page is not bound to the page (it does not contains the table) the statement in the bold will fire an exception saying that there is no binding. i am sure the V is not set to null.
    another problem appears, if i put the table and execute it within jdeveloper, it works correctly, however, if i run if i deploy the application into application server, the code never runs as if there is some kind of an error.
    i hope that you can anser me about the following;
    1- if the code above correct?
    2- how can i view the log for the application?
    3- System.out.println("test"); in jdeveloper works okay, in the application server, does it cause some kind of an error?
    thanks for any help & best regards

    If you don't close the ResultSet, different things happen based on which database you're running. You can keep read locks that you don't need. It wastes resources, and as different databases react differently to it, you might have weird bugs down the road that result from your practices of not properly closing ResultSets, PreparedStatements, and Connections. Put this in a loop like you've got here, and the effects may or may not get amplified.
    I write a close() for a ResultSet just as soon as I open it, just to make sure I don't forget. In a situation like this one, I would write something like so:
    for(int i = 0;i<someValue;i++)
    try
    //some code
    rs = pstmt.executeQuery();
    //some code that uses rs
    catch(Exception e)
    finally
      if (rs != null)
        rs.close();
      if (pstmt != null)
        pstmt.close();
    }

  • Can any one tell what is the problem in this code?

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.geom.*;
    import java.util.*;
    public class AppletTest2 extends JApplet implements ActionListener,MouseMotionListener,WindowListener{
    JFrame fr = new JFrame("Visual Tool -- Work Flow Editor");
         JPanel panel1 = new JPanel();
         JPanel panel2 = new JPanel();
         JButton sButton = new JButton("Source");
         JButton rButton = new JButton("Redirection");
         JButton dButton = new JButton("Destination");
         JButton connect = new JButton("Connect");
         BasicStroke stroke = new BasicStroke(2.0f);
         int flag = 1 ;
         Vector lines = new Vector();
         JButton sBut,rBut,dBut;
    int x1 = 0 ;
         int y1 = 0 ;
         int x2 = 0 ;
         int y2 = 0;
         int x3 = 0;
         int y3 = 0;
         int i=0;
         int j=0;
         int k=0;
         int l = 100;
    int b = 50;
    public void init(){
              /*********Frame ******************/
    fr.getContentPane().setLayout(new BorderLayout());
         fr.setSize(700,500);
              fr.getContentPane().add(panel1,BorderLayout.CENTER);
              fr.getContentPane().add(panel2,BorderLayout.SOUTH);
              fr.addWindowListener(this);
              /*****************PANEL 1*********************/
              panel1.setLayout(null);
    panel1.setBounds(new Rectangle(0,0,400,400));
              panel1.setBackground(new Color(105,105,205));
    /************************PANEL 2 *************/
              panel2.setLayout(new FlowLayout());
              panel2.setBackground(new Color(105,205,159));
              panel2.add(sButton);
              panel2.add(rButton);
              panel2.add(dButton);
              panel2.add(connect);
              connect.setToolTipText("Use this button after selecting From and To position to connect");
              /***************************LISTENER********************/
    sButton.addActionListener(this);
              rButton.addActionListener(this);
              dButton.addActionListener(this);
              connect.addActionListener(this);
              fr.setVisible(true);     
              fr.setResizable(false);
         } // init clse
    /************************** START METHOD **********************************************/
              public void start(){                                 
                   System.out.println("inside start");
                   paint(panel1.getGraphics());
    /*******************************APPLET METHODS **************************************************/
              public void stop(){}
              public void destroy(){}
    /******************************MOUSE MOTION LISTENERS METHOD*************************************/
              public void mouseMoved(MouseEvent e){System.out.println("moved");}
              public void mouseDragged(MouseEvent e){System.out.println("dragged");}
    /***************************************ACTION EVENT IMPLEMENTAION *******************************/
         public void actionPerformed(ActionEvent e){
              if (e.getSource().equals(sButton)){          
              sourceObject("Source Object");          
              else if (e.getSource().equals(rButton)){          
              redirectionObject("Redirection");
              i = i+1;
              else if (e.getSource().equals(dButton)){
              destinationObject("Destination");
                   j= j+1;
              else if (e.getSource().equals(connect)){
                   System.out.println("am inside connect");                
                   paint(panel1.getGraphics());               
    else if(e.getSource().equals(sBut)){
                   System.out.println("am s button");                
                   x1 = sBut.getX() + l;
                   y1 = sBut.getY() + (b/2);
              else if(e.getSource().equals(rBut)){
                   System.out.println("am r button");               
                   x2 = rBut.getX() ;
                   y2 = rBut.getY()+ b/2;
                   System.out.println("x2 : " + x2 + "y2 :" +y2 );
              else if(e.getSource().equals(dBut)){
                   System.out.println("am d button");                
                   x3 = dBut.getX();
    y3 = dBut.getY()+ b/2;
    } // action close
    /**********************Main **********************************/     
         public static void main(String args[]){
         JApplet at = new AppletTest2();
              at.init();
              at.start();
    /********************my methods starts here *******************/
         public void sourceObject(String name){     
    sBut = new JButton(name);
         panel1.add(sBut);
         sBut.setBounds(new Rectangle(20,208,l,b));     
         sBut.addActionListener(this);
    System.out.println("am inside the source object") ;
         public void redirectionObject(String name){     
         rBut = new JButton(name);
         panel1.add(rBut);
         rBut.setBounds(new Rectangle(290,208,l,b));     
    rBut.addActionListener(this);
    System.out.println("am inside the redirection :" + j) ;
    public void destinationObject(String name){     
         dBut = new JButton(name);
         panel1.add(dBut);     
    System.out.println("am inside the destination object") ;
    if (j == 0)
                   dBut.setBounds(new Rectangle(566,60,l,b));                    
                   System.out.println("am inside the destination:" + j) ;
                   } else if (j == 2)
                        dBut.setBounds(new Rectangle(566,208,l,b));     
                        System.out.println("am inside the destination :" + j) ;
                   } else if (j == 1)
    dBut.setBounds(new Rectangle(566,350,l,b));     
                        System.out.println("am inside the destination :" + j) ;
    dBut.addActionListener(this);
    /* public void connectObject(Object obj1,Object obj2){
    System.out.println("nothing");
    /************************************* PAINT **************************/
    public void paint(Graphics g){
         System.out.println("inside paint");
         Graphics2D g2 = (Graphics2D) g;
         g2.setStroke(stroke);
    if(flag == 1){
    System.out.println("inside flag");
    int np = lines.size();
                        System.out.println(np);
                             for (int I=0; I < np; I++) {                       
         Rectangle p = (Rectangle)lines.elementAt(I);
                             System.out.println("width" + p.width);
                             g2.setColor(Color.red);
                             g2.drawLine(p.x,p.y,p.width,p.height);
                             System.out.println(p.x +"" +""+ p.y + ""+ ""+ p.width+ "" + ""+ p.height);
    flag = -1;
    }else if(flag == -1){
         if(x1 != 0 && y1 != 0 && x2 != 0 && y2 != 0 ){
    // Graphics2D g2 = (Graphics2D) g;
         // g2.setStroke(stroke);
    g2.setColor(Color.red);
         g2.drawLine(x1,y1,x2,y2);
         lines.addElement(new Rectangle(x1,y1,x2,y2));     
         x1 = 0 ;y1 = 0 ;
         x2 = 0 ;y2 = 0 ;
    //     g2.drawLine(100,100,200,200);
    else if (x2 != 0 && y2 != 0 && x3 != 0 && y3 != 0 )
              // Graphics2D g2 = (Graphics2D) g;
                   // g2.setStroke(stroke);
              g2.setColor(Color.green);
                        g2.drawLine(x2,y2,x3,y3);
                        lines.addElement(new Rectangle(x2,y2,x3,y3));
                        x2 = 0; y2 = 0 ;
                        x3 = 0 ; y3 = 0 ;                    
    else if (x1 != 0 && y1 != 0 && x3 != 0 && y3 != 0)
                   //     Graphics2D g2 = (Graphics2D) g;
                   // g2.setStroke(stroke);
                   g2.setColor(Color.red);
                   g2.drawLine(x1,y1,x3,y3);
                        lines.addElement(new Rectangle(x1,y1,x3,y3));                              
                        x1 = 0; y1 = 0 ;
                        x3 = 0 ; y3 = 0 ;                    
    // repaint();
    /********************************WINDOW LISTENER IMPLEMENTATION *****************************/
    public void windowActivated(WindowEvent we) { 
              flag = 1;
              paint(panel1.getGraphics());
    System.out.println("windowActivated -- event 1");
         //start();               
         public void windowClosed(WindowEvent we) {
                                                                System.out.println("windowClosed -- 2");
         public void windowClosing(WindowEvent we){
                                                                System.out.println("windowClosing -- 3");
    public void windowDeactivated(WindowEvent we) {
                                                                     System.out.println("windowDeactivated -- 4");
    public void windowDeiconified(WindowEvent we) {
                                                                     flag = 1;
                                                                     System.out.println("windowDeiconified -- 5");          
                                                                     paint(panel1.getGraphics());           
    public void windowIconified(WindowEvent we) {           
                                                           System.out.println("windowIconified -- 6");
                                                           //paint(panel1.getGraphics());
    public void windowOpened(WindowEvent we) {             
                                                      //     flag = 1;
                                                      //     paint(panel1.getGraphics());
                                                           System.out.println("windowopened -- 7");     
    The problem am facing here is that when i minimize the frame and maximize , my old lines are getting disappared.
    For avoiding that i am storing the old coordinates and
    try to redraw , when maximize.
    but the lines are coming for flash of second and disappearing once again ?
    can any one help?
    thanks all

    Very interestingly the same code is repainting in
    Linux SUSE,jdk1.3.
    but not in WINNT , jdk 1.3
    Any reason ?
    Is the swing 100 % platform independenet ?????
    Does swing also uses native thread ???

Maybe you are looking for

  • Purchase info records data report

    Hi  , Is there any standard report which along with the data in ME1L also gives information about valid from date.... For example, ME1L reports on  PIRs and provides the current price and valid to date - We also require the effective date (valid from

  • Vendor security deposit

    Hi gurus, One of our vendor need a security deposit for any future transactions. I was looking for Spl GL ind for vendor for a security deposit in OBYR and FBKP but could not find or Is there any other way around to do this. can any one help Thanks E

  • REGARDING RADIO BUTTON LOGIC

    HI GURU, PLEASE TELL ME IF I WANT TO ADD ONE MORE RADIOBUTTON.<AUTHORIZATION>, IF I CLICK   AUTHORIZATION THEN FINDING EMPLOYEE CODE. IN BELOW  PROGRAM IF I CLICK RADIOBUTTON PROJECT , FINDING PROJECT ID& DATE, IF I CLICK RADIOBUTTON PROJECT WITH STA

  • I Idk what to do plz help

    I Am trying to my iemi Ik where to find it but when it put it into like the ATNT webcite or something it says that it is invalid

  • Disk ejecting automatically during import

    I hooked up my camera to the computer and proceded to import a clip dirctly from the camera to FCPX. I noticed that it was running a bit slow but didnt think much of it untill I tried to share the master file and nothing was there. I noticed that on