Get sequence value
Hi,
Im trying to get a sequence value in my jsf application.
I thought doing it like this:
public int getRunNumber(){
int runNumber=0;
CallableStatement plsqlBlock = null;
DBTransaction trans = getDBTransaction();
String statement = "BEGIN SELECT XXA_RUN_NUMBER_S.nextval :1 FROM dual; END;";
plsqlBlock = trans.createCallableStatement(statement,0);
try{
plsqlBlock.registerOutParameter(1,OracleTypes.NUMBER);
plsqlBlock.execute();
System.out.println(runNumber);
trans.commit();
catch (SQLException e){
e.printStackTrace();
finally {
try{
plsqlBlock.close();
catch (SQLException e){
e.printStackTrace();
return runNumber;
}But that doesn't work it gives: JBO-27121: SQL error during statement execution.
Any suggestions?
Klaas,
You said:
But that .. gives: JBO-27121: SQL error during statement execution.Of-course, because you forgot the INTO keyword in your anonymous PL/SQL block.
This thread may help:
Re: returning value from a PL/SQL block.
Or maybe this...
[NOTE: Uncompiled and untested.]
String sql = "begin select XXA_RUN_NUMBER_S.nextval into ? from DUAL; end;"
Connection c = // However you get it.
CallableStatement cs = c.prepareCall(sql);
cs.registerOutParameter(1, Types.NUMERIC);
cs.execute();
BigDecimal nextVal = cs.getBigDecimal(1);Good Luck,
Avi.
Similar Messages
-
Need to get sequence value in another column in oracle
Hi ALL,
I have sql query as below
select header_id,order_number from oe_order_headers_all.
and data it is displaying as
heder_id order_number
111 500001
121 500400
I need to display another field with some sequence value like as below
id heder_id order_number
1 111 500001
2 121 500400
so how to get sequence value in another column please help me on this.
ThnaksYou can just use ROWNUM Pseudocolumn
select rownum id, header_id,order_number from oe_order_headers_all -
How to get sequence value on click of button in OAF Page
Hi all,
I have a requirement to get a field called Bankrefernece number populated with sequence value on click of apply button ; i mean inserting new record in database for new transaction.
Sequence Value should be something like this:
Example
No Transfer Date Bank Reference Number
(DDMMYY_999)
1 24-Oct-2010 241010_001
2 24-Oct-2010 241010_002
3 25-Oct-2010 251010_001
means every day sequence should start with the date initials.
Kindly give your valuable input.
Thanks
Sims
Edited by: sims on Jan 4, 2011 11:22 PMsims wrote:
Hi Anil,
Its a standard page & i want it on click of apply button but my question is when i click apply button it navigates to other page..is it possible in such scenario to extend the controller.
Thnx for ur suggestion
SimsThat is not an issue, you can extend the controller of that page and get the value of sequence and set it to the VO attribute.
Thanks
--Anil
http://oracleanil.blogspot.com -
How to get sequence value?
hi,
i'm trying to store sequence's value into a variable... smth like this:
create or replace function my_funct() as integer
is
begin
return my_sequence.currval;
end;
and "return my_sequence.currvalue" doesn't seem to work...
also i'would like to store that value into a variable, like:
is
i integer;
begin
i := my_sequence.currval;
end;
this also doesn't seem to work
regardsHi,
You will using this method to store sequence value to variable
declare
i number;
begin
select sq.currval into i from dual;
dbms_output.put_line(i);
end;
Anbudan,
Radha. -
Want to get sequence value from bean
I want to get sequecne value in abean
when i try to make this
String EmpId = (String)JSFUtils.resolveExpression("#{bindings.EmpViewId.inputValue}");Error appear
Caused by: java.lang.ClassCastException: oracle.jbo.domain.DBSequence cannot be cast to java.lang.String
and when i tried
DBSequence EmpId = (DBSequence)JSFUtils.resolveExpression("#{bindings.EmpViewId.inputValue}");another errpr appeared
how can i catch this DBSequence valueyou did not mention your JDev version.
For 10g it might be helpful:
http://database.in2p3.fr/doc/oracle/Oracle_Application_Server_10_Release_3/web.1013/b25947/web_complex006.htm
Example 19-49 Value Change Listener Method for Handling a File Upload Event
String fileUploadLoc =
FacesContext.getCurrentInstance().getExternalContext().
getInitParameter("SRDemo.FILE_UPLOADS_DIR");
if (fileUploadLoc == null) {
// Backup value if context init parameter not set.
fileUploadLoc = "/tmp/srdemo_fileuploads";
//get svrId and append to file upload location
DBSequence svrId =
(DBSequence)ADFUtils.getBoundAttributeValue("SvrId");
fileUploadLoc += "/sr_" + svrId + "_uploadedfiles";
I don't know if it works for 11g too.
NA
http://nickaiva.blogspot.com/ -
How to get current value of SEQUENCE without using NEXTVAL
Hi,
Here is my requirement. I need to provide a screen for allowing user to change the sequence # at any given instance. If I use CURRVAL, i get error 'ORA-08002 sequence EMP_NO.CURRVAL is not yet defined in this session'
If I use NEXTVAL and then CURRVAL it works, but i loose a sequence # which i cannot afford, since it's an employee #.
Help required in solving the problem.
Thanks,
RajUse this...
select last_number from user_sequences where sequence_name = '<your-sequence>'
to get the current sequence value. However bear in mind that on a multi-user system (and which system today is not?) there may be many users firing this query, so in case of a next sequence no. allocation request fired by more thn one of them the sequences each gets will not all be this number + 1.
HTH,
Mohit. -
Getting error while reset sequence value
i hve created two table. and a sequence for other table. i want to do that when i insert into a first table, entries of other table should be deleted and sequence value should reset to 1. For that i have executed the following sql code
but getting the error:
create or replace Trigger m_sale_ainsert_trig
after insert on m_sale_bill
for each row
begin
DELETE FROM M_TEMP;
<<COLUMN_SEQUENCES>>
BEGIN
Alter Sequence M_TEMP_SEQ Restart with 1;
END COLUMN_SEQUENCES;
end;
Alter Trigger m_sale_ainsert_trig enable;
Warning: execution completed with warning
Trigger m_sale_ainsert_trig Compiled.
Alter Trigger m_sale_ainsert_trig succeeded.
5/4 PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
pls rectify it!!!!! what are the mistakes in this code?
Edited by: JKMourya on Mar 21, 2013 10:55 AMJKMourya wrote:
i hve created two table. and a sequence for other table. i want to do that when i insert into a first table, entries of other table should be deleted and sequence value should reset to 1. For that i have executed the following sql code
but getting the error:
create or replace Trigger m_sale_ainsert_trig
after insert on m_sale_bill
for each row
begin
DELETE FROM M_TEMP;
<<COLUMN_SEQUENCES>>
BEGIN
Alter Sequence M_TEMP_SEQ Restart with 1;
END COLUMN_SEQUENCES;
end;
Alter Trigger m_sale_ainsert_trig enable;
Warning: execution completed with warning
Trigger m_sale_ainsert_trig Compiled.
Alter Trigger m_sale_ainsert_trig succeeded.
5/4 PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
pls rectify it!!!!! what are the mistakes in this code?
Edited by: JKMourya on Mar 21, 2013 10:55 AMDDL inside PL/SQL is NOT allowed
you must (ab)use EXECUTE IMMEDIATE -
Inserting sequence value from JDBC and getting the same value back
Hi: Gurus I have a table whose primary key is a sequence. I wonder how to make sure I get the same sequence value back for current transaction so I update the other table whose foreign key is the sequence value from first table.
E.g lets say I do this
String query_insert = INSERT INTO table1 (column1, ....) VALUES (HIGHLIGHT_ID_SEQ.nextval, ...);
pstmt = con.prepareStatement(query_insert);
pstmt.executeUpdate();
How I make sure no other transaction update the sequence value so I can read the last inserted sequence value and update the second table with this value
String query_select = "SELECT HIGHLIGHT_ID_SEQ.currval FROM DUAL";
pstmt = con.prepareStatement(query_select);
Regards,
Rashid.<rant>No version again. I wonder why people requiring help want to stay anonymous and never want to type their version, only 4 digits. In this case, jdbc, not only the version of the driver is important, but also it's type. Waving a magic wand again? </rant>
Look up the returning into clause of the insert statement in the sql reference manual for your version.
Sybrand Bakker
Senior Oracle DBA -
Unable to save Sequence value to Database
Hi,
I am trying to pupulate a sequence value so that I can use it as primary key along with the combination of other columns later. My problem is that the sequence value is getting populated on the page with the right value, But is not getting saved to the database. The Column is there in the VO. The column is blank on the table. When I print it(System.out.println("Seq=" + xSeq.getText(pageContext));), the value is null. Can anyone please advice what I am doing wrong OR if I am missing anything here.
Thanks
Ali
My CO file:
============
package lac.oracle.apps.lac.jobperf.server.webui;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.webui.OADialogPage;
import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
import oracle.jbo.domain.Number;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.beans.layout.OAMessageComponentLayoutBean;
import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
import com.sun.java.util.collections.HashMap;
import oracle.bali.share.util.IntegerUtils;
import oracle.apps.fnd.framework.server.OADBTransaction;
* Controller for ...
public class ReviewCreateCO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
OAApplicationModule am; // dave
OADBTransaction oadbxn; // dave
oracle.jbo.domain.Number Seq;
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
// Always call this first
super.processRequest(pageContext, webBean);
am = pageContext.getApplicationModule(webBean); // dave
oadbxn = am.getOADBTransaction(); // dave
OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
OAMessageComponentLayoutBean mainRn = (OAMessageComponentLayoutBean)pageLayout.findIndexedChildRecursive("MainRN");
// If isBackNavigationFired = false, we are here after a valid navigation
// (the user selected the Create Review button) and we should proceed
// normally and initialize a new Review.
if (!pageContext.isBackNavigationFired(false))
// We indicate that we are starting the create transaction(this
// is used to ensure correct Back button behavior).
TransactionUnitHelper.startTransactionUnit(pageContext,"jobperfCreateTxn");
// This test ensures that we don't try to create a new review if we
// had a JVM failover, or if a recycled application module is activated
// after passivation. If this things happen, BC4J will be able to find
// the row you created so the user can resume work.
if (!pageContext.isFormSubmission())
OAApplicationModule am = pageContext.getApplicationModule(webBean);
// String Seq = (String)oadbxn.getValue("Seq");
oracle.jbo.domain.Number Seq = oadbxn.getSequenceValue("lac.LAC_CM_PERF_REVIEW_SEQ");
OAMessageStyledTextBean xSeq = (OAMessageStyledTextBean)mainRn.findIndexedChildRecursive("Seq");
xSeq.setText(Seq.toString());
am.invokeMethod("createReview",null);
// Initialize the ApplicationpropertiesVO for PPR.
// am.invokeMethod("init");
else
if (!TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfCreateTxn", true))
// We got here through some use of the browser "Back" button, so we
// want to display a stale data error and disallow access to the page.
// if this were a real application, we would propably display a more
// context-specific message telling the user she can't use the browser
//"Back" button and the "Create" page. Instead, we wanted to illustrate
// how to display the Applications standard NAVIGATION ERROR message.
OADialogPage dialogPage = new OADialogPage(NAVIGATION_ERROR);
pageContext.redirectToDialogPage(dialogPage);
} // end processRequest()
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{ //super.processFormRequest(pageContext, webBean);
// Always call this first.
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
OAMessageComponentLayoutBean mainRn = (OAMessageComponentLayoutBean)pageLayout.findIndexedChildRecursive("MainRN");
// Pressing the "Apply" button means the transaction should be validated
// and committed.
// OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
// String Seq = SeqText.getText(pageContext);
oadbxn.putValue("Seq", Seq);
am = pageContext.getApplicationModule(webBean);
oadbxn = am.getOADBTransaction();
if (pageContext.getParameter("Apply") != null)
// Generally in the tutorial application and the labs, we've illustrated
// all BC4J interaction on the server (except for the AMs, of course). Here,
// we're dealing with the VO directly so the comments about the reasons
// why we're obtaining values from the VO and not the request make sense
// in context.
OAViewObject vo = (OAViewObject)am.findViewObject("jobperfVO1");
// Note that we have to get this value from the VO because the EO will
// assemble it during its validation cycle.
// For performance reasons, we should generally be calling getEmployeeName()
// on the EmployeeFullVORowImpl object, but we don't want to do this
// on the client so we're illustrating the interface-appropriate call. If
// we implemented this code in the AM where it belongs, we would use the
// other approach.
String employeeName = (String)vo.getCurrentRow().getAttribute("FullName");
// We need to get a String so we can pass it to the MessageToken array below. Note
// that we are getting this value from the VO (we could also get it from.
// the Bean as shown in the Drilldwon to Details lab) because the item style is messageStyledText,
// so the value isn't put on the request like a messaqeTextInput value is.
String employeeNumber = (String)vo.getCurrentRow().getAttribute("EmployeeNumber");
//ma String employeeNum = String.valueOf(employeeNumber.intValue());
//ma Number employeeNumber = (Number)vo.getCurrentRow().getAttribute("EmployeeNumber");
//ma String employeeNum = String.valueOf(employeeNumber.intValue());
// Simply telling the transaction to commit will cause all the Entity Object validation
// to fire.
// Note: there's no reason for a developer to perform a rollback. This is handled by
// the framework if errors are encountered.
OAMessageStyledTextBean xSeq = (OAMessageStyledTextBean)mainRn.findIndexedChildRecursive("Seq");
System.out.println("Seq=" + xSeq.getText(pageContext));
am.invokeMethod("apply");
// Indicate that the Create transaction is complete.
TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfCreateTxn");
// Assuming the "commit" succeeds, navigate back to the "Search" page with
// the user's search criteria intact and display a "Confirmation" message
// at the top of the page.
MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName),
new MessageToken("EMP_NUMBER", employeeNumber) };
OAException confirmMessage = new OAException("PER", "LAC_FWK_TBX_T_EMP_CREATE_CONF", tokens,
OAException.CONFIRMATION, null);
// Per the UI guidelines, we want to add the confirmation message at the
// top of the search/results page and we want the old search criteria and
// results to display.
pageContext.putDialogMessage(confirmMessage);
HashMap params = new HashMap(1);
// Replace the current employeeNumber request parameter value with "X"
params.put("employeeNumber", "employeeNumber");
// IntegerUtils is a handy utility
params.put("employeeNumber",IntegerUtils.getInteger(5));
pageContext.forwardImmediately(
"OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
params, //null,
false, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_YES);
else if (pageContext.getParameter("Cancel") != null)
am.invokeMethod("rollbackReview");
// Indicate that the Create transaction is complete.
TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfCreateTxn");
pageContext.forwardImmediately("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
false, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
} // end processFormRequest()
}Hi Tapash,
Thanks for all of you guys(Tapash/Sumit/user550094) help. The sequence is working and also populating the values in the table when I do not have any validation checks imposed on it.
If I add any validations as mentioned in the exercise for create page where it checks if the sequence can be updated while null and so on... and throws appropriate exception. I get error. That is the code that I mentioned above.
Here is the validation code for EOImpl:
As mentioned below in order for the code to compile and work I had to comment the "throw new OAAttrvalException". If I uncomment the
"throw new OAAttrvalException" part, it gives me the following error while compiling:
"Error(796,13): method getPrimarykey not found in class lac.oracle.apps.lac.jobperf.schema.server.jobperfEOImpl"
public void setSeq(Number value)
// Because of the declaritive validation that you specified for this attribute,
// BC4J validates that this can be updated only on a new line, and that this,
// mandatory attribute cannot be null. This code adds the additional check
// of only allowing an update if the value is null to prevent changes while
// the object is in memory.
if (getSeq() != null)
/* throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
getEntityDef().getFullName(), //getSeq(), // EO name
getPrimarykey(), // EO PK
"Seq", // Attribute Name
value, // Attribute value
"AK", // Message product short name
"FWK_TBX_T_EMP_ID_NO_UPDATE"); // Message name */
if (value != null)
// Seq ID must be unique. To verify this, check both the
// entity cache and the database. In this case, it's appropriate
// to use findByPrimaryKey() because you're unlikely to get a match, and
// and are therefore unlikely to pull a bunch of large objects into memory.
// Note that findByPrimaryKey() is guaranteed to check all employees.
// First it checks the entity cache, then it checks the database.
OADBTransaction transaction = getOADBTransaction();
Object[] employeeKey = {value};
EntityDefImpl empDefinition = jobperfEOImpl.getDefinitionObject();
jobperfEOImpl Seq =
(jobperfEOImpl) empDefinition.findByPrimaryKey(transaction, new Key(employeeKey));
if (Seq != null)
/* throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
getEntityDef().getFullName(), // .getSeq(), // EO name
getPrimaryKey(), // EO PK
"Seq", // Attribute Name
value, // Attribute value
"AK", // Message product short name
"FWK_TBX_T_EMP_ID_UNIQUE"); // Message name */
// Note that this is the point at which the value is actually set on the EO cache
// (during the scope of setAttributeInternal processing). If you don't make this
// call after you perform your validation, your value will not be set correctly.
// Also, any declarative validation that you define for this attribute is executed
// within this method.
setAttributeInternal(SEQ, value);
} // end SetSeq
I am sorry if I have confused you. I really did not mean to do it.
Thanks,
Ali -
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.
-
Assigning a 'dynamically created sequence' value to a variable
in my procedure i am creating a sequence on the fly, i am preparing the name with some passed parameters like below
v_seq_name := 'seq_'||loadid||v_table_name;
execute immediate 'CREATE SEQUENCE '||v_seq_name||' MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 increment by 1 cache 20';
and now after doing some operations i need to assign the current value of sequence to a number variable i tried following but not working
1) v_curr_value : = v_seq_name.currval ;
2) select v_seq_name||'.nextval' into v_curr_value from dual;
can you please suggest me how i can get the value in plsql block.DIVI wrote:
in my procedure i am creating a sequence on the fly, i am preparing the name with some passed parameters like below
v_seq_name := 'seq_'||loadid||v_table_name;
execute immediate 'CREATE SEQUENCE '||v_seq_name||' MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 increment by 1 cache 20';
and now after doing some operations i need to assign the current value of sequence to a number variable i tried following but not working
1) v_curr_value : = v_seq_name.currval ;
2) select v_seq_name||'.nextval' into v_curr_value from dual;
can you please suggest me how i can get the value in plsql block.Well, you haven't given the error you are getting but I guess the procedure isn't compiling? You need to execute immediate any reference to the sequence.
Having said that, your architecture is probably wrong if you are dynamically creating things in a procedure.
Why do you need to create them dynamically? -
How to get a value for Select One Choice in the backing bean
Friends,
Does any one have any idea, how to get the value of a selected item value from the Select One Choice component in the backing bean iin valueChangeListener method. Right now I am always getting the sequence of the selected item, instead the actual selected value. I tried using 'ValuePassTrhough=true' also.. but didn't help
Below is the my code snippet
<af:selectOneChoice value="#{bindings.country.inputValue}"
required="#{bindings.country.hints.mandatory}"
shortDesc="#{bindings.country.hints.tooltip}"
id="soc1" autoSubmit="true" valuePassThru="true"
valueChangeListener="#{pageFlowScope.Bean.onValueChange
<f:selectItems value="#{bindings.country.items}" id="si2"/>
</af:selectOneChoice>
Thanks in advance.check my other post at Re: Pass data from a variable to another page
-
Getting null value while parsing "XML String" with encoding WINDOWS-1252.
Hi,
when I am converting the Follwoing "xml string " to Document, I am getting the "null" as a document value.
String strXML = "<?xml version="1.0" encoding="WINDOWS-1252"?>
<category name="SearchByAttributes" value="Search By Attributes">
<item name="ORDER_LINE_ID" description="Application Search Attributes" >
<attribute name="Sequence" value="0001"/>
</item>
</category>"
My "xml string" has the encoding vaule: WINDOWS-1252.
I am using the following code to convert the "xml string" to Document. I am getting the Document values as a "null" while converting the above "string xml"
String strXML = //my above string xml.
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setIgnoringElementContentWhitespace(true);
docBuilder = docBuilderFactory.newDocumentBuilder();
doc = docBuilder.parse(new InputSource(new StringReader(strXML)));
System.out.println("doc value.."+doc)//I am getting null value for "doc".
Can anyone help me to resolve the issue.Thagelapally wrote:
I am coverting the below "XML string" to Document, once it is converted I am reading that Document,which have an "attribue" Element in.
String strXML = "<?xml version="1.0" encoding="WINDOWS-1252"?>
<category name="SearchByAttributes" value="Search By Attributes">
<item name="ORDER_LINE_ID" description="Application Search Attributes" >
<attribute name="Sequence" value="0001"/>
</item>
</category>" I am using the above code to read the Document. When run the code in "OC4J Server" and using Jdeveloper as an editor,I am able to perfectly read the "attribute" element in the document with out any problem.Println statement printing as I expected.
System.out.println("Element Name..."+listOfAtt.getNodeName());
//getting Element Name as...."attribute"(as expected)
System.out.println("Element Attibrute list....."+elementAtt);
//getting Element Attribute list as an...."oracle.xml.parser.v2.XMLAttrList@afe"But when run the same code(reading the same Document) in Tomcat and Eclipse,println satatement not printing as i expected.
System.out.println("Element Name..."+listOfAtt.getNodeName());
//getting Element Name as...."#text"(I am expecting output value "attribute" but it is printing "#text" which i don't know)
System.out.println("Element Attibrute list....."+elementAtt);
//getting Element Attribute list as an...."null"(I am expecting output value object reference but it is printing "null"
(without the rest of the code, i'm guessing that) most likely you are grabbing the first child node of the item element. however, you are not accounting for some text nodes that are most likely in that list, like the whitespace between the item element and the attribute element. please go read some tutorials on xml, there are thousands of them out there, and they will answer all you initial questions much more efficiently than posting each step to the forums. -
How to get sequence nextvalue in stored procedure?
Hi, guys,
I am trying to obtain the nextvalue of a sequence in a stored procedure, ultimately this value shall be returned to caller, but how do I assign or get the sequence value inside a stored procedure?
Thanks
jimfoo NUMBER;
SELECT mysequence.nextval INTO foo FROM DUAL; -
JAXB: not able to get Attribute value
Hi there,
I am using oracle JAXB for XML processing. I am not able to get the value of an attribute. I ran the same code in SUN JWSDP 1.3, which worked correctly. I am not able to get the "foo" attribute for <Table> element using oracle JAXB.
The XML schema follows:
<?xml version='1.0' encoding='UTF-8' ?>
<schema targetNamespace="http://www.oracle.com/iAS/aggregator"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:ag="http://www.oracle.com/iAS/aggregator"
xmlns="http://www.w3.org/2001/XMLSchema"
jaxb:version="1.0"
elementFormDefault="qualified">
<annotation>
<appinfo>
<jaxb:globalBindings fixedAttributeAsConstantProperty="true"
/>
<jaxb:schemaBindings>
<jaxb:package name="oracle.dms.aggregator.adml"/>
</jaxb:schemaBindings>
</appinfo>
</annotation>
<complexType name="Adml_T">
<sequence>
<element name="Table" type="ag:Table_T" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Version" type="token" fixed="10.1.3"/>
</complexType> <!-- Adml -->
<complexType name="Table_T">
<attribute name="foo" type="Name"/>
</complexType> <!-- Table -->
<element name="Adml" type="ag:Adml_T"/>
</schema>
The XML file is:
<?xml version='1.0' encoding='UTF-8' ?>
<Adml xmlns="http://www.oracle.com/iAS/aggregator">
<Table foo="foosailor">
</Table>
</Adml>
The java file is:
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import java.io.File;
import java.util.List;
import java.util.Iterator;
import oracle.dms.aggregator.adml.Adml;
import oracle.dms.aggregator.adml.TableT;
public class JaxbQA
public static void main (String[] args)
throws Exception
Adml adml;
String fileName = "aggregator.xml";
String instancePath = "oracle.dms.aggregator.adml";
JAXBContext jc = JAXBContext.newInstance(instancePath);
Unmarshaller u = jc.createUnmarshaller();
u.setValidating(true);
Object obj = u.unmarshal(new File(fileName));
adml = (Adml)obj;
List tables = adml.getTable();
for (Iterator iter = tables.iterator();
iter.hasNext();)
TableT admlTable = (TableT)iter.next();
String name = admlTable.getFoo();
System.err.println("table foo=" + name);
c:\oracle\jdk\bin\java.exe -classpath .;c:\oracle\xdk\lib\xmlparserv2.jar;c:\oracle\xdk\lib\xml.jar JaxbQA
table foo=nullI tested in both 10.1.0.2.0 and 10.1.0.3, which both showed the same problem. A bug #3621204 has been filed.
Maybe you are looking for
-
How to Remove the default Block for payment in MIRO
Hi, In MIRO after posting the document message is coming, "Document no. 5105600184 created (Blocked for payment)" But our requirement is to remove the default "Block for payment" What is the necessary setting to be done to remove it. Thanks Prasant
-
How to call java function from PL/sql in oracle applications
I am trying to call a java function from plsql procedure. Can any one explain how to call java function, and in which directory I have to store my java function in oracle applications. Do I need to register that java function from Application develop
-
Can I modify a question slide to include more than 5 qs in same slide
Hey everyone. I'd like to know If I can modify a question slide to include more than one question in the same slide. I'd like to include a slide with audio and some video in the left page and on the right page I'd like to include a q slide that can h
-
Hello, I'm having problem with my application. it crashes during execution(Once a month). the last time that it happened i did the snapshot of the error. Could it be a problem related to the null pointers..? Could i discover the code line where the e
-
Three songs could not be downloaded and says a file was specified instead of a folder with error 1407, please help! Any ideas of what I should do? Thank you