CREATE TABLE [dbo].[Xgl]
(
[XglId] [int] NOT NULL IDENTITY(1, 1),
[Code] [nvarchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Description] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[XLedgerDbId] [bigint] NOT NULL,
[XLedgerAuthorityTypeObjectValueFid] [int] NOT NULL,
[XLedgerMoveTypeObjectValueFid] [int] NOT NULL,
[XLedgerCommodityTypeObjectValueFid] [int] NOT NULL,
[XLedgerExpenseTypeFid] [int] NOT NULL,
[Hidden] [bit] NOT NULL,
[CanPost] [bit] NOT NULL,
[CreatedOn] [datetimeoffset] NOT NULL,
[LastImportedOn] [datetimeoffset] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [PK_Xgl] PRIMARY KEY CLUSTERED ([XglId]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [IX_Xgl_ObjectValues] UNIQUE NONCLUSTERED ([XLedgerAuthorityTypeObjectValueFid], [XLedgerMoveTypeObjectValueFid], [XLedgerCommodityTypeObjectValueFid], [XLedgerExpenseTypeFid]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [IX_Xgl_XLedgerDbId] UNIQUE NONCLUSTERED ([XLedgerDbId]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [FK_Xgl_XLedgerAuthorityTypeObjectValueFid] FOREIGN KEY ([XLedgerAuthorityTypeObjectValueFid]) REFERENCES [dbo].[XLedgerAuthorityTypeObjectValue] ([XLedgerAuthorityTypeObjectValueId])
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [FK_Xgl_XLedgerCommodityTypeObjectValueFid] FOREIGN KEY ([XLedgerCommodityTypeObjectValueFid]) REFERENCES [dbo].[XLedgerCommodityTypeObjectValue] ([XLedgerCommodityTypeObjectValueId])
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [FK_Xgl_XLedgerExpenseType] FOREIGN KEY ([XLedgerExpenseTypeFid]) REFERENCES [dbo].[XLedgerExpenseType] ([XLedgerExpenseTypeId])
GO
ALTER TABLE [dbo].[Xgl] ADD CONSTRAINT [FK_Xgl_XLedgerMoveTypeObjectValueFid] FOREIGN KEY ([XLedgerMoveTypeObjectValueFid]) REFERENCES [dbo].[XLedgerMoveTypeObjectValue] ([XLedgerMoveTypeObjectValueId])
GO
GRANT SELECT ON [dbo].[Xgl] TO [MssExec]
GRANT INSERT ON [dbo].[Xgl] TO [MssExec]
GRANT DELETE ON [dbo].[Xgl] TO [MssExec]
GRANT UPDATE ON [dbo].[Xgl] TO [MssExec]
GO