Validations in EOImpl.java
we have adddetails.jspx page with 5 fields and a commit button in which aid is the primary key field.And we did validations in EOImpl.java file for all the fields.
when any one of the field validation fails and then if we goto home page and come back to adddetails.jspx page and then even if we enter values correctly it is showing error saying aid already exists.
we even tried VO.clearcache(entityname,true) in backing bean.
Here the point is when any one of the field validation fails and if we enter values correctly with out going to home page and coming back to adddetails.jspx it is working fine.
Muralidaran,
What's wrong with default validation? I.e. validation available via set of constraints for your own SimpleType in LocalDictionary?
If it's not sufficient you may try something like this: /people/valery.silaev/blog/2005/11/29/800format-your-way (here I were talking about formatting, but validation was used as well, implicitly
Valery Silaev
EPAM Systems
http://www.NetWeaverTeam.com
Similar Messages
-
How to do fronwend validations with out JAVA code
Hi Frndz...
In my application i did the fron end validatios as per requirment in java , as per requirement my application requires too much validations i did entirely in java .
But itz takling much time , in java will go for javascript for validations is there any thing is aivla in webdyn pro for vaildations
my code
if(division1 !=null && division1 !="")
blnValueDivision = true; }
else
msgMgr.reportContextAttributeMessage(wdContext.nodeInitTableV().getInitTableVElementAt(i),attrInfoDivision,IMessageNoBusinessSheetComp.ERROR__MESSAGE__MANDATORY,new Object[]{"Division"},true);
blnValueDivision = false;
if(location1 !=null && location1 !="")
blnValueLocation = true;
else
blnValueLocation = false;Hi,
webdynpro doesnt support java script handling . This is taken care by the framework. Only option is to reduce the roundtrip and try to validate every thing in a submit button.
Regards
Ayyapparaj -
Complex "validation rule" using Java Bean code
Hi,
I have never used validation rules with jdeveloper, but i need a complex validation rule of one column of my table.
Can i put a "validation rule" on an attibute of a view object, or on a column of a table, that use Bean code ?
My column must contain different values depending of the other columns of the table, so i think i can't do this without java code...
I tried to doubleClick on the column to create a validator, but I have put a "Print" inside, and seen that it is executes lots of times, but I want to execute the validation only when the value of the column change !
How can I do this ? What do i need to use ?
Regards,
TriggerI have use John's solution, it works well !
Sorry vinod_t_krishnan i am good with java but i don't know how to use well EL Expressions so I did not try your method...
The code if so is interested...
public boolean validateOvpdOvprCode(String ovpdovprcode) {
RowIterator ovRubrique = this.getOvRubrique();
RowIterator ovRubriqueType = this.getOvRubriqueType();
String modifiable = (String)ovRubriqueType.getRowAtRangeIndex(0).getAttribute("OvrtModifiable");
String majuscule = (String)ovRubrique.getRowAtRangeIndex(0).getAttribute("OvruMajuscule");
String type = (String)ovRubrique.getRowAtRangeIndex(0).getAttribute("OvruTypeDonnee");
BigDecimal repMin = (BigDecimal)ovRubrique.getRowAtRangeIndex(0).getAttribute("OvruRepMini");
BigDecimal repMax = (BigDecimal)ovRubrique.getRowAtRangeIndex(0).getAttribute("OvruRepMaxi");
modifiable = modifiable.toUpperCase();
majuscule = majuscule.toUpperCase();
type = type.toUpperCase();
BigDecimal ovprBD = null;
if (modifiable.equals("N")) {
errorMessage = "Ce champ n'est pas modifiable ! Actualisez la page pour réinitialiser sa valeur !";
return false;
} else {
if (ovpdovprcode == null)
return true;
if (type.equals("N")) {
float ovprInt = 0;
try {
ovprInt = Float.parseFloat(ovpdovprcode);
ovprBD = new BigDecimal(ovprInt);
} catch (Exception e) {
errorMessage =
"Ce champ est de type numérique, il ne doit contenir que des chiffres et un 'point'";
return false;
if(repMin != null && repMax != null)
if(ovprBD.compareTo(repMin) == -1 || ovprBD.compareTo(repMax) == 1) {
System.out.println("4");
errorMessage = "La réponse doit être comprise entre " + repMin + " et " + repMax + ".";
return false;
if (majuscule.equals("O"))
if (!ovpdovprcode.equals(ovpdovprcode.toUpperCase())) {
errorMessage = "Ce champ doit comporter uniquement des majuscules";
return false;
return true;
} -
Composite Key Validation in EOImpl
Hello,
Please anyone can give example of how to validate composite key validation?
I have tried by following in EOImpl code but its not working:
OADBTransaction transaction = getOADBTransaction();
Object[] ItemKey = {getOrganizationId(),getUserId(),getProcess()};
EntityDefImpl def = XxEOImpl.getDefinitionObject();
XxEOImpl item_name = (XxEOImpl)def.findByPrimaryKey(getOADBTransaction(),new Key(ItemKey));
if (item_name != null)
throw new OAException("Erorr duplicate");
Please suggest its urgent..
Thanks,
Swati ThakkarHello Gurus,
Can you please suggest the following way of validation is correct or not!?
We have defined primary key on 3 attributes as a composite key, created EO and VO.
Now to add new row we are asking values from user using LOV values.
is the handling of unique value constraint using TooManyObjects Exception valid approach to handle error?
EOImpl Code:
try {
setAttributeInternal(PROCESSTYPE, value);
} catch (TooManyObjectsException toomany) {
throw new OAException("Value is already exist.");
Please suggest the right approach to handling Composite key validation..
Thanks,
Swati -
In my application, users enter a name in a JTextField and this name becomes the value for a servlet-name in web.xml.
I want to validate the input to make sure it is a valid servlet-name or valid PCDATA
Is it sufficient to check for the characters <, >, & and escape them or is there more validation to do?
It seems that the servlet-name value is an xsd token, so it seems I need to do more validation and conversion.
If I need to do so much validation, is there any tool or would I have to load an XML parser against the input?
Thanks
JohnBeanShell: http://www.beanshell.org
Groovy: http://groovy.codehaus.org/
Pnuts: https://pnuts.dev.java.net/
Groovy is really meant to support a looser syntax than Java (it's really Ruby-like in its syntax, and has a whole bunch of scripting extensions). The other two (BeanShell, especially) stick to Java syntax, pretty much (though each has some interesting "scripting extensions"). -
Oracle ADF - double call to doDML() in EOImpl.java
Hi All,
I am using Oracle jDev 11.1.1.4.0.
In my application I have Add, Edit, Submit and Cancel buttons.
*Add new customer in the database:
Steps: Click on Add - fill the form - click on Submit...
Now, doDML() from EOImpl gets called and first time operation is DML_UPDATE...
It considers very first record from database and executes query on first record but not on the record which I have just added.
Again, it immediately calls the doDML() from EOImpl and now this time operation is DML_INSERT.
Now, the record which I have added is inserted into the database.
But, why there is * automatic double call to doDML()!!!*
I am confused!!!
Appreciate your help.
Thanks,
MadhavHi,
When I debug my application.
I found that, while inserting new record into the database; when control goes
into EOImpl class the value of operation is 2 that's why it considers operation as DML_UPDATE.
and second time it get's the operation as value 1.
protected void doDML(int operation, TransactionEvent e) {
//for first time operation has value 2
//so it updates the first record from the database.
//and second time it has value 1...now new customer get's inserted into the database....
Why that operation has value of 2, even if I am doing CreateInsert operation; which has value 1.
Foll is the code in bean on Add button click,
ahId.setValue(0);//this is primary key in table. I kept it hidden field in jspx and set to zero here.
//On jspx, I dragged and dropped it from respective VO....
//then in Impl I am fetching MAX AH_ID from database table and adding 1 to it for new customer ID.
BindingContainer bindings = getBindings();
OperationBinding operationBinding =
bindings.getOperationBinding("CreateInsert");
operationBinding.execute();and
Foll is the code in bean on Submit button click,
BindingContainer bindings = getBindings();
OperationBinding operationBinding =
bindings.getOperationBinding("Commit");
operationBinding.execute();
Where does that operation ( parameter for doDML() ) value set's actually?
Please help.
Thanks,
Madhav.
Edited by: Madhav on Dec 16, 2011 4:25 AM
Edited by: Madhav on Dec 16, 2011 4:27 AM -
Screen validations in webdynpro java (NWDS 7.0)
Hi Experts,
We are using Portal 7.0 version and NWDS 7.0, we have developed one wdj application .in this application i have designed one dropdown key with "YES" or "NO" options.
if user click on YES ,then i should be ask the Enter the amount and after enter the amount i will go to another dropdown key field(department list field) with yes or no values, same thing procedure repeat for this dropdown field(department list field)also.
If user click on "NO", it should be go for direct next dropdown field(department list field)..
Please help on this issue.
Regards,
Vanithahi vanitha<
here is the code
create one attribute of type Visibility and bind it to the department dropdown and set the visibility using the below code
WDVisibility advanceField = wdContext.currentContextElement().getLinksVisible();
wdContext.currentContextElement().setLinksVisible(advanceField.BLANK); -
Qestion:
1) Should customised row validation rules put in EntityImpl.java or EntityDefImpl.java?
2) Where am I recommended to define customized Exceptions?
Thanks for any replies!Qestion:
1) Should customised row validation rules put in EntityImpl.java or EntityDefImpl.java?If you want to write validation logic in java, EntityImpl subclass is the place to do it. You may choose to write validation per attribute in the relevant setXXX methods (where XXX is attribute name)
or in the validateEntity() method (before/after calling super.validateEntity() as your case may be).
2) Where am I recommended to define customized Exceptions?You should define new exceptions in a package separate from your server classes, (so that you can download them to client-side incase you are in a thin-client environment).
Exceptions should be a sub-class of JboException if you want these exceptions to be tier-independent and work without conversions in Bc4J.
If the exceptions are part of validation logic you may choose to subclass ValidationException or one of the subclasses thereof.
Thanks for any replies! -
Need more info on EO,VO and AM *.java files
HI,
Friends and experts I need your help in learning OAF.
I am new to OAF and want to know more info about the following java classes.
When I created a simple search page with EO, VO and AM, the following java classes are created.
I want to know
what is it?
what we do with that ?
where we use that?
Any sample scripts if possible?
EOImpl.java
Please correct me if I am wrong,I know that we use this one for manipulating data for a particular row ,operations such as getattribut,setattribute, delete ,update, insert. There are various methods got created when you create the EO if you select options on the " Generate Method " during step 4 on EO wizard.
EOCollImpl.java
VOImpl.java
ViewRowImpl
AMImpl.java
Thanks
Sri.Hi Sri ,
EO :
Entity Objects are basically based on one table which encapsulate the business rules. These objects are used by OAF page to perform update/insert/delete operations .
Inside EOImpl.java you will find setter() and getter () methods in java we call it as accessor and mutator , each attribute in EO is mapped to column in the data base table .
You can also generate a create () method Validate () method .
Eg : To get the sequence value in OAF you can use Create() method .
VO :
VOImpl (VO) : It just consist of an Data base sql query , you might have noticed while executing a query eg : VO.executeQuery() ;
to perform any validation it provides iteration over and access to the view rows in its result set.
VoRowImpl : Represents a single row in a view object .
You will understand better when you writing a code using voimpl /voRowimpl objects
AmImpl :
It basically performs the Business logic , we will define all our methods to implement business logic .
Eg : you can call a method from controller and define the method Amimpl.java , you can use of initializing the query or
you do DML operation , etc ...
In summery : The main reason why we have java file distribute across EO , VO , AM is because OAF is designed with MVC design pattern ,
in other words we have to isolate the responsibility of code in each layer ( Model , View , Controller ) .Its bad practice to write
the entire code in one single class file .
Eg : Controller class should accept the parameter from user and pass these parameters BC4J files ( AMImpl.java ) and its Job of the AMImpl.java
to perform the business logic and return the result back to to controller .
To enforce the coding standard of MVC design pattern we have these java files EO , VO , AM , CO . with more practice you will understand the various
methods defined in each of these java files .
Keerthi -
Validation of Supplier - Bank Details
Gurus,
I want to validate the Supplier - Bank Details in the Supplier Bank Screen. The objective is to validate the sort code and account number against an external package. I will be calling a pl-sql call statement but I was wondering whether I should extend the EO or the VO.
The eo's are
oracle.apps.iby.schema.server.ExtBankAccountsEO
oracle.apps.iby.schema.server.ExtBankBranchesEO
Thanks
Regis.Anand,
Many thanks & apolgies for not coming back earlier.
I've written my validation in the BexExtBankAccountsEOImpl.java which is below and compiles fine but I've few issues.
I'm currently working on 12.1.3 and using jdev 10.1.3.3
1) My extension didn't create a EOImpl.class file. It has only created a EO.xml , EOImpl.java & *EODefImpl.java. What would be reason.
2) On this version of Jdeveloper I can't find the substitution sub-menu. In the earlier versions of jdeveloper it used to pop-up on clicking the edit Business Component Project.
Kindly can you please help on the above.
Thanks
--- Validation Code--------------
package bex.oracle.apps.iby.schema.server;
import java.sql.Types;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.iby.schema.server.ExtBankAccountsEOImpl;
import oracle.jbo.Key;
import oracle.jbo.domain.Number;
import oracle.jbo.server.AttributeDefImpl;
import oracle.jbo.server.EntityDefImpl;
import oracle.jdbc.internal.OracleCallableStatement;
import oracle.apps.fnd.framework.server.OADBTransactionImpl;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class bexExtBankAccountsEOImpl extends ExtBankAccountsEOImpl {
public static final int MAXATTRCONST = EntityDefImpl.getMaxAttrConst("oracle.apps.iby.schema.server.ExtBankAccountsEO");
private static bexExtBankAccountsEODefImpl mDefinitionObject;
/**This is the default constructor (do not remove)
public bexExtBankAccountsEOImpl() {
try {
// Connection conn;
// conn = (Connection)getOADBTransaction().getJdbcConnection();
String acct_status = null ;
String stmt = "begin bxbankwizard.validate_account(p_sort_code => :1, p_account => :2, p_account_status => :3, p_account_errors => :4); end; ";
// OracleCallableStatement oraclecallablestatement;
// oraclecallablestatement =
// oadbtransactionimpl.createCallableStatement(s);
// OracleConnection conn;
// conn = (OracleConnection)oadbtransactionimpl.getJdbcConnection();
OADBTransactionImpl oadbtransactionimpl = (OADBTransactionImpl)getOADBTransaction();
oadbtransactionimpl.getJdbcConnection();
OracleCallableStatement oraclecallablestatement;
oraclecallablestatement =
(OracleCallableStatement)oadbtransactionimpl.createCallableStatement(stmt, 1);
oraclecallablestatement.setString(1, getBranchId());
oraclecallablestatement.setString(2, getBankAccountNum());
oraclecallablestatement.registerOutParameter(3,Types.VARCHAR);
oraclecallablestatement.registerOutParameter(4,Types.INTEGER);
oraclecallablestatement.execute();
acct_status = oraclecallablestatement.getString(3);
oraclecallablestatement.close();
if (((acct_status='S'))) {
System.out.println( " Error " );
} else {
System.out.println("executed");
catch (Exception exception)
throw new OAException("Error in Query"+exception, OAException.ERROR);
/**Retrieves the definition object for this instance class.
public static synchronized EntityDefImpl getDefinitionObject() {
if (mDefinitionObject == null) {
mDefinitionObject = (bexExtBankAccountsEODefImpl)EntityDefImpl.findDefObject("bex.oracle.apps.iby.schema.server.bexExtBankAccountsEO");
return mDefinitionObject;
/**getAttrInvokeAccessor: generated method. Do not modify.
protected Object getAttrInvokeAccessor(int index,
AttributeDefImpl attrDef) throws Exception {
return super.getAttrInvokeAccessor(index, attrDef);
/**setAttrInvokeAccessor: generated method. Do not modify.
protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef) throws Exception {super.setAttrInvokeAccessor(index, value, attrDef);
return;
/**Creates a Key object based on given key constituents
public static Key createPrimaryKey(Number extBankAccountId) {
return new Key(new Object[]{extBankAccountId});
} -
Java Stored Procedure in EXECUTE IMMEDIATE
Hi,
I need advice for the following.
I'm on Oracle 11g R2. I'm testing application in Oracle 11gR1 and R2 and Oracle Express.
Purpose is to generate XML reports.
I have PLSQL Stored Procedure which does that, but since there is bug in Oracle11gR2 related to XMLTRANSFORM I have and Java Stored Procedure which is workaround. They are both compiled, valid etc.
Java class is :
import java.io.PrintWriter;
import java.io.Writer;
import oracle.xml.parser.v2.DOMParser;
import oracle.xml.parser.v2.XMLDocument;
import oracle.xml.parser.v2.XSLProcessor;
import oracle.xml.parser.v2.XSLStylesheet;
* This class is used as Java stored procedure
* There is a bug on Oracle11gR2, related to the limitation on the number of style sheet instructions
* This stored procedure is workaround when PLSQL code can not be used.
* File must not have package, otherwise is wrongly compiled in DB
public class JavaXslt {
public static void XMLTtransform(oracle.sql.CLOB xmlInput,oracle.sql.CLOB xslInput,oracle.sql.CLOB output) throws Exception{
DOMParser parser;
XMLDocument xml;
XMLDocument xsldoc;
try{
parser = new DOMParser();
parser.parse(xmlInput.getCharacterStream());
xml = parser.getDocument();
parser.parse(xslInput.getCharacterStream());
xsldoc = parser.getDocument();
XSLProcessor processor = new XSLProcessor();
XSLStylesheet xsl = processor.newXSLStylesheet(xsldoc);
Writer w = output.setCharacterStream(1L);
PrintWriter pw = new PrintWriter(w);
processor.processXSL(xsl, xml, pw);
}catch (Exception ex){
throw ex;
PROCEDURE Java_XmlTransform (xml CLOB, xslt CLOB, output CLOB) AS LANGUAGE JAVA
NAME 'JavaXslt.XMLTtransform(oracle.sql.CLOB, oracle.sql.CLOB, oracle.sql.CLOB)';
I'm calling Java stored procedure from PLSQL Stored procedure (if it is Oracle11gR2) like that :
Java_Proc.Java_XmlTransform(inputXML, xslt, res);
So till here everything works ok. XSLT as applied and output XML (res) is OK.
But when Oracle Express is used Java is out of the question, so there is no Java stored procedure. Howewer PLSQL Stored procedure is still needed.
So I had to put call to Java Stored procedure in EXECUTE IMMEDIATE statement in order to compile to PLSQL package.
But when I do that :
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING inputXML, xslt, res;
result value CLOB (res) has zero length...
What am I missing? Should i set return value to Java class?
Hope my explanations are clear though.
ThanksHi odie_63,
Thanks for quick response.
I didn't clearly explained.
When using Oracle 11gR1 and Oracle Express I'm using only PLSQL Procedure.
When using Oracle 11gR2 i have to use Java Stored procedure because there is documented bug in R2.
That's why i have to use EXECUTE IMMEDIATE. I don't know which version is the client DB and whether there is or no Java procedures.
I did tried
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING IN inputXML, IN xslt, OUT res; and the result was ORA-06537: OUT bind variable bound to an IN position
When using IN OUT for last parameter i.e.
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING IN inputXML, IN xslt, IN OUT res;
there is no exception, but still DBMS_LOB.getlength(res) = 0
Thanks -
I am trying to run a java class. The java class is using openadaptor in order to upload data, but I am getting an error when I run the application:
SEVERE: AbstractReader Source failed creating instance of DOStringReader: DOStringReaderWriter: AttName or NumAttributes properties not set
AbstractReader Source failed creating instance of DOStringReader: DOStringReaderWriter: AttName or NumAttributes properties not set
at org.openadaptor.adaptor.AbstractReader.setDOStringReader(AbstractReader.java:932)
at org.openadaptor.adaptor.AbstractReader.init(AbstractReader.java:256)
at org.openadaptor.adaptor.AbstractSimpleSource.init(AbstractSimpleSource.java:551)
at org.openadaptor.adaptor.standard.FileSource.init(FileSource.java:147)
at org.openadaptor.adaptor.RunAdaptor.createSourcesAndSinks(RunAdaptor.java:1345)
at org.openadaptor.adaptor.RunAdaptor.<init>(RunAdaptor.java:401)
at server.system.CIInterfaceSinkAdapter.Execute(CIInterfaceSinkAdapter.java:107)
at server.parts._Interface._Unit.Interface_Unit_Process_Import_Payment.Process(Interface_Unit_Process_Import_Payment.java:44)
at server.parts._Interface.Interface_Import_Payment.Process(Interface_Import_Payment.java:41)
at server.system.CIBatchService.ExecuteProcess(CIBatchService.java:178)
at server.system.CIServiceFactoryBatch.main(CIServiceFactoryBatch.java:74)
May 6, 2008 4:06:12 PM server.system.CIBatchService ExecuteProcess
INFO: server.parts._Interface.Interface_Import_Payment ended at 2008-05-06 16:06
Could somebody help me?
here is the configuration file
# Adaptor adaptor - Component Names
adaptor.Controller.Name = Controller
adaptor.Logging.Name = Logging
adaptor.Component1.Name = Source
adaptor.Component2.Name = Sink
# Adaptor adaptor - Component Classes
adaptor.Controller.ClassName = org.openadaptor.adaptor.SimpleController
adaptor.Source.ClassName = org.openadaptor.adaptor.standard.FileSource
adaptor.Sink.ClassName = org.openadaptor.adaptor.LocalSink
# Adaptor adaptor - Component Links
adaptor.Source.LinkTo1 = Sink
# Adaptor adaptor - Component Controller
# Adaptor adaptor - Component Logging
adaptor.Logging.LogSetting1 = FAULT DEFAULT
adaptor.Logging.LoggingPackageInfo = true
adaptor.Logging.LoggingThreadInfo = true
# Adaptor adaptor - Component Source FileSource
adaptor.Source.DOStringReader = org.openadaptor.dostrings.FixedWidthStringReader
# Adaptor adaptor - Component Source FixedWidthStringReader
adaptor.Source.EmptyStringAsNull = true
adaptor.Source.Type1 = File_Header
adaptor.Source.File_Header.TypeFieldMatch1 = "~"
adaptor.Source.File_Header.TypeFieldNumber = 1
adaptor.Source.File_Header.FieldWidth1 = 1
adaptor.Source.File_Header.FieldWidth2 = 2
adaptor.Source.File_Header.FieldWidth3 = 2
adaptor.Source.File_Header.FieldWidth4 = 2
adaptor.Source.File_Header.AttName1 = Record_File
adaptor.Source.File_Header.AttName2 = Header_desig
adaptor.Source.File_Header.AttName3 = Major_Version
adaptor.Source.File_Header.AttName4 = Minor_Version
adaptor.Source.Type2 = Payment_Header
adaptor.Source.Payment_Header.TypeFieldMatch1 = "10"
adaptor.Source.Payment_Header.TypeFieldNumber = 1
adaptor.Source.Payment_Header.FieldWidth1 = 2
adaptor.Source.Payment_Header.FieldWidth2 = 3
adaptor.Source.Payment_Header.FieldWidth3 = 25
adaptor.Source.Payment_Header.FieldWidth4 = 8
adaptor.Source.Payment_Header.FieldWidth5 = 10
adaptor.Source.Payment_Header.FieldWidth6 = 8
adaptor.Source.Payment_Header.FieldWidth7 = 13
adaptor.Source.Payment_Header.AttName1 = Record_File
adaptor.Source.Payment_Header.AttName2 = Payment_Record_Identifier
adaptor.Source.Payment_Header.AttName3 = Payment_Code
adaptor.Source.Payment_Header.AttName4 = Payment_Date
adaptor.Source.Payment_Header.AttName5 = Batch_Number
adaptor.Source.Payment_Header.AttName6 = Detail_Count
adaptor.Source.Payment_Header.AttName7 = Total_Amount
adaptor.Source.Type3 = Payment_Detail
adaptor.Source.Payment_Detail.TypeFieldMatch1 = "11"
adaptor.Source.Payment_Detail.TypeFieldNumber = 1
adaptor.Source.Payment_Detail.FieldWidth1 = 2
adaptor.Source.Payment_Detail.FieldWidth2 = 3
adaptor.Source.Payment_Detail.FieldWidth3 = 15
adaptor.Source.Payment_Detail.FieldWidth4 = 1
adaptor.Source.Payment_Detail.FieldWidth5 = 13
adaptor.Source.Payment_Detail.FieldWidth6 = 25
adaptor.Source.Payment_Detail.FieldWidth7 = 8
adaptor.Source.Payment_Detail.FieldWidth8 = 5
adaptor.Source.Payment_Detail.FieldWidth9 = 5
adaptor.Source.Payment_Detail.FieldWidth10 = 13
adaptor.Source.Payment_Detail.AttName1 = Record_File
adaptor.Source.Payment_Detail.AttName2 = Payment_Record_Ide
adaptor.Source.Payment_Detail.AttName3 = Account_Number
adaptor.Source.Payment_Detail.AttName4 = Check_Digit
adaptor.Source.Payment_Detail.AttName5 = Payment_Amount
adaptor.Source.Payment_Detail.AttName6 = Payment_Description
adaptor.Source.Payment_Detail.AttName7 = Payment_Date
adaptor.Source.Payment_Detail.AttName8 = Sequence_Number
adaptor.Source.Payment_Detail.AttName9 = Donation_Code
adaptor.Source.Payment_Detail.AttName10 = Scan_Line_Amount
adaptor.Source.Type4 = Payment_Trailer
adaptor.Source.Payment_Trailer.TypeFieldMatch1 = "20"
adaptor.Source.Payment_Trailer.TypeFieldNumber = 1
adaptor.Source.Payment_Trailer_Record.FieldWidth1 = 2
adaptor.Source.Payment_Trailer_Record.FieldWidth2 = 2
adaptor.Source.Payment_Trailer_Record.FieldWidth3 = 8
adaptor.Source.Payment_Trailer_Record.FieldWidth4 = 13
adaptor.Source.Payment_Trailer_Record.AttName1 = Record_File
adaptor.Source.Payment_Trailer_Record.AttName2 = Payment_Record_Id
adaptor.Source.Payment_Trailer_Record.AttName3 = Detail_Count_T
adaptor.Source.Payment_Trailer_Record.AttName4 = Payment_Trailer_Amt
adaptor.Source.Type2 = File_Trailer
adaptor.Source.File_Trailer.TypeFieldMatch1 = "99"
adaptor.Source.File_Trailer.TypeFieldNumber = 1
adaptor.Source.File_Trailer.FieldWidth1 = 2
adaptor.Source.File_Trailer.FieldWidth2 = 5
adaptor.Source.File_Trailer.AttName1 = Record_File
adaptor.Source.File_Trailer.AttName2 = Count_Number_Import_Payment
# Adaptor adaptor - Component Sink LocalSinkThis is my understanding from reading a few other boards. OpenOffice 3.2 apparently tests for the validity of the Java Runtime Environment by checking some character strings returned by some system functions. The latest version of the JRE from Apple (apparently this was associated with Snow Leopard) did not match the character strings expected by OpenOffice 3.2 and was then therefore rejected as being "corrupted". The release candidate versions of Open Office 3.3 have apparently had this problem corrected, although I have no idea whether it is by adding character strings to the test or eliminating the test entirely. In OpenOffice 3.2, you can turn off use of the JRE, but this may invalidate some third-party plugins.
I strongly suspect that this may be related to the fact that Apple has said that they want to have Oracle provide the JRE updates so that the updates in operating systems and Oracle products are in sync. This may also mesh with some other comments about the relationship between open source JRE development and Oracle. (This is the vastly misquoted messages about Java being deprecated.)
The following is my understanding of the options.
Load an earlier version of the JRE and get OpenOffice to use it. I'm not sure if this can be done.
Use NeoOffice, which apparently made the required change to the tests for JRE's.
Download a release candidate version of OpenOffice 3.3.
Modify the code yourself and compile your own version. (I would not recommend that choice.) -
Struts validation not working properly
Hi,
I'm using the struts validator to validate my form.. I've followed all the steps required.. I've checked it quite a few times :)
Currently I want to verify if my form fields have any value, so am verifying the required property.. but when I submit an empty form, it doesn't show an error.. but the log shows the following;
Any suggestions what could be missing?
2005-08-11 16:20:08,804 [http-8080-Processor25] ERROR org.apache.struts.validator.ValidatorForm - org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
at org.apache.commons.validator.ValidatorAction.loadValidationMethod(ValidatorAction.java:627)
at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:557)
at org.apache.commons.validator.Field.validateForRule(Field.java:827)
at org.apache.commons.validator.Field.validate(Field.java:906)
at org.apache.commons.validator.Form.validate(Form.java:174)
at org.apache.commons.validator.Validator.validate(Validator.java:367)
at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:152)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)I had a similar problem upgrading from struts 1.1 to 1.2.7. The method signatures in FieldChecks changed to include a Validator object:
1.1
validateRequired(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ActionErrors errors, javax.servlet.http.HttpServletRequest request)
1.2.7
validateRequired(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ActionMessages errors, org.apache.commons.validator.Validator validator, javax.servlet.http.HttpServletRequest request)
After I added org.apache.commons.validator.Validator to the methodParams attribute of validator in validator-rules.xml I no longer got the error (which was a NoSuchMethodException... I had to look at the ValidatorAction code to find that out, for some reason it wasn't in the stack trace). -
BI setup: WebAS ABAP Setting - Java to ABAP communication problem
Hello,
i've got a problem during intallation of BI in Netweaver 2004s. The Diagnostics & Support Desktop Tool reports errors in WebAS ABAP Settings. These errors are:
- "Web Template Validation failed due Java to ABAP communication problem (return code:ERSBOLAP018)" with the suggested solution "Check Connector Connection of System Object in Portal System Landscape". What does it mean?
- "Call ABAP->Java for function RSWR_RFC_SERVICE_TEST failed for destination <destination>" and "Call ABAP->Java for function RSRD_MAP_TO_PORTAL_USERS failed for destination <destination>" with suggested solution "Check the data of the destination in transaction SM59. Check that the target host is running and has registered a program id in the gateway." Run of transaction SM59 returns no errors.
Further i've take a look in the log 'dev_jrfc.trc' and there i found the errors:
- Exception thrown by application running in JCo Server
java.lang.RuntimeException: Bean RSRD_MAP_TO_PORTAL_USERS not found on host <host>
- Exception thrown by application running in JCo Server
java.lang.RuntimeException: Bean RSWR_RFC_SERVICE_TEST not found on host <host>
- Exception thrown by application running in JCo Server
java.lang.RuntimeException: Bean RSWR_PREEXECUTION_PROXY not found on host <host>
Can these errors be the cause of the WebAS ABAP Setting error displayed in the Diagnostics & Support Desktop Tool? How they can be solved?
Thanks for your help,
MartinHello Chetan,
thanks for your response. Maybe i've described my problem not clear enough. There is no problem of installation and usage of support & dektop tool, but of installation of BI. The support & dektop tool indicates the errors described above with no other hints. My questions is, if anybody knows, what is the cause of the errors and what i must do, to install BI correctly.
Cheers,
Martin -
Hello All,
Here my requirement is to validate(check for mandatory fields and length limitation) the incoming message before message mapping.
In PI 7.1, we can do validation of the incoming message at Sender Agreement and Receiver Agreement level by selecting options Validation at IE and Validation at AE.
In case of Outbound scenario's(from SAP ECC to SAP PI) we does not create Sender Agreement.
So, can some one to suggest me how can I validate my incoming message incase of OB?
Thanks,
Regards,
Moorthy>> In case of Outbound scenario's(from SAP ECC to SAP PI) we does not create Sender Agreement. So, can some one to suggest me how can I validate my incoming message incase of OB?
In this case, You cannot use PI's XML Validation. Use Java Mapping. Basically you have to read the XML document using parser to validate and if error stop right there.
Code snippet.
http://www.java-tips.org/java-se-tips/javax.xml.validation/how-to-create-xml-validator-from-xml-s.html
Maybe you are looking for
-
I have Season 1 of Elementary. I do not want it downloaded to my laptop. I purchase a new movie and begin the download of the movie. iTunes immediately begins downloading EVERYTHING that I have not downloaded. the Entire Season of Elementary along wi
-
Experts, I am using Oracle 11g rel 2 in win 7 machine. I was trying to set the database in archivelog mode after which i got this error. C:\Users\Pranav>sqlplus SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 11 19:21:25 2013 Copyright (c) 1982, 2
-
BD87 idoc inbound error for message type HRMD_A
Hello there, I am getting below error while fetching Inbound idoc in tcode BD87, see log below from ST22 Short text An SQL error occurred when executing Native SQL. What happened? The error "-10328" occurred in the current database connectio
-
Email pictures (gifs) not showing, how can I redownload them?
Hi, I have an issue where I am receiving regular emails with picture attachments in GIF format. However, despite the images being roughly the same size, with the same characteristics (pixels/inch,RGB,etc) sometimes the image shows in the email and s
-
Hello All, I want to make the header of the Tables in BOLD. So I was hoping that I can make use of web dynpro themes. Is it possible to make the table header bold using web dynpro themes? If it is the case ten will this web dynpro theme affect all th