No rows in user_nested_tables after registerSchema
Hi,
i have registered a schema and then i get no rows from table user_nested_tables. Does anybody have an idea?
Here is the code:
DECLARE
-- vSchemaUrl VARCHAR2(256) := 'http://llv15.gv.local:8082//home/FP/Source/xsd/ePassAntrag.xsd';
vSchemaUrl VARCHAR2(256) := '/home/FP/Source/xsd/ePassAntrag.xsd';
BEGIN
dbms_xmlSchema.deleteSchema(vSchemaUrl, 4);
COMMIT;
END;
DECLARE
vRes BOOLEAN;
vSchemaPath VARCHAR2(256) := '/home/FP/Source/xsd/ePassAntrag.xsd';
vXmlSchema XMLTYPE := xmlType(
'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.llv.li" targetNamespace="http://www.llv.li" xmlns:xdb="http://xmlns.oracle.com/xdb" xdb:storeVarrayAsTable="true" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="PassAntrag" type="tns:PassAntragTyp" xdb:defaultTable="FP_EPASS_PASS_ANTRAEGE"/>
<xs:complexType name="PassAntragTyp" xdb:SQLType="FP_EPASS_PASS_ANTRAEGE_T" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="Antrag" type="tns:AntragTyp" xdb:SQLName="ANTRAG_TYP"/>
<xs:element name="Person" type="tns:PersonTyp" xdb:SQLName="PERSON_TYP"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AntragTyp" xdb:SQLType="FP_EPASS_ANTRAEGE_T" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="UUID" default="0" nillable="false" xdb:SQLName="UUID" xdb:SQLType="NUMBER">
<xs:annotation>
<xs:documentation>UUID 38-stellig</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="99999999999999999999999999999999999999"/>
<xs:totalDigits value="38" fixed="true"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DocTyp" default="PASS" nillable="false" xdb:SQLName="DOC_TYP">
<xs:annotation>
<xs:documentation>Typ des Dokuments</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2" fixed="false"/>
<xs:maxLength value="4" fixed="false"/>
<xs:enumeration value="ID"/>
<xs:enumeration value="KOMB"/>
<xs:enumeration value="PASS"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Antragsgrund" default="ABL" nillable="false" xdb:SQLName="ANTRAGSGRUND">
<xs:annotation>
<xs:documentation>Grund des Antrags: Erstantrag(EAN), Ersatzantrag für abgelaufene und beschädigte Pässe(ABL), Verlustantrag(VER), Namensänderung(NAM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3" fixed="false"/>
<xs:maxLength value="3" fixed="false"/>
<xs:enumeration value="EAN"/>
<xs:enumeration value="ABL"/>
<xs:enumeration value="VER"/>
<xs:enumeration value="NAM"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AntragDatum" nillable="false" xdb:SQLName="ANTRAG_DATUM">
<xs:annotation>
<xs:documentation>Datum des Antrags im Format DD.MM.YYYY</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="10"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AntragOrt" default="*" nillable="false" xdb:SQLName="ANTRAG_ORT">
<xs:annotation>
<xs:documentation>Ort des Antrags</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PersonTyp" xdb:SQLType="FP_EPASS_PERSONEN_T" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="Name" nillable="false" xdb:SQLName="NANE">
<xs:annotation>
<xs:documentation>Name der Person</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Vorname" nillable="false" xdb:SQLName="VORNAME">
<xs:annotation>
<xs:documentation>Vorname der Person</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Geburtsdatum" default="31.12.4712" nillable="false" xdb:SQLName="GEBURTSDATUM">
<xs:annotation>
<xs:documentation>Geburtsdatum der Person im Format DD.MM.YYYY</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="10"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Geschlecht" default="M" nillable="false" xdb:SQLName="GESCHLECHT">
<xs:annotation>
<xs:documentation>Geschlecht der Person M | W</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="1"/>
<xs:enumeration value="M"/>
<xs:enumeration value="W"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Passtitel" nillable="false" xdb:SQLName="PASSTITEL">
<xs:annotation>
<xs:documentation>Passtitel der Person </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Groesse" default="*" nillable="false" xdb:SQLName="GROESSE">
<xs:annotation>
<xs:documentation>Grösse der Person in cm, * bei Kindern</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" fixed="false"/>
<xs:maxLength value="3" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Strasse" default="*" nillable="false" xdb:SQLName="STRASSE">
<xs:annotation>
<xs:documentation>Amtliche Adresse der Person : Strasse</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" fixed="false"/>
<xs:maxLength value="60" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Hausnummer" default="*" nillable="false" xdb:SQLName="HAUSNUMMER">
<xs:annotation>
<xs:documentation>Amtliche Adresse der Person : Hausnummer</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" fixed="false"/>
<xs:maxLength value="10" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PLZ" default="*" nillable="false" xdb:SQLName="PLZ">
<xs:annotation>
<xs:documentation>Amtliche Adresse der Person : PLZ</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" fixed="false"/>
<xs:maxLength value="12" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ort" default="*" nillable="false" xdb:SQLName="ORT">
<xs:annotation>
<xs:documentation>Amtliche Adresse der Person : Ort</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" fixed="false"/>
<xs:maxLength value="60" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LandIso316613" default="LIE" nillable="false" xdb:SQLName="LAND_ISO_3166_13">
<xs:annotation>
<xs:documentation>Amtliche Adresse der Person : Kurzzeichen ISO 3166 1 3 des Landes</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3" fixed="false"/>
<xs:maxLength value="3" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Telefon" default="" nillable="false" xdb:SQLName="TELEFON">
<xs:annotation>
<xs:documentation>TelefonNr der Person für Erreichbarkeit zu Bürozeiten</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" fixed="false"/>
<xs:maxLength value="30" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Email" default="" nillable="false" xdb:SQLName="EMAIL">
<xs:annotation>
<xs:documentation>Email Adresse der Person für Erreichbarkeit</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" fixed="false"/>
<xs:maxLength value="255" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Versand" default="EDA" nillable="false" xdb:SQLName="VERSAND">
<xs:annotation>
<xs:documentation>Art des Pass-Versands</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3" fixed="false"/>
<xs:maxLength value="3" fixed="false"/>
<xs:enumeration value="EDA"/>
<xs:enumeration value="WHG"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Lieferadresse" default="" nillable="false" xdb:SQLName="LIEFERADRESSE">
<xs:annotation>
<xs:documentation>Lieferadresse des Pass-Versands</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" fixed="false"/>
<xs:maxLength value="512" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BesKennz" default="" nillable="true" xdb:SQLName="BES_KENNZ">
<xs:annotation>
<xs:documentation>Besondere Kennzeichen der Person</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" fixed="false"/>
<xs:maxLength value="200" fixed="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NameVornameVater" default="" nillable="false" xdb:SQLName="NAME_VORNAME_VATER">
<xs:annotation>
<xs:documentation>Name und Vorname des Vaters</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LedNameVornameMutter" default="" nillable="false" xdb:SQLName="LED_NAME_VORNAME_MUTTER">
<xs:annotation>
<xs:documentation>Lediger Name und Vorname der Mutter</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NameVornameEhepartner" default="" nillable="false" xdb:SQLName="NAME_VORNAME_EHEPARTNER">
<xs:annotation>
<xs:documentation>Name und Vorname des Ehepartners</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NameVornameVertreter" default="" nillable="true" xdb:SQLName="NAME_VORNAME_VERTRETER">
<xs:annotation>
<xs:documentation>Name und Vorname des gesetzlichen Vertreters</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FotoID" nillable="true" xdb:SQLName="FOTO_ID" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Foto der Person für die ID (ID: nicht optional; muss mit SafeID abgesprochen werden)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="FotoPass" nillable="true" xdb:SQLName="FOTO_PASS" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Foto der Person für den Pass (PASS: nicht optional; muss mit SafeID abgesprochen werden)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="SignID" nillable="true" xdb:SQLName="SIGN_ID" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Unterschrift der Person für die ID (ID: nicht optional; muss mit SafeID abgesprochen werden)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="SignPass" nillable="true" xdb:SQLName="SIGN_PASS" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Unterschrift der Person für den Pass (PASS: nicht optional; muss mit SafeID abgesprochen werden)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="SignVertreter" nillable="true" xdb:SQLName="SIGN_VERTTRETER" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Unterschrift des gestzlichen Vertreters</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="FpDG3" nillable="true" xdb:SQLName="FP_DG3" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Fingerprint der Person [DG3] (KOMB und PASS: nicht optional)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="FpFinger1" nillable="true" xdb:SQLName="FP_FINGER1" xdb:SQLType="NUMBER">
<xs:annotation>
<xs:documentation>Fingerprint der Person [Finger1] (KOMB und PASS: nicht optional) 1=r.Daumen;2=r.Zeige;3=r.Mittel;4=r.Ring;(5=r.Klein); 6=l.Daumen;7=l.Zeige;8=l.Mittel;9=l.Ring;10=l.Klein;20=kein Finger</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpQualitaet1" nillable="true" xdb:SQLName="FP_QUALITAET1" xdb:SQLType="NUMBER">
<xs:annotation>
<xs:documentation>Fingerprint der Person [Qualität1] (KOMB und PASS: nicht optional)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpCaptureDevice1" nillable="true" xdb:SQLName="FP_CAPTURE_DEVICE1" xdb:SQLType="VARCHAR2">
<xs:annotation>
<xs:documentation>Fingerprint der Person [CaptureDevice1]</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpWSQ1" nillable="true" xdb:SQLName="FP_WSQ1" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Fingerprint der Person [WSQ1]</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
<xs:element name="FpFinger2" nillable="true" xdb:SQLName="FP_FINGER2" xdb:SQLType="NUMBER">
<xs:annotation>
<xs:documentation>Fingerprint der Person [Finger2] (KOMB und PASS: nicht optional) 1=r.Daumen;2=r.Zeige;3=r.Mittel;4=r.Ring;(5=r.Klein); 6=l.Daumen;7=l.Zeige;8=l.Mittel;9=l.Ring;10=l.Klein;20=kein Finger</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpQualitaet2" nillable="true" xdb:SQLName="FP_QUALITAET2" xdb:SQLType="NUMBER">
<xs:annotation>
<xs:documentation>Fingerprint der Person [Qualität2]</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpCaptureDevice2" nillable="true" xdb:SQLName="FP_CAPTURE_DEVICE2" xdb:SQLType="VARCHAR2">
<xs:annotation>
<xs:documentation>Fingerprint der Person [CaptureDevice2]</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FpWSQ2" nillable="true" xdb:SQLName="FP_WSQ2" xdb:SQLType="CLOB">
<xs:annotation>
<xs:documentation>Fingerprint der Person [WSQ2]</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
BEGIN
IF dbms_xdb.existsResource(vSchemaPath) THEN
dbms_xdb.deleteResource(vSchemaPath);
END IF;
vRes := dbms_xdb.createResource(vSchemaPath, vXmlSchema);
COMMIT;
END;
DECLARE
vSchemaPath VARCHAR2(256) := '/home/FP/Source/xsd/ePassAntrag.xsd';
vSchemaUrl VARCHAR2(256) := 'http://llv15.gv.local:8082//home/FP/Source/xsd/ePassAntrag.xsd';
BEGIN
dbms_xmlschema.registerSchema(vSchemaPath, xdbURIType(vSchemaPath).getClob(),
TRUE, TRUE, FALSE, FALSE);
COMMIT;
END;
select table_name
from user_nested_tables;Many thanks in advance.
Regards,
Martin
GENTABLES is false ?
PROCEDURE REGISTERSCHEMA
Argument Name Type In/Out Default?
SCHEMAURL VARCHAR2 IN
SCHEMADOC CLOB IN
LOCAL BOOLEAN IN DEFAULT
GENTYPES BOOLEAN IN DEFAULT
GENBEAN BOOLEAN IN DEFAULT
GENTABLES BOOLEAN IN DEFAULT
FORCE BOOLEAN IN DEFAULT
OWNER VARCHAR2 IN DEFAULT
ENABLEHIERARCHY BINARY_INTEGER IN DEFAULT
OPTIONS BINARY_INTEGER IN DEFAULT
SCHEMAOID RAW IN DEFAULT
IMPORT_OPTIONS BINARY_INTEGER IN DEFAULTNested tables are related to the top level table. They will only be generated when the top level table is generated. THe top level table is only generated when GENTABLES is true, or when a table is created using a CREATE TABLE with an XMLSCHMA clause
Similar Messages
-
No rows are loaded after the execution
Which product and version are you using?
ans client 9.2.0.2.8 and db 9.2.0.4
- On which platform and version is it installed?
windows 2000
- Is this part of Oracle Applications (i.e. Financials, Inventory, etc.)?
its part of 9ids. I installed data warehouse in saperate home
- Has this ever worked correctly? If yes, what has changed?
No. This is my first project and we are evaluating oracle over other warehouse
product.
All is working except the rows are not loaded. Mapping is validated correctly. Deployed successfully, executed successfully from the deployment manager but 0
rows are loaded. You get a small pop up window after execute of a mapping. Log message
at the end of the execute shows insert 0, update 0, delete 0 and merged 0.
The mapping consists of two table operators. One from source table from differenct schema and one for target. There is nothing so complicated here. All I want is
to copy the data from source to target table through warehouse. My question really what do I need to insert the record? Once the mapping is defined, deployed and executed should not the rows be loaded?
Everything else is working. Like creation of target tables and so on.
The source operator properties are bound_name-eqpthist_qtr, primary source-no loading type-Insert.
The target has bouondname-test, primary source-no, loading type delete/insert.after the execution there errors whatsoever. It executes with out any error.
Its working when I replace the source table with one from the target schema itself. I mean a copied table to target using slqplus. I uses any tables under its schema itself then all the rows are inserted. Its not working when copying/referencing from another source schema. THe target user is given select any table, all object privileges of the source table, even dba role. Still no rows are loaded.
the target has DBA,CONNECT,RESOURCE,AQ_USER_ROLE, WB_A_VLSIOWRUN, WB_D_VLSIOWRUN, WB_R_VLSIOWRUN, WB_U_VLSIOWRUN, SELECT_CATALOG_ROLE.
The target has system privs as
CREATE VIEW
CREATE TABLE
ALTER SESSION
CREATE SESSION
CREATE SYNONYM
CREATE TRIGGER
CREATE ANY TYPE
CREATE SEQUENCE
CREATE SNAPSHOT
CREATE DIMENSION
CREATE INDEXTYPE
CREATE PROCEDURE
SELECT ANY TABLE
DROP ANY DIRECTORY
DROP PUBLIC SYNONYM
CREATE ANY DIRECTORY
CREATE DATABASE LINK
GLOBAL QUERY REWRITE
UNLIMITED TABLESPACE
CREATE PUBLIC SYNONYM
SELECT ANY DICTIONARY
CREATE PUBLIC DATABASE LINK
and the following privs on the source table as well
SELECT
ALTER
DELETE
INDEX
INSERT
UPDATE
REFERENCES
ON COMMIT REFRESH
QUERY REWRITE
DEBUG
FLASHBACK -
How to hide row from table after logical delete
Hello.
I am using Jdeveloper 11.1.1.3.0, ADF BC and ADF Faces.
I want to implement Logical delete in my application.
In my Entity object I have Deleted attribute and I override the remove() method in my EntityImpl class.
@Override
public void remove()
setDeleted("Y");
}and I added this condition to my view object
WHERE NVL(Deleted,'N') <> 'Y'in my page I have a table. this table has a column to delete each row. I dragged and drop RemoveRowWithKey action from the data control
and set the parameter to *#{row.rowKeyStr}* .
I what I need is this:
when the user click the delete button I want to hide the roe from the table. I tried to re-execute the query after the delete but the row is still on the page. Why execute query does not hide the row from the screen.
here is the code I used for delete and execute query
public String deleteLogically()
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("removeRowWithKey");
Object result = operationBinding.execute();
DCBindingContainer dc=(DCBindingContainer) bindings;
DCIteratorBinding iter=dc.findIteratorBinding("TakenMaterialsView4Iterator");
iter.getCurrentRow().setAttribute("Deleted", "Y");
//iter.getViewObject().executeQuery();
iter.executeQuery();
return null;
}as you see I used two method iter.getViewObject().executeQuery(); and iter.executeQuery(); but the result is same.Thank you Jobinesh.
I used this method.
@Override
protected boolean rowQualifies(ViewRowImpl viewRowImpl)
Object attrValue =viewRowImpl.getAttribute("Deleted");
if (attrValue != null) {
if ("Y".equals(attrValue))
return false;
else
return true;
return super.rowQualifies(viewRowImpl);
}But I have one drawback for using it, and here is the case:
If the user clicks the delete button *(no commit)* the row will be hidden in the table, but when the user click cancel changes the row is not returned since it is not returned due to the rowQualifies(ViewRowImpl viewRowImpl) (the Deleted attribute is set to "N" now).
here is the code for delete and cancel change buttons
public String deleteLogically()
BindingContainer bindings = getBindings();
OperationBinding operationBinding =
bindings.getOperationBinding("removeRowWithKey");
Object result = operationBinding.execute();
DCBindingContainer dc = (DCBindingContainer)bindings;
DCIteratorBinding iter =
dc.findIteratorBinding("TakenMaterialsView4Iterator");
iter.getCurrentRow().setAttribute("Deleted", "Y");
iter.executeQuery();
AdfFacesContext adfFacesContext = AdfFacesContext.getCurrentInstance();
adfFacesContext.addPartialTarget(this.getTakenMaterialsTable());
return null;
public String cancelChanges(String iteratorName)
System.out.println("begin cancel change");
BindingContainer bindings =
BindingContext.getCurrent().getCurrentBindingsEntry();
DCBindingContainer dc = (DCBindingContainer)bindings;
DCIteratorBinding iter =
(DCIteratorBinding)dc.findIteratorBinding(iteratorName);
ViewObject vo = iter.getViewObject();
//create a secondary RowSetIterator to avoid disturbing row currency
RowSetIterator rsi = vo.createRowSetIterator(null);
//move the currency to the slot before the first row.
rsi.reset();
while (rsi.hasNext())
currentRow = rsi.next();
currentRow.setAttribute("Deleted", "N");
rsi.closeRowSetIterator();
iter.executeQuery();
AdfFacesContext adfFacesContext = AdfFacesContext.getCurrentInstance();
adfFacesContext.addPartialTarget(this.getTakenMaterialsTable());
return null;
}as example, if the user initially has 8 rows, then deleted 2 rows, in cancelChanges only 6 rows appears. and the deleted rows are not there??
any suggestion? -
Select new row in tree after add
In quite a few of our pages in our application we have trees and tree tables that can have rows added through separate popup windows. After the user successfully adds the record and closes the popup the tree/treetable is refreshed properly, however we also want the new node/row to be selected, and also make sure that it's parent is expanded. We've found a variety of examples of logic that does something close or sort of close, but we're having difficulties. Is there any easy or even moderate way to find a node/row in a tree based on the VO's primary key or some other value? I think I know how to make the found node/row selected and it's parent expanded, but how do I find the node/row? I keep running into issues because the tree isn't necessarily completely expanded or because the range of rows in the iterator isn't huge and the new row isn't in the initial range of rows pulled back.
Hi,
I just posted a demo and source code on my blog: Auto select New Item in Tree component
In above example i use loopAndFind() custom function.
Hope it helps!
Mariush T.
Blog: http://mariusht.com/blog/ -
Default value for first row in table after row has rendered
I have a master-detail type page where the first row in the detail table appears with no values when the page first renders. After the user enters some data in the master area, the default value is available. I then use something like this to set the default in one column of the first row:
MyVOImpl vo = (MyVOImpl)am.getMyVO1();
MyRowImpl voRow = (MyRowImpl)vo.first();
voRow.setMyAttribute("some value");
When I do this and run the code in the debugger, I can see that the default value is stored somewhere in the row object. However, the value is not displayed in the screen.
What must I do to get the default value to display after the user has tabbed out of the master data area, and before the user attempts to enter data in the row?Hi. Thanks again.
Here is more detail of the code:
if (pageContext.isLovEvent())
* Form was submitted because the user selected
* a value from the LOV modal window,
* or because the user tabbed out of the LOV input.
* This code executes when the event is either
* LOV_UPDATE or LOV_VALIDATE
String lovInputSourceId = pageContext.getParameter(SOURCE_PARAM)
// Find out the result values of the LOV.
Hashtable lovResults =
pageContext.getLovResultsFromSession(lovInputSourceId);
// Find out which LOV input triggered the event.
if (lovInputSourceId.equals("myLovItemId"))
String myDefaultVar = null;
if (lovResults != null)
myDefaultVar = "some stuff " + (String)lovResults.get("myResultItemId")
if (myDefaultVar != null && myDefaultVar != "") // yes, this is always true in this case
// now set the default for the first line.
// Added lines will be defaulted by the
// EO.create() method.
MyVOImpl myVo = (MyVOImpl)am.getMyVO1();
MyVORowImpl myVoRow = (MyVORowImpl)myVo.first();
myVoRow.setAttribute("myRowItemId", myDefaultVar); // THIS LINE DOES NOT CAUSE DISPLAY TO CHANGE
The problem, as noted in the code, is that setAtrribute() does not cause the default value to display in the field.
What can cause this, and what can fix it?
Edited by: user522137 on Nov 9, 2010 12:06 PM -
How to get iterator to set the row key programmatically after a refresh
I have a master detail page as master form with navigation and a detail table. When i create a new master record in a specific form i want to return to the master detail after the cache is refreshed and set the currency (selected row) to the last row.
I override the persistEntity action method and get the bindings and bindingOperation but i didn't find a way to get the iterator to set it to the last row (the new inserted row).
Any idea is welcome ?
Thanks for helpfound it in SRDemo ... for the ones that will have same difficulty to find it !
public String cancelButton_action() {
//Reset the product list to the first item
DCIteratorBinding productIter =
((DCBindingContainer)getBindings()).findIteratorBinding("findAllProductIter");
productIter.setCurrentRowIndexInRange(0);
//Navigate back to the list page
return "GlobalHome";
} -
Problem in deleting Rows of JTable after sorting it
Hi all,
I'm getting problems in Removing Row(s) after sorting a JTable.
Please find the code snippets at this URL. Thanks for your time...
http://forum.java.sun.com/thread.jsp?forum=31&thread=459736&start=15&range=15&hilite=false&q=Hi Abhijeet,
I tried it the way you said using
wdContext.nodeBirhtday_List().nodeItab().moveFirst();
// loop backwards to avoid index troubles
for (int i = n - 1; i >= 0; --i)
current_date = wdContext.nodeBirhtday_List().nodeItab().currentItabElement().getGbdat().getDate();
current_month = wdContext.nodeBirhtday_List().nodeItab().currentItabElement().getGbdat().getMonth();
if (( current_date != date_today ) && ( current_month != month_today ))
wdContext.nodeBirhtday_List().nodeItab().removeElement(wdContext.nodeBirhtday_List().nodeItab().
getElementAt(i));
wdContext.nodeBirhtday_List().nodeItab().moveNext();
It adds records...
According to Valerys Solution, the IPrivate<CustomController> doesnt show me the required nodes. and gives me 'Unable to resolve' error.
Can you please suggest where I am going wrong
Regards
Abdullah -
How to set current row in table after use tab key on inputText
Hello all,
My first post .., I'm newbie in ADF and I will try to explain my problem.
For the moment we use ADF 11g (11.1.1.4), in a jsff page I have a table with an inputText column.
On the valueChangeListener of the inputText, I invoke a method in a viewScope bean which call an EJB method, make some services in the EJB on the line modified. After that I refresh the VO and the table (because others values on the line have been modified) and reset the focus on the same inputText modified by the user with javaScript because focus was lost after refresh.
So far, everything works fine.
When I use the arrow keys to change the selected row in the table, it's work fine (focus is still in the next or previous inputText), but if user try to use tab key to change the current line, the inputText on the next line have the focus but the current row of the table is not changed (I think it's normal).
My question : how can I change the current row after tab key pressed in this case ?
I don't know if it's really clear, not easy to explain, don't hesitate to ask more details.
Thanks in advance.Frank Nimphius wrote:
Hi,
My question : how can I change the current row after tab key pressed in this case ?
Use a client event to listen for the keyboard entry and intercept the tab. The use af:serverListener to call the server to set the rowKey on the table and issue a PPR for the table to re-paint
See sample 11 on http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html#CodeCornerSamples
to learn about how to use the client listener and server listener
FrankHi,
Thanks a lot for your advices, I used the client and server listener
I used this code on the method call in order to change the selection after key tab pressed, I don't know if it can be easier, but it works.
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("START changeSelectedRow");
RowKeySet oldRowKeySet = myTable.getSelectedRowKeys(); // get oldRowKeySet
if (oldRowKeySet == null) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("oldRowKeySet is null");
return;
RowKeySetImpl newRowKeySet = new RowKeySetImpl(); // The new RowKeySet use to change the selectedRow
DCIteratorBinding bindingIterator = ADFUtils.findIterator(MY_ITERATOR);
bindingIterator.setRangeSize(-1);
// set the new index of the current row.
int index = bindingIterator.getCurrentRowIndexInRange();
if (index < bindingIterator.getAllRowsInRange().length - 1) {
index++;
bindingIterator.setCurrentRowIndexInRange(index);
// get the current row after changed the index
Row currentRow = bindingIterator.getCurrentRow();
if (currentRow != null) {
ArrayList nextLst = new ArrayList(1);
nextLst.add(currentRow.getKey());
newRowKeySet.add(nextLst);
// set the new selectedRow
myTable.setSelectedRowKeys(newRowKeySet);
SelectionEvent selectionEvent = new SelectionEvent(oldRowKeySet, newRowKeySet, myTable);
selectionEvent.queue();
AdfFacesContext.getCurrentInstance().addPartialTarget(myTable);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("END changeSelectedRow");
Best Regards
Benjamin -
VO row seen even after rollback
Hello,
I have a search page and table below, listing search results. Result table also has "Create Entity" button, when user clicks on this button, user is
taken to create entity page, whose processRequest does following (after doing standard checks).
public void createSupplier() {
OAViewObject vo = (OAViewObject)getXxIfmsSupplierVO();
if(!vo.isPreparedForExecution()) {
vo.executeQuery();
Row row = vo.createRow();
vo.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
}If on this page, user clicks on Cancel button following AM method gets called and user is redirected back to search page.
public void rollbackSupplier() {
if(this.getTransaction().isDirty()) {
this.getTransaction().rollback();
}Entity Id is auto-generated and is read-only.
Problem I am facing is as follows.
- User click on "Create Entity" button and create entity page is shown
- On this page, user sees auto-generated entity-id
- Now without entering any other values, user clicks on Cancel button and is taken back to search page, but row for the entity whose creation was cancelled is also seen in result-table.
- This new row is not seen in the db.
What can be wrong here?
regards, YoraWhile going back to main page you are using "this.getTransaction().rollback();". i.e. any DML operation performed will be rolled back.
But when you enterd this page you have created a new row using "Row row = vo.createRow(); vo.insertRow(row);". You did not remove this row. Using "row.remove()" remove the empty row and check.
-Anand -
Blank rows on page after header but before body?
I've got a "blank row" at the top of my pages using a certain page template. From the template, my header is :
<html lang="&BROWSER_LANGUAGE.">
<head>#HEAD#<title>#TITLE#</title>
<link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_9/theme.css" type="text/css" />
<style type="text/css" >body {background-color: #EEEEEE;}</style>
</head>
<body #ONLOAD#>#FORM_OPEN#HERE1
Then my template body is :
HERE2<table background="#WORKSPACE_IMAGES#TOP_BAR.PNG" width="100%" cellpadding="0" cellspacing="0" border="0" summary="">
<tr>
<td align="left" valign="top" >
Any page that uses this template renders as follows :
HERE1
HERE2
... rest of page
Why is there a gap between HERE1 and HERE2? How can I get rid of this? My application needs as much real estate on the page as possible.
Thanks for any advice,
MattDid not see a button the edit my post. Have more information to add to post.
After playing with this issue for a while here is what I have to add. This issue with Smart Web Printing is not happening when I use Yahoo, AOL or another search engine. It only seems to happen 90% of the time when I use Google & only if I "hide" Smart Web Printing & then "show'' it again (I like to "hide it while I browse so I have more screen area to view web pages). If I start my browsing session through Google and do not "hide" Smart Web Printing all is usually functioning OK. Once I "show" Smart Web Printing, no good. As soon as I "show" it the balance of the screen where the web page should be turns to a blank white page, as soon as I "hide" Smart Web Prining again the web page is immediately back. Note: this does not happen 100% of the time (about 90%). Uninstall & reinstall did not help, and at one point it did work properly with Google (about 1-2 months ago). Searched all over this site, Google & the web no answer yet. Maybe some update/conflict somewhere, I can't find the answer yet. Its probably something silly easy that I am missing. Any ideas?
Will post back if I find an answer. -
Transient VO rows becoming empty after idle time
Hi,
We are using Jdev 11.1.1.6
Using transient vo to show list of corousal items. We create transient vo rows on load of the taskflow.
"Our QA observed, empty rows (no rows) in the carousal after 25 mts of interval. The VO rows are becoming empty"
I have verified View Object tuning settings:
a) Checked to true - Passivate State including all transient variables
b) Vo rows have a primary key attribute and is never a null value.
Am I missing anything? Any little hints appreciated.
Thanks,
Srini.Have you tested your app with application module pooling turned off?
The problem might be activaton/passivation of am.
See if you can reproduce the problem this way. I guess that when a vo gets passivated only the qeurry gets saved. When activated yhr saved query is executed again. As you use transient rows, they come back empty.
Timo -
Add Row Before Or After Selected Row In af:Table
Hi,
Please let me know how can we add a row either before or after the selected row in the af:table.
Currently i have a table with 2 toolbar buttons. 1.Add Before 2.Add After.
User selects the row and clicks either AddBefore/After button ... then, an empty row should get added in the table as per the button clicked.
Please suggest me your inputs.
Thanks,
Kiranchk this
http://mjabr.wordpress.com/2011/07/02/how-to-control-the-location-of-the-new-row-in-aftable/ -
Front row not responding after few songs
OK.
So here is my problem:
I turn front row on by pressing menu button on apple remote. I go to music, choose playlist (5-stars), shuffle and I do whetever I want, not using my computer, just listening to my music.
After few songs, I here sound but there is no interface in front row.
I see only a bar with song progress, there is no title, album cover... Nothing just this bar with progress.
After pressing menu button on apple remote, nothing happens, it can't shutdown front row, and the computer must be restarded by holding power button. I try Command Q, option comand Esc.... Nothing. I even press F8, F9, F10, to check if the keyboard is responding, that it adjusting keyboard backlit... No light (even it is dark and normaly it automatically turns on.
What can I do? 10.5.2, all updates installed, 2.2 Ghz MacBook Pro (With 4GB RAM), 128MB GRAPHICS.
The same was on 10.5.1, and with 2GB, I don't remember if I have tested it on 10.5.
Does anybody faces the same difficulties, does anybody have a solution? Tiger was so nice...
Help.
ChrisFigured I'd add my voice to the crowd. I am having the exact same problem. I usually use front row to listen to my podcasts, but the screen goes black somewhere between the 1-3 minute mark. It doesn't always do it, but if it does, it'll do it then.
One thing I noticed is that it ALWAYS happens whenever the cover flips from one side of the screen to the other. Is there a way to disable this option? The only way I can fix it right now is if I back out to the previous menu and let the song play over that. It's easy enough to do, but it's can be a bit of an annoyance if you want to adjust the volume or FF/rewind. I keep hoping that the new patches will fix such a glaring flaw, but they never seem to. -
How to fix few rows in ALV after filtering on a column in Web Dynpro ABAP
Hi,
I have the following requirement:
In an ALV, when i filter based on a column, then this filter should not be applied to 2 of its rows.
These rows relate to totals. The totals are manually calculated as they require other component information too.
Along with the filter result, these total rows have to be displayed.
Let me know in case ALV in Web Dynpro ABAP supports this functionality.
Regards,
RekhaHi,
ALV table does not support this functionality.
You can display the total in an another table instead.
I had the same requirement with total and had to display the totals separately.
Thanks,
Feroz -
Return to selected row with refresh after update in edit form
Hi,
I created a database view.When selected a single row and click on button i can edit the row in a form for update.What i want, when doing some update and click on the commit button i return back on the initial row with a refresh to see the update done on this row.I succeeded to modify the form and commit.But when i return on the selected row my update is not visible.How can i return to the same selected row with a refresh.In oracle form i can do a go record with execute_query, but how to do this in ADF.Please someone can help so that i do not spend many days on it.
Thanks
Soodesh[click for the tutorial|http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&ved=0CFQQFjAF&url=http%3A%2F%2Fandrejusb.blogspot.com%2F2013%2F03%2Fadf-rollback-and-keep-current-row.html&ei=Tnl3Ucn3BoXIrQeemICQAw&usg=AFQjCNHdYcJL8kJKymqbWBT9XDGTWmeUvQ&bvm=bv.45580626,d.bmk&cad=rja]
here you go :)
Maybe you are looking for
-
IDVD Crashed When I Tried to Burn DVD. Now the DVD Doesn't Show on Desktop
Eject button doesn't work. I've tried to restart & hold down the trackpad button. The disk does't show on the desktop or in sidebar & it's like the MBP doesn't know a disk it there. The desktop & sidebar have always shown when a CD or DVD are in the
-
All, In which transactions we will use movement types 631 and 661 ? These cannot be used in MB1A,MB1Cand MB1B . So where this can be used ? regards
-
Revision Level in Material Master
Hi All, What's the purpose of Revision level in Material Master and some times we see it in PO material tab. What's the Business Application of this. Please help. Thanks
-
Sequential Numbered Clips in Clips Bin? Is it possible?
Is there a way to have numbered clips in the clips bin order themselves correctly instead of: 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, etc.
-
Has anybody tried to load the Wireless Mouse Update Software 1.0 for OS X 10.5.8 on a OS X Server 10.5.8? Will it work?