Validation warning

This is primarily an architecture question. I have a number of warning type validations to run. In the forms world I would do this with a procedure feeding it the field_name, and entered value, and then compare this against a table of field_names, min_value, max_values. I have followed numerous threads on displaying warnings, but most seem to hard-code the min / max values in the JavaScript function. Does anyone have some guidance on how to construct a more generic, table driven way of displaying warnings?

There are a couple of basic ways to do validations. The first is to build a simple validation for each rule you want. The benefits of this are ease of enabling/disabling validations when business rules change or just in debugging. The negative is that you can end up with a lot of validations and only one validation warning will show when you submit the page.
If you create a single warning, you can create something like this:
declare
begin
  for c_othr in (select TO_NUMBER(c001) v_tc, c003 v_pycd,
          c004 v_jbcd, TO_NUMBER(c019) v_rt, NVL(TO_NUMBER(c005),0) v_hrs,
          NVL(TO_NUMBER(c020),0) v_pay, TO_NUMBER(c008) v_loc,
          NVL(TO_NUMBER(c007),0) v_eqhrs
      from apex_collections
     where collection_name = 'TC_OTHR')
  loop
    IF c_othr.v_pycd IS NOT NULL and c_othr.v_loc IS NOT NULL THEN
      IF c_othr.v_rt = 0 THEN
        RETURN '<span class="lgl">'||c_othr.v_pycd||'-'||c_othr.v_jbcd||' at '||c_othr.v_loc||' is invalid.</span>';
      ELSE
        IF c_othr.v_pycd = 'MSC' and c_othr.v_pay <=0 THEN
          RETURN '<span class="lgl">MSC codes require a flat pay amount.</span>';
        ELSIF c_othr.v_pycd = 'STU' and c_othr.v_pay <=0 THEN
          RETURN '<span class="lgl">STU codes require a flat pay amount.</span>';
        ELSIF c_othr.v_pycd = 'MOB' and c_othr.v_pay <=0 THEN
          RETURN '<span class="lgl">MOB codes require a flat pay amount.</span>';
        ELSIF c_othr.v_pycd = 'HDR' and c_othr.v_hrs <=0 THEN
           RETURN '<span class="lgl">HDR codes require task hours.</span>';
        ELSIF c_othr.v_pycd = 'TRN' and c_othr.v_pay <=0 THEN
           RETURN '<span class="lgl">TRN codes require a flat pay amount.</span>';
        ELSIF c_othr.v_pycd = 'LDR' and c_othr.v_eqhrs <=0
               and c_othr.v_jbcd NOT IN ('91A','91','A','89C') THEN
           RETURN '<span class="lgl">LDR codes require equipment hours.</span>';
        ELSE
          NULL;
        END IF;
      END IF;
    ELSE
      NULL;
    END IF;
  end loop;
end;This is obviously a complex example where I'm trying to validate input from a collection, but you get the idea. If you want, you can even concatenate the errors together using a break to separate them.
I strongly recommend using the Validations, as then you don't have to worry about where to put the return text or the formatting as APEX does it for you.
Good luck.

Similar Messages

  • Process Flow Validation Warning.

    Hi All,
    OWB Config Details is as follows:
    Oracle 9i Warehouse Builder Client: 9.2.0.2.8
    Oracle 9i Warehouse Builder Repository: 9.2.0.2.0
    1> Following Warning is displayed when Process Flow is validated in Process Editor in OWB.
    VLD-10005: The following path in the process flow is a loop and may cause the process to loop infinitely,
    START->EXT_SHELL_SCRIPT->M_STG_GRADE_OF_SERVICE->EMAIL_ERROR->UPDATE_MAP_PROCESS_ERROR->
    2> A mapping is developed in OWB with some default configuration parameters e.g. In a mapping involves Source Text File as Source and Staging Table as Target.
    Readsize and Bindsize config parameters are set to 5000 respectively. I included the same mapping in process flow as mapping. The above mentioned Config Parameters are modified to 5242880. I committed the changes & synchornized in the process flow editor. I was expecting the modified config parameter will be displayed in the process flow editor. However I found that it still displays old config parameters and not modified config parameters. Is this expected or Did i miss some steps ?
    Can someone please let me know more on these issues?
    Regards,
    Vidyanand

    Please go the OWB forum for these questions:
    Warehouse Builder
    Thanks, Mark

  • Hierarchical Filter Web Item causes validation warning.

    When I validate my web template which contains a hierarchical filter web item agianst the server I get the following warning (W1):
    Mapping for Service item_validation_service for Object HIERARCHICAL_FILTER_ITEM missing
    Maybe this also relates to my problem of not having the possibility to choose a characteristic for the hierarchical filter (see my post <a href="https://forums.sdn.sap.com/thread.jspa?threadID=209968&tstart=0">https://forums.sdn.sap.com/thread.jspa?threadID=209968&tstart=0</a>)
    How can I fix this mapping issue?
    Thanks to any answers in advance.
    Best regards,
    Philipp

    Hello,
    Your first problem is that ABAP SP does not equal Java SP. This is not a valid scenario.
    Please update both to <b>the same SP level</b>.
    After it, please retest your problem. I think that the problems will be solved (at least this one with validation service).
    Short explanation to validation service:
    Every template created in WAD will be validated before saving it. We have two validations:
    1. one is locally with the meta data this checks if:
      - all used parameters are on its place,
      - all parameter values are valid,
      - all defined items are existing...
    2. second one is extended validation on the Java Server: this one checks i.e. following:
      - are all used data providers valid
      - are all used characteristics valid
      - item dependent validation (e.g. if one item needs a dependency between to setting - this can be checked here)
    The first one will be executed in Front-End and in ABAP Back-End. The second one in Java. Because your Java stack is /probably/ lower than ABAP, this validation does not work.
    I hope I have explained it clearly.
    Regards, Karol
    BI Development

  • XML Schematron Validation Warning Message

    Hi I have created an XML Schematron validation for my process, I'm getting the following warning in the process
    Warning: Schematron file has invalid context "/imp1:WMWROOT/imp1:WMWDATA/imp1:WMFWUpload/imp1:Shipments/imp1:Shipment", validation may not happen properly. Please verify file manually.
    I have verified the ".sch" file thoroughly there is no mistake in the namespace or paths . On testing this works perfectly well. I do not know what is causing this warning.
    Could some one please help.
    Thanks in advance
    Nikhil

    Warnings you can skip, having said that check the format of your file, use xmlspy IDE to check the file format.
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • Validator warning: Character Encoding mismatch!

    I have been following the discussion on favicons with
    interest. A few days ago
    I added a favicon to the page:
    http://www.corybas.com/, and
    eventually persuaded
    IE6 to show the favicon, provided I loaded it by clicking the
    icon. It did not
    show it when the page reloaded itself, and now it has
    forgotten all about it.
    Following some discussions here this morning I ran the
    Validator over the page
    and got the diagnostic "The character encoding specified in
    the HTTP header
    (utf-8) is different from the value in the <meta>
    element (iso-8859-1). I will
    use the value from the HTTP header (utf-8) for this
    validation. "
    As far as I can work out, this is caused by an
    incompatibility in the witchcraft
    Dreamweaver includes in a basic HTML page, which is as
    follows:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN"
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1"
    />
    <title>Untitled Document</title>
    </head>
    Should I worry about this warning?
    (I removed a few other insignificant errors, but IE6 still
    can't see the
    favicon.)
    Clancy

    On 22 Apr 2008 in macromedia.dreamweaver, Clancy wrote:
    > Following some discussions here this morning I ran the
    Validator
    > over the page and got the diagnostic "The character
    encoding
    > specified in the HTTP header (utf-8) is different from
    the value in
    > the <meta> element (iso-8859-1). I will use the
    value from the HTTP
    > header (utf-8) for this validation. "
    >
    > As far as I can work out, this is caused by an
    incompatibility in
    > the witchcraft Dreamweaver includes in a basic HTML
    page, which is
    > as follows:
    >
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN"
    > "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <html xmlns="
    http://www.w3.org/1999/xhtml">
    > <head>
    > <meta http-equiv="Content-Type" content="text/html;
    > charset=iso-8859-1"
    > />
    > <title>Untitled Document</title>
    > </head>
    >
    > Should I worry about this warning?
    At an offhand guess, you're on an Apache 2.x server. In its
    default
    setup, it sends a UTF-8 charset header. That is sufficient
    for the
    browser. It also conflicts with the iso-8859-1 charset in the
    document. The fastest cure for it is to remove the charset
    meta from
    the page, or change it to UTF-8. But it has no bad effects
    that I know
    of on a browser.
    Joe Makowiec
    http://makowiec.net/
    Email:
    http://makowiec.net/contact.php

  • JSP validation warning.

    empty

    Does this happen in the course of just modifying JSPs and resource files, or
    when a resource file is added or refactored?
    It would be great if you can provide us with the steps you follow to
    experience this problem.
    M7 Support
    PS: Sending requests to [email protected] usually has faster response time.
    "DanBar" <[email protected]> wrote in message news:[email protected]..
    DanBar wrote:There' a bug(?) causing Nitrox (build225) to report warnings like that:
    I've tried build 226 - nothing's changed.
    DanBar

  • 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

  • JSF and XHTML Transitional validation

    We're finishing our first public-facing JSF project and our final hurdle is to make sure our pages are XHTML compliant (we're a government department and we have to fall in line); we've chosen XHTML 1.0 Transitional.
    We have two problems:
    1. When we use <h:commandLink ...> the inserted javascript is not escaped and produces the validation errors using the W3C validator:
    Warning Line 87 column 121: character "<" is the first character of a delimiter but occurred as data.
    ...p;if (adp != null) {for (var i = 0;i < adp.length;i++) {f.removeChild(adp)
    Warning Line 87 column 270: character "<" is the first character of a delimiter but occurred as data.
    ...p.split(',');for (var i = 0,ii = 0;i < ps.length;i++,ii++) {var p = document.
    [/code]
    Is this a known problem, and is there a solution? A last resort could be to use a ServletFilter to insert <[CDATA[ ]]> into the page, around the javascript.
    2. Multiple forms produce multiple hidden input tags with the same ID:
    Error Line 106 column 54: ID "javax.faces.ViewState" already defined.
    ...en" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id114:j_As far as I can see we're going to have to re-design our pages to use just one form (we have two navigation menus each with their own form, then one form for the page.)
    Unless there is another solution?
    We're using Sun JSF RI 1.2_03-b09-FCS (with facelets), but observe the same behaviour with 1.2_04.
    Many thanks for any help,
    Andy.

    I have encountered the same issue. Hard-coded "javax.faces.ViewState" is a design bug in my view. subviews make absolutely no sense when view state id is hard-coded. It has to be auto-generated just as it's values are, even though that may require iteration thru the params. One way to deal w/ this to avoid iteration thru params in JSF impl, is to append subview id "javax.faces.ViewState" hidden field, have each subview look up accordingly. There is no other way to have valid XHTML.
    If there's a work-around, please share.
    Thanks,
    Reshat.

  • Allow me to dismiss / kill "Signature requires validating" banner

    With monitors more squat than ever, why is Acrobat 9 using bigger icons and banners at the top?  Pretty soon there will be no space for the actual document.
    Well, here's one thing to fix.  When I open a document with a questionable digital signature, I get a blue band almost half an inch high, across the whole top of the display, warning me of this.  Fine.. but I can't get rid of the banner!  I've looked through every Preferences setting and searched the web.  Stuff like this is maddening.
    FEATURE REQUEST ==>  Allow the user to dismiss the "Signature requires validation" warning.
    Sheesh..,

    I finally discover that clicking on the yellow "alert" icon at the left end of the bar will dismiss it.  Maybe that's intuitive to someone.  Thanks to the Adobe staff and all others who took the time to explain this.

  • W3c markup validator?

    I submitted a new site that I created (my first) to the w3c validator and got 3 warnings and 1 error:
    No Character Encoding Found!            Falling back to           UTF-8.
    Unable to Determine Parse Mode!
    No Character encoding declared at document level
    Line 1,         Column 1:     end of document in prolog
    The site is www.telluridegravityworks.com.
    The source code view shows:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/gravity-works-template01.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    i see charset=utf-8 referenced. Why do I get the validation warning?
    The parse model warning seems to be saying that no doc type is declared. I see the doc type in the first line of the code  view...?
    No character encoding at document level. Is it good practice to declare this twice?  Would i just repeat the same tag as above inside of the body tag?
    The error about prolog says: >>This error may appear when the validator receives an empty document. Please make sure that the document you are uploading is not empty, and report any discrepancy.<< I don't get this. Should I be concerned or take some action regarding this?
    I just typed in the site address like the link above. Should I run each individual page trhough the validator?
    Thanks for any help. This is my first site and I want to be sure I haven't made any errors.

    Before someone better comes along to answer this I would try including a language declaration like this:
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

  • VLD-1005 Wrong Column Lengts - Pointless warning

    If I have an attribute that's Number(4) and I want to use it as a source for a NUMBER column (no length or precision specified) then OWB gives me VLD-1005. Isn't this totally wrong? I can't think of a scenario where it would cause a problem. Can someone else come up with a good scenario?
    Proposal for the developers: treat 0 length for number fields as NULL so conditions like 0<4 that would fire above will become NULL<4 and the users won't get a useless warning.

    Hi
    You can use the Preference to suppress such warnings, don't think it has the greatest name - some thing like 'Suppress Validation Warning VLD-1004' which is misleading but is related to VLD1004/1005/1006 all around data type checking.
    You will find the option in OWB's preferences under the Generation/Validation section.
    Cheers
    David

  • Saving validation results for later processing

    Greetings!  I'm trying to come up w/ a way to save validation results (found server side in this.Details.ValidationResults) to an attached entity so that they can be worked by a user at a later time.
    Has anyone implemented such a pattern?  I can't seem to find any examples...
    Thanks in advance!

    @sharpLj - thanks for the reply and article link.
    What I'm looking for is a pattern to SAVE the results of validation rules.  For example, take a simple application that allows users to bulk import (by way of csv upload to server) hundreds of CarManufacturers and CarColors.
    So, you might have a csv that looks like this....
    CarManufacturers,CarColors
    BMW,Green
    Audi,Blue
    Ford,Yellow
    Audi,Silver
    These values get uploaded to a simple table w/ two properties (CarManufacturer & CarColor)...
    I also have two other tables for "CarColorValidation" (Manufacturer 1toMany Colors)..
    Say that those tables are loaded like this:
    BMW -> Green,Blue,Red
    Audi -> Green,Black,Blue
    Ford -> Yellow,Green
    Now, to pull this all together...
    Cars and colors are uploaded, again, in bulk.
    I have validation rules wired up that will look at the uploaded CarManufacturer and its CarColor and make sure that the CarColor is valid (found in the CarColorValidation tables) for the given CarManufacturer. If it is NOT found (in my example the Audi
    that is Silver) then i set a validation WARNING (so i dont block the save process).
    What I want to do is SAVE that validation warning (perhaps to an related table) so that a user can come back later and correct the invalid car color.
    thanks again for any ideas!

  • Unable to use the focus feature on a field

    hi,
    I have the need to manipulate the focus event of a field. This is my pdf body structure :
    form1 ----> form
    |_ a ----> page
    |_b ----> textfield
    |_c ----> textfield
    The idea is to test if the user pressed the key "ESC", "TAB" or "ENTER" when exiting from field "b". If so, and after testing the content of the field, i wanted to set the focus on that same field "b" to let the user proceed with the correction.
    I tried with the "xfa.event.commitKey" to see if the "ESC", "TAB" or "ENTER" keys where pressed while exiting the field. I then redirected the focus to different fields named "ESC", "TAB" and "ENTER" just to be sure that i was getting the correct keys.
    This feature works if i set the focus in a different field than the one i'm exiting.
    Then, i tried a different approach. On the exit event of the field, i placed the following code :
    app.setTimeOut("this.getField('form1[0].a[0].b[0]').setFocus()", 1000);
    This would do the same as the setFocus after a while.
    For what i could see, catching the events with the "xfa.event.commitKey" for the "ESC", "TAB" or "ENTER" key works alright. The problem is to set the focus to the current field ( the one where the exit event is being analyzed ). However, if i change the destination field to any other field on the form, all the scripts work.
    Following the structure that i have on top, it the exit event is being analyzed on field "b" and the "setFocus" or the "app.setTimeOut" scripts indicate field "b" as destination, it doesn't work.
    If i change the destination field to be "c", all the scripts work as expected. It seems like there is a problem with setting the focus on the field that i'm exiting from.
    Any ideas on this ???
    Thanks.

    Does anyone have a solution to this problem?
    I'm urgently trying to find a workaround, but nothing seems to work.
    The focus on the current field works in acrobat reader versions above 8.0, but in 8.0 it just doesn''t work...
    To reiterate:
    On the exit event of a textbox I need to display a validation message if a certain condition is met. I then need to refocus on the same textbox after the "ok" button is clicked in the validation warning.
    My setFocus code is correct, but it just doesn't work in 8.0.
    Thoughts?

  • HTML + using spanish characters

    Hi
    If this is a dumb question - forgive me.
    Note this is for a site that will be in English & Spansih
    (translated pages
    in Spanish)
    But if I want to include spanish characters on a site do I
    need to replace
    each spanish character with ascii code or is there another
    way to get the
    characters to display
    e.g.
    resúmenes - do i have to enter it into the html as
    res&uacute;menes
    also
    When I view the pages on my pc the spanish characters display
    correctly.
    Once the pages are uploaded the spanish characters do not
    display - why
    would this happen?
    Thanks
    B
    www.visit-the-coqui.com/
    If you are thinking of a vacation to Puerto Rico
    http://gadgetgrapevine.blogspot.com
    Latest gadget and other news here

    Thanks david for the explaination.
    So now I need to figure out how I can save my html as utf-8
    without using
    notepad (I don't have dreamweaver and have used up my trial
    period).
    Any one know of any other way of creating a utf-8 html file?
    thanks
    B
    www.visit-the-coqui.com/
    If you are thinking of a vacation to Puerto Rico
    http://gadgetgrapevine.blogspot.com
    Latest gadget and other news here
    "David Powers" <[email protected]> wrote in message
    news:[email protected]...
    >B wrote:
    >> could you explain the difference in 'laymans terms'
    >
    > UTF-8 (Unicode) is designed to handle virtually all
    writing systems,
    > including Arabic, Japanese, Chinese - and English.
    ISO-8859-1 is Western
    > European encoding, which handles only those characters
    used in Western
    > European languages. ISO-8859-1 actually supports the
    accented characters
    > used in Spanish, but older browsers weren't always
    capable of displaying
    > them, which led to the use of HTML entities, such as
    &ntilde;.
    >
    > If you select ISO-8859-1 (Western European) in
    Dreamweaver, it
    > automatically converts all accented characters, such as
    those used in
    > Spanish, into entities, which makes the code very
    difficult to read. If
    > you select UTF-8, the accented characters are preserved.
    Since English
    > doesn't have any accented characters, the encoding is
    identical in
    > ISO-8859-1 and UTF-8.
    >
    > If you're working with a database, though, it's very
    important not to mix
    > the two types of encoding for data that uses accented
    characters. If you
    > do, the accented characters will be garbled.
    >
    >> also I posted another ? regarding a BOM warning that
    I now get after
    >> saving as utf-8 - is this an issue?
    >
    > I saw that, but didn't reply because you said you used
    Notepad. I have no
    > idea how Notepad handles the BOM (if I remember
    correctly, it stands for
    > Byte Order Mark). As the validation warning told you,
    older browsers can't
    > handle the BOM, so it's best to omit it. Dreamweaver
    Preferences let you
    > determine whether to add the BOM or leave it out of
    UTF-8 pages. By
    > default, Dreamweaver omits the BOM.
    >
    > --
    > David Powers, Adobe Community Expert
    > Author, "The Essential Guide to Dreamweaver CS3"
    (friends of ED)
    > Author, "PHP Solutions" (friends of ED)
    >
    http://foundationphp.com/

  • ARIAL FONT IN REPORTS(WINDOWS), NOT SHOWN CORRECTLY UNDER LINUX

    Our Reports are developed under Windows (Report Builder 9.0.4.0.33 and Windows 2000/Windows XP) and generated under Linux (IAS 10.1.2.0.2 with Red Hat Advanced Server). The Report Output is a PDF, that will be downloaded by the user with WEB.SHOW_DOCUMENT. This works fine, but fonts are not shown correctly in the PDF, especially ARIAL, which is the font we use.
    I have run the Fontsolution Configuration Script from Metalink, but we still have a problem.
    When you look at the font.pdf, wich is the testreport from fontsolutions, some sizes and styles of Arial are printed correctly others not.
    Arial 8 is ok, but Arial 10 and Arial 12 are something like Times New Roman.
    Arial 12 Bolded is correct, but Arial 12 italic and Arial 12 bold italic are also not
    the Arial Font.
    How can we correct this problem?
    Regards
    Udo
    These are the files changed by Fontsolution Configuration Script:
    uifont.ali
    # uifont.ali provided in fontsolutions.tar for developer 9.0.2
    # $Header: uifont.ali@@/main/22 \
    # Checked in on Tue Jan 8 15:32:42 PST 2002 by idc \
    # Copyright (c) 1999, 2002 by Oracle Corporation. All Rights Reserved. \
    # $
    # $Revision: /main/22 $
    # Copyright (c) Oracle Corporation 1994, 2002.
    # All Rights Reserved.
    # DESCRIPTION:
    # Each line is of the form:
    # <Face>.<Size>.<Style>.<Weight>.<Width>.<CharSet> = \
    # <Face>.<Size>.<Style>.<Weight>.<Width>.<CharSet>
    # The <Face> must be the name (string/identifier) of a font face. The
    # <Style>, <Weight>, <Width>, and <CharSet> may either be a numeric
    # value or a predefined identifier/string. For example, both US7ASCII
    # and 1 are valid <CharSet> values, and refer to the same character set.
    # The <Size> dimension must be an explicit size, in points.
    # The following is a list of recognized names and their numeric
    # equivalents:
    # Styles Numeric value
    # Plain 0
    # Italic 1
    # Oblique 2
    # Underline 4
    # Outline 8
    # Shadow 16
    # Inverted 32
    # Overstrike 64
    # Blink 128
    # Weights Numeric value
    # Ultralight 1
    # Extralight 2
    # Light 3
    # Demilight 4
    # Medium 5
    # Demibold 6
    # Bold 7
    # Extrabold 8
    # Ultrabold 9
    # Widths Numeric value
    # Ultradense 1
    # Extradense 2
    # Dense 3
    # Semidense 4
    # Normal 5
    # Semiexpand 6
    # Expand 7
    # Extraexpand 8
    # Ultraexpand 9
    # Styles may be combined; you can use plus ("+") to delimit parts of a
    # style. For example,
    # Arial..Italic+Overstrike = Helvetica.12.Italic.Bold
    # are equivalent, and either one will map any Arial that has both Italic
    # and Overstrike styles to a 12-point, bold, italic Helvetica font.
    # All strings are case-insensitive in mapping. Font faces are likely to
    # be case-sensitive on lookup, depending on the platform and surface, so
    # care should be taken with names used on the right-hand side; but they
    # will be mapped case-insensitively.
    # See your platform documentation for a list of all supported character
    # sets, and available fonts.
    # BUGS:
    # o Should accept a RHS ratio (e.g., "Helv = Arial.2/3").
    #===============================================================
    [ Global ] # Put mappings for all surfaces here.
    # Mapping from MS Windows
    #Arial = helvetica
    #"Courier New" = courier
    #"Times New Roman" = times
    #Modern = helvetica
    #"MS Sans Serif" = helvetica
    #"MS Serif" = times
    #"Small Fonts" = helvetica
    "Sadvocra" = helvetica..Oblique.Medium
    "sAdC128d" = helvetica..Plain.Medium
    "CarolinaBar-B39-25F2" = helvetica...Bold
    #"IDAutomationSMICR" = helvetica
    # Mapping from Macintosh
    #"New Century Schlbk" = "new century schoolbook"
    #"New York" = times
    #geneva = helvetica
    #===============================================================
    [ Printer ] # Put mappings for all printers here.
    #===============================================================
    [ Printer:PostScript1 ] # Put mappings for PostScript level 1 printers here.
    # Sample Kanji font mappings
    ...UltraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...UltraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...ExtraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...ExtraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...Light..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...Light..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...DemiLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...DemiLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    .....JEUC = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
    .....SJIS = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..SJIS
    # Mapping from MS Windows
    #Roman = palatino
    #Script = "itc zapf chancery"
    #FixedSys = courier
    #System = helvetica
    # Mapping from Macintosh
    #"Avant Garde" = "itc avant garde gothic"
    # Mapping from Motif display
    #fixed = courier
    #clean = times
    #lucidatypewriter = courier
    #lucidabright = times
    #Arial = helvetica
    #"Courier New" = courier
    #"Times New Roman" = times
    # MICR font
    #helvetica=IDAutomationSMICR
    #===============================================================
    [ Printer:PostScript2 ] # Put mappings for PostScript level 2 printers here.
    # Sample Kanji font mappings
    ...UltraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...UltraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...ExtraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...ExtraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...Light..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...Light..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...DemiLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...DemiLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    .....JEUC = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
    .....SJIS = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..SJIS
    # Mapping from MS Windows
    #Roman = palatino
    #Script = "itc zapf chancery"
    #FixedSys = courier
    #System = helvetica
    # Mapping from Macintosh
    #"Avant Garde" = "itc avant garde gothic"
    # Mapping from Motif display
    #fixed = courier
    #clean = times
    #lucidatypewriter = courier
    #lucidabright = times
    #===============================================================
    [ Printer:PCL5 ] # Put mappings for PCL 5 printers here.
    helvetica = univers
    times = "cg times"
    clean = "antique olv"
    fixed = courier
    lucida = univers
    lucidabright = "cg times"
    lucidatypewriter = courier
    "new century schoolbook" = univers
    terminal = "line printer"
    #===============================================================
    [ Display ] # Put mappings for all display surfaces here.
    #===============================================================
    [ Display:Motif ] # Put mappings for Motif displays here
    # Fix for bug no 778937 DO NOT MOVE!
    Roman.....sjis = lucida.....jeuc
    Script.....sjis = lucidabright.....jeuc
    FixedSys.....sjis = fixed.....jeuc
    System.....sjis = lucida.....jeuc
    .....sjis = .....jeuc
    # Mapping from MS Windows
    Roman = lucida
    Script = lucidabright
    FixedSys = fixed
    System = lucida
    # Mapping from Macintosh
    "Avant Garde" = helvetica
    "Bookman" = times
    #===============================================================
    [ Display:CM ] # Put mappings for all CM displays here.
    # These are DEC-specific, and may need localization
    *..Blink = Blinking
    *..Inverted+Underline.Bold = ReverseBoldUnderline
    *..Inverted+Underline. = UnderlineReverse
    *..Underline.Bold = UnderlineBold
    *..Inverted.Bold = ReverseBold
    *...Bold = Bold
    *..Underline = Underline
    *..Inverted = Reverse
    * = Plain # The font of last resort
    # Oracle Report PDF sections
    # Three new sections have been added:
    # [ PDF ] - Used for font aliasing and Multibyte language support
    # [ PDF:Embed ] - Used for Type 1 font embedding
    # [ PDF:Subset ] - Used for True Type Font subsetting
    [ PDF ]
    # This example shows how to rename helvetica font to Courier font
    # helvetica = Courier
    # You can Alias specific styles of font as below
    # helvetica.12..Bold.. = Courier.14....
    # "Lucida Bright".12..Bold = "New Century Schoolbook"
    # Support for Far Eastern Languages:
    # PDF section can be additionally used to enable Multibyte language support
    # built into Reports. To use this feature with Adobe (r) Acrobat (c), you
    # need to install the Asian font pack available online at the Adobe web site.
    # .....SJIS = "HeiseiKakuGo-W5-Acro"
    # A Japanese report run with Shift-JIS character set is replaced to
    # HeiseiKakuGo-W5-Acro CID font.
    arial = Arial
    "arial" =Arial
    "arial narrow" = "Arial Narrow"
    "courier new" = "Courier New"
    tahoma = Tahoma
    "microsoft sans serif" = "Microsoft Sans Serif"
    "ms sans serif" = "MS Sans Serif"
    "times new roman" = "Times New Roman"
    [ PDF:Embed ]
    # This example shows how to embed Type 1 helvetica font into the PDF file:
    # helvetica = "helvetica.afm helvetica.pfa"
    # You need to specify the .afm file before the .pfa file.
    # The font files must exist in one of the folders specified in REPORTS_PATH.
    [ PDF:Subset ]
    # This example shows how to subset Arial True Type font into the PDF file:
    # helvetica = "Arial.ttf"
    # The True Type font files must exist in any one of the folders specified in
    # REPORTS_PATH.
    helvetica..Oblique.Medium = "Sadvocra.ttf"
    helvetica..Plain.Medium = "Sadc128d.ttf"
    helvetica...Bold = "CarolinaBar-B39-25F2-Normal.ttf"
    # NOTES ON PRECEDENCE OF PDF SECTIONS:
    # If you have entries for a same font in many PDF sections, then Font
    # Aliasing entry will take precedence over Font Embedding entry. Entries
    # in Font Embedding will take precedence over the entries in Font Subsetting
    # section.
    # Generic entries for a font must follow more specific entries for the same
    # font. For instance, if you want to subset helvetica Plain, helvetica Bold,
    # helvetica Italic and helvetica Bold-Italic fonts, your entries must be:
    # [ PDF:Subset ]
    # helvetica..Italic.Bold.. = "Arialbi.ttf"
    # helvetica...Bold.. = "Arialb.ttf"
    # helvetica..Italic... = "Ariali.ttf"
    # helvetica..... = "Arial.ttf"
    # If helvetica..... entry appears in the top of the list, all the styles of
    # helvetica font in the layout will be subset as helvetica Plain font.
    uiprint.txt
    # This is the printer configuration file.
    # The format for entries in this file is:
    # <OSName>:<Type>:<Version>:<Long Name>:<Description File>:
    # The first field is the name of the printer. It is the name you give
    # to lpq.
    # The second field is the type of driver to be used for the printer.
    # Currently, "PostScript" and "ASCII" are the only types of driver for
    # printers supported for now. But in future we may be supporting
    # drivers for other printer types.
    # The third field is the version of the type of printer driver. It's 1
    # or 2 for all PostScript printers; or 1 for ASCII printers.
    # The fourth field is a long description of the printer. This will be
    # presented to the user in the "Choose Printer" dialog window.
    # The fifth field is the printer description file to be used. For
    # PostScript printers it is the PPD file of the printer. (This field is
    # currently unused for ASCII printers.)
    # You can use default.ppd for the description file if you don't have a
    # PPD file for the printer, but it's best to use the correct PPD file
    # for the printer.
    # You must fill in at least the first two fields (printer name and
    # type). If the version is empty, it defaults to "1"; if the long name
    # or description are empty, they will default to empty strings. A
    # version of 1 or an empty long name is fine, but, for PostScript
    # printers, you must fill in the description file name.
    # You don't have to update this file to use any printer. The printer
    # chooser interface let's you select a printer and driver at run time,
    # as well as associate a printer description file to the printer. You
    # should list all printers accessible to users here, however, to
    # simplify selecting a printer.
    # The first entry in this file will be used as the default printer, if
    # no printer was selected in the operating system. (For Unix, the
    # following environment variables will be used in turn to get the
    # default printer's name:
    # TK2_PRINTER
    # ORACLE_PRINTER
    # PRINTER
    # For other platforms, see the Installation and User's Guide for your OS
    # for information on setting the default printer.)
    # WARNING: Do not define multiple entries for the same printer by the
    # same name. Selecting a printer with multiple entries will always result
    # in the first entry being selected. Instead, see if your OS allows you
    # to create an alias for the printer, and use an alias for the second type.
    # The following are examples; replace them with printers accessible from
    # this machine.
    # hqunx15:PostScript:1:The really slow printer on 12th floor:dcln03r1.ppd:
    # hqdev2_pos:PostScript:1:The fast ScriptPrinter in 1281:dclps321.ppd:
    # hqunx106:ASCII:1:LNO printer in the 11th floor printer room:none:
    # hqdev9:PostScript:1:Bogus printer for Reports ASCII QA:default.ppd:
    # hqunx121:PostScript:1:APO printer in 500OP for NLS QA:ok800lt1.ppd:
    # --- Note that the following two printers are aliases for the same
    # --- physical printer, with different names for different types:
    # tk2hp4m:PCL:5:HP printer in 771 for testing PCL:ui4.hpd:
    # tk2bw1ps:PostScript:1:HP printer in 771 for testing PS:hp4mp6_1.ppd:
    # Not A Printer:ASCII:1:Configure your uiprint.txt file:none:
    fontprinter:PostScript:1:printer for fonting fixes:default.ppd:
    datap462.ppd
    *PPD-Adobe: "4.0"
    *% Adobe Systems PostScript(R) Printer Description File
    *% Copyright 1987-1992 Adobe Systems Incorporated.
    *% All Rights Reserved.
    *% Permission is granted for redistribution of this file as
    *% long as this copyright notice is intact and the contents
    *% of the file is not altered in any way from its original form.
    *% End of Copyright statement
    *FormatVersion: "4.0"
    *FileVersion: "3.1"
    *PCFileName: "DATAP462.PPD"
    *LanguageVersion: English
    *Product: "(Dataproducts LZR 2665)"
    *PSVersion: "(46.2) 1"
    *ModelName: "Dataproducts LZR-2665"
    *NickName: "Dataproducts LZR-2665 v46.2"
    *% ==== Options and Constraints =====
    *OpenGroup: InstallableOptions/Options Installed
    OpenUI Option1/Optional Lower Tray: Boolean
    *DefaultOption1: False
    *Option1 True/Installed: ""
    *Option1 False/Not Installed: ""
    CloseUI: Option1
    *CloseGroup: InstallableOptions
    UIConstraints: Option1 False *InputSlot Lower
    *% General Information and Defaults ===============
    *ColorDevice: False
    *DefaultColorSpace: Gray
    *FreeVM: "178744"
    *LanguageLevel: "1"
    *VariablePaperSize: False
    *FileSystem: False
    *Throughput: "26"
    *Password: "0"
    *ExitServer: "
    count 0 eq {  % is the password on the stack?
    true
    dup % potential password
    statusdict /checkpassword get exec not
    } ifelse
    {  %  if no password or not valid
    (WARNING : Cannot perform the exitserver command.) =
    (Password supplied is not valid.) =
    (Please contact the author of this software.) = flush
    quit
    } if
    serverdict /exitserver get exec
    *End
    *Reset: "
    count 0 eq {  % is the password on the stack?
    true
    dup % potential password
    statusdict /checkpassword get exec not
    } ifelse
    {  %  if no password or not valid
    (WARNING : Cannot reset printer.) =
    (Password supplied is not valid.) =
    (Please contact the author of this software.) = flush
    quit
    } if
    serverdict /exitserver get exec
    systemdict /quit get exec
    (WARNING : Printer Reset Failed.) = flush
    *End
    *DefaultResolution: 300dpi
    *?Resolution: "
    save
    initgraphics
    0 0 moveto currentpoint matrix defaultmatrix transform
    0 72 lineto currentpoint matrix defaultmatrix transform
    3 -1 roll sub dup mul
    3 1 roll exch sub dup mul
    add sqrt round cvi
    ( ) cvs print (dpi) = flush
    restore
    *End
    *% Halftone Information ===============
    *ScreenFreq: "50.0"
    *ScreenAngle: "54.0"
    *DefaultScreenProc: Dot
    *ScreenProc Dot: " {dup mul exch dup mul add sqrt 1 exch sub } "
    *ScreenProc Line: "{ pop }"
    *ScreenProc Ellipse: "
    { dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
    *End
    *DefaultTransfer: Null
    *Transfer Null: "{ }"
    *Transfer Null.Inverse: "{ 1 exch sub }"
    *% Paper Handling ===================
    *% Use these entries to set paper size most of the time, unless there is
    *% specific reason to use PageRegion.
    *OpenUI *PageSize: PickOne
    *OrderDependency: 30 AnySetup *PageSize
    *DefaultPageSize: Letter
    *PageSize Letter: "statusdict /lettertray get exec letterR"
    *PageSize Letter.Transverse: "statusdict /lettertray get exec letter"
    *PageSize Legal: "statusdict /legaltray get exec"
    *PageSize Ledger: "statusdict /ledgertray get exec"
    *PageSize Statement: "statusdict /statementtray get exec"
    *PageSize Tabloid: "statusdict /11x17tray get exec"
    *PageSize A3: "statusdict /a3tray get exec"
    *PageSize A4: "statusdict /a4tray get exec a4R"
    *PageSize A4.Transverse: "statusdict /a4tray get exec a4"
    *PageSize A5: "statusdict /a5tray get exec"
    *PageSize B4: "statusdict /b4tray get exec"
    *PageSize B5: "statusdict /b5tray get exec b5R"
    *PageSize B5.Transverse: "statusdict /b5tray get exec b5"
    *CloseUI: *PageSize
    *% These entries will set up the frame buffer. Usually used with manual feed.
    *OpenUI *PageRegion: PickOne
    *OrderDependency: 40 AnySetup *PageRegion
    *DefaultPageRegion: Letter
    *PageRegion Letter: "letterR"
    *PageRegion Letter.Transverse: "letter"
    *PageRegion Legal: "legal"
    *PageRegion Ledger: "ledger"
    *PageRegion Tabloid: "11x17"
    *PageRegion A3: "a3"
    *PageRegion A4: "a4R"
    *PageRegion A4.Transverse: "a4"
    *PageRegion A5: "a5"
    *PageRegion B4: "b4"
    *PageRegion B5: "b5R"
    *PageRegion B5.Transverse: "b5"
    *PageRegion Statement: "statement"
    *CloseUI: *PageRegion
    *% The following entries provide information about specific paper keywords.
    *DefaultImageableArea: Letter
    *ImageableArea Letter: "20 16 591 775 "
    *ImageableArea Letter.Transverse: "18 19 593 773 "
    *ImageableArea Legal: "18 19 593 990 "
    *ImageableArea Ledger: "18 16 1205 775 "
    *ImageableArea Tabloid: "16 19 775 1206 "
    *ImageableArea A3: "18 21 823 1170 "
    *ImageableArea A4: "18 18 576 823 "
    *ImageableArea A4.Transverse: "18 19 577 823 "
    *ImageableArea A5: "18 19 401 577 "
    *ImageableArea B4: "19 15 709 1017 "
    *ImageableArea B5: "20 19 495 709 "
    *ImageableArea B5.Transverse: "20 19 495 709 "
    *ImageableArea Statement: "22 19 374 594 "
    *?ImageableArea: "
    save
    /cvp {(                ) cvs print ( ) print } bind def
    /upperright {10000 mul floor 10000 div} bind def
    /lowerleft {10000 mul ceiling 10000 div} bind def
    newpath clippath pathbbox
    4 -2 roll exch 2 {lowerleft cvp} repeat
    exch 2 {upperright cvp} repeat flush
    restore
    *End
    *% These provide the physical dimensions of the paper (by keyword)
    *DefaultPaperDimension: Letter
    *PaperDimension Letter: "612 792"
    *PaperDimension Letter.Transverse: "612 792"
    *PaperDimension Legal: "612 1008"
    *PaperDimension Ledger: "1224 792"
    *PaperDimension Tabloid: "792 1224"
    *PaperDimension A3: "842 1191"
    *PaperDimension A4: "595 842"
    *PaperDimension A4.Transverse: "595 842"
    *PaperDimension A5: "420 595"
    *PaperDimension B4: "729 1032"
    *PaperDimension B5: "516 729"
    *PaperDimension B5.Transverse: "516 729"
    *PaperDimension Statement: "396 612"
    *RequiresPageRegion All: True
    *OpenUI *InputSlot: PickOne
    *OrderDependency: 20 AnySetup *InputSlot
    *DefaultInputSlot: Upper
    *InputSlot Upper: "0 statusdict /setpapertray get exec"
    *InputSlot Lower: "1 statusdict /setpapertray get exec"
    *?InputSlot: "
    save
    [ (Upper) (Lower) ] statusdict /papertray get exec
    (get exec) stopped ( pop pop (Unknown)} if = flush
    restore
    *End
    *CloseUI: *InputSlot
    *OpenUI *ManualFeed: Boolean
    *OrderDependency: 20 AnySetup *ManualFeed
    *DefaultManualFeed: False
    *ManualFeed True: "statusdict /manualfeed true put"
    *ManualFeed False: "statusdict /manualfeed false put"
    *?ManualFeed: "
    save
    statusdict /manualfeed get {(True)}{(False)}ifelse = flush
    restore
    *End
    *CloseUI: *ManualFeed
    *DefaultOutputOrder: Reverse
    *% Font Information =====================
    *% This datap462.ppd is provided by fontsolutions.tar
    *DefaultFont: Courier
    *Font ArialMT: Standard "(001.004)" Standard ROM
    *Font Arial-ItalicMT: Standard "(001.004)" Standard ROM
    *Font Arial-BoldMT: Standard "(001.004)" Standard ROM
    *Font Arial-BoldItalicMT: Standard "(001.004)" Standard ROM
    *Font ArialNarrow: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-Italic: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-Bold: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-BoldItalic: Standard "(001.004)" Standard ROM
    *Font CourierNewMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-ItalicMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-BoldMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-BoldItalicMT: Standard "(001.004)" Standard ROM
    *Font Courier: Standard "(001.004)" Standard ROM
    *Font Courier-Bold: Standard "(001.001)" Standard ROM
    *Font Courier-BoldOblique: Standard "(001.001)" Standard ROM
    *Font Courier-Oblique: Standard "(001.001)" Standard ROM
    *Font Helvetica: Standard "(001.001)" Standard ROM
    *Font Helvetica-Bold: Standard "(001.001)" Standard ROM
    *Font Helvetica-BoldOblique: Standard "(001.001)" Standard ROM
    *Font Helvetica-Oblique: Standard "(001.001)" Standard ROM
    *Font IDAutomationSMICR: Standard "(001.001)" Standard ROM
    *Font Symbol: Special "(001.001)" Special ROM
    *Font Tahoma: Standard "(001.001)" Standard ROM
    *Font Tahoma-Bold: Standard "(001.001)" Standard ROM
    *Font Times-Bold: Standard "(001.001)" Standard ROM
    *Font Times-BoldItalic: Standard "(001.001)" Standard ROM
    *Font Times-Italic: Standard "(001.001)" Standard ROM
    *Font Times-Roman: Standard "(001.001)" Standard ROM
    *Font TimesNewRomanMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-BoldMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-BoldItalicMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-ItalicMT: Standard "(001.001)" Standard ROM
    *?FontQuery: "
    save
    /str 100 string dup 0 (fonts/) putinterval def
    count 1 gt
    exch dup str 6 94 getinterval cvs
    (/) print print (:) print
    FontDirectory exch known
    {(Yes)}{(No)} ifelse =
    {exit} ifelse
    }bind loop
    (*) = flush
    restore
    *End
    *?FontList: "
    FontDirectory { pop == } bind forall flush
    (*) = flush
    *End
    *% Printer Messages (verbatim from printer):
    *Message: "%%[ exitserver: permanent state may be changed ]%%"
    *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
    *Message: "\FontName\ not found, using Courier"
    *% Status (format: %%[ status: <one of these> ]%% )
    *Status: "idle"
    *Status: "busy"
    *Status: "waiting"
    *Status: "printing"
    *Status: "warming up"
    *Status: "PrinterError: BD check"
    *Status: "PrinterError: Paper jam"
    *Status: "PrinterError: Replace toner bag"
    *Status: "PrinterError: Warming up"
    *Status: "PrinterError: Timing error"
    *Status: "PrinterError: Fuser check"
    *Status: "PrinterError: Cover opened"
    *Status: "PrinterError: Toner empty"
    *Status: "PrinterError: Empty & reset output bin(s)"
    *Status: "PrinterError: Sorter or jogger error"
    *Status: "PrinterError: Scanner check"
    *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
    *Source: "serial9"
    *Source: "serial25"
    *Source: "AppleTalk"
    *Source: "Centronics"
    *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
    *PrinterError: "BD check"
    *PrinterError: "Paper jam"
    *PrinterError: "Replace toner bag"
    *PrinterError: "Warming up"
    *PrinterError: "Timing error"
    *PrinterError: "Fuser check"
    *PrinterError: "Cover opened"
    *PrinterError: "Toner empty"
    *PrinterError: "Empty & reset output bin(s)"
    *PrinterError: "Sorter or jogger error"
    *PrinterError: "Scanner check"
    *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
    *% Color Separation Information =====================
    *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
    *InkName: ProcessBlack/Process Black
    *InkName: CustomColor/Custom Color
    *InkName: ProcessCyan/Process Cyan
    *InkName: ProcessMagenta/Process Magenta
    *InkName: ProcessYellow/Process Yellow
    *% For 60 lpi / 300 dpi =====================================================
    *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
    *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
    *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
    *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
    *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
    *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *% For 53 lpi / 300 dpi =====================================================
    *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
    *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
    *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
    *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
    *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
    *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
    *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
    *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
    *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
    *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
    *% For "Dataproducts LZR 2665" version 46.2
    *% Produced by "GETapd.ps" version 2.0 edit 47
    *% Converted to meet 4.0 specification
    *% Last Edit Date: Sep 15 1992
    *% The byte count of this file should be exactly 011228 or 011572
    *% depending on the filesystem it resides in.
    *% end of PPD file for Dataproducts LZR 2665

    If you want to make platform independent use of fonts, you have to use the family, such as sans serif.
    Arial is owned by monotype (http://monotype.com/). You have to contact them if you wish to redistribute it with your application. They also might have a suitable version that renders nicely under linux.
    Pete

Maybe you are looking for

  • Library view in iPad

    In Android version i can choose what i want Grid View, Cover View or Both. Will it be available for iPad version? Also where's hotfix for UDID?

  • Add a new wiki page

    hi to all i want to share my new knowledge about to view a pdf inside firefox, so the right idea is to create a new archwiki page. unfortunately i have no time to create and correct its (i'm not english), so i post here , hoping that someone can crea

  • Lenovo G50-30 Unable to access BIOS settings after Windows recovery

    Hi I recently 'downgraded' a recently purchased Lenovo G50-30 with preinstalled Windows 8.1 to Windows 7 using a UEFI USB install on a GPT partition. I also updated the BIOS from A7CN40WW to the latest A7CN43WW and all was working fine. However, afte

  • A Control in a panel sometimes cannot show

    In my panel, there are some tables using Zplane to arrange, there is another control, a ring control in the panel, when loading and display panel, sometimes the ring control can be displayed, sometimes it can not be displayed, but I can see an imprin

  • Regarding .trg file from receiver file adapter

    Hi, My scenario is IDOC to File. i am using file adapter at receiver side. My client want me to generate .trg file at the end once i create .dat file. After that one .net program will run and it will check for .trg file and will pick up the .dat file