Which Constructor Is Being Called?

Can someone please tell me which constructor is being called in the example below:
public abstract class SuperClass{
public SuperClass(String a){ /* constructor code */}
public class SubClass extends SuperClass{
public SubClass(String a){super(a);}
public SubClass(String a, String b){super(a); this.b = b;}
If I call SubClass(String a, String b), then does the "super(a)" refer to the SubClass(String a) constructor or the SuperClass(String a) constructor?
Thanks for the help,
Chris

super(a) refers to the superclass this(a) refers to the subclass

Similar Messages

  • Which method is being called?

    Hi,
    I have the foll. setup:
    class A{
    func1();
    func2(){
    func1();
    class B extends A{
    func1(); // over-ridden
    super.func2();
    So, when super.func2() is called, and A.func2() is executed, within it does A.func1() get called or does B.func1() get called. If A's method gets called how can I change it to call B's method instead?
    Thanks.

    Write up a quick test case. You can easily find this out for yourself.

  • How to know about the User_Exit being called in MB31

    Dear Sir,
    Kindly guide us about the steps to be followed , for knowing that which USER_EXIT are being called during the MB31 transaction .
    Also request you to kindly guide us about the steps to be followed in debugging of transaction MB31 .
    We assure to give full points for the suggested solution pl .
    Rgds
    B Mittal

    Hi,
    Check the code below. This will give you the list of Active User Exits.
    Hope this helps.
    *& Report  Y_TEST_USER_EXIT
    && This report displays all the active customer enhancements in the
    *& system and also displays whether they are active or implemented
    REPORT  Y_TEST_USER_EXIT.
    *Data decleration
    types: begin of s_function,
    fname like MOD0-FUNCNAME,
    ftext like tftit-stext,
    impl,
    active,
    example,
    end of s_function.
    TYPEs : BEGIN OF display_str,
    project type modact-name,
    enhancement type modact-member,
    fm type modsap-member,
    status type char20,
    END OF display_str.
    constants: c_true type char4 value 'True'.
    data : lt_member type table of modact-member,
    ls_member like LINE OF lt_member,
    lt_fm type table of modsap-member,
    ls_fm like LINE OF lt_fm,
    lt_modname type table of modact-name,
    ls_modname like line of lt_modname,
    lt_display type TABLE OF display_str,
    ls_display like LINE OF lt_display,
    ls_function type s_function,
    field1(30).
    START-OF-SELECTION.
    *Select active customer enhancement.
    select name from modattr into ls_modname
    where status = 'A'.
    append ls_modname to lt_modname.
    CLEAR ls_modname.
    ENDSELECT.
    if lt_modname is INITIAL.
    WRITE / 'no active enhancements'.
    endif.
    *Determine the details about the customer enhancement.
    LOOP AT lt_modname INTO ls_modname.
    CLEAR : ls_display.
    SELECT member from modact into ls_member where name = ls_modname.
    select member from modsap into ls_fm where name = ls_member and typ = 'E'.
    ls_display-project = ls_modname.
    ls_display-enhancement = ls_member.
    ls_display-fm = ls_fm.
    clear : ls_function.
    ls_function-fname = ls_fm.
    perform get_impl_status USING ls_function.
    if ls_function-impl = 'X'.
    ls_display-status = 'Implemented'.
    ELSE.
    ls_display-status = 'Active'.
    endif.
    APPEND ls_display to lt_display.
    endselect.
    ENDSELECT.
    ENDLOOP.
    *Displaying results
    format color = 1.
    write : 'Please double-click on the object for follow-on action'.
    new-LINE. uline.
    write : 'Customer Project', at 30 'SAP Enhancement', at 60 'Exit Func Mod', at 100 'Active/Implem'.
    ULINE.
    format color = 0.
    loop at lt_display into ls_display.
    new-LINE.
    write : ls_display-project, at 30 ls_display-enhancement, at 60 ls_display-fm,
    at 100 ls_display-status.
    ENDLOOP.
    *For calling transaction CMOD / SMOD / SE37.
    at line-selection.
    get cursor field field1.
    CASE field1.
    WHEN 'LS_DISPLAY-PROJECT'.
    set parameter id 'MON_KUN' field sy-lisel(10).
    call transaction 'CMOD' and skip first screen.
    WHEN 'LS_DISPLAY-ENHANCEMENT'.
    set parameter id 'MON' field sy-lisel+29(10).
    call transaction 'SMOD' and skip first screen.
    WHEN 'LS_DISPLAY-FM'.
    set parameter id 'LIB' field sy-lisel+59(30).
    call transaction 'SE37' and skip first screen.
    WHEN OTHERS.
    message 'Click on the right place.' TYPE 'I'.
    ENDCASE.
    **& Form get_impl_status
    *This FORM checks whether an EXIT FM is implemented or not
    form get_impl_status using p_function type s_function.
    data : l_mand LIKE tfdir-mand,
    l_incl_names TYPE smod_names OCCURS 1 WITH HEADER LINE.
    l_incl_names-itype = 'C'.
    APPEND l_incl_names.
    CLEAR l_mand.
    SELECT SINGLE mand FROM tfdir INTO l_mand WHERE funcname = p_function-fname.
    IF sy-subrc = 0 AND l_mand(1) = 'C'.
    p_function-active = 'X'.
    *l_status-active = c_true.
    ELSE.
    p_function-active = ' '.
    *l_status-inactive = c_true.
    ENDIF.
    CALL FUNCTION 'MOD_FUNCTION_INCLUDE'
    EXPORTING
    funcname = p_function-fname
    TABLES
    incl_names = l_incl_names
    EXCEPTIONS
    OTHERS = 4.
    IF sy-subrc = 0.
    LOOP AT l_incl_names.
    SELECT SINGLE name FROM trdir INTO l_incl_names-iname
    WHERE name = l_incl_names-iname.
    IF sy-subrc = 0.
    p_function-impl = 'X'.
    ELSE.
    p_function-impl = ' '.
    ENDIF.
    ENDLOOP.
    ENDIF.
    endform. "get_impl_status
    Also Check the code posted by me in the lonk below ,to get the List of available User exits and Badi for a particular tcode . very useful program.
    Re: User Exit for IW22 - to populate custom fields
    Hope it helps.
    Manish

  • Is there a dialing app which places icons on the screen along with the name being called?

    Does anyone know of an app which places a limited number of phone numbers along with the name of the person being called on the screen of the iPhone?  Our grandfather is 95 years old, and can not operate the small buttons on most cell phones, and has trouble navigating around the phone to make calls.  We just want 3 phone numbers displayed, along with who is being called, so he does not have to navigate to anything except the main screen.  Thanks.

    http://itunes.apple.com/us/app/icon-project-home-screen-icon/id434277910?mt=8

  • Type's constructor function is called as many times as there are attributes

    The constructor method for object types is being called multiple times by SQL when using the constructor in an SQL insert statement. For example, if I create an object type called TEST_O, and an object table TEST_OT based on type TEST_O, and then insert into TEST_OT using the constructor:
    INSERT INTO TEST_OT VALUES ( TEST_O( TEST_ID_SEQ.nextval, 'Test', USER, SYSDATE ) );
    The contructor is actually called 5 times by SQL. Here's a sample type, table, type body, and anonymous PL/SQL procedure that reproduces this error:
    create type TEST_O as object (
    test_o.tps
    by Donald Bales on 3/1/2007
    Type TEST_O's specification:
    A type for debugging object type problems
    test_id number,
    test varchar2(30),
    insert_user varchar2(30),
    insert_date date,
    -- Get the next primary key value
    STATIC FUNCTION get_id
    return number,
    -- A NULL values constructor
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o)
    return self as result,
    -- A convenience constructor
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o,
    aiv_test in varchar2)
    return self as result,
    -- Override the defaul constructor
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o,
    test_id in number,
    test in varchar2,
    insert_user in varchar2,
    insert_date in date)
    return self as result,
    -- Write to the debug object table
    STATIC PROCEDURE set_test(
    aiv_test in varchar2),
    -- A map function
    MAP MEMBER FUNCTION to_map
    return number
    ) not final;
    grant all on TEST_O to PUBLIC;
    ========================
    create table TEST_OT of TEST_O
    tablespace USERS pctfree 0
    storage (initial 1M next 1M pctincrease 0);
    alter table TEST_OT add
    constraint TEST_OT_PK
    primary key (
    test_id )
    using index
    tablespace USERS pctfree 0
    storage (initial 1M next 1M pctincrease 0);
    drop sequence TEST_ID_SEQ;
    create sequence TEST_ID_SEQ
    start with 1 order;
    analyze table TEST_OT estimate statistics;
    grant all on TEST_OT to PUBLIC;
    ============================
    create or replace type body TEST_O as
    test_o.tpb
    by Donald Bales on 3/1/2007
    Type TEST_O's implementation
    A type for logging test information
    STATIC FUNCTION get_id
    return number is
    n_test_id number;
    begin
    select TEST_ID_SEQ.nextval
    into n_test_id
    from SYS.DUAL;
    return n_test_id;
    end get_id;
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o)
    return self as result is
    begin
    SYS.DBMS_OUTPUT.put_line('test_o(zero param)');
    self.test_id := NULL;
    self.test := NULL;
    self.insert_user := NULL;
    self.insert_date := NULL;
    return;
    end test_o;
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o,
    aiv_test in varchar2)
    return self as result is
    begin
    SYS.DBMS_OUTPUT.put_line('test_o(one param)');
    self.test_id := TEST_O.get_id();
    self.test := aiv_test;
    self.insert_user := USER;
    self.insert_date := SYSDATE;
    return;
    end test_o;
    -- Override the default constructor
    CONSTRUCTOR FUNCTION test_o(
    self in out nocopy test_o,
    test_id in number,
    test in varchar2,
    insert_user in varchar2,
    insert_date in date)
    return self as result is
    begin
    SYS.DBMS_OUTPUT.put_line('test_o(four params)');
    self.test_id := test_id;
    self.test := test;
    self.insert_user := insert_user;
    self.insert_date := insert_date;
    return;
    end test_o;
    STATIC PROCEDURE set_test(
    aiv_test in varchar2) is
    begin
    insert into TEST_OT values ( TEST_O(aiv_test) );
    end set_test;
    MAP MEMBER FUNCTION to_map
    return number is
    begin
    return test_id;
    end to_map;
    end;
    ====================
    begin
    TEST_O.set_test('Before loop');
    for i in 1..10 loop
    TEST_O.set_test('Testing loop '||to_char(i));
    end loop;
    TEST_O.set_test('After loop');
    commit;
    end;
    ==========================
    Which produces the following output:
    SQL> @test_o
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    test_o(one param)
    PL/SQL procedure successfully completed.
    SQL> select * from test_ot order by 1;
    TEST_ID TEST INSERT_USER INSERT_DATE
    2 Before loop SCOTT 20070301 173715
    7 Testing loop 1 SCOTT 20070301 173715
    12 Testing loop 2 SCOTT 20070301 173715
    17 Testing loop 3 SCOTT 20070301 173715
    22 Testing loop 4 SCOTT 20070301 173715
    27 Testing loop 5 SCOTT 20070301 173715
    32 Testing loop 6 SCOTT 20070301 173715
    37 Testing loop 7 SCOTT 20070301 173715
    42 Testing loop 8 SCOTT 20070301 173715
    47 Testing loop 9 SCOTT 20070301 173715
    52 Testing loop 10 SCOTT 20070301 173715
    57 After loop SCOTT 20070301 173715
    12 rows selected.
    Is it possible to get an Oracle employee to look into this problem?
    Sincerely,
    Don Bales

    Here some sample JavaScript code that might help you resolve the issue.
    var curPageNum = xfa.host.currentPage + 1; // this is index
    // based starts with 0
    if (curPageNum == 1) {
    // run your current script here then it will run only one
    //time on page 1

  • Error : ORA-06508: PL/SQL: could not find program unit being called

    Hi
    I got surprise issue while testing my Oracle code . Let me explain first the environment detail . Our appliaction built on
    Java/J2EE(Weblogic) and backend is Oracle 11g re2 . While calling from java it call thru different user which have been provide
    synonym and exectue option for corresponding procdure ,
    I created on package EXTRACT_CUSTOMER_INFO_PK which will exract data to text file using UTL_FILE ( direcory , UTL_FILE grant is provided to DB user).
    Now this package has been called from rp_execute_procedure_pr -- Here I is the code
    CREATE OR REPLACE PROCEDURE RP_EXECUTE_PROCEDURE_PR
    i_atlas_job_schedule_fk IN atlas_job_schedule.atlas_job_schedule_pk%TYPE,
    i_job_id IN atlas_job.job_id%TYPE,
    i_parm_value IN atlas_job_schedule.parm_value%TYPE,
    o_status_code OUT NUMBER,
    o_status_mesg OUT VARCHAR2
    IS
    -------Other old code which is not relevent for this issue ----
    --------Other old code which is not relevent for this issue ----
    ----Below code I added ----
    ELSIF l_job_id = 'CUST_EXTRACT' THEN
    EXTRACT_CUSTOMER_INFO_PK.customer_report ( i_parm_value ,
                   o_status_code,
    o_status_mesg ) ;
    -- o_status_code := -99999999;
    --o_status_mesg := 'PARTHA PARTHA PARTHAcess terminated!';
    ELSE
    o_status_code := -20300;
    o_status_mesg := 'Job Id : ' || l_job_id || ' NOT found. Process terminated!';
    END IF;
    update_log_auto
    ajs_rec.atlas_job_schedule_pk ,
    'Processing End Time (GMT): '
    EXCEPTION
    WHEN eProcError THEN
    o_status_code := SQLCODE;
    o_status_mesg := SUBSTR(vMsg ||'-'||SQLERRM, 1, 200);
    WHEN OTHERS THEN
    o_status_code := -20300;
    o_status_mesg := SUBSTR(SQLERRM, 1, 200);
    update_log_auto
    ajs_rec.atlas_job_schedule_pk ,
    'Error : '||SQLERRM||' '
    update_log_auto
    ajs_rec.atlas_job_schedule_pk,
    'Processing End Time (GMT): '
    END RP_EXECUTE_PROCEDURE_PR;
    Now It compiled sucesfully . And while I did SIT then RP_EXECUTE_PROCEDURE_PR run fine and extracted txt file . But while I called it from Java procedure It gives us error like
    Error : ORA-06508: PL/SQL: could not find program unit being called 02-AUG-2012 13:16:51.
    As I told RP_EXECUTE_PROCEDURE_PR old proc and used by other proc , So I first suspect issue is newly added code or may be some grant or synonym ( Although it should not be )
    so I created public synony amd gave execute grant to my pkg to public .
    But it repeat same error .
    I did lot of R&D on my pkg but nothing happen . Finally I remane my new pkg RP_EXTRACT_CUSTOMER_INFO_PK and it works fine
    I need to know what is the RCA for it . I donot think any dependecy issue as renaming pkg is working fine .
    NB my DB user is iATLAS and Javauser is SUDEEP
    Thanks in Advance
    Debashis Mallick

    First of all If i run the main procedure in like below in my Schema it is working fine
    begin
    -- Call the procedure
    rp_execute_procedure_pr(i_atlas_job_schedule_fk => :i_atlas_job_schedule_fk,
    i_job_id => :i_job_id,
    i_parm_value => :i_parm_value,
    o_status_code => :o_status_code,
    o_status_mesg => :o_status_mesg);
    end;
    So thre is no question of parameter .... or Invalid state etc . If it is parameter or Invalid state issue it will give other error.
    Here problem is not syntax issue .
    let me give u more detail regards this issue
    1.. All objects corresponding to procedure all Valid
    2.. If I test on the proc on my schema like above code . It works fine
    3.rp_execute_procedure_pr is a old procudere which called for differner report generartion based on parameter passing . Also as extract_customer_info_pk called with in rp_execute_procedure_pr So there is no question of synonym or privilage issue for new procedure.
    4. Suprising thing is if I rename and recreate package like extract_customer_info_pk _1 or rp_extract_customer_info_pk . Which are exactly same as extract_customer_info_pk and replace those new one with extract_customer_info_pk then it work fine in my java application
    I think I make it clear the issue
    Edited by: debashisora on Aug 3, 2012 5:31 AM
    Edited by: debashisora on Aug 3, 2012 5:40 AM

  • Finalize() method being called multiple times for same object?

    I got a dilly of a pickle here.
    Looks like according to the Tomcat output log file that the finalize method of class User is being called MANY more times than is being constructed.
    Here is the User class:
    package com.db.multi;
    import java.io.*;
    import com.db.ui.*;
    import java.util.*;
    * @author DBriscoe
    public class User implements Serializable {
        private String userName = null;
        private int score = 0;
        private SocketImage img = null;
        private boolean gflag = false;
        private Calendar timeStamp = Calendar.getInstance();
        private static int counter = 0;
        /** Creates a new instance of User */
        public User() { counter++;     
        public User(String userName) {
            this.userName = userName;
            counter++;
        public void setGflag(boolean gflag) {
            this.gflag = gflag;
        public boolean getGflag() {
            return gflag;
        public void setScore(int score) {
            this.score = score;
        public int getScore() {
            return score;
        public void setUserName(String userName) {
            this.userName = userName;
        public String getUserName() {
            return userName;
        public void setImage(SocketImage img) {
            this.img = img;
        public SocketImage getImage() {
            return img;
        public void setTimeStamp(Calendar c) {
            this.timeStamp = c;
        public Calendar getTimeStamp() {
            return this.timeStamp;
        public boolean equals(Object obj) {
            try {
                if (obj instanceof User) {
                    User comp = (User)obj;
                    return comp.getUserName().equals(userName);
                } else {
                    return false;
            } catch (NullPointerException npe) {
                return false;
        public void finalize() {
            if (userName != null && !userName.startsWith("OUTOFDATE"))
                System.out.println("User " + userName + " destroyed. " + counter);
        }As you can see...
    Every time a User object is created, a static counter variable is incremented and then when an object is destroyed it appends the current value of that static member to the Tomcat log file (via System.out.println being executed on server side).
    Below is the log file from an example run in my webapp.
    Dustin
    User Queue Empty, Adding User: com.db.multi.User@1a5af9f
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    Joe
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin pulled from Queue, Game created: Joe
    User Already Placed: Dustin with Joe
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    INSIDE METHOD: false
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    User Dustin destroyed. 9
    User Joe destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    It really does seem to me like finalize is being called multiple times for the same object.
    That number should incremement for every instantiated User, and finalize can only be called once for each User object.
    I thought this was impossible?
    Any help is appreciated!

    Thanks...
    I am already thinking of ideas to limit the number of threads.
    Unfortunately there are two threads of execution in the servlet handler, one handles requests and the other parses the collection of User objects to check for out of date timestamps, and then eliminates them if they are out of date.
    The collection parsing thread is currently a javax.swing.Timer thread (Bad design I know...) so I believe that I can routinely check for timestamps in another way and fix that problem.
    Just found out too that Tomcat was throwing me a ConcurrentModificationException as well, which may help explain the slew of mysterious behavior from my servlet!
    The Timer thread has to go. I got to think of a better way to routinely weed out User objects from the collection.
    Or perhaps, maybe I can attempt to make it thread safe???
    Eg. make my User collection volatile?
    Any opinions on the best approach are well appreciated.

  • How to find out which queries are being used ?

    We have a number of InfoSet Queries which the users are calling from SQ00. Some of them are very old.
    I would like to find out which queries are being used, so we can have the idle queries decommissioned.
    How can this be done ?
    Best regards,
    Peter

    Hi,
    It's been a while since I've done this but one method is to use ST03N & look for the execution of programs with an AQ* prefix.  The general structure is AQZZ/<query user group><query name>.
    You could probably get the same info from the audit log but I've not checked that.
    Cheers,

  • Purchase order ME_PROCESS_PO_CUST  not being called

    Hello,
    I've created an implementation of  ME_PROCESS_PO_CUST, which is automatically migrated to Enhancement (I'm in Netweaver 2004s).
    Then I go to ME21n and the badi is not being called. It is active, I have breakpoints inside the various methods, and I can create a PO from start to finished without opening debug mode.
    Is there any problem with ME_PROCESS_PO_CUST in ECC 6.0?

    hi,
    goto se18 and give definition name and click display button.
    if "multiple use" check box is  not checked means  it is a single use.
    that means for the standard badi definition can any number of implementations,
    but only one will be in active state others in inactive mode.
    u can check all the detail by goingin se18 -> implentation menu->overview
    if implementation is active it will glow in yellow color.all other inactive in blue color (description color).if u want u code to execute go to  others and press(shiftf8) to make others inactive then come to ur code and make it active ctrlf3.
    then it will work.this is for single use.
    for multiple use system will predict its sequences. we abaper no need to worry of the sequences.because if it is multiple use all implementation are in  active stage .so all the code will work in some sort of order.
    thanx
    zenthil

  • How do I identify which control is being hovered over?

    Hello all,
    I have a simple feature of my code I am working on. I want to have a detailed help box ( a little more detailed than the tooltip popup option) with instructions I want to print on my screen.
    The idea is that when I have an active control, the instructions will print in a small text box to give people guidance on my program.
    This works for half of what I want to do.
    But  in the case of a custom toolbar, I do not have that ability since I cannot click inside of it like a textbox.
    I am using the tooltip, but I would like to be able to print a better, more detailed message in my help box.
    Ideally what I would like to know if there is a function to be able to get which control is being highlighted or hovered over by panel and control id.
    It's no big deal if there isn't one, but now I am curious.
    Veni Vidi Duci

    Hi,
    if EVENT_GOT_FOCUS is not suitable for you another possibility could be to use a timer callback, and for every timer tick call GetRelativeMouseState (panel, 0, &x_coordinate, &y_coordinate, NULL, NULL, NULL); this will return the current position of the mouse cursor on the panel. To make use of it, at the beginning of your program you need to obtain the positions of your UI controls, e.g. using GetCtrlBoundingRect ( panel, control, &button.top, &button.left, &button.height, &button.width ). Then you need to check if the mouse is within a bounding box by comparing the mouse coordinate with the control coordinate...
    But why are the tooltips not working for you?

  • Async Interface being called synchronously via Web service/SOAP

    Hi,
    I have an asynchronous interface to receive data into XI which is being sent to a file system, I can successfully use this interface to send data to XI using the file sender communication channel, and the monitoring shows the same as asynchronous.
    The problem is when i want to use the same setup to send data from a .Net client using SOAP/Web service. This time if I go to monitoring I get to see that the call is synchronous..????... which is quite baffeling...
    I am not calling the XI webservice in synchronous mode I am calling the BeginInvoke method thus making an async call.
    what is it that I have to do to get the interface to behave as async on being called from a webservice?
    Thanks
    Aniruddha

    Thanks guys. I do understand that this is a old post. However I cannot find the following information. I too have C# Web App call SAP PI BAPI web service getting [NullReferenceException: Object reference not set to an instance of an object.]
    Extract of WSDL: In the Request section: How do I initialize these fields:
    COMPTEGENERAL
                   ITEMS occurs 0 to unbounded.
                             NUMERO_OU_NO_DE_COMPTE String
                             COMPTE_GENERAL String
                             CENTRE_DE_COUTS String
                             MONTANT_DEVISE Decimal
    webservicename.COMPTEGENERAL[] = new Mywebservice.Request FromWS[0].ToString();// Does not Work.
       <xsd:element name="COMPTEGENERAL">
                <xsd:annotation>
                  <xsd:appinfo source="http://sap.com/xi/TextID">9ce79547e32411e2a321f4ce4610676a</xsd:appinfo>
                </xsd:annotation>
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="ITEM">
                      <xsd:annotation>
                        <xsd:appinfo source="http://sap.com/xi/TextID">85ebea01eedf11e2bbe7f4ce4610676a</xsd:appinfo>
                      </xsd:annotation>
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="NUMERO_OU_NO_DE_COMPTE" type="xsd:string">
                            <xsd:annotation>
                              <xsd:appinfo source="http://sap.com/xi/TextID">85ebe9faeedf11e29c4bf4ce4610676a</xsd:appinfo>
                            </xsd:annotation>
                          </xsd:element>
                          <xsd:element name="COMPTE_GENERAL" type="xsd:string">
                            <xsd:annotation>
                              <xsd:appinfo source="http://sap.com/xi/TextID">85ebe9fceedf11e28cd7f4ce4610676a</xsd:appinfo>
                            </xsd:annotation>
                          </xsd:element>
                          <xsd:element minOccurs="0" name="CENTRE_DE_COUTS" type="xsd:string">
                            <xsd:annotation>
                              <xsd:appinfo source="http://sap.com/xi/TextID">85ebe9fdeedf11e2b57df4ce4610676a</xsd:appinfo>
                            </xsd:annotation>
                          </xsd:element>
                          <xsd:element name="MONTANT_DEVISE">
                            <xsd:annotation>
                              <xsd:appinfo source="http://sap.com/xi/TextID">85ebea00eedf11e2bdcbf4ce4610676a</xsd:appinfo>
                            </xsd:annotation>
                            <xsd:simpleType>
                              <xsd:restriction base="xsd:decimal">
                                <xsd:totalDigits value="18" />
                                <xsd:fractionDigits value="4" />
                              </xsd:restriction>
                            </xsd:simpleType>
                          </xsd:element>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:schema>
      </wsdl:types>

  • Cannot reference this before supertype constructor has been called

    I'm confused. I would like it easier for a user to use a class where one item can be determined from another, but I'm having a problem with the constructors.
    First, one constructor that works fine:
        public UndirectedGraph(List nodes, List edges) {
            this(nodes, edges, 100, 100, true, false);
        }which then calls the ultimate constructor that accepts all those other parameters.
    The problem is with this one:
        public UndirectedGraph(List nodes) {
            this(nodes, collectEdges(nodes), 100, 100, true, false);
        }collectEdges returns a List of Edges, so technically all should be fine. However, this won't compile, with the message:
    UndirectedGraph.java [37:1] cannot reference this before supertype constructor has been called
            this(nodes, collectEdges(nodes));
                               ^
    1 error
    Errors compiling UndirectedGraph.Is there a workaround for what I'm trying to do? It'd be a lot easier to have this collectEdges() method in this single place than in any class that's using this one.

    You HAVE to call the super constructor before you do anything else in the constructor. You can make calls to this but the final constructor to be executed has to make the super call. I am assuming you are subclassing something here because this should not show up as an error if there is a default constuctor. The reson for this is that a subclass is built on top of its parent classes meaning it can access information in them methods in them etc. Even in the constrcutor it can do this so the super class MUST be created before the subclass.

  • REMOVED_FROM_STAGE Being Called on Instantiation

    Hello,
    I've got an interesting predicament here.  I've got a MovieClip called GameOptions, and within that MovieClip, there's is another MovieClip called DifficultyButtons which subclasses RadioGroup.  DifficultyButtons contains a few MovieClips called Easy Medium and Hard which are all subclassing RadioButton.  While GameOptions is being added through addChild(), the child clips are all part of GameOptions built in Flash. So this is my structure:
    GameOptions
    -- DifficultyButtons
    -- -- Easy
    -- -- Medium
    -- -- Hard
    Now I have an event listener listening for REMOVED_FROM_STAGE in the RadioGroup and RadioButton classes.  For some reason, REMOVED_FROM_STAGE is being called immediately on instantiation. Here's a (stripped down for readability's sake) version of RadioGroup:
    package radiobuttons
         import flash.display.MovieClip;
         import flash.events.Event;
         import flash.events.MouseEvent;
         public class RadioGroup extends MovieClip
              public function RadioGroup()
                   addEventListener(Event.ADDED_TO_STAGE, addedToStage);
              protected function addedToStage(e:Event):void
                   removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
                   addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage, false, 0, true);
                   addEventListener(MouseEvent.MOUSE_UP, processClick);
              protected function processClick(e:MouseEvent):void
                   trace("Click: " + e.target);
              protected function removedFromStage(e:Event):void
                   trace("Removed: " + e.target);
                   removeEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
                   removeEventListener(MouseEvent.MOUSE_UP, processClick);
    So why is it that removedFromStage is being called instantly?  The clip is still there on the stage, and if I remove the event listener for REMOVED_FROM_STAGE, everything functions fine.
    Also, when removedFromStage is called, it traces "Removed: [object DifficultyButtons]".
    Is this because I'm not adding these clips through code, as opposed to how its done now where it's prebuilt in flash?  Or is this some weirdness with me sublcassing something directly in the flash library's Export for ActionScript panel?
    ps; this has nothing to do with useCapture as I've tried both.
    pps; this is happening on both the DifficultyButtons and Easy/Medium/Hard.
    Thanks!

    So doing some more debugging, DifficultyButtons is the target and currentTarget of the REMOVED_FROM_STAGE event, and the EventPhase for this event is AT_TARGET.  So it's definitely this class doing this.
    Also, I tried removing the DifficultyButtons from its parent movie clip and adding it through addchild in the parent clip and still am receiving the same problem!\
    edit: More trying to figure this out.  I removed all references to any additional objects from GameOptions.  So now my document class is doing one thing and one thing only: addChild(new GameOptions());
    My GameOptions has only this code:
    package hud
         import flash.display.MovieClip;
         import flash.events.Event;
         public class GameOptions extends MovieClip
              public function GameOptions()
                   addEventListener(Event.ADDED_TO_STAGE, addedToStage);
              protected function addedToStage(e:Event):void
                   addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
              protected function removedFromStage(e:Event):void
                   trace("I'm a game options" + this);
    And, as expected, it IS tracing the trace in removedFromStage.
    So... am I completely confused by the point of REMOVED_FROM_STAGE??

  • Recording which articles are being read

    I want to create a cloud tag of popular topics
    What i need to work out
    1. How to record which articles are being read
    2. How to display these in a tag cloud
    3. Then when a user clicks on a tag - all the articles which
    similar
    tag are displayed
    What i have done so far (how am i going?)
    Db called tags
    Tables
    tag, article title, article url, article description
    # each article has a few different tags
    e.g
    article for preventing std has the following tags
    std, sex, safe sex, HIV
    # the article itself doesnt exist in the database as i read
    this
    wasn't good for SEO. so the article itself exists on a static
    page.
    I have close to 100 medicla articles and add about 4 or 5 a
    month
    so i would love to get this working to save me time and
    effort.
    Many thanks
    Mark Holloway
    coordinator
    www.healthhokkaido.com

    Have been using this code from the pete frei tutorial - cloud
    tags -. It is working fine.
    In the case of my database, each article has 3 tags
    associated.
    So there are 3 fields as opposed to 1 from which to count the
    tags.
    How could I adjust the code to take accountfor this?
    Also I am a begineer so if you had the time to provide a
    short explanation that would also be great.
    <cfquery datasource="cart" name="tags">
    SELECT COUNT(tag) AS tagCount, tag
    FROM list
    GROUP BY tag
    </cfquery>
    <cfset tagValueArray =
    ListToArray(ValueList(tags.tagCount))>
    <cfset max = ArrayMax(tagValueArray)>
    <cfset min = ArrayMin(tagValueArray)>
    <cfset diff = max - min>
    <cfset distribution = diff / 3>
    <style type="text/css">
    <!--
    .smallestTag { font-size: xx-small; }
    .smallTag { font-size: small; }
    .mediumTag { font-size: medium; }
    .largeTag { font-size: large; }
    .largestTag { font-size: xx-large; }
    -->
    </style>
    <cfoutput query="tags">
    <cfif tags.tagCount EQ min>
    <cfset class="smallestTag">
    <cfelseif tags.tagCount EQ max>
    <cfset class="largestTag">
    <cfelseif tags.tagCount GT (min + (distribution*2))>
    <cfset class="largeTag">
    <cfelseif tags.tagCount GT (min + distribution)>
    <cfset class="mediumTag">
    <cfelse>
    <cfset class="smallTag">
    </cfif>
    <a href="/tag/#tags.tag#"
    class="#class#">#tags.tag#</a>
    </cfoutput>

  • C# Constructo​r being called multiple times when I run my VI

    Hi all,
    We are runing LabVIEW 8.51 in the lab and have been using a bodged together C++ DLL which was crude but got the job done. Now looking at rewriting it in C# to make it easier to maintain and support long term.
    Ive got the C# DLL appearing in Labview and can happily call my test functions from the VI to prove both the DLL inputs and outputs are working fine (the simple input a number, add 1 and return result type of code).
    However, this DLL will end up managing a Serial port connection so the contstructor must only be called once as its responsible for making my .net serial port object. Ive added a text log message in the constructor and have found that just running the VI is causing the constructor to be called at least 5 times a second. There is no user input causing this....just running the VI.
    Both VI and C# source is attached.
    Any ideas folks? Im a complete newbie at LabVIEW having taken this on from another developer.
    The VI is in \Release and this is where the Log file is generated.
    Mat
    Attachments:
    Bus Pirate LabVIEW.zip ‏78 KB

    Ummmm.. yes, loop. That big thing gray rectangle that surrounds your code. Have you done any LabVIEW tutorials? That isn't even a LabVIEW question, but a basic programming question.
    To learn more about LabVIEW it is recommended that you go through the introduction material, tutorial(s), and other material in the NI Developer Zone's Learning Center which provides links to other materials and other tutorials. There are also several Technical Resources. You can also take the online courses for free.

Maybe you are looking for

  • Report1

    hi experts, can anybody explain me about interactive report which lists the billing document number,currency,salesorganization,billdate,company,billitemno,materialno,netvalue.

  • How to get addresses to autofill in calendar invitations?

    When I create an event in Calendar on my iPhone, I can send it to invitees. I type in a few letters, and I get a selection from my Contacts -- same as typing in the To: field of an email. When my wife sends a calendar event from her iPhone, she gets

  • Oracle 11g: ORA-12547 by DBCA

    Hi all, I am trying to create an Oracle 11g R2 Standalone Database with ASM on Enterprise Linux 5.5 (64-bit). I successfully installed the Grid Infrastructure and the DB software. When I reached to creating db phase and the dbca started creating the

  • Comments on Gtech G-Drive and G-drive mini

    Anyone have any comments on the above firewire external drives ? I am looking at picking up one of each. the mini to take on the road with my Macbook Pro 17", and the G-Drive to stay at home and move between my G5's and MacPro. Reliability? Etc... th

  • Playlist not updated during sync with added songs

    I have a manual playlist set up in iTunes where I store my  music. I then have iTunes set to sync only this playlist to my iPhone 5. However, when I've added a newly added song into this playlist, and performed a sync, the song does not move into the