Getting the values from one transaction from other
Hi,
I have the following requirement:
Whenever run from ZAP02 or ZAP07, ZAP20 should consider the plant selected in those transactions and retrieve the appropriate calendar in the Z table.
if anyone knows, please help me.
Thanks
Shiva
hi,
try this.
A simple example of ABAP memory is using the EXPORT/IMPORT statements.
Here in this program, I get the data, export it to memory,
clear out the internal table in my progam, then reimport the data into it and write out the data.
You probably wounldn't do this in a normal program,
but this is how you can pass data from program a to program b when A Submits program B.
report zxy_0002 .
data: it001 type table of t001 with header line.
select * into table it001 from t001.
export it001 = it001 to memory id 'ZXY_TEST'.
clear it001. refresh it001.
import it001 = it001 from memory id 'ZXY_TEST'.
loop at it001.
write:/ it001-bukrs, it001-butxt.
endloop.
rgds
anver
if hlped mark points
Similar Messages
-
How to get the values of Select-options from the screen.
The value of parameter can be obtained by function module 'DYNP_VALUES_READ' but How to get the values of Select-options from the screen? I want the F4 help values of select-options B depending on the values in Select-option A.So I want to read the Select-option A's value.
Hi,
Refer this following code..this will solve your problem...
"Following code reads value entered in s_po select options and willprovide search
"help for s_item depending upon s_po value.
REPORT TEST.
TABLES : ekpo.
DATA: BEGIN OF itab OCCURS 0,
ebelp LIKE ekpo-ebelp,
END OF itab.
SELECT-OPTIONS s_po FOR ekpo-ebeln.
SELECT-OPTIONS s_item FOR ekpo-ebelp.
INITIALIZATION.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_item-low.
DATA:
dyn_field TYPE dynpread,
temp_fields TYPE TABLE OF dynpread,
zlv_dynpro TYPE syst-repid.
zlv_dynpro = syst-repid.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = zlv_dynpro
dynumb = syst-dynnr
request = 'A'
TABLES
dynpfields = temp_fields
EXCEPTIONS
OTHERS = 0.
LOOP AT temp_fields INTO dyn_field.
IF dyn_field-fieldname EQ 'S_PO-LOW'.
SELECT * INTO CORRESPONDING fields OF TABLE itab FROM ekpo
WHERE ebeln EQ dyn_field-fieldvalue.
EXIT.
ENDIF.
ENDLOOP. -
How to get the value in one JSP page to another?
Hi,
I have problems in passing the value around in JSP. I have two JSP pages as below:
test1.jsp
I try to get the vaule from my textbox by using:
String strUser = request.getParameter ("strUserName");
Then i print out by using: out.print(strUser); then i can get the value and put on my page (For example, i get ABC on my page).
test2.jsp
Next, i want to get the value from strUser (which mean that the one i already display on page in test1.jsp, ABC) to insert into my table by using INSERT INTO statement. Then i try by using
String strUser1 = request.getParameter ("strUser");
Is it possbile for me to do that? I cannot get anything to insert into my table. Then i tried out.print(strUser1); then i found that i get NULL value.
Could you please give me some guidance?
Thanks you very much for any advise you may give me.
KimsanHi,
Thank you very much for your help. It's working fine if i just get a one value to another page, however, i have problem while i pass the value in my loop to another page because i always get the last record. I try with the following code:
logged_page.jsp
<html>
<head>
<title>Welcome to the online Auction...</title></head>
<body>
<%@ page language ="java" import = "java.io.*, java.lang.*, java.sql.*" %>
<% try
String strUsername = request.getParameter("username");
session.setAttribute("myUserName", strUsername);
String strPassword = request.getParameter("password");
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myConn = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/Auction/Auction.mdb");
String strSQL = "SELECT [UserName], [Password] FROM tblUserDetails where [UserName] = ? and [Password] = ?";
PreparedStatement statement = myConn.prepareStatement(strSQL);
statement.setString(1, strUsername);
statement.setString(2, strPassword);
ResultSet myResult = statement.executeQuery();
if(myResult.next())
//out.println("Login Succesful! A record with the given user name and password exists");
out.print("<center><h1>");
out.print("Welcome ");
out.print(strUsername);
out.print("</h1></center>");
out.print("<center>");
out.print("<BR><BR>");
out.print("<font font face = Viner Hand ITC size= 5>Products on sales</font>");
out.print("<BR><BR>");
Statement myStatement = myConn.createStatement ();
ResultSet myResult1 = myStatement.executeQuery("SELECT * FROM tblProduct");
ResultSetMetaData myResultSet = myResult1.getMetaData();
out.println("<font face=Tahoma>");
out.print("<table border=1 CELLSPACING=0>");
out.print("<TR>");
out.print("<TD width = 200> Item Title");out.print("</TD>");
out.print("<TD width = 200> Description");out.print("</TD>");
out.print("<TD width = 200> Current bid");out.print("</TD>");
out.print("<TD width = 200> Available Time");out.print("</TD>");
out.print("<TD width = 200> Place Bid");out.print("</TD>");
out.print("</TR>");
out.print("</table>");
while(myResult1.next())
String strProName = myResult1.getString(1);
session.setAttribute("myProName", strProName);
out.print("<table border=1 CELLSPACING=0>");
out.print("<TR>");
out.print("<TD width = 200>");
out.println(strProName);
out.print("</TD>");
out.print("<TD width = 200>");
out.println(myResult1.getString(3));
out.print("</TD>");
out.print("<TD width = 200>");
out.println(myResult1.getString(2));
out.print("</TD>");
out.print("<TD width = 200>");
out.println(myResult1.getString(4));
out.print("</TD>");
out.print("<TD>");
out.print("<form action=bid_page.jsp method=post>");
out.print("<input type=text name=place_bid>");
out.print("<input type=submit name=okfunc value=Bid>");
out.print("</TD>");
out.print("</form>");
out.print("</TR>");
out.print("</table>");
out.println("</font>");
out.print("</center>");
else
out.print("<center>");
out.print("Sorry ");
out.print("<font color = RED size = 5>");
out.print(strUsername);
out.print("</font>");
out.print(" could not be found.");
out.print("</center>");
myResult.close();
statement.close();
myConn.close();
catch(SQLException e)
out.println(e);
%>
</body>
</html>
bid_page.jsp
<HTML>
<HEAD>
<TITLE>Welcome to the online Auction...</TITLE>
</HEAD>
<BODY>
<%@ page language ="java" import = "java.io.*" import = "java.lang.*" import = "java.sql.*" %>
<% try
String thisUserName = (String) session.getAttribute("myUserName");
String thisProName = (String) session.getAttribute("myProName");
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myConn = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/Auction/Auction.mdb");
PreparedStatement myStatement = myConn.prepareStatement("INSERT INTO tblHistory VALUES ('"+thisUserName+"', '"+thisProName+"', '"+request.getParameter("place_bid")+"')");
myStatement.executeUpdate();
myConn.commit();
myStatement.close();
myConn.close();
catch(Exception e){}
%>
</BODY>
</HTML>
When i click on the BID button in the logged_page.jsp then i always get the last record and save into my table and that is not what i want to. i want to get the result on the same row as the BID button that just click and save to my table.
Could you please advise?
Thanks you very much for your time and any consideration you may give me.
Best Regard,
Kimsan -
How to add related fields from one transaction to other transacction?
Hi all,
I have a problem. I need to add an OPPORTUNITY field (SALESCYCLE) to the ACTIVITY transaction because of an upgrade and I'm now in a new world... The CRM 2007 is an unexplored place to me.
I added some custom fields (Z fields from the CUSTOMER_H) by adding the context node BTCUSTOMERH to the BT126H_APPT component, view ApptDetails, with transaction BSP_WD_CMPWB (thanks Stephen Johannes for your blogs) and all works correctly.
I tried doing the same with the SALESCYCLE and it doesn't worked... :_(
I added the context node BTOPPORTH, but I'm sure I failed at the wizard step with the "Higher level context node" or with the "BOL Relation", but I can't find the correct answer. I found the field in the "Configuration tab", I put it in my view but the GET method doesn't work... The field remains always void.
I don't have problems adding activity related fields, but when I try to add some flow related (opportunity one in my case) fields it's different.
I have been looking for any solution but I have only seen that I can add this attribute directly to one context node and modify some BAdI or do any thing similar, but I don't know how to do that either. I will accept this solution if someone tells me how to do that... But I think the first solutions could be the most appropiate (I can be wrong... of course!)
Thanks in advance....
SergioThanks for your answer, Subhasis!
Your solution is correct if I want to add to the Activity a field related to the Activity or some field on the DocFlow structure (the case you described), but it's not my case. I did that with customer fields before and all worked correctly.
My scene is like this. I have an Opportunity and there is a follow-up Activity created. When I want to see the Activity, I need to show on the Activity transaction the preceding Opportunity field SALESCYCLE, which is at the CRMD_OPPORT_H table (BTOPPORTH context node).
The problem comes when I add this context node to the Activity. I think the application is trying to get the field from the CRMD_OPPORT_H with ACTIVITY data and it returns void to the field. I think it forgets to get the opportunity data first and after that try to get the SALESCYCLE value from the CRMD_OPPORT_H (with the Opportunity GUID).
By the moment, I have added the attribute SALESCYCLE to the BTDOCFLOW context node and, at the moment he do the GET, I change the field it gets by the GUID of the opportunity:
dref = current->get_property( 'SALESCYCLE' ). "#EC NOTEXT
dref = current->get_property( 'OBJKEY_A' ). "#EC NOTEXT
Then I go to the CRMD_OPPORT_H directly to get the SALESCYCLE value...
I know it's a bad solution... but it works and I don't know any other solution by now. If anyone can help me to do it correctly I'll be greatly appreciated!
Regards,
Sergio -
How can i get the stack of one thread from another thread
hi !
i have a pool threads ,some times all therads in that pool are besy becouse somting lock the threads so there is no free thread to handle ... .
what i want is a way to get the stack of these thread so i can print them to see way they lock ...
thanks,
zvikaMaybe something like this (haven't actually tried it):
Add a method to your Threads to print the trace:
public class MyThread extends Thread {
public void run() {
public void printCurrentStack() {
(new Exception()).printStackTrace(); // or whatever method you choose
MyThread mt = new MyThread();
mt.start();
mt.printCurrentStack(); -
How to get the value from textInput Component to perform calculation?
I need some help here...I'm trying to get the value of user input from the TextInput Component which is the age, height and weight to calculate the bmr and display the result in member("result").text.
How am i suppose to let the integer pass through in order for me to perform calculation? Would appreciate if anyone can help me out with this, thanks!
Below are the formula :
The Harris Benedict equation estimates BMR:
For women: (9.56 x w) + (1.85 x h) – (4.68 x a) + 655
For men: (13.75 x w) + (5 x h) – (6.76 x a) + 66Assumed that this section is only for male ...it still show error saying script error : String expected for
on mouseDown
member("result").text = (13.75 * value(member("weightText").text)) + (5 * value(member("heightText").text)) - (6.76 * value(member("ageText").text)) + 66
end
Do i have to add in "put sprite(x).text -- where x is the number of the sprite that is the text input." ? -
Need to get the values from "Signed" field from PDF form.
Hi,
This is Dinesh. I am PHP Developer. My issue is "I am not able to get the value of "signed" field from the PDF form when the form has been submitted.". I want to get the Digital Signature value of that field and i need to store it in the DB.
Please help me here Or Please forward this issue to any of the PHP developer who solved this issue and let me know.
Thanks & Regards
DineshHi Vikas,
you can use this badi MRM_WT_SPLIT_UPDATE, the method will be WHTAX_SPLIT_UPDATE
in this badi please see the importing and exporting parameters, you will get the values of withholding tax code as TE_RBWS in export parameters.
Please search in google or SCN you will get how to use it. -
How we can get the values from one screen to another screen?
hi guru's.
how we can get the values from one screen to another screen?
we get values where cusor is placed but in my requirement i want to get to field values from one screen to another screen.
regards.
satheesh.Just think of dynpros as windows into the global memory of your program... so if you want the value of a field on dynpro 1234 to appear on dynpro 2345, then just pop the value into a global variable (i.e. one defined in your top include), and you will be able to see it in your second dynpro (assuming you make the field formats etc the same on both screens!).
-
Not able to get the value from type defined in other progarm
Hi All,
I have a create a type in one package spec(Globally), now i am using the same type in another package.Simply i am calling the first package and try to store the value in Type and use the same type in second package.
But i am not able get the value
Type declaration
Declared in package Spec
TYPE t_aa_derive_tbl_type IS TABLE OF xxxx%ROWTYPE;
t_aa_derive t_aa_derive_tbl_type;
Package 1
Package1. PROCEDURE name(
some parameters);
is
Cursor
c1 is Select * from dual;
begin
OPEN c_aa_derive;
FETCH c_aa_derive
BULK COLLECT INTO t_aa_derive;
CLOSE c_aa_derive;
END get_aa_derive;
In My second package
I am calling
Package1. PROCEDURE name(
some parameters);
and then i am trying to
for i in 1 .. package1.t_aa_derive.COUNT
LOOP
end loop;
I am not able entered the loop for some reason.
Could some one guide me if anything i missed.
Cheers,
SanI have a create a type in one package spec(Globally), now i am using the same type in another package.Simply i am calling the first package and try to store the value in Type and use the same type in second package.
Why?
1. Why aren't you just using SQL to do the work?
2. Why don't you just open a CURSOR and pass that instead?
BULK COLLECT INTO t_aa_derive;
3. Why aren't you using a LIMIT clause? Are you sure that only a very small number of rows will be queried?
4. Why aren't you using a PIPELINED function instead of passing a collection?
Using collections with potentially unlimited numbers of rows is not scalable. Also, using collections can be more difficult for 'data consumers' to work with than if you just use a CURSOR or PIPELINED function.
Make sure you are using the proper architecture so that your code is both modular, scalable and easy to use. -
About give from one query to other the same value of a variable
Hi Gurus,
my problem is About give from one query to other the same value of a variable, i have a wad with a view, and this wad has some bottoms in javascript to go to anothers wad with charts, the problem is when i ran the query one, i put a value = calyear:2008 (Obligatory Variable), but when i click the bottom to go to the other query with the same variable, he ask me again a value,
i want write a value just one time, and the others wad can recieve the first value that i put when the wad opened.
i really need it , thanks !Hello Jorge,
What you need here is Replacement path variable. Check out this link for more details:
http://help.sap.com/saphelp_nw2004s/helpdata/en/bd/589b3c494d8e15e10000000a114084/content.htm
In the second query where you need the value (calyear:2008 from first query) create a Variable for calyear of type Replacement path, in Replacement tab you can select either query or variable by which it has to replaced. In your case, it has to be variable from the first query.
Do let me know if this works. If this does not work I suggest you to use Web APIs to replace the variable values using Web APIs. Check out the details:
http://help.sap.com/saphelp_nw2004s/helpdata/en/29/4d15422ecce02ce10000000a1550b0/frameset.htm
Hope this helps.
Regards,
Srini -
How to get the values from popup window to mainwindow
HI all,
I want to get the details from popup window.
i have three input fields and one search button in my main window. when i click search button it should display popup window.whenever i click on selected row of the popup window table ,values should be visible in my main window input fields.(normal tables)
now i am able to display popup window with values.How to get the values from popup window now.
I can anybody explain me clearly.
Thanks&Regards
kranthiHi Kranthi,
Every webdynpro component has a global controller called the component controller which is visible to all other controllers within the component.So whenever you want to share some data in between 2 different views you can just make it a point to use the component controller's context for the same. For your requirement (within your popups view context) you will have have to copy the component controllers context to your view. You then will have to (programmatically) fill this context with your desired data in this popup view. You can then be able to read this context from whichever view you want. I hope that this would have made it clear for you. Am also giving you an [example|http://****************/Tutorials/WebDynproABAP/Modalbox/page1.htm] which you can go through which would give you a perfect understanding of all this. In this example the user has an input field in the main view. The user enters a customer number & presses on a pushbutton. The corresponding sales orders are then displayed in a popup window for the user. The user can then select any sales order & press on a button in the popup. These values would then get copied to the table in the main view.
Regards,
Uday -
Getting the Values from a Tiled View
Hi,
I have a TiledView and I have checkbox in the tiled view. I am trying
to get the values of the checked boxes.
I have coded like this.
Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
if I see the links.length i get only one. In html If I see the code
it appends the TileIndex in brackets. If I replace the TileIndex with
0 in all the fields in endCbSystemUrl method I get the correct values.
In the TiledView beginDisplay() method my code is like this.
if (getPrimaryModel() == null) throw new ModelControlException
("Primary model is null");
super.beginDisplay();
resetTileIndex();
pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
getParent();
((DatasetModel) getDefaultModel()).setSize
(parentBean.SystemChoicesValue.size());
Any Suggestions on this.
Thanks
NamburiNamburi--
Remember, the getValues() method does not return the values from a column in
a TiledView. It is strictly for use by fields that can have multiple
values, like multi-select list boxes.
DO NOT remove the indexing feature from the field names, especially in the
case of checkboxes, because checkboxes aren't submitted back to the server
unless they are checked. By overriding the automatic checkbox tracking
feature JATO provides, you won't be able to tell which checkboxes were
actually checked by row--you'll simply get back a list the same size as the
number of checkboxes that were checked, without any placeholders for the
ones that weren't checked.
Instead, on submit, you simply need to move through the tiledView and check
the value of checkbox on each row:
tiledView.beforeFirst();
while (tiledView.next())
if (getDisplayFieldBooleanValue("myCheckBox"))
You can use the same construct to build up an array or list:
List checkedList=new LinkedList();
tiledView.beforeFirst();
while (tiledView.next())
if (getDisplayFieldBooleanValue("myCheckBox"))
checkedList.add(new Boolean(true))
else
checkedList.add(new Boolean(false))
Todd
Todd Fast
Senior Engineer
Sun Microsystems, Inc.
todd.fast@s...
----- Original Message -----
From: <vnamboori@y...>
Sent: Wednesday, October 17, 2001 3:49 PM
Subject: [iPlanet-JATO] Getting the Values from a Tiled View
Hi,
I have a TiledView and I have checkbox in the tiled view. I am trying
to get the values of the checked boxes.
I have coded like this.
Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
if I see the links.length i get only one. In html If I see the code
it appends the TileIndex in brackets. If I replace the TileIndex with
0 in all the fields in endCbSystemUrl method I get the correct values.
In the TiledView beginDisplay() method my code is like this.
if (getPrimaryModel() == null) throw new ModelControlException
("Primary model is null");
super.beginDisplay();
resetTileIndex();
pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
getParent();
((DatasetModel) getDefaultModel()).setSize
(parentBean.SystemChoicesValue.size());
Any Suggestions on this.
Thanks
Namburi
[email protected] -
NullPointerException - Cannot get the value from variable f_cashGiven
In SubCheckout.java (a POS), what I want is when Payment button (f_cashPayment) is pressed, the action "Cash" is performed, get the value from Cash Given (f_cashGiven), do the subtraction and post the value as Cash Return (f_cashReturn). The code is filled in actionPerformed. But I cannot get the value by using f_cashGiven.getValue() from VNumber class. It returns NULL. This should be quite straight forward, but I do not know what is wrong. Please help!
Enclosed please find the source code of SubCheckout.java and VNumber.java
This is the code of SubCheckout.java :
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
* are Copyright (C) 1999-2005 Jorg Janke.
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
* Contributor(s): ______________________________________.
package org.compiere.pos;
import java.awt.*;
import java.awt.event.*;
import java.math.BigDecimal;
import javax.swing.border.*;
import org.compiere.grid.ed.*;
import org.compiere.swing.*;
import org.compiere.util.*;
* POS Checkout Sub Panel
* @author Jorg Janke
* @version $Id: SubCheckout.java,v 1.3 2005/03/11 20:28:22 jjanke Exp $
public class SubCheckout extends PosSubPanel implements ActionListener
* Constructor
* @param posPanel POS Panel
public SubCheckout (PosPanel posPanel)
super (posPanel);
} // PosSubCheckout
private CButton f_register = null;
private CButton f_summary = null;
private CButton f_process = null;
private CButton f_print = null;
private CLabel f_lcreditCardNumber = null;
private CTextField f_creditCardNumber = null;
private CLabel f_lcreditCardExp = null;
private CTextField f_creditCardExp = null;
private CLabel f_lcreditCardVV = null;
private CTextField f_creditCardVV = null;
private CButton f_cashPayment = null;
private CLabel f_lcashGiven = null;
private VNumber f_cashGiven = null;
private CLabel f_lcashReturn = null;
private VNumber f_cashReturn = null;
private CButton f_creditPayment = null;
/** Logger */
private static CLogger log = CLogger.getCLogger(SubCheckout.class);
* Initialize
public void init()
// Title
TitledBorder border = new TitledBorder(Msg.getMsg(Env.getCtx(), "Checkout"));
setBorder(border);
// Content
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = INSETS2;
// -- 0
gbc.gridx = 0;
f_register = createButtonAction("Register", null);
gbc.gridy = 0;
add (f_register, gbc);
f_summary = createButtonAction("Summary", null);
gbc.gridy = 1;
add (f_summary, gbc);
f_process = createButtonAction("Process", null);
gbc.gridy = 2;
add (f_process, gbc);
f_print = createButtonAction("Print", null);
gbc.gridy = 3;
add (f_print, gbc);
// -- 1 -- Cash
gbc.gridx = 1;
gbc.gridheight = 2;
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = .1;
CPanel cash = new CPanel(new GridBagLayout());
cash.setBorder(new TitledBorder(Msg.getMsg(Env.getCtx(), "Cash")));
gbc.gridy = 0;
add (cash, gbc);
GridBagConstraints gbc0 = new GridBagConstraints();
gbc0.insets = INSETS2;
gbc0.anchor = GridBagConstraints.WEST;
f_lcashGiven = new CLabel(Msg.getMsg(Env.getCtx(),"CashGiven"));
cash.add (f_lcashGiven, gbc0);
f_cashGiven = new VNumber("CashGiven", false, false, true, DisplayType.Amount,
Msg.translate(Env.getCtx(), "CashGiven"));
f_cashGiven.addActionListener(this);
f_cashGiven.setColumns(10, 25);
cash.add (f_cashGiven, gbc0);
f_cashGiven.setValue(Env.ZERO);
f_lcashReturn = new CLabel(Msg.getMsg(Env.getCtx(),"CashReturn"));
cash.add (f_lcashReturn, gbc0);
f_cashReturn = new VNumber("CashReturn", false, true, false, DisplayType.Amount,
"CashReturn");
f_cashReturn.setColumns(10, 25);
cash.add (f_cashReturn, gbc0);
f_cashReturn.setValue(Env.ZERO);
f_cashPayment = createButtonAction("Payment", null);
f_cashPayment.setActionCommand("Cash");
gbc0.anchor = GridBagConstraints.EAST;
gbc0.weightx = 0.1;
cash.add (f_cashPayment, gbc0);
// -- 1 -- Creditcard
CPanel creditcard = new CPanel(new GridBagLayout());
creditcard.setBorder(new TitledBorder(Msg.translate(Env.getCtx(), "CreditCardType")));
gbc.gridy = 2;
add (creditcard, gbc);
GridBagConstraints gbc1 = new GridBagConstraints();
gbc1.insets = INSETS2;
gbc1.anchor = GridBagConstraints.WEST;
gbc1.gridx = 0;
gbc1.gridy = 0;
f_lcreditCardNumber = new CLabel(Msg.translate(Env.getCtx(), "CreditCardNumber"));
creditcard.add (f_lcreditCardNumber, gbc1);
gbc1.gridy = 1;
f_creditCardNumber = new CTextField(18);
creditcard.add (f_creditCardNumber, gbc1);
gbc1.gridx = 1;
gbc1.gridy = 0;
f_lcreditCardExp = new CLabel(Msg.translate(Env.getCtx(),"CreditCardExp"));
creditcard.add (f_lcreditCardExp, gbc1);
gbc1.gridy = 1;
f_creditCardExp = new CTextField(5);
creditcard.add (f_creditCardExp, gbc1);
gbc1.gridx = 2;
gbc1.gridy = 0;
f_lcreditCardVV = new CLabel(Msg.translate(Env.getCtx(), "CreditCardVV"));
creditcard.add (f_lcreditCardVV, gbc1);
gbc1.gridy = 1;
f_creditCardVV = new CTextField(5);
creditcard.add (f_creditCardVV, gbc1);
gbc1.gridx = 3;
gbc1.gridy = 0;
gbc1.gridheight = 2;
f_creditPayment = createButtonAction("Payment", null);
f_creditPayment.setActionCommand("CreditCard");
gbc1.anchor = GridBagConstraints.EAST;
gbc1.weightx = 0.1;
creditcard.add (f_creditPayment, gbc1);
} // init
* Get Panel Position
public GridBagConstraints getGridBagConstraints()
GridBagConstraints gbc = super.getGridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 3;
return gbc;
} // getGridBagConstraints
* Dispose - Free Resources
public void dispose()
super.dispose();
} // dispose
* Action Listener
* @param e event
public void actionPerformed (ActionEvent e)
String action = e.getActionCommand();
if (action == null || action.length() == 0)
return;
log.info( "PosSubCheckout - actionPerformed: " + action);
if (e.getSource() == f_cashGiven) {
f_cashGiven.setValue(f_cashGiven.getValue());
System.out.println("f_cashGiven"+f_cashGiven.getDisplay());
// Register
// Summary
// Print
if (action.equals("Cash")) {
BigDecimal CashGiven, GrandTotal, CashReturn;
System.out.println("Cash given is "+f_cashGiven.getDisplay());
CashGiven = (BigDecimal)f_cashGiven.getValue();
GrandTotal = (BigDecimal)p_posPanel.f_curLine.getOrder().getGrandTotal();
CashReturn = CashGiven.subtract(GrandTotal);
f_cashReturn.setValue(CashReturn);
// Cash (Payment)
// CreditCard (Payment)
} // actionPerformed
} // PosSubCheckoutThis is the code of VNumber.java :
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
* are Copyright (C) 1999-2005 Jorg Janke.
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
* Contributor(s): ______________________________________.
package org.compiere.grid.ed;
import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.math.*;
import java.text.*;
import java.util.logging.*;
import javax.swing.*;
import javax.swing.text.*;
import org.compiere.apps.*;
import org.compiere.model.*;
import org.compiere.swing.*;
import org.compiere.util.*;
* Number Control
* @author Jorg Janke
* @version $Id: VNumber.java,v 1.41 2005/09/03 01:57:16 jjanke Exp $
public final class VNumber extends JComponent
implements VEditor, ActionListener, KeyListener, FocusListener
/** Number of Columns (12) */
public final static int SIZE = 12;
* IDE Bean Constructor
public VNumber()
this("Number", false, false, true, DisplayType.Number, "Number");
} // VNumber
* Create right aligned Number field.
* no popup, if WindowNo == 0 (for IDs)
* @param columnName column name
* @param mandatory mandatory
* @param isReadOnly read only
* @param isUpdateable updateable
* @param displayType display type
* @param title title
public VNumber(String columnName, boolean mandatory, boolean isReadOnly, boolean isUpdateable,
int displayType, String title)
super();
super.setName(columnName);
m_columnName = columnName;
m_title = title;
setDisplayType(displayType);
LookAndFeel.installBorder(this, "TextField.border");
this.setLayout(new BorderLayout());
// this.setPreferredSize(m_text.getPreferredSize()); // causes r/o to be the same length
// int height = m_text.getPreferredSize().height;
// setMinimumSize(new Dimension (30,height));
// *** Text ***
m_text.setBorder(null);
m_text.setHorizontalAlignment(JTextField.TRAILING);
m_text.addKeyListener(this);
m_text.addFocusListener(this);
// Background
setMandatory(mandatory);
this.add(m_text, BorderLayout.CENTER);
// *** Button ***
m_button.setIcon(Env.getImageIcon("Calculator10.gif"));
m_button.setMargin(new Insets(0, 0, 0, 0));
m_button.setFocusable(false);
m_button.addActionListener(this);
this.add (m_button, BorderLayout.EAST);
// Prefereed Size
this.setPreferredSize(this.getPreferredSize()); // causes r/o to be the same length
// Size
setColumns(SIZE, CComboBox.FIELD_HIGHT-4);
// ReadWrite
if (isReadOnly || !isUpdateable)
setReadWrite(false);
else
setReadWrite(true);
} // VNumber
* Dispose
public void dispose()
m_text = null;
m_button = null;
m_mField = null;
} // dispose
* Set Document
* @param doc document
protected void setDocument(Document doc)
m_text.setDocument(doc);
} // getDocument
private String m_columnName;
protected int m_displayType; // Currency / UoM via Context
private DecimalFormat m_format;
private String m_title;
private boolean m_setting;
private String m_oldText;
private String m_initialText;
private boolean m_rangeSet = false;
private Double m_minValue;
private Double m_maxValue;
private boolean m_modified = false;
/** The Field */
private CTextField m_text = new CTextField(SIZE); // Standard
/** The Button */
private CButton m_button = new CButton();
private MField m_mField = null;
/** Logger */
private static CLogger log = CLogger.getCLogger(VNumber.class);
* Set no of Columns
* @param columns columns
public void setColumns (int columns, int height)
m_text.setPreferredSize(null);
m_text.setColumns(columns);
Dimension size = m_text.getPreferredSize();
if (height > size.height) // default 16
size.height = height;
if (CComboBox.FIELD_HIGHT-4 > size.height)
size.height = VLookup.FIELD_HIGHT-4;
this.setPreferredSize(size); // causes r/o to be the same length
this.setMinimumSize(new Dimension (columns*10, size.height));
m_button.setPreferredSize(new Dimension(size.height, size.height));
} // setColumns
* Set Range with min & max
* @param minValue min value
* @param maxValue max value
* @return true, if accepted
public boolean setRange(Double minValue, Double maxValue)
m_rangeSet = true;
m_minValue = minValue;
m_maxValue = maxValue;
return m_rangeSet;
} // setRange
* Set Range with min & max = parse US style number w/o Gouping
* @param minValue min value
* @param maxValue max value
* @return true if accepted
public boolean setRange(String minValue, String maxValue)
if (minValue == null || maxValue == null)
return false;
try
m_minValue = Double.valueOf(minValue);
m_maxValue = Double.valueOf(maxValue);
catch (NumberFormatException nfe)
return false;
m_rangeSet = true;
return m_rangeSet;
} // setRange
* Set and check DisplayType
* @param displayType display type
public void setDisplayType (int displayType)
m_displayType = displayType;
if (!DisplayType.isNumeric(displayType))
m_displayType = DisplayType.Number;
m_format = DisplayType.getNumberFormat(displayType);
m_text.setDocument (new MDocNumber(displayType, m_format, m_text, m_title));
} // setDisplayType
* Set ReadWrite
* @param value value
public void setReadWrite (boolean value)
if (m_text.isReadWrite() != value)
m_text.setReadWrite(value);
if (m_button.isReadWrite() != value)
m_button.setReadWrite(value);
// Don't show button if not ReadWrite
if (m_button.isVisible() != value)
m_button.setVisible(value);
} // setReadWrite
* IsReadWrite
* @return true if rw
public boolean isReadWrite()
return m_text.isReadWrite();
} // isReadWrite
* Set Mandatory (and back bolor)
* @param mandatory mandatory
public void setMandatory (boolean mandatory)
m_text.setMandatory(mandatory);
} // setMandatory
* Is it mandatory
* @return true if mandatory
public boolean isMandatory()
return m_text.isMandatory();
} // isMandatory
* Set Background
* @param color color
public void setBackground(Color color)
m_text.setBackground(color);
} // setBackground
* Set Background
* @param error error
public void setBackground (boolean error)
m_text.setBackground(error);
} // setBackground
* Set Foreground
* @param fg foreground
public void setForeground(Color fg)
m_text.setForeground(fg);
} // setForeground
* Set Editor to value
* @param value value
public void setValue(Object value)
log.finest("Value=" + value);
if (value == null)
m_oldText = "";
else
m_oldText = m_format.format(value);
// only set when not updated here
if (m_setting)
return;
m_text.setText (m_oldText);
m_initialText = m_oldText;
m_modified = false;
} // setValue
* Property Change Listener
* @param evt event
public void propertyChange (PropertyChangeEvent evt)
if (evt.getPropertyName().equals(org.compiere.model.MField.PROPERTY))
setValue(evt.getNewValue());
} // propertyChange
* Return Editor value
* @return value value (big decimal or integer)
public Object getValue()
if (m_text == null || m_text.getText() == null || m_text.getText().length() == 0)
return null;
String value = m_text.getText();
// return 0 if text deleted
if (value == null || value.length() == 0)
if (!m_modified)
return null;
if (m_displayType == DisplayType.Integer)
return new Integer(0);
return Env.ZERO;
if (value.equals(".") || value.equals(",") || value.equals("-"))
value = "0";
try
Number number = m_format.parse(value);
value = number.toString(); // converts it to US w/o thousands
BigDecimal bd = new BigDecimal(value);
if (m_displayType == DisplayType.Integer)
return new Integer(bd.intValue());
if (bd.signum() == 0)
return bd;
return bd.setScale(m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP);
catch (Exception e)
log.log(Level.SEVERE, "Value=" + value, e);
if (m_displayType == DisplayType.Integer)
return new Integer(0);
return Env.ZERO;
} // getValue
* Return Display Value
* @return value
public String getDisplay()
return m_text.getText();
} // getDisplay
* Get Title
* @return title
public String getTitle()
return m_title;
} // getTitle
* Plus - add one.
* Also sets Value
* @return new value
public Object plus()
Object value = getValue();
if (value == null)
if (m_displayType == DisplayType.Integer)
value = new Integer(0);
else
value = Env.ZERO;
// Add
if (value instanceof BigDecimal)
value = ((BigDecimal)value).add(Env.ONE);
else
value = new Integer(((Integer)value).intValue() + 1);
setValue(value);
return value;
} // plus
* Minus - subtract one, but not below minimum.
* Also sets Value
* @param minimum minimum
* @return new value
public Object minus (int minimum)
Object value = getValue();
if (value == null)
if (m_displayType == DisplayType.Integer)
value = new Integer(minimum);
else
value = new BigDecimal(minimum);
setValue(value);
return value;
// Subtract
if (value instanceof BigDecimal)
BigDecimal bd = ((BigDecimal)value).subtract(Env.ONE);
BigDecimal min = new BigDecimal(minimum);
if (bd.compareTo(min) < 0)
value = min;
else
value = bd;
else
int i = ((Integer)value).intValue();
i--;
if (i < minimum)
i = minimum;
value = new Integer(i);
setValue(value);
return value;
} // minus
* Action Listener
* @param e event
public void actionPerformed (ActionEvent e)
log.config(e.getActionCommand());
if (ValuePreference.NAME.equals(e.getActionCommand()))
if (MRole.getDefault().isShowPreference())
ValuePreference.start (m_mField, getValue());
return;
if (e.getSource() == m_button)
m_button.setEnabled(false);
String str = startCalculator(this, m_text.getText(), m_format, m_displayType, m_title);
m_text.setText(str);
m_button.setEnabled(true);
try
fireVetoableChange (m_columnName, m_oldText, getValue());
catch (PropertyVetoException pve) {}
m_text.requestFocus();
} // actionPerformed
* Key Listener Interface
* @param e event
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {}
* Key Listener.
* - Escape - Restore old Text
* - firstChange - signal change
* @param e event
public void keyReleased(KeyEvent e)
log.finest("Key=" + e.getKeyCode() + " - " + e.getKeyChar()
+ " -> " + m_text.getText());
// ESC
if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
m_text.setText(m_initialText);
m_modified = true;
m_setting = true;
try
if (e.getKeyCode() == KeyEvent.VK_ENTER) // 10
fireVetoableChange (m_columnName, m_oldText, getValue());
fireActionPerformed();
else // indicate change
fireVetoableChange (m_columnName, m_oldText, null);
catch (PropertyVetoException pve) {}
m_setting = false;
} // keyReleased
* Focus Gained
* @param e event
public void focusGained (FocusEvent e)
if (m_text != null)
m_text.selectAll();
} // focusGained
* Data Binding to MTable (via GridController.vetoableChange).
* @param e event
public void focusLost (FocusEvent e)
// log.finest(e.toString());
// APanel - Escape
if (e.getOppositeComponent() instanceof AGlassPane)
m_text.setText(m_initialText);
return;
try
fireVetoableChange (m_columnName, m_initialText, getValue());
fireActionPerformed();
catch (PropertyVetoException pve) {}
} // focusLost
* Invalid Entry - Start Calculator
* @param jc parent
* @param value value
* @param format format
* @param displayType display type
* @param title title
* @return value
public static String startCalculator(Container jc, String value,
DecimalFormat format, int displayType, String title)
log.config("Value=" + value);
BigDecimal startValue = new BigDecimal(0.0);
try
if (value != null && value.length() > 0)
Number number = format.parse(value);
startValue = new BigDecimal (number.toString());
catch (ParseException pe)
log.info("InvalidEntry - " + pe.getMessage());
// Find frame
Frame frame = Env.getFrame(jc);
// Actual Call
Calculator calc = new Calculator(frame, title,
displayType, format, startValue);
AEnv.showCenterWindow(frame, calc);
BigDecimal result = calc.getNumber();
log.config( "Result=" + result);
calc = null;
if (result != null)
return format.format(result);
else
return value; // original value
} // startCalculator
* Set Field/WindowNo for ValuePreference
* @param mField field
public void setField (MField mField)
m_mField = mField;
if (m_mField != null
&& MRole.getDefault().isShowPreference())
ValuePreference.addMenu (this, popupMenu);
} // setField
* Remove Action Listner
* @param l Action Listener
public void removeActionListener(ActionListener l)
listenerList.remove(ActionListener.class, l);
} // removeActionListener
* Add Action Listner
* @param l Action Listener
public void addActionListener(ActionListener l)
listenerList.add(ActionListener.class, l);
} // addActionListener
* Fire Action Event to listeners
protected void fireActionPerformed()
int modifiers = 0;
AWTEvent currentEvent = EventQueue.getCurrentEvent();
if (currentEvent instanceof InputEvent)
modifiers = ((InputEvent)currentEvent).getModifiers();
else if (currentEvent instanceof ActionEvent)
modifiers = ((ActionEvent)currentEvent).getModifiers();
ActionEvent ae = new ActionEvent (this, ActionEvent.ACTION_PERFORMED,
"VNumber", EventQueue.getMostRecentEventTime(), modifiers);
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2)
if (listeners==ActionListener.class)
((ActionListener)listeners[i+1]).actionPerformed(ae);
} // fireActionPerformed
} // VNumberIf getValue() returns null, you need to trace the execution of the code and figure out which sequence of code is leading to the return of null. This method looks complex - a lot of if statements. If you do not have a debugger, put System.out.println statements inside the method to figure out what's going on.
-
Swing: when trying to get the values from a JTable inside an event handler
Hi,
I am trying to write a graphical interface to compute the Gauss Elimination procedure for solving linear systems. The class for computing the output of a linear system already works fine on console mode, but I am fighting a little bit to make it work with Swing.
I put two buttons (plus labels) and a JTextField . The buttons have the following role:
One of them gets the value from the JTextField and it will be used to the system dimension. The other should compute the solution. I also added a JTable so that the user can type the values in the screen.
So whenever the user hits the button Dimensiona the program should retrieve the values from the table cells and pass them to a 2D Array. However, the program throws a NullPointerException when I try to
do it. I have put the code for copying this Matrix inside a method and I call it from the inner class event handler.
I would thank you very much for the help.
Daniel V. Gomes
here goes the code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import AdvanceMath.*;
public class MathF2 extends JFrame {
private JTextField ArrayOfFields[];
private JTextField DimOfSis;
private JButton Calcular;
private JButton Ativar;
private JLabel label1;
private JLabel label2;
private Container container;
private int value;
private JTable DataTable;
private double[][] A;
private double[] B;
private boolean dimensionado = false;
private boolean podecalc = false;
public MathF2 (){
super("Math Calcs");
Container container = getContentPane();
container.setLayout( new FlowLayout(FlowLayout.CENTER) );
Calcular = new JButton("Resolver");
Calcular.setEnabled(false);
Ativar = new JButton("Dimensionar");
label1 = new JLabel("Clique no bot�o para resolver o sistema.");
label2 = new JLabel("Qual a ordem do sistema?");
DimOfSis = new JTextField(4);
DimOfSis.setText("0");
JTable DataTable = new JTable(10,10);
container.add(label2);
container.add(DimOfSis);
container.add(Ativar);
container.add(label1);
container.add(Calcular);
container.add(DataTable);
for ( int i = 0; i < 10 ; i ++ ){
for ( int j = 0 ; j < 10 ; j++) {
DataTable.setValueAt("0",i,j);
myHandler handler = new myHandler();
Calcular.addActionListener(handler);
Ativar.addActionListener(handler);
setSize( 500 , 500 );
setVisible( true );
public static void main ( String args[] ){
MathF2 application = new MathF2();
application.addWindowListener(
new WindowAdapter(){
public void windowClosing (WindowEvent event)
System.exit( 0 );
private class myHandler implements ActionListener {
public void actionPerformed ( ActionEvent event ){
if ( event.getSource()== Calcular ) {
if ( event.getSource()== Ativar ) {
//dimensiona a Matriz A
if (dimensionado == false) {
if (DimOfSis.getText()=="0") {
value = 2;
} else {
value = Integer.parseInt(DimOfSis.getText());
dimensionado = true;
Ativar.setEnabled(false);
System.out.println(value);
} else {
Ativar.setEnabled(false);
Calcular.setEnabled(true);
podecalc = true;
try {
InitValores( DataTable, value );
} catch (Exception e) {
System.out.println("Erro ao criar matriz" + e );
private class myHandler2 implements ItemListener {
public void itemStateChanged( ItemEvent event ){
private void InitValores( JTable table, int n ) {
A = new double[n][n];
B = new double[n];
javax.swing.table.TableModel model = table.getModel();
for ( int i = 0 ; i < n ; i++ ){
for (int j = 0 ; j < n ; j++ ){
Object temp1 = model.getValueAt(i,j);
String temp2 = String.valueOf(temp1);
A[i][j] = Double.parseDouble(temp2);What I did is set up a :
// This code will setup a listener for the table to handle a selection
players.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ListSelectionModel rowSM = players.getSelectionModel();
rowSM.addListSelectionListener(new Delete_Player_row_Selection(this));
//Class will take the event and call a method inside the Delete_Player object.
class Delete_Player_row_Selection
implements javax.swing.event.ListSelectionListener
Delete_Player adaptee;
Delete_Player_row_Selection (Delete_Player temp)
adaptee = temp;
public void valueChanged (ListSelectionEvent listSelectionEvent)
adaptee.row_Selection(listSelectionEvent);
in the row_Selection function
if(ex.getValueIsAdjusting()) //To remove double selection
return;
ListSelectionModel lsm = (ListSelectionModel) ex.getSource();
if(lsm.isSelectionEmpty())
System.out.println("EMtpy");
else
int selected_row = lsm.getMinSelectionIndex();
ResultSetTableModel model = (ResultSetTableModel) players.getModel();
String name = (String) model.getValueAt(selected_row, 1);
Integer id = (Integer) model.getValueAt(selected_row, 3);
This is how I got info out of a table when the user selected it -
I want to get the values from the second hiphen only
Hey Guys,
I have one column and the data like this
col1 = 'AI463-901-001'
Now,
I want to get the values from the second hiphen only(any no. of values).
Please can any one help me on this .
Thanks in advance!
Regards,
-LKyou have a mistake
you result is -001
this is right
select substr('AI463-901-001',instr('AI463-901-001','-',1,2)+1) from dual;
-- @user11928732 - if you are using Oracle Database 11g, ttry this please
with data as
(select 'AI463-901-001'from dual)
select substr(str,instr(str,'-',1,2)+1) from data;
select substr(<YOUR COLUMN>,instr(<YOUR COLUMN>,'-',1,2)+1) from <YOUR TABLE>;result is : 001
Edited by: Mahir M. Quluzade on May 3, 2011 5:37 PM
Maybe you are looking for
-
IDoc Adapter - ATTRIBUTE_BE_NOT_SUPP Async processing
Hello, I'm trying to establish IDoc communication. Here is the scenario that I need: <XML Data> --- <SOAP> --> PI Server ( Map XML to IDoc XML) --- <IDoc> --> SAP Retail System I have the following components set up: 1. Sender SOAP Communication Chan
-
Pages won't sync any documents correctly in iCloud
I have a macbook, an iPhone and an iPad. The Pages in macbook won't sync any documents correctly in iCloud. It shows me my documents saved in iCloud in Pages, but I can't see any documents in another devices. Also I can see my documents which are cre
-
Dear Sir, I was trying to install my NI DAQ card PCI6024E and LabVIEW 6i. Operating System in Windows NT. After installation, when I was trying to test the device using Test Panels, it gave errors(Error Code 10609). May I request you to help me in re
-
For some unknown reason, iTunes will play/pause the current song anytime the following happen: - I move any file to another folder (also CMD Del) - I empty the Trash - I hit play or pause in YouTube - A message comes into iChat Also sometimes in iTun
-
Delete Automatic e-mail adresses
Hello, When you type in a mail adress and you use it again, mail automatically saves the password and completes the form for you the next time you want to use this e-mail adress. How can I delete those automatically saved passwords? Thanks in advance