Validation mechanism in SAP XI/PI

Dear All
I am new to SAP XI. I need to validate incoming data. Recieved via File adaptor. Validation takes place with SAP z tables and update Oracle database after validation. How can i do this? After recieving file how to validate it with SAP tables and based on results update Oracle database.
Can some one guide me with this scenario??
Thanks
Gaurav

Hi,
For your scenario of File to JDBC which requires Data Validation against a Custom Table in SAP R/3. One way to design is as below assuming the number of fields to be validated are called in one RFC lookup call per message.
1. Create a Custom RFC in SAP R/3 to validate the data from file with the data in the ZTable and return a Validation code ( True/False)
2. In the Message Mapping, create a UDF and pass the incoming data from file to the Custom RFC for validation by doing a RFC lookup.
3. Based on the Validation code returned by the RFC, in the message mapping decide on the next action to update the Oracle DB or to stop with error.
Reference Link: <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439">Mapping lookups – RFC API</a>
Hope this will be helpful
Regards,
S.Santhosh Kumar

Similar Messages

  • Pessimistic Locking mechanism in SAP Gateway.

    Hi All,
               I am new to SAP Gateway. I know there are two types of locking mechanism ( optimistic and pessimistic) . Optimistic we do by etag and if-match.
    Is there any idea of how to do by pessimistic approach.
    For example we are reading a contract and then updating it. So, in get_entity we have to put the lock while reading and we have to unlock while updating. But how does it works. Whether the lock automatically get released after the get_entity method.
    Kindly guide me in proceeding further.

    Hi Sundar,
    Here is my opinion :
              Gateway is Completely Stateless till the current version which is SP8. So Pessimistic Locking would not be available out of the box by Gateway. You need to implement your custom logic to achieve this behaviour. However simulating a Pessimistic Lock in a complete stateless architecture will lead to many complexities which often might lead to inconsistency in the Application.  As mentioned by Krishna, you can store lock information in some table in backend , but it might get messy very easily. I would not recommend to do so. However if you are really keen to do Pessimistic Locking kind of mechanism, what about the following approach -----
    1. In the OData service, let us have an extra Entity  called LOCK which has properties such as USER, RESOURCE_ID(such as contract ID),DATE,TIME. USER and RESOURCE_ID is the key in this entity. This data is stored in a table in database.
    2. When a particular USER  opens the CONTRACT screen in EDIT mode, the UI fires a POST(Create) call for Entity LOCK with the USER and RESOURCE_ID(contract ID in this case). In the backend database table if no entry exists with that USER ID and RESOURCE_ID, then a new entry is created and the USER is allowed to EDIT the contract. If an entry already exist in table then it means some other user is already in Edit mode , and the current user is refused to access the resource in edit mode.
    3. When the USER saves the CONTRACT you need to fire a DELETE request for that Particular LOCK entity. Thus is resource is dequeued.
    However this is like a vanilla flow. Handling can be complicated if user closes the browser, disconnects the network connection, opens parallel session etc etc.
              Rather a clean approach would be an Optimistic lock. Fiori Applications are using this mechanism to handle concurrency control. You may refer to my reply on Locking mechanism in SAP Gateway. for a little more information on Optimistic Locking.
    I agree that even though Optimistic locking works pretty well in REST based applications as it allows operations to be free from overhead of long transaction , there can be situations as mentioned below, where an Optimistic lock might not be preferred -
    1. Where the chances of concurrency collision is very high (Example: Online Reservation of Tickets)
    2. If modifying the resource by the user requires a lot of typing (However JS libraries such as Garlic.js, sisyphus.js or HTML5 Local storage can help us here )
    Now it is upto you to decide upon the approach ..

  • Queue Mechanism in SAP PO7.4

    Hello Experts
    Can someone please help me to understand the Queue Mechanism handled SAP PO7.4 (same as in SAP PI Dual stacks Inbound and Outbound Queues) as I didnt find any related document.
    Thank you.
    VR

    Hi VR,
    please have a look at this two links:
    XI Asynchronous Message Processing: Understanding XI Queues
    XI Asynchronous Message Processing: Understanding XI Queues -Part I
    Registering queques
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/94553b4d53273de10000000a114084/frameset.htm
    Queque assignment
    Performance Tuning Checks in SAP Exchange Infrastructure(XI): Part-III
    Complete reference for IDOC queuing and monitoring
    Setting up inbound qRFC queues for serializing IDocs using the IDoc Adapter
    Regards
    srinivas

  • Is Linux Sybase ASE a valid platform for SAP MII v15?

    Hi experts,
    Please advise whether Linux Sybase ASE is a valid platform for SAP MII v15 or there could be some compatibility issues?
    Thanks
    Rajeev

    The earlier version were compatible with Linux, i am not sure though about v15. But i think as far as you have an JRE, it should work.
    Would still wait for comments from people who experimented this.
    Thanks,
    Swaroop

  • Please suggest me good links for locking mechanism in SAP

    Please suggest me good links for locking mechanism in SAP
    thanks,

    Hi Akash,
    Here is a small description on lock object.
    The lock mode controls whether several users can access data records at the same time. The lock mode can be assigned separately for each table in the lock object. When the lock is set, the corresponding lock entry is stored in the lock table of the system for each table.
    Access by more than one user can be synchronized in the following ways:
    Exclusive lock: The locked data can only be displayed or edited by a single user. A request for another exclusive lock or for a shared lock is rejected.
    Shared lock: More than one user can access the locked data at the same time in display mode. A request for another shared lock is accepted, even if it comes from another user. An exclusive lock is rejected.
    Exclusive but not cumulative: Exclusive locks can be requested several times from the same transaction and are processed successively. In contrast, exclusive but not cumulative locks can be called only once from the same transaction. All other lock requests are rejected.
    Check out this thread:
    LOCK OBJECT?
    Regards,
    Vivek
    PS: Award points if helpful

  • How to setup data validation mechanism

    Hi, gurus,
    Now our customer wants to do data cleansing before loading data into infocube or ods, the source system includes R/3, flat file, and some legacy systems. However the client wants to create a staging area to keep incoming data, and develop some programming to check data validation. The specific requirement is as following:
    1. Provider a user interface to let biz man to correct the error record;
    2. can code logic to check the data rejection reason, such as field type is wrong, master data doesn't exist, and etc, and can prompt these reason message to assist business guy correct;
    They want to create a specific staging for data cleansing purpose, and because refer to my prior experience with some ETL tools, we can ask developer to write embeded program in informatica or datastage to check data quality and write down the rejection reason in a file to assist business man correct;
    so if we want to use SAP BW PSA for this purpose, is it feasible? Can we modify PSA to add one column, 'rejection reason' and add some ABAP program here; or you guys have some other good options for this function.
    and can we use PSA to keep all data for 5 years? because the annual delta data is not very big, just 4G.
    Someone suggests to create Z table in BW system for staging purpose, however this solution can not use BW ETL tool to load data but need heavy ABAP programming, so any good solution on this?
    BTW: can I modify PSA structure to add 1 or 2 column, such as reject reason?
    and how to use abap program to access Characteristics master data? are there any function module to read master data directly rather than select data from P table or T table?
    Regards, ls

    I think if the business guy is given some basic BW training and some aspects about correcting PSA records or adding or loading missing master data,then it can work.
    The BW monitor does give you good enough messages about the data load errors.
    I do not think it is good to modify the PSA..because this is against purpose of having PSA.PSA has records in transfer structure format,as sent by source system.
    PSA is often preserved for data reloads that might be needed some point in future.
    As u r saying that annual record load is not big,u can preserve PSA and then later develop a custom program to delete PSA's older than..say 2-3 years..(there might a std program for this).
    Modifying or adding columns to PSA is not general practice.
    For reading master data maybe u can use this fn module..RSAU_READ_MASTER_DATA.

  • Transport Mechanism in SAP Cloud for Customer

    Dear All,  Do we have a mechanism to move newly created roles in SAP Cloud for Customer, from D?? to Q?? to P?? !? If not, is there an alternative methodology to move security roles Or if nothing exits, do we have a timeline as to when we can expect an alternative solution ? Please share. Thanks raj

    Hello Raj,
    Instead of recreating the roles, you can use the Migration Templates available. These are excel templates which can be downloaded from the tenant . Under the Activity List in Implementation Projects, you could go to Integrate and Extend and choose Migration of Business Roles to upload this excel. This is a step by step mechanism which will allow you to migrate your business roles instead of recreating each role manually. Pre-requisite of this is that you need to make sure you have scoped the system properly allowing for this.
    Hope this helps.
    BR
    Nikhil

  • Add a validation for a SAP Tr Code?

    Hi Guys,
                 i have a requirement where i have to add a validation Message to the SAp transaction Code
                  Req is in FF68 trasaction Code we have selection options .In controls tab there is field for currency and on top of Controls tab we have a another currency filed.So if somebody entered a currency in curerency field on top of the controls and currency in the controls tab currency field , they must be same if somebody entered a different in both the currency fields then a Warning must be issued,.So can anybody tell me how to do?
    Thanks,
    Gopi.

    Hi,
    You cannot change any standard SAP transaction code unless you have exits available for it.
    It seems to be some report transaction, so what you can do is... copy it to z* and make your changes.
    Hope it helps.
    Regards,
    Siddhesh S.Tawate
    Edited by: siddhesh tawate on Mar 27, 2008 3:29 PM

  • CISCO Load Balancing Mechanism with SAP

    Hello Experts,
    Explain me the steps How CISCO Load balancing Mechanism works with SAP Enterprise Portal?
    If anyone implemented and achieved the same,please explain me the steps to follow from Initial Stage to end of implementation.
    Or If you have any documentation on this just share with me to my google id kekarthick or point me to the particular link.
    I have seen the below SAP help which is somewhat helpful.
    http://help.sap.com/saphelp_nw04s/helpdata/en/d3/e12840d89d185de10000000a1550b0/frameset.htm
    I would like to know how CISCO will connect to Java Dispatcher.
    And explain me the steps to follow to implement External Facing Portal using Cisco Loadbalancer.
    This should be achieved in Unix and Windows 2003 environment.
    Any idea?
    Regards,
    Karthick Eswaran
    Edited by: Karthick Eswaran on May 21, 2008 12:40 AM

    Hello Karthick,
    let's say you have 2 servers for your portal:
    host1 -> e.g. DB, SCS + CI --> http://host1.my.company:50000/irj/portal
    host2 -> DI --> http://host2.my.company:50000/irj/portal
    Now you can implement an CISCO hardware load balancer. You have to connect it to your network and reserve one port and another ip adress of it for the portal.
    After that you have to add the ip adress of the both servers (host1+host2) to this port, so that the CISCO load balancer knows to which servers it has to forward the incoming connections.
    If you use DNS in your company you can now map a more user-friendly name to the CISCO port (e.g. http://portal.my.company:50000/irj/portal) and distribute this link to the users of the portal.
    When they connect to the portal via this link the CISCO load balancer will forward the request to one of the configured servers (host1 or host2) depending which one is online and/or the load of them.
    I hope I understood your question right and my answer helps a little.
    Regards,
    Norman Schröder

  • How to create a validation rule in SAP BODS Job

    Hi Experts
    I have created a BODS Job and in that job i have to create a validation rule as if the cust_id is null the loading must stop.
    I dont have idea where i have to define this validation rule in the Job and how to stop the load job if the validation rule file.
    My Job was defined like below image
    Please guide me where i have to define the validation rule and how to stop the load job.
    Thanks in advance
    PrasannaKumar

    Hi samatha b
    Thanks for your response. I have done as you said and now i can rise the exception.
    I have another requirement as per the validation transformation the data will load into Pass table and Fail table after job execution. If any data entered into fail table i have delete the data loaded into Pass table.
    Here i am facing problem as my target tables are MySQL tables and when i am writing scripts i wrote the script as
    sql('database','delete from <tablename>');
    but as it is an SQL Query execution it is rising exception for the query.
    How can i delete the data loaded into MySQL Target table using scripts.
    Please guide me for this error also
    Thanks in Advance
    PrasannaKumar

  • SAP Bpc: automate script logic validation

    Is there a way to automate the validation of the SAP BPC script logics?
    I ask you that because I have daily SSIS packages and, actually, if I don't manually vaildate the logics every time, using SAP BPC administration interface, the new members are not cosidered into the application.
    I tryed the BPC SSIS "Adimin Task" (using Validate Logic mode) but it only checks if the syntax of the logic is correct or not.

    Thanx for the replay but, unfortunatly, I think it's not useful for my case.
    I use SSIS packages to populate dimensions (such as Employees). In these packages I have BPC Admin Task (in create dimension mode) and it works fine.
    The problem is > if I don't go into SAP BPC Administration Console to "Validate and Save" the script logics manually > inside the .lgx file there aren't into XDIM_MEMBERSET the new data I previously imported throught the SSIS packages above (in the exemple the new Employees).
    Beeing not into the XDIM_MEMBERSET, the script logic executed by the users excel input schedules cannot manage the new set of data... until I "Validate and Save" the logic manually.
    Edited by: Francesco Andolfi on May 26, 2010 4:22 PM
    Edited by: Francesco Andolfi on May 26, 2010 4:22 PM

  • Ativação da BadI - Conversão e validação de numeros de cod de barras

    Bom dia,
    Estou com um problema no qual eu preciso ativar a BadI - Conversão e validação de numeros de cod de barras boleto brasileiro que esta no SPRO ->Contab. financ.-> contab. clien. fornec. -> trans. contab.-> Saida de pag.-> saida de pag. aut.-> meio de pag. -> Config.esp.de pais p/ meio de pag.
    Ao clicar nesta badI, vejo que a BOLETO_BARCODE_BR já está implementada, só falta ativar. até consigo ativa-la, quando eu tendo gravar não acontece nada, e é so eu sair da tela e voltar que eu vejo que ela segue desativada.
    Analizando o Doc. de ajuda, A SAP me da as seguintes instruções: 
    Implementar o BAdI ou ativar a implementação fornecida (BOLETO_BARCODE_BR). Para tal, seguir as Instruções correspondentes.
    Seguindo as instruções (no caso de Reimplementa-la) no passo 4 - que diz "4. Gravar as entradas e efetuar a atribuição a um pacote."
    aparece um pop up pedindo o seguinte: "Executar registro em Online Service system (oss) R/3" e que ao executar esse regitro eu receberei uma chave de acesso.
    1- O procedimento que eu estou executando está correto? Pois me parece muito estranho eu ter que reimplatar a BadI para assim eu poder ativa-la.
    2- Se for este realmente o procedimento, como é que eu abro esta OSS? o que é preciso? pois eu nunca fiz este procedimento anteriormente.
    agradeço desde já. 
    Paulo

    Bom dia Paulo,
    A BAdI e esta implementação standard foram liberadas na SAP Note 784748.
    Lá tem o passo-a-passo para a criação de tudo e ativação.
    Para personalizar, como validações, a SAP recomenda que você crie a própria implementação ao invés de modificar a implementação standard BOLETO_BARCODE_BR, na nota tem estes passos.
    Não sei se respondi a pergunta, mas qualquer coisa é só retrucar.
    Atenciosamente, Fernando Da Ró

  • Forms and validations - here's some of my ideas, what are yours?

    One of the big things still missing from the JFX space (especially where JEE is concerned) is forms and form validations. Maybe you guys have been luckier but at least 80% of the screens I've had to build in my career have been boring old forms - enter data in the fields, validate them and hit submit.
    So, I've been hacking around on this to try and get a pattern and hopefully some reusable classes for doing this in JavaFX. I have something that works but the code is verbose and less than elegant. I'm hoping some of you guys might want to kick around some ideas on this with me here. If we can come up with something that works, I'd like to either include it in [url http://www.zenjava.com/jfx-flow/]JFX Flow, or put it out as a separate open source project (whichever makes more sense).
    What I think needs to be supported:
    * Map between a normal Java bean and the fields on a form
    * Validate the data, i.e. specifying the constraints on a field and then checking those constraints
    * Show a validation summary at the top of the form
    * Highlight individual fields if they have validation errors
    * Support auto-validation, i.e. the validation highlights and messages will instantly update as the user types
    Some extra restrictions:
    * The data input will ideally be a normal bean and so it won't have observable values on it. In most projects I use, the beans are coming from the server and sometimes may be shared between desktop client and a jsp/web client, or even be a third party API so they can't be changed. End result: we don't want any JFX complexities or dependencies in our server code (design leak). This rule could be bent but only as a last resort.
    * The validations must be defined relative to the normal data bean not a JFX model or controller, etc. This is so the bean can be validated on the server as well as the client. The server must do validation to prevent dodgy data getting in (never trust a client). Ideally we don't want to be specifying the validations in two places (i.e. once for the client and once for the server) as this creates maintenance problems and weakens the integrity of the system over time.
    * Ideally the validation mechanism will be based on [url http://java.dzone.com/articles/bean-validation-and-jsr-303]JSR 303 - Bean Validations as this is quite nice. This is flexible however if there is a suitable alternative that integrates better.
    To give us something to reference in conversation, I've created a small working sample. This is only meant to be a rough starting point (at best) and I'd really like to get feedback on both the code (i.e. should we have a 'presentation model', how could bindings be better used, etc) and the general way I'm representing errors (i.e. should we use tooltips to show errors, or actually show the errors next to the field, should we use border colours or put a little exclamation mark over the field, should the fields be auto-validated or only validated on submit, etc).
    The example is a single form for editing a person. It has three fields, first name, last name and gender. When the form is blank, auto-editing is off. When the user submits the form it is validated and from that point on auto-validating is on. Error fields are highlighted with a style change, and a tooltip is added with details (I think we can do better - what's your ideas?).
    I have used all plain Java to keep thngs simple, but I'd be looking for the end result to translate to FXML as well. I've also coded everything into the one class but the eventual goal would be to have the common stuff moved out to reusable base classes, etc.
    Here's a workspace with some example code in it: http://code.google.com/p/jfxee/source/browse/trunk/jfxforms/
    Here's a running deploy of that code: http://zenjava.com/demo/form/forms.html
    (edit: I've moved the code to its own project and changed the url for the launch - the values above are the new, correct ones)
    Looking forward to hearing some thoughts on this topic.
    Edited by: zonski on 01-Dec-2011 13:41

    At Devoxx I did some straw man prototype that you might find useful (or hopeless, I'm not sure which, I did it in a hurry :-)). I followed some principles that I was influenced by years back by JGoodies, but I haven't looked at the JGoodies stuff in forever and know it isn't all the same. But anyway, like I said, I'm not sure it is actually useful but maybe there is something genius hidden in there.
    I have a Validator, which is just a simple SAM:
    import javafx.scene.control.Control;
    * @author Richard
    public interface Validator<C extends Control> {
        public ValidationResult validate(C control);
    }The idea is that it is given a Control, it will validate that control, and then return a ValidationResult. ValidationResult is actually only needed in cases of errors, since returning null indicates success, so the following is somewhat of a crock but you could rename it ValidationError or something and remove the "SUCCESS" type and there you are.
    public class ValidationResult {
        public enum Type { ERROR, WARNING, SUCCESS }
        private final String message;
        private final Type type;
        public ValidationResult(String message, Type type) {
            this.message = message;
            this.type = type;
        public final String getMessage() {
            return message;
        public final Type getType() {
            return type;
        }For good measure I threw in a ValidationEvent.
    import javafx.event.Event;
    import javafx.event.EventType;
    * @author Richard
    public class ValidationEvent extends Event {
        public static final EventType<ValidationEvent> ANY =
                new EventType<ValidationEvent>(Event.ANY, "VALIDATION");
        private final ValidationResult result;
        public ValidationEvent(ValidationResult result) {
            super(ANY);
            this.result = result;
        public final ValidationResult getResult() { return result; }
    }Because Control's don't presently have the notion of validation built in, I created a ValidationPane which is like a specialized StackPane, where there is a bottom layer, the control, and a glass pane layer. And from CSS you can style it however you like. The ValidationPane has a CSS style class set in case of errors / warnings. So without augmenting controls, the idea is that a ValidationPane subclass would exist to wrap each type of control you needed to validate. It did this because somebody has to wire up the listeners to the control to react on text input etc, and so I thought I'd like that encapsulated in something reusable, and there it was.
    import javafx.beans.DefaultProperty;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.ReadOnlyObjectProperty;
    import javafx.beans.property.ReadOnlyObjectWrapper;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.event.EventHandler;
    import javafx.scene.control.Control;
    import javafx.scene.layout.Region;
    * @author Richard
    @DefaultProperty("content")
    public abstract class ValidatorPane<C extends Control> extends Region {
         * The content for the validator pane is the control it should work with.
        private ObjectProperty<C> content = new SimpleObjectProperty<C>(this, "content", null);
        public final C getContent() { return content.get(); }
        public final void setContent(C value) { content.set(value); }
        public final ObjectProperty<C> contentProperty() { return content; }
         * The validator
        private ObjectProperty<Validator<C>> validator = new SimpleObjectProperty<Validator<C>>(this, "validator");
        public final Validator<C> getValidator() { return validator.get(); }
        public final void setValidator(Validator<C> value) { validator.set(value); }
        public final ObjectProperty<Validator<C>> validatorProperty() { return validator; }
         * The validation result
        private ReadOnlyObjectWrapper<ValidationResult> validationResult = new ReadOnlyObjectWrapper<ValidationResult>(this, "validationResult");
        public final ValidationResult getValidationResult() { return validationResult.get(); }
        public final ReadOnlyObjectProperty<ValidationResult> validationResultProperty() { return validationResult.getReadOnlyProperty(); }
         *  The event handler
        private ObjectProperty<EventHandler<ValidationEvent>> onValidation =
                new SimpleObjectProperty<EventHandler<ValidationEvent>>(this, "onValidation");
        public final EventHandler<ValidationEvent> getOnValidation() { return onValidation.get(); }
        public final void setOnValidation(EventHandler<ValidationEvent> value) { onValidation.set(value); }
        public final ObjectProperty<EventHandler<ValidationEvent>> onValidationProperty() { return onValidation; }
        public ValidatorPane() {
            content.addListener(new ChangeListener<Control>() {
                public void changed(ObservableValue<? extends Control> ov, Control oldValue, Control newValue) {
                    if (oldValue != null) getChildren().remove(oldValue);
                    if (newValue != null) getChildren().add(0, newValue);
        protected void handleValidationResult(ValidationResult result) {
            getStyleClass().removeAll("validation-error", "validation-warning");
            if (result != null) {
                if (result.getType() == ValidationResult.Type.ERROR) {
                    getStyleClass().add("validation-error");
                } else if (result.getType() == ValidationResult.Type.WARNING) {
                    getStyleClass().add("validation-warning");
            validationResult.set(result);
            fireEvent(new ValidationEvent(result));
        @Override
        protected void layoutChildren() {
            Control c = content.get();
            if (c != null) {
                c.resizeRelocate(0, 0, getWidth(), getHeight());
        @Override
        protected double computeMaxHeight(double d) {
            Control c = content.get();
            return c == null ? super.computeMaxHeight(d) : c.maxHeight(d);
        @Override
        protected double computeMinHeight(double d) {
            Control c = content.get();
            return c == null ? super.computeMinHeight(d) : c.minHeight(d);
        @Override
        protected double computePrefHeight(double d) {
            Control c = content.get();
            return c == null ? super.computePrefHeight(d) : c.prefHeight(d);
        @Override
        protected double computePrefWidth(double d) {
            Control c = content.get();
            return c == null ? super.computePrefWidth(d) : c.prefWidth(d);
        @Override
        protected double computeMaxWidth(double d) {
            Control c = content.get();
            return c == null ? super.computeMaxWidth(d) : c.maxWidth(d);
        @Override
        protected double computeMinWidth(double d) {
            Control c = content.get();
            return c == null ? super.computeMinWidth(d) : c.minWidth(d);
    }And finally the TextInputValidatorPane instance good for any TextInputControl. I think.
    import javafx.beans.InvalidationListener;
    import javafx.beans.Observable;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.scene.control.TextInputControl;
    * @author Richard
    public class TextInputValidatorPane<C extends TextInputControl> extends ValidatorPane<C> {
        private InvalidationListener textListener = new InvalidationListener() {
            public void invalidated(Observable o) {
                final Validator v = getValidator();
                final ValidationResult result = v != null ?
                    v.validate(getContent()) :
                    new ValidationResult("", ValidationResult.Type.SUCCESS);
                handleValidationResult(result);
        public TextInputValidatorPane() {
            contentProperty().addListener(new ChangeListener<C>() {
                public void changed(ObservableValue<? extends C> ov, C oldValue, C newValue) {
                    if (oldValue != null) oldValue.textProperty().removeListener(textListener);
                    if (newValue != null) newValue.textProperty().addListener(textListener);
        public TextInputValidatorPane(C field) {
            this();
            setContent(field);
    }This should also be usable as is from FXML since you can easily wrap a TextInputValidatorPane around a TextField, and CSS does all the styling, so I think it all just works. You probably need to have some library of sophisticated Validators which know how to read text from a TextField and compare against the validation annotations, but otherwise it should work well enough. Anyway, in the actual implementation I think I would omit the ValidationPane stuff completely and just build that part into the controls / skins. Like I said, this was a quick hack but seemed to get the "how do I visualize validation errors" part of the problem solved.
    Richard

  • SAP Best Practice for Plant Organizational Structure

    Hi
    Can one please suggest us . how we can design the Plant Structure ( Please refer OSS notes if you have ).
    1) Design of a Plant / Storage location if it is located in  different state. We have one manufacturing plant , and six storage ware house in different region within states and two outside states. They will just receive , Issue and do Physical Inventory .
    QN : Do we consider (Storage location )this as Plant or Storage Location ?
             Can one  one support with valid document from SAP Please
    Thanks

    Hi,
    If you are storing the material in 8 storage locations only, no tax related, material price do not change according to storage locations, material valuation only in one plant (manufacturing),In This case you can use two plant. One Plant (P1, Logical Plant) and one Storage location(in ur manufacturing plant) and another plant(P2, Statistical Plant) having your having your 8 storage locations, So that you can get inventory report plant wise, storage location wise with time period.
    Check following OSS notes:
    100757, 63493, 96262, 87843, 82033, 64946
    Regards,
    Biju K

  • Trial SAP PO instance on Cloud

    Is this offering still valid? Try SAP NetWeaver Process Orchestration in Public Cloud!
    I do not see the SAP PO in the list of cloud offerings any longer:
    https://cal.sap.com/
    But as pointed out by Abhinag I do see SAP BPM and Operational Process Intelligence on SAP HANA Trial
    Please advice.

    hi Yusuke,
    regarding your odbc issue, you can connect to hcp via odbc in the developer edition as well.
    first tunnel into hcp using the command line tool. ensure that your proxy settings are correct.
    then copy your DEV_ user name & password to enter into the odbc administrator.
    -jamie

Maybe you are looking for

  • Error message 06030 when copying PO items and partner roles

    Hello gurus, when I try to copy a PO item into a new PO using a different vendor, I get an error message: Reference vendor 20003681 differs from vendor 20004972 Message no. 06030 So far so good. But when I put that new PO on "Hold" and reopen and sav

  • Production Variances in COPA   CO-PA

    Hi Gurus Production variances are genrated in COPA at the time of Prod Order Settlement.How can we display these in COPA reports apportioned according to Products If not what is the best practice to present Production Variances in COPA reports

  • Plug-ins not showing up in Aperture 3.1

    I have been using Aperture for a past few days, and when i tried to instal two plug-in programs (photoshelter - it is a photo hosting site and the plug in allows you to upload photos directly to the site, and HSC edit - this is an edit tool I downloa

  • Console reporting webkit having hundreds of wakeups per second

    I have been noticing frequent computer slowdowns on my 2011 MacBook Pro, always fully patched. Checking Console, I found dozens of reports from Webkit saying things like "140 wake ups per second for 194 seconds" I think these are related!!!  Can some

  • Safari 6 immediately starts downloading from Youtube

    Since a few days (?) I experience a strange behavior on one of my Macs running Safari 6 & Mountain Lion. Immediately after starting Safari it begins to use the network for a massive download from a youtube server (o-o----preferred---muc03s06---v24-ls