DirectToXMLTypeMapping "create-tables" not generating XMLTYPE column type

Can someone tell me how to code an XMLTYPE field such that "create-tables" will generate the XMLTYPE column and such that the IntegrityChecker will not throw an error.
I am forced to run these alters after "create-tables" is run.
ALTER TABLE XML_SYS_MSG drop column message;
ALTER TABLE XML_SYS_MSG add (message XMLType);
Snippets:
<persistence...
<property name="eclipselink.ddl-generation" value="create-tables" />
</persistence>
public class XmlMessageCustomizer implements DescriptorCustomizer {
@Override
public void customize(final ClassDescriptor descriptor) throws Exception {
final DirectToXMLTypeMapping mapping = new DirectToXMLTypeMapping();
descriptor.removeMappingForAttributeName("message");
// name of the attribute
mapping.setAttributeName("message");
// IntegrityChecker requires uppercase for oracle
// name of the column
mapping.setFieldName("MESSAGE");
descriptor.addMapping(mapping);
@Entity(name = "XmlMessage")
@Table(name = "XML_MSG")
@Customizer(XmlMessageCustomizer.class)
public class XmlMessage {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private long id;
// @Column(columnDefinition = "XMLTYPE")
// private String message;
// ALTER TABLE XML_SYS_MSG drop column message;
// ALTER TABLE XML_SYS_MSG add (message XMLType);
private Document message;
public XmlMessage() {
public long getId() {
return id;
public void setId(final long id) {
this.id = id;
public Document getMessage() {
return message;
public void setMessage(final Document message) {
this.message = message;
Secondly if I turn on the IntegrityChecker it will fail
public class EnableIntegrityChecker implements SessionCustomizer {
@Override
public void customize(final Session session) throws Exception {
session.getIntegrityChecker().checkDatabase();
session.getIntegrityChecker().setShouldCatchExceptions(false);
}

Adding:
     mapping.getField().setColumnDefinition("XMLTYPE");to the customizer should solve the problem.
--Shaun                                                                                                                                                                                                                                                                                       

Similar Messages

  • Create Foregn Key on xmltype column

    I get ora-00904 while executing following code. I have created hematest table on registerd schema.
    alter table hematest
    add constraint valid_area
    foreign key (xmldata."area") references test_are(area_test);

    I am sending script for my xm schema, xml type table based on the registered schema , oracle relational table that foreign key is references and script for generating foreign key.
    <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.domain name/fraamed_test/event_start.xsd" xmlns:event_start="http://www.domain name/fraamed_test/event_start.xsd" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:flags="7" oraxdb:schemaURL="http://www.domain name/fraamed_test/event_start.xsd" oraxdb:schemaOwner="FRAAMED_TEST" oraxdb:numProps="55">
    <annotation>
    <documentation>
    All date tags are formatted YYYY-MM-DD.
    All time tags are formatted HH:MM:SS. Note: SS can be set to 00 when not needed.
    The event_link is the linking number that links several events together that are involved in the same
    mission being performed at the same scheduled time. This can be anything as long as it is numeric.
    It is recommended that and event_identifier from one of the events being linked together be used. To
    be linked all events doing the same mission need this tag filled and it must be the same value for all
    the linked events, including the one that may have the same event_identifier.
    The status are the following: P-Pending, SA-Squadron Authorized, AA-AirOpds Authroized,
    IP-InProgress, F-Finished, C-Cancelled, P-Postponed, D-Deleted, R-Rescheduled.
    The status_code is a code that to provide further information about a given status. In particular it
    should be used when a status of C, P, D, or R is used.
    The airfield_location is a runway number or field location like grass, gravel, etc.
    </documentation>
    </annotation>
    <element name="event_start" oraxdb:propNumber="5125" oraxdb:global="true" oraxdb:SQLName="event_start" oraxdb:SQLType="event_start1290_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:defaultTable="event_start1306_TAB" oraxdb:defaultTableSchema="FRAAMED_TEST">
    <complexType oraxdb:SQLType="event_start1290_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="location" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5071" oraxdb:global="false" oraxdb:SQLName="location" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="15"/>
    <minLength value="2"/>
    </restriction>
    </simpleType>
    </element>
    <element name="sending_system" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5072" oraxdb:global="false" oraxdb:SQLName="sending_system" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    <minLength value="2"/>
    </restriction>
    </simpleType>
    </element>
    <element name="transaction_date" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5075" oraxdb:global="false" oraxdb:SQLName="transaction_date" oraxdb:SQLType="transaction_date1291_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="transaction_date1291_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="date" minOccurs="1" maxOccurs="1" type="date" oraxdb:propNumber="5073" oraxdb:global="false" oraxdb:SQLName="date" oraxdb:SQLType="DATE" oraxdb:memType="12" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    <element name="time" minOccurs="1" maxOccurs="1" type="time" oraxdb:propNumber="5074" oraxdb:global="false" oraxdb:SQLName="time" oraxdb:SQLType="TIMESTAMP" oraxdb:memType="180" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="event_identifier" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5076" oraxdb:global="false" oraxdb:SQLName="event_identifier" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="positiveInteger">
    <maxInclusive value="999999999999"/>
    </restriction>
    </simpleType>
    </element>
    <element name="event_link" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5077" oraxdb:global="false" oraxdb:SQLName="event_link" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="positiveInteger">
    <maxInclusive value="999999999999"/>
    </restriction>
    </simpleType>
    </element>
    <element name="organization_code" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5078" oraxdb:global="false" oraxdb:SQLName="organization_code" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="scheduled_time" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5082" oraxdb:global="false" oraxdb:SQLName="scheduled_time" oraxdb:SQLType="scheduled_time1292_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="scheduled_time1292_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="date" minOccurs="1" maxOccurs="1" type="date" oraxdb:propNumber="5079" oraxdb:global="false" oraxdb:SQLName="date" oraxdb:SQLType="DATE" oraxdb:memType="12" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    <element name="time" minOccurs="1" maxOccurs="1" type="time" oraxdb:propNumber="5080" oraxdb:global="false" oraxdb:SQLName="time" oraxdb:SQLType="TIMESTAMP" oraxdb:memType="180" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    <element name="event_duration_minutes" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5081" oraxdb:global="false" oraxdb:SQLName="event_duration_minutes" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="positiveInteger">
    <maxInclusive value="3600"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="actual_event_end_time" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5085" oraxdb:global="false" oraxdb:SQLName="actual_event_end_time" oraxdb:SQLType="actual_event_end_time1293_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="actual_event_end_time1293_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="date" minOccurs="1" maxOccurs="1" type="date" oraxdb:propNumber="5083" oraxdb:global="false" oraxdb:SQLName="date" oraxdb:SQLType="DATE" oraxdb:memType="12" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    <element name="time" minOccurs="1" maxOccurs="1" type="time" oraxdb:propNumber="5084" oraxdb:global="false" oraxdb:SQLName="time" oraxdb:SQLType="TIMESTAMP" oraxdb:memType="180" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="status" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5086" oraxdb:global="false" oraxdb:SQLName="status" oraxdb:SQLType="XDB$ENUM_T" oraxdb:SQLSchema="XDB" oraxdb:memType="259" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <enumeration value="P"/>
    <enumeration value="SA"/>
    <enumeration value="AA"/>
    <enumeration value="IP"/>
    <enumeration value="F"/>
    <enumeration value="C"/>
    <enumeration value="P"/>
    <enumeration value="D"/>
    <enumeration value="R"/>
    </restriction>
    </simpleType>
    </element>
    <element name="overbooked" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5087" oraxdb:global="false" oraxdb:SQLName="overbooked" oraxdb:SQLType="XDB$ENUM_T" oraxdb:SQLSchema="XDB" oraxdb:memType="259" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <enumeration value="Y"/>
    <enumeration value="N"/>
    </restriction>
    </simpleType>
    </element>
    <element name="status_reason_code" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5088" oraxdb:global="false" oraxdb:SQLName="status_reason_code" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="15"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="tms" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5089" oraxdb:global="false" oraxdb:SQLName="tms" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="bureau_number" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5090" oraxdb:global="false" oraxdb:SQLName="bureau_number" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="6"/>
    <minLength value="0"/>
    <pattern value="[0-9]"/>
    </restriction>
    </simpleType>
    </element>
    <element name="side_number" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5091" oraxdb:global="false" oraxdb:SQLName="side_number" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="6"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="call_sign" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5092" oraxdb:global="false" oraxdb:SQLName="call_sign" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="40"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="takeoff_airfield" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5093" oraxdb:global="false" oraxdb:SQLName="takeoff_airfield" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="landing_airfield" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5094" oraxdb:global="false" oraxdb:SQLName="landing_airfield" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="mission_airfield" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5095" oraxdb:global="false" oraxdb:SQLName="mission_airfield" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="airfield_location" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5096" oraxdb:global="false" oraxdb:SQLName="airfield_location" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="squadron_authorizer" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5101" oraxdb:global="false" oraxdb:SQLName="squadron_authorizer" oraxdb:SQLType="squadron_authorizer1294_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="squadron_authorizer1294_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="salutation" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5097" oraxdb:global="false" oraxdb:SQLName="salutation" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="first_name" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5098" oraxdb:global="false" oraxdb:SQLName="first_name" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="20"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="last_name" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5099" oraxdb:global="false" oraxdb:SQLName="last_name" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="20"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="title" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5100" oraxdb:global="false" oraxdb:SQLName="title" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="40"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="airops_authorizer" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5106" oraxdb:global="false" oraxdb:SQLName="airops_authorizer" oraxdb:SQLType="airops_authorizer1295_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="airops_authorizer1295_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="salutation" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5102" oraxdb:global="false" oraxdb:SQLName="salutation" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="first_name" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5103" oraxdb:global="false" oraxdb:SQLName="first_name" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="20"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="last_name" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5104" oraxdb:global="false" oraxdb:SQLName="last_name" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="20"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="title" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5105" oraxdb:global="false" oraxdb:SQLName="title" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="40"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="project_code" minOccurs="0" maxOccurs="unbounded" oraxdb:propNumber="5107" oraxdb:global="false" oraxdb:SQLName="project_code" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true" oraxdb:SQLCollType="project_code1296_COLL" oraxdb:SQLCollSchema="FRAAMED_TEST">
    <simpleType>
    <restriction base="string">
    <maxLength value="40"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="airspace" minOccurs="0" maxOccurs="unbounded" oraxdb:propNumber="5117" oraxdb:global="false" oraxdb:SQLName="airspace" oraxdb:SQLType="airspace1297_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false" oraxdb:SQLCollType="airspace1300_COLL" oraxdb:SQLCollSchema="FRAAMED_TEST">
    <complexType oraxdb:SQLType="airspace1297_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="area" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5108" oraxdb:global="false" oraxdb:SQLName="area" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="20"/>
    <minLength value="3"/>
    </restriction>
    </simpleType>
    </element>
    <element name="area_qualified" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5116" oraxdb:global="false" oraxdb:SQLName="area_qualified" oraxdb:SQLType="area_qualified1298_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="area_qualified1298_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="direction" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5109" oraxdb:global="false" oraxdb:SQLName="direction" oraxdb:SQLType="XDB$ENUM_T" oraxdb:SQLSchema="XDB" oraxdb:memType="259" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <enumeration value="N"/>
    <enumeration value="S"/>
    <enumeration value="E"/>
    <enumeration value="W"/>
    <enumeration value="NE"/>
    <enumeration value="NW"/>
    <enumeration value="SE"/>
    <enumeration value="SW"/>
    </restriction>
    </simpleType>
    </element>
    <element name="exclusive" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5110" oraxdb:global="false" oraxdb:SQLName="exclusive" oraxdb:SQLType="XDB$ENUM_T" oraxdb:SQLSchema="XDB" oraxdb:memType="259" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <enumeration value="Y"/>
    <enumeration value="N"/>
    </restriction>
    </simpleType>
    </element>
    <element name="min_altitude" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5111" oraxdb:global="false" oraxdb:SQLName="min_altitude" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="integer">
    <maxInclusive value="9999999"/>
    <minInclusive value="-999999"/>
    </restriction>
    </simpleType>
    </element>
    <element name="max_altitude" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5112" oraxdb:global="false" oraxdb:SQLName="max_altitude" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="integer">
    <maxInclusive value="9999999"/>
    <minInclusive value="-999999"/>
    </restriction>
    </simpleType>
    </element>
    <element name="area_time" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5115" oraxdb:global="false" oraxdb:SQLName="area_time" oraxdb:SQLType="area_time1299_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="area_time1299_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="time" minOccurs="1" maxOccurs="1" type="time" oraxdb:propNumber="5113" oraxdb:global="false" oraxdb:SQLName="time" oraxdb:SQLType="TIMESTAMP" oraxdb:memType="180" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true"/>
    <element name="area_duration_minutes" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5114" oraxdb:global="false" oraxdb:SQLName="area_duration_minutes" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="positiveInteger">
    <maxInclusive value="3600"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="mission" minOccurs="0" maxOccurs="unbounded" oraxdb:propNumber="5118" oraxdb:global="false" oraxdb:SQLName="mission" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true" oraxdb:SQLCollType="mission1301_COLL" oraxdb:SQLCollSchema="FRAAMED_TEST">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    <element name="resource_codes" minOccurs="0" maxOccurs="unbounded" oraxdb:propNumber="5123" oraxdb:global="false" oraxdb:SQLName="resource_codes" oraxdb:SQLType="resource_codes1302_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false" oraxdb:SQLCollType="resource_codes1304_COLL" oraxdb:SQLCollSchema="FRAAMED_TEST">
    <complexType oraxdb:SQLType="resource_codes1302_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="resource" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5119" oraxdb:global="false" oraxdb:SQLName="resource" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="35"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    <element name="resource_qualified" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5122" oraxdb:global="false" oraxdb:SQLName="resource_qualified" oraxdb:SQLType="resource_qualified1303_T" oraxdb:SQLSchema="FRAAMED_TEST" oraxdb:memType="258" oraxdb:SQLInline="true" oraxdb:MemInline="false" oraxdb:JavaInline="false">
    <complexType oraxdb:SQLType="resource_qualified1303_T" oraxdb:SQLSchema="FRAAMED_TEST">
    <sequence>
    <element name="exclusive" minOccurs="1" maxOccurs="1" oraxdb:propNumber="5120" oraxdb:global="false" oraxdb:SQLName="exclusive" oraxdb:SQLType="XDB$ENUM_T" oraxdb:SQLSchema="XDB" oraxdb:memType="259" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <enumeration value="Y"/>
    <enumeration value="N"/>
    </restriction>
    </simpleType>
    </element>
    <element name="location" minOccurs="0" maxOccurs="1" oraxdb:propNumber="5121" oraxdb:global="false" oraxdb:SQLName="location" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="15"/>
    <minLength value="1"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="comments" minOccurs="0" maxOccurs="unbounded" oraxdb:propNumber="5124" oraxdb:global="false" oraxdb:SQLName="comments" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:SQLInline="true" oraxdb:MemInline="true" oraxdb:JavaInline="true" oraxdb:SQLCollType="comments1305_COLL" oraxdb:SQLCollSchema="FRAAMED_TEST">
    <simpleType>
    <restriction base="string">
    <maxLength value="4000"/>
    <minLength value="0"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </schema>
    create table frmd_event_start(
    event_start xmltype)
    xmltype column event_start
    XMLSCHEMA "www.domain name/fraamed_test/frmd_event_start.xsd"
    element "event_start";
    CREATE TABLE AREAS
    AREA VARCHAR2(10 BYTE)
    TABLESPACE FRMD_DEFAULT
    PCTUSED 40
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT
    NOLOGGING
    NOCACHE
    NOPARALLEL;
    CREATE UNIQUE INDEX PK_AREA ON AREAS
    (AREA)
    NOLOGGING
    TABLESPACE FRMD_DEFAULT
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    ALTER TABLE AREAS ADD (
    CONSTRAINT PK_AREA PRIMARY KEY (AREA)
    USING INDEX
    TABLESPACE FRMD_DEFAULT
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    SQL> alter table frmd_event_start
    2 add constraint VALID_AREA
    3 foreign key (xml_event_starts."area") references areas(area);
    foreign key (xml_event_starts."area") references areas(area)
    ERROR at line 3:

  • Difference between an XMLType table and a table with an XMLType column?

    Hi all,
    Still trying to get my mind around all this XML stuff.
    Can someone concisely explain the difference between:
    create table this_is_xmltype_tab of xmltype;and
    create table this_is_tab_w_xmltpe_col(id number, document xmltype);What are the relative advantages and disadvantages of each approach? How do they really differ?
    Thanks,
    -Mark

    There is another pointer Mark, that I realized when I was thinking about the differences...
    If you would look up in the manual regarding "xdb:annotations" you would learn about a method using an XML Schema to generate out of the box your whole design in terms of physical layout and/or design principles. In my mind this should be the preferred solution if you are dealing with very complex XML Schema environments. Taking your XML Schema as your single point design layout, that during the actual implementation automatically generates and builds all your needed database objects and its physical requirements, has great advantages in points of design version management etc., but...
    ...it will create automatically an XMLType table (based on OR, Binary XML of "hybrid" storage principles, aka the ones that are XML Schema driven) and not AFAIK a XMLtype column structure: so as in "our" case a table with a id column and a xmltype column.
    In principle you could relationally relate to this as:
    +"I have created an EER diagram and a Physical diagram, I mix the content/info of those two into one diagram." "Then I _+execute+_ it in the database and the end result will be an database user/schema that has all the xxxx amount of physical objects I need, the way I want it to be...".+
    ...but it will be in the form of an XMLType table structure...
    xdb:annotations can be used to create things like:
    - enforce database/company naming conventions
    - DOM validation enabled or not
    - automatic IOT or BTree index creation (for instance in OR XMLType storage)
    - sort search order enforced or not
    - default tablenames and owners
    - extra column or table property settings like for partitioning XML data
    - database encoding/mapping used for SQL and binary storage
    - avoid automatic creation of Oracle objects (tables/types/etc), for instance, via xdb:defaultTable="" annotations
    - etc...
    See here for more info: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb05sto.htm#ADXDB4519
    and / or for more detailed info:
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb05sto.htm#i1030452
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb05sto.htm#i1030995
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb05sto.htm#CHDCEBAG
    ...

  • Error while creating table maintenance generator

    Hi,
    I am getting below error while creating table maintenance generator.
    Screen SAPLZtest   0002 could not be generated.   In DYNPFIELD_ATTR field LENGTH has the invalid value 241.
    Reason for that error might be:
    In the table I have a field with a dataelement(customized) of type Char and length 241.
    But in the other table Iam using the standard data element(standard) of same type(241 char).In this table Iam able to create table maintenance generator without any errors.
    And the domain Iam using is same for both the tables.
    Please help me to solve this.
    Thanks in advance,
    Sravanthi

    Hi,
    you can go to transaction se51 and go your screen. active it.. you can find thesolution.
    refer these links..
    Error in table control
    Error while creating table maintainence generator !
    Thanks and Regards,
    Ahamed.

  • How to create table maintenance generator?

    Dear Sir/Madam,
        when i am creating table maintenance generator , it asks for function group
      i give 0MB8 , it says u r going to change function group which does not belongs to u,
    then i created a function group yfg9 and given , it then says yfg9 cannot be processed.
    please telll me how to create the table maintenance generator for maintenance view yv_mmim_rep_cust.
    Thanks in advance,
    Dastagiri

    Hi ,
    Table Maintenance generator is used to maintain data in table , instead of giving access to se11 , we create a tcode for this table maintenance generator and we will give this tcode to end-user to maintain data
    To generate table Maintenance generator :
    click on UTILITIES   in menu bar
    -> table maintenance generator
    -> enter Authorization Group as : &NC&
    -> Enter Function Group : name of your table ( so it will create a function group , to check this function group go to tcode se80 : then select function and enter your Table name )
    -> Then click on find screen numbers in Application tool bar.
    -> Then click on create button in Application tool bar
    if it is created successfully , then you will get a status message like table maintained generator is created successfully.

  • Can we create table maintence generator with out key field

    Hi,
    I have created a ztable in that client is the primary key as I don't want any other field as primary key.
    For this  i have created table maintenace generator but when i open it in sm30 blnak screen is coming.
    Here my question is can we create a table maintenace generator with out key field other than MANDT.
    If it's possible please let me know.
    Regards
    hari

    >
    Mathews Joseph wrote:
    > I agree to the above points , but you can try one thing.
    >
    > When you create the table maintenance screen , from SE11 you assign a function group.
    >
    > Double click on the function group and you can go to the main program and open that in SE80, take screen generated and try manually adjusting the screen and putting the non key field details...
    >
    > Not sure this will work , but may be you can give it a try.
    >
    > Mathews
    But the table could hold at most a single record (per client). The design is lacking.
    Rob

  • How to create table.maint.generator and enduser should use using ztcode

    Hi,
           can any one guide me how to create table maintanence generator and after creating,enduser must use using ztcode.
             any help can be appreciated.
    Thanks & Regards,
    Sandeep.

    Hi,
    Table Maintenance generator is required to do Manual entries in the Table. If the requirement is to update the table only programmatically and not manually then table maint. generator is not required.
    Manual entries in table can be maintained ( New record can be inserted / existing can be modified ) using transaction SM 30, if the table maintenance for the table is generated.
    How to activate Table maint.
    Goto SE11 and open the table.
    Click UTILITIES -> Table Maint. Generator, Enter the details and click on Save. Then activate the table.
    chk a sample 1.
    refer.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/how%20to%20implement%20events%20in%20table%20maintenance.doc
    some more helps
    Check out this thread:
    table maintenance
    http://help.sap.com/saphelp_erp2005/helpdata/en/a7/513520407a11d1893b0000e8323c4f/frameset.htm - a link for basics on Table Maintenance.
    Also, Check out this weblog on table maintenance:
    /people/sudheer.cheedella/blog/2006/02/20/extracting-data-in-table-maintenance
    <b>how to create a a T-code of that</b>
    Go to se93.
    Then create the new T.code.
    Under that select parameter Transaction.
    Then give the sm30 in the t.code in default values tab.
    check the checkbox skip initial screen.
    in classification tab.
    click checkbox inherit gui attributes..
    Now below..
    In the default values..
    WRITE
    viewname = give ur table name.
    show = X
    save and check it once...
    now u can able to call ur table through ur new t.code...
    rgds
    anver
    if hlped pls mark points

  • How to create table maintainenece Generator

    hi all
           I dont know how to create table maintainence generator after creating the table.
    I have created the table.
    After that how to maintain the table.
    What is the use of table maintainence generator.
    Thanks

    Hi Muthu,
    Through table maintenance you can direct add new entries in your table. For that u need to follow some steps.
    Step1 : Click Delivery and Maintenance tab in your table and select "Display/Maintenance Allowed"
    Step2 : Utilities--->Table maint generator
    Step3 : Give Authorization Group  -  &NC&
    Step4 : Function group -  Any ( You can give ur table name also ) This Function Group will genrate automatically.
    Step5 : Maintenance type  -  Select first radio button "One Step"
    Step6 : Maint. Screen No.  -  Overview screen as 1
                                                  Single screen       as  0
    Step7 : Click on Create button on application tool bar
    Step8 : just save in your package.
    Step8 : Create transaction code for the same . Environment----->transaction code
    Step9 : Give any t.code name and click on create button. You will get a popup where you have to choose last radio button "Transaction with parameter"
    Step10 : Give the transaction name - SM30 and check Inherit GUI Attribute"
    Step11 : GUI Support - check all the check boxes.
    Step12 : Name of screen field           Values
                    VIEWNAME  -                   Table name  and
                    UPDATE      -                      X
    Finally u can this t.code and add new entries in ur table directly.
    Regards,
    Amit Nanda
    SAP Consultant

  • ....how to create table maintanence generator for a z table and how to use

    Hi...
    3....how to create table maintanence generator for a z table and how to use that for transfering a selected records to one server to another server.
    thanks and regards,
    k.swaminath reddy

    Hi,
    Table maintanance Generator is used to manually
    input values using transaction sm30.The Table Maintenance Generator is used to create table maintenance program to add, modify or delete records in the database table. This can be accessed using transaction SE54 or in SE11 using the menu Utilities->Table Maintenance Generator
    <b>
    Follow below steps</b>
    go to se11 check table maintanance check box under
    attributes tab
    utilities-table maintanance Generator->
    create function group and assign it under
    function group input box.
    also assign authorization group default &NC& .
    select standard recording routine radio in table
    table mainitainence generator to move table
    contents to quality and production by assigning
    it to request.
    select maintaience type as single step.
    maintainence screen as system generated numbers
    this dialog box appears when you click on create
    button
    save and activate table
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
    please check the link for getting information about table maintenance generator !
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=use%20of%20table%20maintenance%20generator&cat=sdn_all
    http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm
    http://www.sap-img.com/abap/create-a-table-maintance-program-for-a-z-table.htm
    Regards,
    Priyanka.

  • I created table maintainace generator but while executing this in SM30.

    I created table maintainace generator but while executing this in SM30 it's giving following error. Error message " Conversion error"
    The program has been interrupted and cannot resume. Program "SAPLZ_DEV_AC_DAT_MOE" attempted to display fields on screen 0001.
    An error occurred during the conversion of this data.
    Table has following fields:
    MANDT          MANDT     CLNT     3     0     Client
    YEAR1          CHAR     4     0     Year
    SOLD_TO_PARTY     KUNRG     CHAR     10     0     Payer
    MATNR          MATNR     CHAR     18     0     Material Number
    JANACP          CURR     15     2     Jan Accural Plus.
    and reference field for JANACP is VBRK-WAERK.
    Can anyone help me on this.

    Hi,
    you have a field of type amount and need a referring currency field. You have chosen a VBRK field, but in SM30 you have no connection to a special VBRK entry because of a missing connection on key field VBELN.
    Either you create a currency field in your table, or (if possible) you have to add a foreign key relation to VBRK with a fixed VBELN (existing on all systems) to get the VBRK currency. But the second way is no good idea!
    You need a currency to get the right decimal point for your amiount.
    Regards
    Klaus

  • Objects created when creating table maintenance generator

    Hi guru's,
      I heard that when we creating a table maintenance generator for a table, it will create view,search help and some else.Is it true?
      Please tell me what objects will be created when we create table maintenance generator for a table and why? what is the exact use of creating table maintenance generator for a
    table other than reduces the time for entering large volume of data.
    Regards,
    Rakesh.

    Hello Rakesh,
    TMG is a tool meant and designed to maintain Customizing table/views. Customizing essentially means, that the data should be transportable across clients/systems.
    All this, and the facility to maintain data (display, edit, create, delete, translate) is provided by the TMG. When you make the changes like above, the TMG also provides you features to automatically also enter the changes into transport requests.
    Coming to what objects are created when you generate a maintenance dialogue -
    1) A Customizing Object (merely a class C/G table or view does not become a   
                                        customizing object)
    2) A function group (as entered in SE54 details, if the function group does not already
                                  exist)
    3) Lot of coding within the function group (Func modules, subroutines, includes)
    4) Screen(s)  (1 or 2, depending on a setting in the TMG)
    5) An automatic recording of all these objects into a transport request, for you to conveniently ship them to other systems in your landscape (this, if automatic recording is
    switched ON in your system)
    Authorization group - It is not created automatically (unlike function group). You need to specify an existing Auth group, or use a different functionality to create on of your requirements.
    Does this answer most of your questions? Please revert if you need more clarifications.
    Regards
    Rekha
    PS: Actually, why dont you try generating a maintenance dialogue for a sample z-table and see what all gets generated?

  • Creating Indexes within an XMLType column

    Hi,
    I have following XML document stored as XMLType column,
    <ocaStatus xmlns="http://xmlbeans.apache.org/ocastatus"><status><statusCode>934</statusCode><statusDate>Wed Apr 07 16:05:53 GMT+05:30 2010</statusDate><userId>u0121845</userId><comment>Sent to LTC</comment></status><status><statusCode>934</statusCode><statusDate>Wed Apr 07 15:58:25 GMT+05:30 2010</statusDate><userId>u0121845</userId><comment>Sent to LTC</comment></status><status><statusCode>934</statusCode><statusDate>Wed Apr 07 15:54:02 GMT+05:30 2010</statusDate><userId>u0121845</userId><comment>Sent to LTC</comment></status><status><statusCode>750</statusCode><statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate><userId>u0121845</userId><comment>Document Metadata is correct.</comment></status><status><statusCode>934</statusCode><statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate><userId>u0121845</userId><comment>Sent to LTC</comment></status><status><statusCode>932</statusCode><statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate><userId>u0121845</userId><comment>Loaded to Novus</comment></status><status><statusCode>700</statusCode><statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate><userId>u0121845</userId><comment>Document is deleted from OCA.</comment></status></ocaStatus>
    I created following Indexes within the XML,
    CREATE INDEX "OCA_DEV"."OCA_STATUS_CODE_INDEX" ON "OCA_DEV"."DOCUMENT_STATUS_XML" (EXTRACTVALUE('/ocaStatus/status/statusCode'));
    CREATE INDEX "OCA_DEV"."OCA_STATUS_DATE_INDEX" ON "OCA_DEV"."DOCUMENT_STATUS_XML" (EXTRACTVALUE('/ocaStatus/status/statusDate'));
    However the problem is that I will be having multiple status within each XML which violates the Indexing.
    Is there any way I can still create the Indexes allowing multiple status values in each XML?
    Thanks in advance.

    Hi,
    You may want to store your document as a schema-based, object-relational XMLType to achieve that.
    Then you'll be able to create indexes on the nested table used to store each "status" element.
    Here's an example based on your sample document.
    1) First, create and register a schema. The following is basic but sufficient here, let's call it "ocastatus.xsd" :
    <?xml version="1.0"?>
    <xsd:schema
    targetNamespace="http://xmlbeans.apache.org/ocastatus"
    xmlns="http://xmlbeans.apache.org/ocastatus"
    elementFormDefault="qualified"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xdb="http://xmlns.oracle.com/xdb">
    <xsd:element name="ocaStatus" type="OCASTATUS_TYPEType"/>
    <xsd:complexType name="OCASTATUS_TYPEType" xdb:SQLType="OCASTATUS_TYPE">
      <xsd:sequence>
       <xsd:element name="status" type="STATUS_TYPEType" xdb:SQLName="status" maxOccurs="unbounded" xdb:SQLCollType="STATUS_V"/>
      </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="STATUS_TYPEType" xdb:SQLType="STATUS_TYPE">
      <xsd:sequence>
       <xsd:element name="statusCode" type="xsd:double" xdb:SQLName="statusCode" xdb:SQLType="NUMBER"/>
       <xsd:element name="statusDate" xdb:SQLName="statusDate" xdb:SQLType="VARCHAR2">
        <xsd:simpleType>
         <xsd:restriction base="xsd:string">
          <xsd:maxLength value="50"/>
         </xsd:restriction>
        </xsd:simpleType>
       </xsd:element>
       <xsd:element name="userId" xdb:SQLName="userId" xdb:SQLType="VARCHAR2">
        <xsd:simpleType>
         <xsd:restriction base="xsd:string">
          <xsd:maxLength value="50"/>
         </xsd:restriction>
        </xsd:simpleType>
       </xsd:element>
       <xsd:element name="comment" xdb:SQLName="comment" xdb:SQLType="VARCHAR2">
        <xsd:simpleType>
         <xsd:restriction base="xsd:string">
          <xsd:maxLength value="100"/>
         </xsd:restriction>
        </xsd:simpleType>
       </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>Registering...
    BEGIN
    dbms_xmlschema.registerSchema(
      schemaURL => 'ocastatus.xsd',
      schemaDoc => xmltype(bfilename('XSD_DIR','ocastatus.xsd'), nls_charset_id('AL32UTF8')),
      genTypes => true,
      genTables => false
    END;2) Table definition :
    CREATE TABLE oca_status (
      num NUMBER,
      doc XMLTYPE
      XMLTYPE doc STORE AS OBJECT RELATIONAL
       XMLSCHEMA "ocastatus.xsd"
       ELEMENT "ocaStatus"
       VARRAY doc.xmldata."status" STORE AS TABLE oca_status_tab
    CREATE INDEX oca_status_tab_idx1 ON oca_status_tab("statusCode");
    CREATE INDEX oca_status_tab_idx2 ON oca_status_tab("statusDate");3) Inserting document...
    INSERT INTO oca_status (num, doc)
    VALUES(1, xmltype('<ocaStatus xmlns="http://xmlbeans.apache.org/ocastatus">
      <status>
        <statusCode>934</statusCode>
        <statusDate>Wed Apr 07 16:05:53 GMT+05:30 2010</statusDate>
        <userId>u0121845</userId>
        <comment>Sent to LTC</comment>
      </status>
      <status>
        <statusCode>934</statusCode>
        <statusDate>Wed Apr 07 15:58:25 GMT+05:30 2010</statusDate>
        <userId>u0121845</userId>
        <comment>Sent to LTC</comment>
      </status>
      <status>
        <statusCode>934</statusCode>
        <statusDate>Wed Apr 07 15:54:02 GMT+05:30 2010</statusDate>
        <userId>u0121845</userId>
        <comment>Sent to LTC</comment>
      </status>
      <status>
        <statusCode>750</statusCode>
        <statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate>
        <userId>u0121845</userId>
        <comment>Document Metadata is correct.</comment>
      </status>
      <status>
        <statusCode>934</statusCode>
        <statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate>
        <userId>u0121845</userId>
        <comment>Sent to LTC</comment>
      </status>
      <status>
        <statusCode>932</statusCode>
        <statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate>
        <userId>u0121845</userId>
        <comment>Loaded to Novus</comment>
      </status>
      <status>
        <statusCode>700</statusCode>
        <statusDate>2010-03-31 12:39:41.580 GMT+05:30</statusDate>
        <userId>u0121845</userId>
        <comment>Document is deleted from OCA.</comment>
      </status>
    </ocaStatus>')
    );Verifying index use (XPath rewrite) ...
    SQL> EXPLAIN PLAN FOR
      2  SELECT * from oca_status x
      3  WHERE existsnode(x.doc, '//status[statusCode="934"]') = 1;
    Explicité.
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1840289382
    | Id  | Operation                     | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT              |                     |     1 |  7938 |     4  (25)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL            | OCA_STATUS_TAB      |     1 |  2145 |     4   (0)| 00:00:01 |
    |   2 |  NESTED LOOPS                 |                     |     1 |  7938 |     4  (25)| 00:00:01 |
    |   3 |   SORT UNIQUE                 |                     |     4 |  8580 |     2   (0)| 00:00:01 |
    |   4 |    TABLE ACCESS BY INDEX ROWID| OCA_STATUS_TAB      |     4 |  8580 |     2   (0)| 00:00:01 |
    |*  5 |     INDEX RANGE SCAN          | OCA_STATUS_TAB_IDX1 |     4 |       |     1   (0)| 00:00:01 |
    |   6 |   TABLE ACCESS BY INDEX ROWID | OCA_STATUS          |     1 |  5793 |     1   (0)| 00:00:01 |
    |*  7 |    INDEX UNIQUE SCAN          | SYS_C00243981       |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("NESTED_TABLE_ID"=:B1)
       5 - access("statusCode"=934)
       7 - access("NESTED_TABLE_ID"="X"."SYS_NC0000900010$")
    Note
       - dynamic sampling used for this statement
    25 ligne(s) sélectionnée(s).
    SQL> Regards.

  • Problem in creating table maintenance generator for 61 fields in table

    Hi Experts,
    I am facing problem in creating a table maintenance genarator for a ZTABLE which has 61 fields
    i am using below details whicle creating the TMG
    in Maintenance screen
    i am giving maintenance type as two step
    Maint screen no overview screen 2
                              single screen        3
    Dialog Data Transport details
    Recording routine    standard recording routine
    but it is giving following error
    screen SAPL<ZTABLE NAME>    0003 could not be generated
    In DYNPFIELD_ATTR mandatory field LINE has no value
    please let me know how to sort out these errors.
    Is there any limit on the number of fields for which we can create table maintenance generetor.
    Thanks a lot in advance
    Sudipto

    Hi Sudipto,
    There is not limit to the number of fields of the Table which can be used in TMG for generation. But, from the usability point of view this will horrible.
    I created a Z table and added 64 fields and was able to generate the TMG with the screens perfectly. So, I guess there should not be any problem.
    Well, have a look at the Function Group. I guess the screen numbers are already used by some other screens. You can set the system to propose freely available screen numbers from the pool.
    Also, check whether proper authorization is assigned or not.
    And if nothing is working, you can degenerate all the generated screens and then can have a new regeneration of it.
    Hope these tips will work.
    Thanks,
    Samantak

  • Error while creating table maintainence generator !

    Hi All ,
    I want to create a table maintainence generator for table ZZFTLPNT . However I am getting the following error :
    Typ Message text                                                           LTxt
        Field ZZZFTLPNT-RRCTY shortened (new visible length: 000015)
        Field ZZZFTLPNT-DRCRK shortened (new visible length: 000015)
        Field ZZZFTLPNT-ROBJNR shortened (new visible length: 000009)
        Field ZZZFTLPNT-SOBJNR shortened (new visible length: 000009)
        Field ZZZFTLPNT-RRCTY shortened (new visible length: 000007)
        Field ZZZFTLPNT-DRCRK shortened (new visible length: 000007)
        Field ZZZFTLPNT-ROBJNR shortened (new visible length: 000004)
        Field ZZZFTLPNT-SOBJNR shortened (new visible length: 000004)
        Field ZZZFTLPNT-RRCTY shortened (new visible length: 000003)
        Screen SAPLZZZFTLPNT                           0001 could not be gene
        Memory for screen LOAD   is used up. bytes) is not
    Please advise .

    Hi Pankaj
    it is "Display/Maintenace allowed" and delivery class is 'A' .
    Edited by: Ambar  Patil on Dec 9, 2008 11:59 AM
    Edited by: Ambar  Patil on Dec 9, 2008 12:01 PM

  • Problem while creating table maintenance generator using two step

    Hello All,
    I have created a Z table in which I have 7 fields, out of which 6 are character fields and 7th field is of type INT4
    Now when I create the maintenance generator using TWO STEP approach, the 7th field i.e., of type INT4 is not available in the first screen (the table control screen). This screen only has 6 fields for display.
    But when I click NEW ENTRIES button, I get the next screen which has all the 7 fields.
    But if I create the maintenance generator using SINGLE STEP, all 7 fields are displayed in the first screen.
    Please suggest. Let me know if you require some more explaination.
    Thanks & Regards,
    Tarun

    Hi Tarun,
    Go to the layout and increase the size of the Screen. or at the screen attributes change the length and width values.
    You know that initially the screen occupies default size only.
    Hope this would serve your purpose.
    Cheerz
    Ram

Maybe you are looking for