blob: 71a0f689dbe2e675c55f6e1afad7e997b211c606 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
<!-- ========================================================= -->
<!-- ======================== Defaults ======================= -->
<!-- ========================================================= -->
<title>Entity of an Open For Business Project Component</title>
<description>None</description>
<version>1.0</version>
<!-- ========================================================= -->
<!-- ======================== Data Model ===================== -->
<!-- The modules in this file are as follows: -->
<!-- - org.ofbiz.specialpurpose.oagis -->
<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- org.ofbiz.specialpurpose.oagis -->
<!-- ========================================================= -->
<entity entity-name="OagisMessageInfo" package-name="org.ofbiz.specialpurpose.oagis" title="OAGIS Message Info Entity">
<field name="logicalId" type="very-short"><description>CNTROLAREA -> SENDER -> LOGICALID; max 10 chars</description></field>
<field name="component" type="very-short"><description>CNTROLAREA -> SENDER -> COMPONENT; max 10 chars</description></field>
<field name="task" type="short-varchar"><description>CNTROLAREA -> SENDER -> TASK; max 10 chars; note that using short-varchar instead of very-short so we can have longer fields in the DB</description></field>
<field name="referenceId" type="id-long-ne">
<description>CNTROLAREA -> SENDER -> REFERENCEID; max 40 chars in spec; for messages sent from OFBiz this will be a
sequenced ID and be unique on its own; for messages from other systems this may only be unique relative
to the logicalId, component, and task as defined in the OAGIS specifications
</description>
</field>
<field name="authId" type="id-long"><description>CNTROLAREA -> SENDER -> AUTHID; max 50 chars in spec</description></field>
<field name="outgoingMessage" type="indicator"><description>Y for outgoing, N for incoming</description></field>
<field name="sentDate" type="date-time"><description>should be the same as the CNTROLAREA -> DATETIMEISO (DATETIMEANY) element</description></field>
<field name="receivedDate" type="date-time"><description>will generally only be set for outgoing messages</description></field>
<field name="confirmation" type="id">
<description>
0 = No confirmation Business Object Document requested
1 = Send back a confirmation Business Object Document only if an error has occurred
2 = Send a confirmation Business Object Document regardless
</description>
</field>
<field name="bsrVerb" type="short-varchar"></field>
<field name="bsrNoun" type="short-varchar"></field>
<field name="bsrRevision" type="short-varchar"></field>
<field name="processingStatusId" type="id"></field>
<field name="orderId" type="id"></field>
<field name="returnId" type="id"></field>
<field name="shipmentId" type="id"></field>
<field name="origRef" type="short-varchar"></field>
<field name="fullMessageXml" type="very-long"></field>
<prim-key field="logicalId"/>
<prim-key field="component"/>
<prim-key field="task"/>
<prim-key field="referenceId"/>
<relation type="one" fk-name="OAGIS_MI_PROCSTS" title="Processing" rel-entity-name="StatusItem">
<key-map field-name="processingStatusId" rel-field-name="statusId"/>
</relation>
<!-- DEJ20070803: removing foreign keys because we want the info in this case more than we want the info to be correct
BIG NOTE: having these fks in place also makes the running of the createOagisMessageInfo service in a separate transaction impossible because of locking problems; this happens in Derby and may or may not in other databases
<relation type="one" fk-name="OAGIS_MI_ORDHDR" rel-entity-name="OrderHeader">
<key-map field-name="orderId"/>
</relation>
<relation type="one" fk-name="OAGIS_MI_RETURN" rel-entity-name="ReturnHeader">
<key-map field-name="returnId"/>
</relation>
<relation type="one" fk-name="OAGIS_MI_SHPMNT" rel-entity-name="Shipment">
<key-map field-name="shipmentId"/>
</relation>
-->
</entity>
<entity entity-name="OagisMessageErrorInfo" package-name="org.ofbiz.specialpurpose.oagis" title="OAGIS Message Error Info Entity">
<field name="logicalId" type="very-short"></field>
<field name="component" type="very-short"></field>
<field name="task" type="short-varchar"></field>
<field name="referenceId" type="id-long-ne"></field>
<field name="errorSeqId" type="id"><description>this is a secondary sequenced ID relative to the primary key of OagisMessageInfo</description></field>
<field name="reasonCode" type="short-varchar"></field>
<field name="description" type="very-long"></field>
<prim-key field="logicalId"/>
<prim-key field="component"/>
<prim-key field="task"/>
<prim-key field="referenceId"/>
<prim-key field="errorSeqId"/>
<relation type="one" fk-name="OAGIS_MIER_MI" rel-entity-name="OagisMessageInfo">
<key-map field-name="logicalId"/>
<key-map field-name="component"/>
<key-map field-name="task"/>
<key-map field-name="referenceId"/>
</relation>
</entity>
</entitymodel>