Use Of SUPPLY Function & Singletone Class?

Hi,
What is the Use of Supply Function & What is Sigletone Class?
Thanks
Ranveer

Hi Ranveer,
Each context node of a controller can be assigned a supply function. This supply
function is called by the runtime when the data of the context node is used. This is the case
when a UI element is to be displayed for the first time with the data of the corresponding
context.
In general, the supply function is called when one or more elements of a context node are
accessed and when
● the context node is not filled yet or is initial, or
● the context node has been invalidated in a previous step.
Supply Functions of Singleton Nodes
The supply function is especially useful in combination with singleton nodes.The
values of subnode elements of the type Singleton depend on the element of the parent node
to which the lead selection is currently assigned. If the lead selection is changed by the user,
the supply function can access the new lead selection element and recalculate the values of
the subnode elements accordingly.
You can only create such a view when the lead selection element of the node
CARRIER_NODE is read in the supply function of the node CONNECTION_NODE:
For eg:
method GET_CONNECTIONS .
data: CARR_ATTR type IF_MAINVIEW=>ELEMENT_CARRIER_NODE,
FLIGHTS type SPFLI_TAB.
get filled structure for parent node
PARENT_ELEMENT->GET_STATIC_ATTRIBUTES( importing
STATIC_ATTRIBUTES = CARR_ATTR ).
get connections from help class
FLIGHTS = CL_WD_GET_SPFLI=>GET_FLIGHTS_BY_CARRID(
CARRID = CARR_ATTR-CARRID ).
NODE->BIND_ELEMENTS( FLIGHTS ).
endmethod.
Explanation:
An internal variable of the type of a context element of the parent node
CARRIER_NODE and another internal variable of the Dictionary type SPFLI_TAB are
declared.
● The attribute values of the lead selection element of the parent node CARRIER_NODE
are then passed to the internal variable CARR_ATTR.
For this transfer, each supply function uses the parameter
PARENT_ELEMENT of the reference type IF_WD_CONTEXT_ELEMENT.
PARENT_ELEMENT is a reference to the lead selection element of the parent node of
the current node. The parameter is automatically displayed in the signature of the
supply function.
Each time the user selects another table element as the lead selection in the table Carrier,
the value of the parameter PARENT_ELEMENT changes. The supply function of the context
node CONNECTION_NODE is called and the values of its attributes are newly filled
according to the selected table line in the table Carrier.
Supply functions can only access context data that
■ is contained in the corresponding parent node or
■ is contained in another node that is on a next-highest level compared to
the node filled by the corresponding supply function.
Cheers,
Mary

Similar Messages

  • What is Supply Function, use of Supply function?

    Hi Guru's,
    Can you give a definition or description of Supply Function, and what is the use?
    Thanks,
    Pradeep.

    Hi Pradeep,
    Okay, conceptually you have understood it, that is good
    Hope you have also, visited this link
    Supply function with singleton concept | Webdynpro ABAP
    Then let us have a simple example to understand how it works.
    Let us say we have  parent node PNODE & child node CNODE
    PNODE node has 2 records and for each record CNODE has 3 records
    Whenever the data of PNODE is bound/changed, the supply function of CNODE executes. Hence, you are able to get the control during initialization.
    Now, if you have set the lead selection at line 2, i.e.  there is change to context PNODE, hence the supply function of CNODE triggers and it gets the reference of 2nd record in PARENT_ELEMENT inside supply function and based on this the child node data can be populated.
    Even, if you refresh node PNODE using method lo_pnode->INVALIDATE( ), the supply function of CNODE triggers.
    Hence, whenever there is change at PARENT'S context node, the supply function of its child node(s) gets called.
    Hope it gives little light on the supply function's  practical usage.
    Regards,
    Rama

  • Use of supply function and WDCopyService..

    Hi,
    Thank you for ur help on WdCopyService to copy node elements..
    This is current scenario n requirement is:-
    1. I have a RFC (model node) that returns 20 transactions on each "Load next" button click.
    2. Now using output data of this model node, a context node "Transaction" is populated. A Supply function "SupplyTransaction" is used for this purpose.
    3. This "Transaction" node has further subnodes and these are used to fill up several tables in view.
    3. What i want to do is, Transaction node elements which were previously added using supply function should be retained. The next new 20 elements should get added to it.
    What are the possible ways to do this? 
    Pls help me as soon as possible..
    Regards,
    Amey

    HI Amey
    I think for the result that u want to achieve, u shud nt use supply function.
    I ll suggest u to use the same logic that u ve written in the supply function to be written immediately after u get data in your output model node.
    Try this.
    I hope it solves your problem.
    Regards
    Kapil S Kamble

  • To ragnic and other about Singleton class

    Hi ragnic. Thanks for your reply. I posted the code wrong. Heres' my correct one.
    I have a GUI first loaded information and the information is stored in a databse, I have some EJB classes..and my singleton class ABC has some method to access to the EJB..
    so my first GUI will gather info using singleton class and later if I click on
    a button in my first GUI class, will pop up another frame of another class , this class also need to class setPassword in my Singleton..
    are my followign codes correctly??
    iS my Class ABC a SINgleton class? thanks
    Is my class ABC use as single correctly. And It is called from other classes is also correct?
    I'm new to java and like to learn about Singleton class.
    But I really dont' understand it clearly after reading many examples of it.
    I have a project to convert my class abc to a singleton.
    But I dont know how to do it.
    In my class(soon will become a singleton) will have few methods that later I need to use it from another class A and class B.
    I have a GUI application that first load my class A..and my class will call
    class abc(singleton) to get some information from it.
    and then in class A has a button, if I click on that button I will call SIngleton class again to update my password, in the singleton class has method calls updatePassword. But I dont know how to call a singleton from other class.
    I have my code for them below:
    1)public class ABC //attempt using a singleton
    private static ABC theABC = null;
    private ABC(){}
    public synchronized static ABC getABC()
    if(theABC == null)
    theABC= new ABC();
    return the ABC;
    public void updateUserInfo(SimpleUser user)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    uc.updateUserInfo(user, userHome);
    } catch(HomeFactoryException hfe) {
    hfe.printStackTrace();
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    re.printStackTrace();
    throw new DelegateException(re);
    } catch(CreateException ce) {
    ce.printStackTrace();
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    fe.printStackTrace();
    throw new UserNotFoundException();
    public SimpleUser getID(String id)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    SimpleUser su = uc.getID(id, userHome);
    return su;
    } catch(HomeFactoryException hfe) {
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    throw new DelegateException(re);
    } catch(CreateException ce) {
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    throw new UserNotFoundException();
    public void setPassword(String lname,String pw)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    uc.setPassword(lname,pw, userHome);//assume that all lname are differents.
    } catch(HomeFactoryException hfe) {
    hfe.printStackTrace();
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    re.printStackTrace();
    throw new DelegateException(re);
    } catch(CreateException ce) {
    ce.printStackTrace();
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    fe.printStackTrace();
    throw new UserNotFoundException();
    }//Do I have my class as a Singleton correctly???
    2)//Here is my First Frame that will call a Singleton to gather user information
    public A(Frame owner)
    super(owner, "User Personal Information",true);
    initScreen();
    loadPersonalInfo();
    * This method instantiates all the GUI widgets and places them into panels and
    * onto the frame.
    private void initScreen()
    txtFname = new JTextField(20);
    txtLname=new JTextField(20);
    btnsave =new JButton("Save");
    btnChange= new JButton("Click here to change PW");//when you click this button there will be a frame pop up for you to enter informaton..this iwll call class B
    JPanel pnlMain=new JPanel();
    JPanel pnlFname= new JPanel();
    pnlFname.setLayout(new BoxLayout(pnlFname, BoxLayout.X_AXIS));
    pnlFname.setBorder(BorderFactory.createEmptyBorder(0,87,0,90));
    pnlFname.add(new JLabel("First Name:"));
    pnlFname.add(Box.createRigidArea(new Dimension(5,0)));
    pnlFname.add(txtFname);
    JPanel pnlLname= new JPanel();
    pnlLname.setLayout(new BoxLayout(pnlLname, BoxLayout.X_AXIS));
    pnlLname.setBorder(BorderFactory.createEmptyBorder(0,87,0,90));
    pnlLname.add(new JLabel("Last Name:"));
    pnlLname.add(Box.createRigidArea(new Dimension(5,0)));
    pnlLname.add(txtLname);
    pnlMain.add(pnlFname);
    pnlMain.add(pnlLname);
    pnlMain.add(btnsave);
    pnlMain.add(btnChange");
    btnSave = new JButton("Save");
    btnSave.setActionCommand("SAVE");
    btnSave.addActionListener(this);
    btnCancel = new JButton("Cancel");
    btnCancel.setActionCommand("CANCEL");
    btnCancel.addActionListener(this);
    JPanel pnlBottom = new JPanel();
    pnlBottom.setLayout(new BoxLayout(pnlBottom, BoxLayout.X_AXIS));
    pnlBottom.setBorder(BorderFactory.createEmptyBorder(25,55,0,0));
    pnlBottom.add(btnSave);
    pnlBottom.add(Box.createRigidArea(new Dimension(25,0)));
    pnlBottom.add(btnCancel);
    pnlMain.add(pnlBottom);
    this.setContentPane( pnlMain);
    setSize(500,500);
    GraphicUtilities.center(this);
    theABC=ABC.getABC();
    //Do I call my ABC singleton class correctly??
    private void loadPersonalInfo()
    String ID= System.getProperty("user.name");
    SimpleUser user = null;
    try {
    user = ABC.getID(ID);
    //I tried to use method in ABC singleton class. IS this correctly call?
    } catch(UserNotFoundException nfe)
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered.",
    "User Not Found",JOptionPane.WARNING_MESSAGE);
    System.exit(0);
    } catch(DelegateException de) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    currentUser = user;
    txtFname.setText(currentUser.getFirstName());
    txtLname.setText(currentUser.getLastName());
    //This information will be display in my textfields Fname and Lname
    //I can change my first and last name and hit button SAVE to save
    public void actionPerformed(ActionEvent e)
    if(e.getActionCommand().equals("SAVE")) submitChanges();
    if(e.getActionCommand().equals("CHANGE_PASSWORD")) {
    changepassword=new ChangePassword(new Frame(),name,badgeid);
    public void submitChanges(){
    String currentNTUsername = System.getProperty("user.name");
    SimpleUser user =null;
    try {
    user = theABC.getID(ID);
    user.setFirstName(txtFname.getText().trim());
    user.setLastName(txtLname.getText().trim());
    currentUser = user;
    theABC.updateUserInfo(currentUser);
    //IS this correctly if I want to use this method in singleton class ABC??
    } catch(UserNotFoundException nfe)
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",
    "User Not Found",JOptionPane.WARNING_MESSAGE);
    } catch(DelegateException de) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    this.setVisible(false);
    3) click on ChangePassword in my above GUI class A..will call this class B..and in this class B
    I need to access method in a Singleton class- ABC class,,DO i need to inititates it agian, if not what should I do? thanks
    package com.lockheed.vista.userinfo;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    import javax.swing.table.*;
    import javax.swing.tree.*;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import java.io.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.colorchooser.*;
    import javax.swing.filechooser.*;
    import javax.accessibility.*;
    import java.beans.*;
    import java.applet.*;
    import java.net.*;
    import org.apache.log4j.*;
    import com.lockheed.common.gui.GraphicUtilities;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import vista.user.UserServicesDelegate;
    import vista.user.SimpleUser;
    import vista.user.UserNotFoundException;
    import vista.user.*;
    import com.lockheed.common.ejb.*;
    import com.lockheed.common.gui.*;
    import com.lockheed.vista.publish.*;
    * This program allow users to change their Vista Web Center's password
    public class ChangePassword extends JDialog
    implements ActionListener{
    protected final Logger log = Logger.getLogger(getClass().getName());
    private UserServicesDelegate userServicesDelegate;
    private User currentUser = null;
    private JPasswordField txtPasswd, txtVerifyPW;
    private JButton btnSubmit,btnCancel;
    private JLabel lblName,lblBadgeID;
    private String strBadgeID="";
    * This is the constructor. It creates an instance of the ChangePassword
    * and calls the method to create and build the GUI.
    public ChangePassword(Frame owner,String name,String badgeid)
    super(owner, "Change Password",true);
    initScreen(name,badgeid);//build the GUI
    * This method instantiates all the GUI widgets and places them into panels and
    * onto the frame.
    private void initScreen(String strname,String strBadgeid)
    txtPasswd = new JPasswordField(20);
    txtVerifyPW=new JPasswordField(20);
    txtPasswd.setEchoChar('*');
    txtVerifyPW.setEchoChar('*');
    JPanel pnlMain=new JPanel();
    pnlMain.setLayout(new BoxLayout(pnlMain, BoxLayout.Y_AXIS));
    pnlMain.setBorder(BorderFactory.createEmptyBorder(20,0,20,0));
    JPanel pnlPW=new JPanel();
    pnlPW.setLayout(new BoxLayout(pnlPW, BoxLayout.X_AXIS));
    pnlPW.setBorder(BorderFactory.createEmptyBorder(0,96,0,30));
    pnlPW.add(new JLabel("Password:"));
    pnlPW.add(Box.createRigidArea(new Dimension(5,0)));
    pnlPW.add(txtPasswd);
    JPanel pnlVerifyPW=new JPanel();
    pnlVerifyPW.setLayout(new BoxLayout(pnlVerifyPW, BoxLayout.X_AXIS));
    pnlVerifyPW.setBorder(BorderFactory.createEmptyBorder(0,63,0,30));
    pnlVerifyPW.add(new JLabel("Verify Password:"));
    pnlVerifyPW.add(Box.createRigidArea(new Dimension(5,0)));
    pnlVerifyPW.add(txtVerifyPW);
    JPanel pnlTop= new JPanel();
    pnlTop.add(pnlPW);
    pnlTop.add(Box.createRigidArea(new Dimension(0,10)));
    pnlTop.add(pnlVerifyPW);
    pnlMain.add(pnlTop);
    btnSubmit = new JButton("Submit");
    btnSubmit.setActionCommand("SUBMIT");
    btnSubmit.addActionListener(this);
    btnCancel = new JButton("Cancel");
    btnCancel.setActionCommand("CANCEL");
    btnCancel.addActionListener(this);
    JPanel pnlBottom = new JPanel();
    pnlBottom.setLayout(new BoxLayout(pnlBottom, BoxLayout.X_AXIS));
    pnlBottom.setBorder(BorderFactory.createEmptyBorder(25,55,20,30));
    pnlBottom.add(btnSubmit);
    pnlBottom.add(Box.createRigidArea(new Dimension(25,0)));
    pnlBottom.add(btnCancel);
    pnlMain.add(pnlBottom);
    this.setContentPane( pnlMain);
    setSize(350,230);
    setVisible(true);
    public void actionPerformed(ActionEvent e)
    if(e.getActionCommand().equals("CANCEL")) this.setVisible(false);
    if(e.getActionCommand().equals("SUBMIT")) submitPW();
    * This method is called when the submit button is clicked. It allows user to change
    * their password.
    public void submitPW(){
    myABC= ABC.getABC();//Is this correct?
    char[] pw =txtPasswd.getPassword();
    String strPasswd="";
    for(int i=0;i<pw.length;i++){
    strPasswd=strPasswd+pw;
    char[] vpw =txtVerifyPW.getPassword();
    String strVerifyPW="";
    for(int i=0;i<vpw.length;i++){
    strVerifyPW=strVerifyPW+pw;
    if((strPasswd==null)||(strPasswd.length()==0)) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not enter a password. Please try again.",
    "Invalid Password",JOptionPane.ERROR_MESSAGE);
    if((!strPasswd.equals(strVerifyPW)))
    //password and verify password do not match.
    JOptionPane.showMessageDialog(new JDialog(),"Your passwords do not match. Reenter and try again.",
    "Invalid Password",JOptionPane.ERROR_MESSAGE);
    try
    myABC.setUserPassword(strPasswd);//try to use a method in Singleton class
    txtPasswd.setText("");
    txtVerifyPW.setText("");
    this.setVisible(false);
    } catch(DelegateException e) {
    JOptionPane.showMessageDialog(new Frame(),
    "Error.",
    "Unable to change password information.",JOptionPane.WARNING_MESSAGE);
    } catch(UserNotFoundException e) {
    JOptionPane.showMessageDialog(new Frame(),
    "Error.",
    "Unable to change password information.",JOptionPane.WARNING_MESSAGE);
    And ofcourse I have other EJB classes to work with these classes.
    ***It compiles okey but when I ran, it say "NullPointerException"
    I think I call my Singleton wrong.
    Please help me.thanks

    1. When replying, use <reply>, don't post a new topic.
    2. Implementing a singleton is a frequently asked question. Search before you post.
    3. This is not a question about Swing. A more appropriate forum would be "New To Java Technology" or perhaps "Java Programming", but see point 1.
    4. When posting code, keep it short. It increases the chance of readers looking at it. And in composing your shorter version for the forum, you just may solve your problem.

  • Calling supply function

    Hi
    Can we call supply function explicitly in any other method of the view using wd_this->supply function name( ) ?.
    In case the supply function is local to the view and when it is defined in component controller ?

    hi vishal........
          you cannot call supply function explicitly.......
          what you can do is.... invalidate the node that has the supply function. so the supply function will be called again.
    ---regards,
       alex b justin

  • Difference between method,event handler,supply function.

    hi,
    i wants to know what is the difference between
    method.
    event handler.
    supply funciton.
    Regards:
    Pankaj Aggarwal

    Hi Pankaj,
    These are few lines from the F1 help documentation given,
    Web Dynpro: Method Type :The type of a method defines whether you have an event handler, a supply
                                                function, or a (normal) method.
      Event Handler : Handlers of an event, a controller, an action, or an inbound plug of a view.
       Method : Modularization unit within a view or a controller.Methods of a view can only be called locally
                       within this view.Methods of a controller (component or custom controller) can also be called from
                       a view or another controller, provided the controller is entered as controller used .
       Supply Function : Method for filling a context node.
    For more information refer to the Thomas post
    Regards,
    Sravanthi

  • Breifly xplain  wht lead selection ,cardinality &singleton&supply function

    Hi Friends ...
                 Let plz xpalin in breif   wht is lead selection ,cardinality &singleton&supply function and how these all helpfull whtz the relation ship between while creating a table...
    itz bit urgent for me am working with dynamic tables and am in confuse...plz make it out this query...

    Lead selection
         Leadselection is the property which is used to get the index of the selected row of the table
    "OnLeadSelect" is the method used to fire an action when a row is selected
         The Method wdContext.<node>().getLeadSelection() can be used to
    find out the index of the selected element.
    Cardinality
    Any node or attribute that has the context root node as its immediate parent, is known as an independent node or attribute.
    Any node or attribute that has some other node as its immediate parent, is known as a dependent node or attribute.
    All context nodes are collections.
    A node collection is composed of elements, where an element is an aggregation of the node’s immediate children (attributes and/or other nodes).
    The cardinality property controls the number of elements a node collection may hold at runtime.
    Every context node has a property called Cardinality. This property is composed of two values that
    taken together, describe the maximum and minimum number of elements the node collection may hold
    at runtime.
    Cardinality Minimum: 0 or 1
    Cardinality Maximum: 1 or n
    Therefore, there are four possible cardinality values (specified as <Min>..<Max>)
    0..1 Zero or one elements permitted
    0..n Zero or more elements permitted
    1..1 One and only one element permitted
    1..n One or more elements permitted
    Singleton
    All independent nodes are forced to be singletons. This is because the context root node has one and only one element.
    Singleton is  boolean
    TRUE : One instance will be created for all te nodes
    FALSE : Every Element in the parent node collection,there will be a distinct instance of the child node.
    Why Singleton
         -Efficiency
         -Less Memory
         -Lazy Data Access(Creates instance only when needed,till then it will remain unprocessed)
    Supply functions
         Supply functions are the mechanism to repopulate child nodes when the lead selection in the parent node
    changes. When a singleton child node is declared, you must also write an accompanying supply function.
    The Web Dynpro Framework will then automatically call your supply function when the lead selection
    in the parent node changes.
    Regards
    Chaitanya.A

  • Specialty of supply function and  how can we use it efficiently?

    Hi Experts,
    I have one question.
    What exactly the function of “Supply function” for a node.
    Some says when ever lead change happens the “Supply function” triggers.
    I put a break point in Supply function say “ZSupply” written code to populate the table.
    It triggered only once to populate the table. If this is the functionality then I can write code in method and call it in modify view my checking it for first time why “supply function”.   I want to know what is its specialty, how can we use it efficiently?
    Thanks
    Gopal

    Hi Gopal,
    You are correct even without supply function you can achieve the same functionality i.e when ever there is a change in HEADER the corresponding ITEM for the HEADER can be displayed.
    But the idea of using SUPPLY Function is - the code written in the node i.e assume HEADER and ITEM relation gets executed as and when the node is instantiated in the run time where in there is no need us to handle it explicitly.
    If not used SUPPLY Function then we need to handle the complete HEADER and ITEM relation explicitly.
    Regards,
    Mohammed

  • Singleton Class using a constructor not a getInstance method

    Hi,
    I have a class with a couple of contructors, the class is instantiated many times in the application.
    Is there any way by which I can return a single instance of the class when the contructor is called ?.
    I dont want to declare a get instance method to return a single instance is it somehow possible to do this in the contructor itself.
    This is done so I dont have to refactor the whole application and change all the places where this class is instantiated.
    Example
    XXXClass xxx = new XXXClass();
    every time new XXXClass() is called the single instance of the class must be returned.
    I dont want to implement
    XXXClass xxx = XXXClass.getInstance();
    Thanks in advance
    Rgds
    Pradeep Thomas

    The short answer to your question is No. If your class has accessible constructors and your code calls "new" then there will be multiple instances of the corresponding objects.
    Possible ways round your problem are to use static variables in place of instance variables or to use your existing class as a wrapper for another class that is instantiated only once. This second class should include all the variables and methods and the wrapper class would delegate all calls to it. This is not quite a singleton because there would still be multiple instances of the wrapper, but each instance would share the same variables and methods. You could also add a getInstance() method to the wrapper class so that new code could start to use it as a singleton.
    Other than that, it's time to refactor! Good Luck.

  • Direct approach for - Message class used in Call Function - possible?

    Hi All
    This is I guess a very simple question, but I could not find the solution.
    If i use the function: POPUP_TO_CONFIRM, I can hand over to the export some text symbols directly from the text elements.
    Example:
        CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
            titlebar              = text-011
            text_question         = text-030
            text_button_1         = text-024
            icon_button_1         = 'icon_checked '
            text_button_2         = text-026
            icon_button_2         = 'icon_incomplete'
            default_button        = '2'
            display_cancel_button = ''
            start_column          = 25
            start_row             = 6
          IMPORTING
            answer                = answer.
    But I'm using a message class in this progamm.
    <b>So my question is, how can I use directly a message from the message class within the function?</b>
    I'm not asking for a 2-step approach (copy into text1 and set text1 to function). I would like to know how to use the text from the class directly into the function.
    Thanks
    Petra

    Hi
    May be this way.
       data : v_text1(72) type c,
              v_text2(72) type c,
           v_text3(72) type c,
              v_text4(72) type c.
        message i175(YVV) into v_text1.
        message i176(YVV) into v_text2.
        message i177(YVV) into v_text3.
        message i178(YVV) into v_text4.
        CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
            titlebar              = v_text1
            text_question         = v_text2
            text_button_1         = v_text3
            icon_button_1         = 'icon_checked '
            text_button_2         = v_text4
            icon_button_2         = 'icon_incomplete'
            default_button        = '2'
            display_cancel_button = ''
            start_column          = 25
            start_row             = 6
          IMPORTING
            answer                = answer.
    aRs

  • Actionscript 3 Class Not Running More Than Once After Using The GoToAndStop function

    I'm having a strange issue, and I am sure it's due to my lack of knowledge about how classes fully work in Adobe AIR (Flash CC). I've created a login button that is connected to a function, and based on a set of conditions it will take you to a different frame with the GoToAndStop function. I've created a logout button that is suppose to take you "back" to the login frame (that has the login button) if you click the logout button using the GoToAndStop function. Up to this point, everything works until I try to click the Login button again, it does not do anything. It's like it does not even try to execute my class file anymore.
    Does the class file only run at startup and never runs again, and if so, how can I create a section of code that is constantly monitoring what the user is doing no matter what frame you are on and no matter if I use the GoToAndStop function or not?
    Thanks

    Based on your qyestion, I think I was wrong with my second guess.
    When I want to create a button, what I do is draw a bitmap that looks like a button and then use a mouse event listener that looks for any part of the stage that is clicked.  You would use the same code for touch as well.  As3 will return the x.y. coordinate of the area that was clicked or touched.  When the xy coordinate is known, if it corrseponds to the area where the button is, I code the appropriate response.  Hence, I only use one event listener for all my buttons, as long as thet involve simple clicks or taps of the screen.
    Good luck, Justin

  • Supply function used

    hi ,
    i have to fields as following:
    Nomination Key: ____________
    Location          :______________
    I want to fill the location F4 value help based on the value in Nomination Key.
    Is it possible to use Supply Function? if not what I should do?
    Best regard.

    Hi Ali,
    You can achieve this using OVS.
    I dont think you can use Supply function here, as both the fields reside on the same screen.
    Not only that Supply function will be called before WDDOINIT while displaying the view.
    So there wont be any value in the Nomination Key at all.
    Not only that after you enter something like 'XXXX' in the nomination key, then if you press F4 on the second IPF then it wont trigger the supply function.
    So, better use OVS and it is advisable too.
    For clarity in Hook methods and the sequence of calls which Webdynpro Runtime uses, Please follow Phase Model of the Webdynpro.
    Hope informtation is useful..
    Regards,
    Shashikanth. D

  • Singleton class + JTable mouseClicked

    Hi,
    I have a problem with this topic:
    singleton class OR create new class and use one function (not a static func) of this class from else class.
    I have singleton class that return JScrollPane with table, in this table I have tasks..
    in this class I have: public void mouseClicked(MouseEvent e) function.
    when the user clicked --> I create another JTable (table with sub tasks)
    and if the user clicked in this table, I create another JTable (table with sub sub tasks).............................
    I need your help because: if the class that create a JTable singleton type, then I can not get another mouseClicked of jtable that below the new jtable (I can't get another mouseClicked of sub tasks table if I created the sub sub tasks table...).
    But, if I create everytime NEW class that return the scroll JTable --> I get different problem:
    I need to use with some functions from scroll JTable class and I don't know how to do it..I can't do: TaskTable.getInstance().getMyFunc();
    This function must to be in this class, and not static!
    I'm new :) maybe I don't know some else way to get function from regular class.
    Sorry about my english.
    I'm really need your help :)
    Thasks.

    ..if I create everytime NEW class that return the scroll JTable --> I get different problem:
    I need to use with some functions from scroll JTable class and I don't know how to do it..
    TaskTable t1 = new TaskTable();
    t1.getMyFunc();

  • TestStand create different object for singleton class

    Hi all,
    we have a singleton class which has some functions used to do testing a harware.
    Our main Exe will create an object for that singleton class(which opens Com1 port and communicate with hardware). so the Exe will do basic communication test with hardware it is working well. We are using Teststand operator interface to do various testing by using sequence files. Main exe will use teststand usercontrols to execute tests when the user clicks Testbutton. after that, teststand try to create an object for that singleton but it returns new object not the existing one which is created by EXE. So it throwing me exeception "Com1 port access denied." (since we created object for signleton class @ very first in EXE)
    My question is Since that teststand runs in a separate Appdoamin will the singltonclass create separate object for different appdomain? if so is there any solution to reslove this?
    Hope i clearly explained my probs.
    Thanks in advance
    Srini 

    Hi Srini,
    How are you calling the executable?  From a Call Executable step?  Or are you using another means of calling it?   Also, why is TestStand trying to recreate the object?  As long as you have the correct handle to the object I don't think it matters what app domain you are in.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Singleton Class ArrayCollection within Flashbuilder (Mobile) empty?

    Hi,
    I am currently trying to implememnt a Singleton Class in order to store a ArrayCollection of items that I can then access and manipulate across the lifecycle of my app. I have created the below Singleton Class that is designed to hold the ArrayCollection information:
    package valueObjects
        import mx.collections.ArrayCollection;   
        [Bindable]
        public class Model
            private static var instance:Model = new Model();
            public var ids:ArrayCollection = new ArrayCollection();
            public function Model()
                if(instance)
                    trace("New instance cannot be created. Use Singleton.getInstance()");
            public static function getInstance():Model
                return instance;
    I have then created the following code on the Main Deafult page for my application so that the ArrayCollection is populated as soon as the app is initiated:
                import valueObjects.Model;           
                protected var models:Model = new Model();
                            private function loop():void
                    var index:int;
                    for( index = 0; index < compsCollection.length; index++ )
                        trace( "Element " + index + " is " +  compsCollection[index].comp_id );
                                    models.ids.addItem(compsCollection[index].comp_id);
                        trace(models.ids.length);
    The ArrayCollection in the Singleton Class is being populated as the trace statement that I have entered into the loop clearly shows the build of of data in the ArrayCollection. However then when I move to another view within the application I then try to access this ArrayCollection within the Singleton Class with the following code:
    import valueObjects.Model;
    protected var models:Model = Model.getInstance();
    protected var test:ArrayCollection = new ArrayCollection();
    protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
                    var index:int;
                    trace("Array Length =" + models.ids.length);
                    for( index = 0; index < models.ids.length; index++ )
                        trace( "Element " + index + " is " + models.ids[index].comp_id );
                        test.addItem(models.ids[index].comp_id);
                    testbox.text = test.toString();
    Now the problem I am having is that when I try to access this ArrayCollection(ids) it appears to be empty for some reason. I have included a trace statement that also says that the length of the ArrayCollection is "0". Can anyone please help??

    if your value object class change this
    change this
    public var ids:ArrayCollection = new ArrayCollection();
    to
    public static var ids:ArrayCollection = new ArrayCollection();
    on your default page change this
    models.ids.addItem(compsCollection[index].comp_id);
    to
    valueObjects.Model.ids.addItem(compsCollection[index].comp_id);
    on your view change to something like this.
    protected
    function view1_viewActivateHandler():void
                   //initialize="view1_viewActivateHandler();"
                   var index:int;
                   trace("Array Length =" + valueObjects.Model.ids.length);
                   for( index = 0; index < valueObjects.Model.ids.length; index++ )
                        trace( "Element " + index + " is " + valueObjects.Model.ids[index].comp_id );
                        test.addItem(valueObjects.Model.ids[index].comp_id);
                   //testbox.text = test.toString();
    good luck let me know if you have any question i tested this and it worked like a charm for me.
    Miguel

Maybe you are looking for