LUCA DATA TABLES: (This shows the "Tables" and "Fields" that are used to store information which are exposed for the user to edit.)
erDiagram
SCHEMAS {
string(enum) Code
string(25) NamespacePrefix
string(150) NamespaceIdentifier
string(255) SchemaLocation
string(enum) DefaultLanguage
string(255) TaxonomyDescription
}
TERMS {
string(enum) ReportElementCatetory
string(150) Prefix
string(150) StandardLabel
string(255) ReportElementName
string(enum) DataType
string(enum) BalanceType
string(enum) CalendarPeriodType
collection Labels
collection References
}
LABELS {
string(enum) ReportElementName_Qualified
string(enum) Language
string(enum) LabelRole
string(255) Label
}
REFERENCES {
string(enum) ReportElementName_Qualified
string(enum) ReferenceRole
string(enum) Publisher
string(255) Name
string(255) Paragraph
string(255) URI
date URIDate
}
STRUCTURE {
token(150) StructureIdentifier
token(150) StructureTitle
int Sequence
}
ASSOCIATIONS {
string(enum) StructureType
string(enum) StructureIdentifier
string(enum) AssociationFromName
string(enum) AssociationRole
string(enum) AssociationToName
string(enum) PreferredLabelRole
string(enum) CalculationPolarity
int Sequence
}
RULES {
string(enum) RuleCategory
}
FACTS_NUMERIC {
string(255) ReportingEntityAspect
string(enum) CalendarPeriodAspect
string(enum) ConceptAspect
string(255) FactValue
string(enum) Units
string(10) Rounding
string(100) FactID
guid foriegnKey
collection Dimensions
collection ParentheticalExplanations
}
FACTS_NONNUMERIC {
string(255) ReportingEntityAspect
string(enum) CalendarPeriodAspect
string(enum) ConceptAspect
string(255) FactValue
string(100) FactID
collection Dimensions
collection ParentheticalExplanations
}
DIMENSIONS {
string(100) FactID
string(enum) DimentionName
string(enum) MemberName
}
PARENTHETICAL_EXPLANATION {
string(100) FactID
string(255) Parentheticals
}
ReportElementCategories: (Every TERM fits into one of these ReportElementCategories: Hypercube, Dimension, Member, LineItems, Abstract, Concept) Depending on the ReportElementCatetory; the following information needs to be entered:
erDiagram
HYPERCUBE {
string(150) ReportElementName_Qualified
string(150) StandardLabel
}
DIMENSION {
string(150) ReportElementName_Qualified
string(150) StandardLabel
}
MEMBER {
string(150) ReportElementName_Qualified
string(150) StandardLabel
}
LINEITEM {
string(150) ReportElementName_Qualified
string(150) StandardLabel
}
ABSTRACT {
string(150) ReportElementName_Qualified
string(150) StandardLabel
}
CONCEPT {
string(enum) ReportElementName_Qualified
string(150) reportElementQualifiedName
string(150) StandardLabel
string(enum) DataType
string(enum) BalanceType
string(enum) CalendarPeriodType
}
RULE_CATEGORIES (these are specific patterns or types of rules; every rule fits into one of these categories): (these are the TABLES and FIELDS)
erDiagram
CONSISTENCY_RULE {
string(enum) RuleCode
string(255) Rule
string(255) Concept
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
ROLL_FORWARD_RULE {
string(enum) RuleCode
string(255) Rule
string(255) Concept
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
MEMBER_AGGREGATION_RULE {
string(enum) RuleCode
string(255) Rule
string(255) Concept
string(enum) dimensionName
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
ADJUSTMENT_RULE {
string(enum) RuleCode
string(255) Rule
string(255) Concept
string(enum) dimensionName
string(enum) priorMember
string(enum) currentMember
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
VARIANCE_RULE {
string(enum) RuleCode
string(255) Rule
string(255) Concept
string(enum) dimensionName
string(enum) actualMember
string(enum) budgetedMember
string(enum) varianceMember
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
NONSTANDARD_RULE {
string(enum) RuleCode
string(255) Rule
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
DERIVATION_RULE {
string(enum) RuleCode
string(255) Rule
string(255) precondition
string(255) derivedFact
string(255) basedOnSourceFact
string(enum) StructureIdentifier
string(255) Commentary
int Sequence
}
ENUMERATIONS (These are hard coded lookup lists for specific fields):
erDiagram
BASE-INFORMATION-CODE-ENUM {
token Local
token Import
}
TERMS-REPORT-ELEMENT-CATEGORY-ENUM {
token Hypercube
token Dimension
token Member
token LineItems
token Abstract
token Concept
}
TERMS-BALANCE-TYPE-ENUM {
token Debit
token Credit
token BLANK
}
TERMS-CALENDAR-PERIOD-TYPE-ENUM {
token Duration
token Instant
token Forever
}
ASSOCIATIONS-STRUCTURE-TYPE-ENUM {
token Presentation
token Calculation
token Definition
}
RULES-RULE-CODES-ENUM {
token ConsistencyRule
token RollForwardRule
token MemberAggregationRule
token AdjustmentRule
token VarianceRule
token DerivationRule
token NonstandardRule
}
LOOKUP LISTS (Thess LOOKUP LISTS are Tables that store information that is used as enumeration within other Tables.):
erDiagram
LIST-REPORTING-SCHEMES {
string(50) Source
enum Level
enum Model
string(25) NamespacePrefix
string(255) NamespaceIdentifier
string(255) SchemaLocation
string(255) EntryPoint
string(255) ModelStructureLocation
string(255) Description
string(255) ModelStructureRules
string(255) ReportingStyles
string(255) DisclosureMechanicsRules
string(255) DerivationRuleFormat
int Sequence
boolean Reviewed
string(100) Status
}
LIST-DATA-TYPES {
string(25) FriendlyDataType
string(25) TechnicalDataType
enum Category
enum GeneralUse
string(25) OWLDataType
string(255) Example
}
LIST-LANGUAGES {
int Key
string(50) ISOLanguageName
string(50) ISOCode
string(50) LanguageFamily
boolean Enabled
}
LIST-CURRENCY-CODES {
string(3) Code
string(100) CurrencyLabel
string(25) CurrencySymbol
boolean Enabled
}
LIST-ROLES {
token(25) RoleName
string(100) HumanReadableName
enum Category
string(150) RoleURI
string(150) Model
string(150) Source
string(255) SchemaLocation
}
LIST-ASSOCIATION-ROLES {
token(100) AssociationName
string(100) HumanReadableName
enum Category
string(150) Arcrole
string(255) SchemaLocation
enum StructureType
}
LIST-UNITS {
int Key
string(100) FriendlyUnits
string(255) TechnicalUnits
string(50) UseUnitsRef
}