Data model with decimal point in aggregate functions

Hello

In the data model when a summary aggregate function type is created, the decimal fields are displayed with ',' instead of '. '.

Is it possible to tell displayed with decimal BEEP '. '?

I solve it by copying the CS attribute and create a new by an element of expresion.

Tags: Business Intelligence

Similar Questions

  • The Siebel data model with attribute mapping rule OPA?

    Hello

    Someone at - it has mapped siebel attribute of data model with the attribute rulefiles (rule of word doc file) (for example, p1, p2, p3... generated automatically)?

    I imported the siebel data model in OPM version 10.2. He created siebeldatmodel.xsrc file. all siebel attribute created with ID, model ID with the same name as the name attribute of siebel. but in the rulebook, we attributte with p1, p2, p3... names etc.

    The problem I am facing at I'm not able to map the attribute siebel generated with attribute (p1, p2, p3) rule book

    Any quick suggestions of experts will be very apperciable.


    Thank you

    There are a few simple rules for text attributes.

    1. unless the attribute belongs to the global level, the attribute must have the text of the entity included in its text. Thus, if the attribute belongs to the 'contact' it must understand that in its text. The possible options are:

    "* the contact work country."

    "the country of work of * the * contact."

    2. you cannot have two attributes with the same public name or the same text. So, you will get an error if you have two attributes with the same text "the country of work.

    Published by: frank.hampshire on July 27, 2011 13:50

    Published by: frank.hampshire on July 27, 2011 13:50

  • Binding data model with a & quot; for in & quot; loop

    I have a model of data representative of the form elements. The item element and shape the data model looks like this:
    < data_model >
    < item_1 > {item1.text} < / item_1 >
    < / data_model >

    < mx:DateField id = text = "{data_model.item1}" / "item1" >

    I retrieve data from a database in an associative array and convert it to an ArrayCollection collection as follows:

    formData = new ArrayCollection (ArrayUtil.toArray (re.result));

    Now, if you do:

    data_model.item_1 = formData ["item_1"];

    the text of the form element item1 updates I expect through the connection between the two. If I browse the table as such:

    for (var key: String in formData) {}
    data_model. Key = formData [key];
    }

    the model is updated, but the form element text field is not. I would love the convenience of iteration on the table instead of having to type by hand all the model elements. Ideas?

    Figured it out. Instead:

    data_model. Key = formData [key];

    follow these steps:

    data_model [key] = formData [key];

    So stupid

  • Data model with ImageView not displaying the image on OS10.1

    in the qml, I have a ListView with a DataModel.  The DataModel contains a label and ImageView.

    I put the ImageView and etiquette like this

    Entry QVariantMap;

    QFile file (picture_file);  file stored on the device
    QFileInfo fileInfo (file);
    QString qmlPath (fileInfo.absoluteFilePath ());

    the path of the file would like something like that

    /Accounts/1000/APPDATA/com.example.TestApp.testDev_e_TestApp4a417186/shared/photos/TestApp/MyPicture.PNG

    entry ['image'] = QUrl (qmlPath);
    entry ["name"] = "Text";

    It works on 10.0.9 but when I recompile the target app to 10.1 or the image is not displayed.  The label is.

    Also, if I set the imagesource to the current folder the image appears fine.

    entry ['image'] = "asset:///images/template.png";

    What is the correct way to set the imageSource for ImageView?

    I think your problem will be solved by file:// adding to the path of your file.

  • 28 segments with decimal point display

    How can I make a 28 segment display display a correct number of a digital input and display of up to 999,9 000.0? I have a display 7 segments that was easy, but I need a more efficient way to make a display of 28 segments.


  • Using java user-defined aggregate function

    Hello

    I'm trying to implement a with Java user-defined aggregate function.

    Here's the Code Javaclass:

    Import Java.util;
    Oracle.sql import. *;
    import java.sql. *;
    import Java.Math.BigDecimal;
    Oracle import. CartridgeServices.*;

    stored the context type

    public class StoredCtx_SecMax
    {
    private BigDecimal b_max;
    private BigDecimal b_secmax;

    public StoredCtx_SecMax()
    {
    b_max = new BigDecimal (0);
    b_secmax = new BigDecimal (0);
    }

    public void SchreibeMax (entry BigDecimal)
    {
    b_max = entry;
    }

    public void SchreibeSecMax (entry BigDecimal)
    {
    b_secmax = entry;
    }

    public BigDecimal LeseMax()
    {
    Return b_max;
    }

    public BigDecimal LeseSecMax()
    {
    Return b_secmax;
    }
    }

    implementation type

    / public class SecondMax_j implements SQLData
    {
    BigDecimal private key;

    Ultimate SUCCESS of static BigDecimal = new BigDecimal (0);
    Final static BigDecimal ERROR = new BigDecimal (1);


    Implement the SQLData interface.

    String sql_type;
    public String getSQLTypeName() throws SQLException
    {
    Return sql_type;
    }

    ' Public Sub readSQL (SQLInput stream, string typeName) throws SQLException
    {
    sql_type = typeName;
    key = stream.readBigDecimal ();
    }

    Public Sub writeSQL (SQLOutput stream) throws SQLException
    {
    stream.writeBigDecimal (key);
    }


    methods of the type that implements ODCITable interface

    public static BigDecimal ODCIAggregateInitialize (oracle.sql.STRUCT [] sctx)
    throws SQLException
    {
    Connection Conn = DriverManager.getConnection("jdbc:default:connection:");

    create a stored environment and store the result set in it
    StoredCtx_SecMax ctx = new StoredCtx_SecMax();

    context of registry stored with cartridge services
    Touch int;
    try {}
    key = ContextManager.setContext (ctx);
    } catch {} (EC CountException)
    error return;
    }

    Create an instance of StockPivotImpl and store the key of
    Object [] impAttr = new Object [1];
    impAttr [0] = new BigDecimal (key);
    StructDescriptor sd = new StructDescriptor ("SECONDMAX_J", conn);
    SCTX [0] = new STRUCT(sd,conn,impAttr);

    return a SUCCESS;
    }

    public BigDecimal ODCIAggregateIterate (BigDecimal input)
    throws SQLException
    {
    retrieve the context stored with the key
    CTX StoredCtx_SecMax;
    try {}
    CTX = (StoredCtx_SecMax) ContextManager.GetContext (Key.intValue ());
    } catch (InvalidKeyException ik) {}
    error return;
    }

    BigDecimal b_max;
    BigDecimal b_secmax;

    b_max = ctx. LeseMax();
    b_secmax = ctx. LeseSecMax();

    If (eingabe.compareTo (b_max) == 1)
    {
    CTX. SchreibeSecMax (b_max);
    CTX. SchreibeMax (input);
    }
    on the other
    {
    If (eingabe.compareTo (b_secmax) == 1)
    {
    CTX. SchreibeSecMax (input);
    }
    }

    return a SUCCESS;
    }

    public BigDecimal ODCIAggregateTerminate (double [] returnValue, int flags) throws SQLException {}

    retrieve the context stored with the key
    CTX StoredCtx_SecMax;
    try {}
    CTX = (StoredCtx_SecMax) ContextManager.clearContext (Key.intValue ());
    } catch (InvalidKeyException ik) {}
    error return;
    }

    returnValue [0] = ctx. LeseSecMax () .doubleValue ();

    CTX = null;

    return a SUCCESS;
    }


    public BigDecimal ODCIAggregateMerge (oracle.sql.STRUCT ctx2) throws SQLException {}


    return a SUCCESS;
    }
    }


    To implement this in the database, I use the following script:

    CREATE OR REPLACE TYPE IMPROG. SECONDMAX_J as object

    (
    INTEGER key,

    public static function ODCIAggregateInitialize (sctx IN OUT SECONDMAX_J)

    Return number
    IN THE JAVA LANGUAGE
    NAME "Java.Math.BigDecimal return from SecondMax_j.ODCIAggregateInitialize (oracle.sql.STRUCT []).
    ,



    Member ODCIAggregateIterate (self IN OUT SECONDMAX_J function,

    Number return value)
    IN THE JAVA LANGUAGE
    NAME "Java.Math.BigDecimal SecondMax_j.ODCIAggregateIterate return (Java.Math.BigDecimal).
    ,



    Member ODCIAggregateTerminate (self IN SECONDMAX_J function,

    Return returnValue NUMBER, flags in number number)
    IN THE JAVA LANGUAGE
    NAME "Java.Math.BigDecimal return of SecondMax_j.ODCIAggregateTerminate (double [], int).
    ,



    Member ODCIAggregateMerge (self IN OUT SECONDMAX_J function,

    CTX2 IN SECONDMAX_J) return number
    IN THE JAVA LANGUAGE
    NAME "Java.Math.BigDecimal SecondMax_j.ODCIAggregateMerge return (oracle.sql.STRUCT)".
    );
    /

    CREATE OR REPLACE FUNCTION F_SECONDMAX_J (NUMBER value) RETURN NUMBER

    PARALLEL_ENABLE

    AGGREGATION to the HELP of SecondMax_j;
    /



    When I now use the F_SECONDMAX_J function.

    "(Columnname) select F_SECONDMAX_J from Tablename t;

    It works perfectly and shows me the right result.

    Then I tried to implement the fusion part as follows:

    public BigDecimal ODCIAggregateMerge (oracle.sql.STRUCT ctx2) throws SQLException {}

    BigDecimal Key2 = null;

    BigDecimal ctx_max = null;
    BigDecimal ctx_secmax = null;

    BigDecimal ctx2_max = null;
    BigDecimal ctx2_secmax = null;

    retrieve the context stored with the key
    StoredCtx_SecMax ctx = null;
    try {}
    CTX = (StoredCtx_SecMax) ContextManager.GetContext (Key.intValue ());
    } catch (Exception e) {}

    }

    Object [] impAttr = ctx2.getAttributes ();

    Key2 = (BigDecimal) impAttr [0];

    retrieve the second context stored using the key2
    StoredCtx_SecMax ctx_sec = null;
    try {}
    ctx_sec = (StoredCtx_SecMax) ContextManager.GetContext (key2.intValue ());
    } catch (Exception e) {}

    }

    ctx_max = ctx. LeseMax();
    ctx_secmax = ctx. LeseSecMax();

    ctx2_max = ctx_sec. LeseMax();
    ctx2_secmax = ctx_sec. LeseSecMax();

    If (ctx2_max.compareTo (ctx_max) == 1)
    {
    If (ctx2_secmax.compareTo (ctx_secmax) == 1)
    {
    CTX. SchreibeSecMax (ctx2_secmax);
    }
    on the other
    {
    CTX. SchreibeSecMax (ctx_max);
    }
    CTX. SchreibeMax (ctx2_max);
    }
    on the other
    {
    If (ctx2_max.compareTo (ctx_secmax) == 1)
    {
    CTX. SchreibeSecMax (ctx2_max);
    }
    }

    return a SUCCESS;
    }

    When I now try the function

    "Select / * + parallel (t 4) * / F_SECONDMAX_J (Columnname) of Tablename t;

    I always get a pointer NULL-error because the variable key2 is always 0 and therefore the functions LeseMax() and LeseSecMax()
    in the second context 'ctx_sec' produce this error NULL pointer.

    To me it seems that each parallel process is the construction of an additional class for himself, which is not available are my main process.

    My question is now how it is possible to access the context of stored of the parallel process, so that I can combine the results.

    Thank you very much

    Josef

    Hi Josef,

    just guess that I've never implemented with java user-defined aggregate functions or support parallel execution:

    Maybe you have to implement ODCIAggregateWrapContext?

    + Application of ODCIAggregateWrapContext is optional. It should be implemented only when the external memory is used to hold the aggregative, context and the user-defined aggregate is evaluated in parallel (which is, stated as PARALLEL_ENABLE). If the user-defined aggregate is not evaluated in parallel, ODCIAggregateWrapContext is not necessary. +
    [http://docs.oracle.com/cd/B12037_01/appdev.101/b10800/dciaggfns.htm#i1004974]

    Report it to progress and success.

    Good luck
    Rainer Stenzel

  • Group data model does not

    Hello

    I am developing a revision update for my app BB10 stunts and I use a data model to pull in the elements of the application do not forget; the only problem I encounter is that I can't get the data model of the group work so that I can arrange the items by the first character instead the data are currently presented as Z - A, even if I could get it to display in A - Z would be enough, but what I am looking to achieve is to get the model to display in A - Z and then sort by the first character, while a header for each letter is displayed.

    Here is the list (QML) and my data model (C++)

    ListView {
                                dataModel: _noteBook.model
    
                                listItemComponents: ListItemComponent {
                                    type: "item"
    
                                    StandardListItem {
                                        title: ListItemData.title
                                        description: ListItemData.status
                                    }
                                }
    
                                onTriggered: {
                                    clearSelection()
                                    select(indexPath)
    
                                    _noteBook.setCurrentNote(indexPath)
    
                                    _noteBook.viewNote();
                                    navigationPane.push(noteViewer.createObject())
                                }
                            }
    

    NoteBook.cpp

    #include "NoteBook.hpp"
    
    #include "NoteEditor.hpp"
    #include "NoteViewer.hpp"
    
    #include 
    
    using namespace bb::cascades;
    using namespace bb::pim::notebook;
    
    //! [0]
    NoteBook::NoteBook(QObject *parent)
        : QObject(parent)
        , m_notebookService(new NotebookService(this))
        , m_model(new GroupDataModel(this))
        , m_noteViewer(new NoteViewer(m_notebookService, this))
        , m_noteEditor(new NoteEditor(m_notebookService, this))
    {
        // First Character grouping in data model
        m_model->setGrouping(ItemGrouping::FirstChar);
    
        // Ensure to invoke the filterNotes() method whenever a note has been added, changed or removed
        bool ok = connect(m_notebookService, SIGNAL(notebookEntriesAdded(QList)), SLOT(filterNotes()));
        Q_ASSERT(ok);
        ok = connect(m_notebookService, SIGNAL(notebookEntriesUpdated(QList)), SLOT(filterNotes()));
        Q_ASSERT(ok);
        ok = connect(m_notebookService, SIGNAL(notebookEntriesDeleted(QList)), SLOT(filterNotes()));
        Q_ASSERT(ok);
    
        // Fill the data model with notes initially
        filterNotes();
    }
    //! [0]
    
    //! [1]
    void NoteBook::setCurrentNote(const QVariantList &indexPath)
    {
        // Extract the ID of the selected note from the model
        if (indexPath.isEmpty()) {
            m_currentNoteId = NotebookEntryId();
        } else {
            const QVariantMap entry = m_model->data(indexPath).toMap();
            m_currentNoteId = entry.value("noteId").value();
        }
    }
    //! [1]
    
    //! [2]
    void NoteBook::createNote()
    {
        // Prepare the note editor for creating a new note
        m_noteEditor->reset();
        m_noteEditor->setMode(NoteEditor::CreateMode);
    }
    //! [2]
    
    //! [3]
    void NoteBook::editNote()
    {
        // Prepare the note editor for editing the current note
        m_noteEditor->loadNote(m_currentNoteId);
        m_noteEditor->setMode(NoteEditor::EditMode);
    }
    //! [3]
    
    //! [4]
    void NoteBook::viewNote()
    {
        // Prepare the note viewer for displaying the current note
        m_noteViewer->setNoteId(m_currentNoteId);
    }
    //! [4]
    
    //! [5]
    void NoteBook::deleteNote()
    {
        m_notebookService->deleteNotebookEntry(m_currentNoteId);
    }
    //! [5]
    
    bb::cascades::GroupDataModel* NoteBook::model() const
    {
        return m_model;
    }
    
    QString NoteBook::filter() const
    {
        return m_filter;
    }
    
    //! [6]
    void NoteBook::setFilter(const QString &filter)
    {
        if (m_filter == filter)
            return;
    
        m_filter = filter;
        emit filterChanged();
    
        // Update the model now that the filter criterion has changed
        filterNotes();
    }
    //! [6]
    
    NoteViewer* NoteBook::noteViewer() const
    {
        return m_noteViewer;
    }
    
    NoteEditor* NoteBook::noteEditor() const
    {
        return m_noteEditor;
    }
    
    //! [7]
    void NoteBook::filterNotes()
    {
        NotebookEntryFilter filter;
    
        // Use the entered filter string as search string
        filter.setSearchString(m_filter);
    
        const QList notes = m_notebookService->notebookEntries(filter);
    
        // Clear the old note information from the model
        m_model->clear();
    
        // Iterate over the list of notes
        foreach (const NotebookEntry ¬e, notes) {
            // Copy the data into a model entry
            QVariantMap entry;
            entry["noteId"] = QVariant::fromValue(note.id());
            entry["title"] = note.title();
            entry["status"] = NoteViewer::statusToString(note.status());
    
            // Add the entry to the model
            m_model->insert(entry);
        }
    }
    //! [7]
    

    NoteBook.hpp

    /* Copyright (c) 2012, 2013  BlackBerry Limited.
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
    
    #ifndef NOTEBOOK_HPP
    #define NOTEBOOK_HPP
    
    #include 
    #include 
    #include 
    
    #include 
    
    class NoteEditor;
    class NoteViewer;
    
    /**
     * @short The controller class that makes access to notes available to the UI.
     */
    //! [0]
    class NoteBook : public QObject
    {
        Q_OBJECT
    
        // The model that provides the filtered list of notes
        Q_PROPERTY(bb::cascades::GroupDataModel *model READ model CONSTANT);
    
        // The pattern to filter the list of notes
        Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged);
    
        // The viewer object for the current note
        Q_PROPERTY(NoteViewer* noteViewer READ noteViewer CONSTANT);
    
        // The editor object for the current note
        Q_PROPERTY(NoteEditor* noteEditor READ noteEditor CONSTANT);
    
    public:
        NoteBook(QObject *parent = 0);
    
    public Q_SLOTS:
        /**
         * Marks the note with the given @p indexPath as current.
         */
        void setCurrentNote(const QVariantList &indexPath);
    
        /**
         * Prepares the note editor to create a new note.
         */
        void createNote();
    
        /**
         * Prepares the note editor to edit the current note.
         */
        void editNote();
    
        /**
         * Prepares the note viewer to display the current note.
         */
        void viewNote();
    
        /**
         * Deletes the current note.
         */
        void deleteNote();
    
    Q_SIGNALS:
        // The change notification signal for the property
        void filterChanged();
    
    private Q_SLOTS:
        // Filters the notes in the model according to the filter property
        void filterNotes();
    
    private:
        // The accessor methods of the properties
        bb::cascades::GroupDataModel* model() const;
        QString filter() const;
        void setFilter(const QString &filter);
        NoteViewer* noteViewer() const;
        NoteEditor* noteEditor() const;
    
        // The central object to access the notebook service
        bb::pim::notebook::NotebookService* m_notebookService;
    
        // The property values
        bb::cascades::GroupDataModel* m_model;
        QString m_filter;
    
        // The controller object for viewing a note
        NoteViewer* m_noteViewer;
    
        // The controller object for editing a note
        NoteEditor* m_noteEditor;
    
        // The ID of the current note
        bb::pim::notebook::NotebookEntryId m_currentNoteId;
    };
    //! [0]
    
    #endif
    

    If something you can help me with then this would be very useful - if you need to see more of code then let me know too!

    Thanks in advance

    Try to add in constructor (after a call to setGrouping):

    QStringList keys;
    key<>
    m_model-> setSortingKeys (keys);

    May require alterations, I have not tried this compilation.

  • How to model a view based on a function table

    Hello

    I want to model a view in SQL Developer Data Modeler which is based on a function of painting as:

    table (function (a, b))

    When the function is a function table in pipeline. How is that possible?

    DM 3.3.0.734 SQL version

    Best regards

    Joop

    Hello

    In the Properties dialog box of the view that is displayed when you create the view, you can select the Report Builder queries (on the general page) button.

    In the query designer, you can enter the query text in the box above the buttons OK and apply, cancel, for example
    SELECT * FROM TABLE (FUNCTION (a, b))

    David

  • How to create a data model (other than using the Notepad/xml Localization)

    Hello gurus,

    We create data models with publishers of ordinary/xml Notepad.
    But, is it a std BI publisher tool which designs data models?

    Thank you
    Vinod

    Hi Vinod,

    BI Publisher 11g comes with DataModel Editior

    Please follow link below to understand the steps in detail

    http://www.adivaconsulting.com/Adiva-blog/item/12-bip11g-datamodel.html

    Thank you
    OMKAR

  • Problems of decimal Point with easy Excel Table VI and Excel 2007

    Hello

    We used the Excel simple table VI transfer to Excel 2002 LabView measurement data. Now, we have updated our Excel for Excel 2007. After that, there is something wrong at the time of the transfer of LabView to Excel. It seems that excel now ignore the decimal Point.

    Hi Martin,

    It is a known issue with LV, excel and the European regional settings.

    To work around the problem, do the following:

    To transfer the correct data to Excel, disconnected "use localized comma" in tools-> Frontpanel.

    You can use the "." instead of ',' when you enter numbers, for example "0.99" instead of "0.99".

    Stefan

  • Probable bug with decimal data type mapping in storage of XmlType relational object

    Hello

    I'm having a problem with what appears to be a bug me when Oracle creates the mapping object / relational schema for a data type "XSD: Decimal":

    I want to store geo codes 6 fractional digits, so I need to 3 digits to the left and 6 digits to the right of the decimal point.

    In the XSD data type restrictions, which would give me a 'fractionDigits' and a 'totalDigits' 9 6.

    Oracle must convert this number (9, 6).

    However, what Oracle made out that is a NUMBER (15.6)

    In order to get an Oracle to generate a NUMBER (9, 6), I need to qualify the 'totalDigits' 3, which is accepted by Oracle, but makes my schema invalid for virtually any other application XML, because it violates the official specs of XSD:

    http://www.w3.org/TR/xmlschema-2/#RF-fractionDigits:

    4.3.12.4 constraints on fractionDigits components of schema

    Schema component constraint: fractionDigits less than or equal to totalDigits

    It is an error for fractionDigits is greater than totalDigits.

    Is it possible to have the good totalDigits of 9 in my scheme and force the Oracle to translate that into NUMBER (9,6)?

    Maybe some attribute oraxdb I do not know yet?

    I'm surprised that this has not been found earlier.

    There was an announcement about this before, but he did not get the real answers:

    TotalDigits and fractionDigits to number conversion problem

    Here is my complete code example:

    -- Registering the schema
    BEGIN
    DBMS_XMLSCHEMA.REGISTERSCHEMA(
    'http://localhost/decimaltest.xsd',
    '<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:storeVarrayAsTable="true" oraxdb:schemaURL="http://localhost/decimaltest.xsd">
      <xs:element name="dataTypeTests" oraxdb:SQLName="ZZZ_DATA_TYPE_TEST" oraxdb:SQLType="ZZZ_DATA_TYPE_TEST_TYPE" oraxdb:defaultTable="" oraxdb:tableProps="TABLESPACE CATALOG NOLOGGING" oraxdb:maintainDOM="false">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="geoCode" type="geoCodeType" oraxdb:SQLName="GEO_CODE" oraxdb:maintainDOM="false"/>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      <xs:simpleType name="geoCodeType">
      <xs:restriction base="xs:decimal">
      <xs:totalDigits value="9"/>
      <xs:fractionDigits value="6"/>
      </xs:restriction>
      </xs:simpleType>
    </xs:schema>',
    gentables=>FALSE);
    end;
    /
      
      
    -- Display the auto-generated Oracle custom type
    describe ZZZ_DATA_TYPE_TEST_TYPE;
      
    -- Clean up
      
    begin
      DBMS_XMLSCHEMA.DELETESCHEMA(
      'http://localhost/decimaltest.xsd',
      DBMS_XMLSCHEMA.DELETE_CASCADE
      );
    end;
    /
    

    In the XSD data type restrictions, which would give me a 'fractionDigits' and a 'totalDigits' 9 6.

    Oracle must convert this number (9, 6).

    And that's where you're wrong.

    fractionDigits = 6 means at least 6 digits located to the right of the decimal point.

    This is different from the semantics of NUMBER (m, n), where n is exactly n fractional digits stored.

    123.456789 is a valid number by the XSD.

    123456789 is as valid a number, but of course it does not fit in a NUMBER (9.6).

    Oracle must create a NUMBER (15.6) to store any number of valid schema, it is a necessary condition.

    But this is not a sufficient condition: obviously, any number in a NUMBER (15.6) is not valid per the XSD, and this is where the schema validation occurs to enforce the constraints of two facets.

    Here are some examples:

    BEGIN

    DBMS_XMLSCHEMA. REGISTERSCHEMA)

    schemaURL-online "decimaltest.xsd."

    schemaDoc =>

    '

    http://www.w3.org/2001/XMLSchema"elementFormDefault ="qualified"xmlns:oraxdb ="http://xmlns.oracle.com/xdb"oraxdb:storeVarrayAsTable ="true"oraxdb:schemaURL ="http://localhost/decimaltest.xsd">" "

    '

    genTypes-online true

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    );

    end;

    /

    SQL > declare

    doc 2 xmltype: = xmltype)

    3'123456789"

    .createSchemaBasedXML('decimaltest.xsd') 4);

    5. start

    6 doc.schemaValidate ();

    7 end;

    8.

    PL/SQL procedure successfully completed.

    SQL > declare

    doc 2 xmltype: = xmltype)

    3'123456789.1'

    .createSchemaBasedXML('decimaltest.xsd') 4);

    5. start

    6 doc.schemaValidate ();

    7 end;

    8.

    declare

    *

    ERROR on line 1:

    ORA-31154: invalid XML document

    ORA-19202: an error has occurred in the processing of XML

    LSX-00215: value '123456789.1' whose total numbers exceed 9

    ORA-06512: at "SYS." XMLTYPE", line 354

    ORA-06512: at line 6

    SQL > declare

    doc 2 xmltype: = xmltype)

    3'12.3456789'

    .createSchemaBasedXML('decimaltest.xsd') 4);

    5. start

    6 doc.schemaValidate ();

    7 end;

    8.

    declare

    *

    ERROR on line 1:

    ORA-31154: invalid XML document

    ORA-19202: an error has occurred in the processing of XML

    LSX-00211: "12.3456789", including the fractional numbers exceeds 6

    ORA-06512: at "SYS." XMLTYPE", line 354

    ORA-06512: at line 6

  • Problem with my aggregate function

    Hello

    I tried to build my own global function in the chain, but I have a problem when I use it in my application. When I'm with her, he wrote ORA904, considering that this idenfifier exists. Do you know what is the problem?

    here my aggregate function:
    create or replace FUNCTION aggme (query_in in VARCHAR2) RETURN VARCHAR2 IS
        incoming    varchar2(4000);
        hold_result varchar2(4000);
        c sys_refcursor;
    Begin
        open c for query_in;
        loop
            fetch c into incoming;
            exit when c%notfound;
            hold_result := hold_result||','||incoming;
        end loop;
        return ltrim(hold_result,',');
    END;
    and here my request using my aggregate function aggme:
    select
      RES.LASTNAME as "LASTNAME",
      RES.FIRSTNAME as "FIRSTNAME",
      aggme('select NAME from PATHOLOGY where ID= RES.PATHOLOGY_ID') as "PATHOLOGY"
    from
      TBK_RESOURCE RES

    user539451 wrote:
    Hi BluShadow,

    I followed your advice and try to use the aggregation of clob. No problem to compile the function but when I use the clobagg to my query, is not aggregated. Perhaps, I don't use it correctly.

    select
    RES.PATIENT_LASTNAME as "LASTNAME",
    RES.PATIENT_FIRSTNAME as "FIRSTNAME",
    (select trim(',' from clobagg(name||',')) as "pathology" from pathology where ID= RES.PATHOLOGY_ID)
    FROM
    TBK_RESOURCE RES
    

    output, I have:

    FIRSTNAME. LASTNAME. PATHOLOGY
    TOTO | OTOT | ACB
    TOTO | OTOT | GB

    instead of having:
    TOTO OTOT ACB, GB

    Well, I don't have data to work with, but it works well for me...

    SQL> ed
    Wrote file afiedt.buf
    
      1  with t as (select 'TOTO' as FIRSTNAME, 'OTOT' as LASTNAME, 'PBR' as PATHOLOGY from dual union all
      2             select 'TOTO', 'OTOT', 'GB' from dual)
      3  --
      4  -- end of test data
      5  --
      6  select firstname, lastname
      7        ,trim(',' from clobagg(pathology||',')) as pathology
      8  from t
      9* group by firstname, lastname
    SQL> /
    
    FIRS LAST PATHOLOGY
    ---- ---- --------------------------------------------------------------------------------
    TOTO OTOT PBR,GB
    
  • Feature rounded with 2 decimal Point in JAVA Sciprt

    Hello

    I calculate using java script.
    I need the round function in JAVA script.

    My code is
    <script type="text/javascript">
         function getVal(pNd){
              return ($v(pNd)!= "")?parseFloat($v(pNd)):0;
         }
         function grossamt(){
            $s('P2_GROSS_AMT',getVal('P2_TAX_ON_AMT')-(getVal('P2_TAX_ON_AMT')*getVal('P2_TAX'))/100);
    $s('P2_GROSS_AMT_1',getVal('P2_TAX_ON_AMT')-(getVal('P2_TAX_ON_AMT')*getVal('P2_TAX'))/100);
    $s('P2_TAX_AMT',(getVal('P2_TAX_ON_AMT')*getVal('P2_TAX'))/100);
    $s('P2_TAX_AMT_1',(getVal('P2_TAX_ON_AMT')*getVal('P2_TAX'))/100);
    $s('P2_NET_AMOUNT',getVal('P2_GROSS_AMT')+getVal('P2_TAX_AMT'));
    $s('P2_NET_AMT_1',getVal('P2_GROSS_AMT_1')+getVal('P2_TAX_AMT_1'));     }
    </script>
    How to apply the function round with 2 decimal Point
     $s('P2_GROSS_AMT',getVal('P2_TAX_ON_AMT')-(getVal('P2_TAX_ON_AMT')*getVal('P2_TAX'))/100);
    How to get to Funtion in JAva script.

    Thank you

    Published by: Sophie on April 19, 2011 02:08

    It would be more readable if you create a variable and do

    var  x = Your complex formula to get the value
    
       x = Math.round( x * 100)/100;
    

    Kind regards
    Shijesh

  • I can create forms in the designer, but when I use a data model, I can't interact with the form

    In LiveCycle Designer ES2 I can create a form and then preview and interact with the form.

    This guess I just build objects by dragging the pieces pre-made object on the form (for example, text field) - which I can name, wrap in subforms something - I can add actions and all is well.  When I preview the PDF, I can enter data in the fields, click on the radio buttons, making things appear that everything is great.

    But LC ES2 is based on the data driven development model by, so in my case I need a form guide as well as the form - so it's better to have a model of data created in the first place - and then create the form based on the data model - then build guide form based on the data model - it is also a good idea, and I'm cool with that.

    My problem is that when I'm building a data model (just for a quick and dirty development demo, not associated with services back-end or databases) and I create the form based on the data model - I can't interact with all objects in the preview pane form - further when I launch the workspace and call my process that contains the form - I even can't interact with the form.

    What I am doing wrong?

    Summons - I can create a form and interact with it - but If I start with a data model and generate the form based on that - I can't interact with the form (option buttons click-I can not enter data in form fields - etc) what causes this?  What should I do to use a data model and be able to create an interactive form? >

    Does anyone know what causes this problem?  It's driving me crazy.

    Thank you-

    Ben

    You do not hurt anuthing. It works as advertised. When you generate a Guide and work with a fml data model designer you will only create a static non-fillable PDF file. This is because when you import the model in the designer of the model must be turned in a schema. The schema may not represent constraints and validations can be encoded in the model. The only thing that can be maintained is the structure, so Designer forbids you to buidl an interactive form.

    If you know what you're doing, you could take the data it is generated from the Guide and merge on a XDP template file that you create (unless he models in a first time - you can use the sample XML data as a starting point) using LC forms. Edowmside, is that if there are constraints and rules you would have to code them in the model as well. That's the way it is now there, but it will improve over time, as more of the ability of the model is exposed to the XFA world.

    Hope that helps

    Paul

  • When you use Excel or my Peachtree Accounting program, entered digital as "$152(32 in the accounting package or the same number with a square symbol as the decimal point in Excel.)". No idea what I should check first?

    When you use Excel or my Peachtree Accounting program, entered digital as "$152(32 in the accounting package or the same number with a square symbol as the decimal point in Excel.)".  No idea what I should check first?

    Thank you for visiting the website of Microsoft Windows Vista Community. The question you have posted is related to Office Excel and would be better suited to the office community. Please visit the link below to find a community that will support what ask you

    http://www.Microsoft.com/Office/Community/en-us/default.mspx?d=1

    Mike - Engineer Support Microsoft Answers
    Visit our Microsoft answers feedback Forum and let us know what you think.

Maybe you are looking for

  • Some details on caching in firefox

    Basically, I want to have all the cache in RAM instead of my SSD.[I have disabled "disk cache", do I have to disable 'hide offline' too?]1 setting browser.cache.memory.capacity - 1, I noticed that he was staring at 32768 KB. Would it automatically in

  • failures after you download the update of the EOS 5 computers xp...

    pretty much says it sll. I have 2 desktop computer and top of map 2 and 4 neighbors 4, that after loading the UPDATE of EOS seems to hang in very slow motionand no longe do work at an acceptable level on the step 2 days that I tried to help everyone,

  • Random messages "you must be authorized to perform this action."

    When you try to open or move files or folders, I randomly get a message access denied, telling me that I need permission to perform this action. Completely random, sometimes happens with new files that I just downloaded or of old files that I have di

  • Java (TM) platform SE binary has stopped working

    Hi all I have a problem installing Forge for Minecraft 1.10.2. After the loading of the Forge, version profile, while the game load in the "MOJANG" screen displays a popup "Java (TM) platform SE binary has stopped working." Close the program or searc

  • 9800 torch Touch Screen and Trackpad problem

    Our application adds buttons only on devices that support the touch screen. The reason why we do this is because if you have a selected item in a list field and press the getSelectedIndex returns the correct index on a touchscreen. Add this button on