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,
    Trigger

    I 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 Thakkar

    Hello 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

  • Validating PCDATA in Java

    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
    John

    BeanShell: 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,
    Madhav

    Hi,
    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,
    Vanitha

    hi 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);

  • Should customised row validation rules put in EntityImpl.java or EntityDefImpl.java?

    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.
    Thanks

    Hi 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

  • Java and Open Adaptor

    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 LocalSink

    This 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,
    Martin

    Hello 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

  • Validation of Input message

    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