Itgenrst007: The metadata of the columns 'data_container_alias' specifies that null values should not appear, but there is a null value in row #0

Bij het uitvoeren van het volgende statement treedt een foutmelding op:

Error itgencun016: Fout itgenrst007: The metadata of the columns 'data_container_alias' specifies that null values should not appear, but there is a null value in row #0.
Ensure that the nullable property in the metadata of XXDRU_DESIRED_TABLES matches the values.
full_qualified_name (String/string): ExactOnlineREST.System.Sy...ition_filter (String/string): SPECIFIC, rowid$ (Int64/int64): 1
2021-11-28 19:01:13.506 Error itgenrst007: Invantive.Basics.InvantiveSqlException
   at Invantive.Basics.ValidationException..ctor(GlobalState owner, ExecutionOptions executionOptions, String messageCode, String messageText, String kindRequest, String localStackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean isRecoverable, String poolIdentityId, String url)
   at Invantive.Basics.InvantiveSqlException..ctor(GlobalState owner, ExecutionOptions executionOptions, String validationCode, String errorMessage, String kindRequest, String stackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean isRecoverable, String poolIdentityId)
   at Invantive.Data.SqlUtility.CheckRow(GlobalState owner, ExecutionOptions executionOptions, IProviderManager manager, ISparseArray row, DatabaseColumnDefinitionCollection fields, Nullable`1 rowNumberContext, ObjectDefinition objectDefinition, String sqlStatement, Boolean isFromDml, Boolean disableRst004, Boolean disableRst007, Boolean disableRst009, Boolean disableRst011AndOrRst013)
   at Invantive.Data.InMemoryStorageProvider.InsertReturnAffectedCount(GlobalState owner, ExecutionOptions executionOptions, EntityFieldCollection entityFields, ParameterList parameterList, Object identifiedBy, Object attachTo)

Statement:

insert into xxdru_desired_tables@inmemorystorage
( full_qualified_name
, partition_filter
, partition_code
)
values
( ( 'ExactOnlineREST.System.SystemDivisions', 'SPECIFIC', 'DEFAULT' )
, ( 'ExactOnlineREST.System.SystemDivisionClassifications', 'ACTIVESUB', null )
, ( 'ExactOnlineREST.CRM.AccountClassifications', 'ACTIVE', null )
, ( 'ExactOnlineREST.Incremental.AccountsIncremental', 'ACTIVE', null )
, ( 'ExactOnlineREST.Budget.Budgets', 'ACTIVE', null )
--, ( 'ExactOnlineREST.Cashflow.PaymentsBulk', 'ACTIVE', null )
--, ( 'ExactOnlineREST.Cashflow.ReceivablesBulk', 'ACTIVE', null )
, ( 'ExactOnlineXML.XML.GLAccountClassificationRelations', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.GLAccountClassificationMappings', 'ACTIVE', null )
, ( 'ExactOnlineREST.Incremental.GLAccountsIncremental', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.Journals', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.PayablesList', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.ProfitLossOverview', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.ReceivablesList', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.Returns', 'ACTIVE', null )
, ( 'ExactOnlineREST.Financial.RevenueList', 'ACTIVE', null )
, ( 'ExactOnlineREST.Incremental.TransactionLinesIncremental', 'ACTIVE', null )
, ( 'ExactOnlineREST.HRM.Costcenters', 'ACTIVE', null )
, ( 'ExactOnlineREST.HRM.Costunits', 'ACTIVE', null )
, ( 'ExactOnlineREST.Incremental.ItemsIncremental', 'ACTIVE', null )
, ( 'ExactOnlineREST.Inventory.AssemblyOrders', 'ACTIVE', null )
, ( 'ExactOnlineREST.Inventory.AssemblyOrderPartItems', 'ACTIVE', null )
, ( 'ExactOnlineREST.Inventory.ItemWarehouses', 'ACTIVE', null )
, ( 'ExactOnlineREST.Logistics.ItemGroups', 'ACTIVE', null )
, ( 'ExactOnlineREST.Mailbox.Mailboxes', 'ACTIVESUB', null )
, ( 'ExactOnlineREST.Manufacturing.MfgSalesOrderlines', 'ACTIVE', 535193 )
, ( 'ExactOnlineREST.Manufacturing.MaterialIssues', 'ACTIVE', null )
, ( 'ExactOnlineREST.Manufacturing.MaterialReversals', 'ACTIVE', null )
, ( 'ExactOnlineREST.Manufacturing.ShopOrderReceipts', 'ACTIVE', null )
, ( 'ExactOnlineREST.Manufacturing.ShopOrderReversals', 'ACTIVE', null )
, ( 'ExactOnlineREST.Payroll.Employees', 'ACTIVE', null )
, ( 'ExactOnlineREST.VAT.VATCodes', 'ACTIVE', null )
, ( 'ExactOnlineREST.Project.PjtTimeTransactions', 'ACTIVE', null )
, ( 'ExactOnlineREST.Project.Projects', 'ACTIVE', null )
, ( 'ExactOnlineREST.Project.EmploymentInternalRates', 'ACTIVE', 1537256 )
, ( 'ExactOnlineREST.PurchaseOrder.GoodsReceipts', 'ACTIVE', null )
, ( 'ExactOnlineREST.PurchaseOrder.GoodsReceiptLines', 'ACTIVE', null )
, ( 'ExactOnlineREST.PurchaseOrder.PurchaseOrders', 'ACTIVE', 535193 )
, ( 'ExactOnlineREST.PurchaseOrder.PurchaseOrderLines', 'ACTIVE', 535193 )
, ( 'ExactOnlineREST.PurchaseOrder.GoodsReceiptLines', 'ACTIVE', 535193 )
, ( 'ExactOnlineREST.PurchaseOrder.GoodsReceipts', 'ACTIVE', 535193 )
--, ( 'ExactOnlineREST.SalesInvoice.SalesInvoices', 'ACTIVE', null)
--, ( 'ExactOnlineREST.SalesInvoice.SalesInvoiceLinesBulk', 'ACTIVE', 535193)
, ( 'ExactOnlineREST.SalesOrder.GoodsDeliveriesBulk', 'ACTIVE', null)
, ( 'ExactOnlineREST.SalesOrder.GoodsDeliveryLinesBulk', 'ACTIVE', null)
, ( 'ExactOnlineREST.Incremental.SalesInvoiceLinesIncremental', 'ACTIVE', null)
, ( 'ExactOnlineREST.Subscription.Subscriptions', 'ACTIVE', null)
, ( 'ExactOnlineREST.Subscription.SubscriptionLines', 'ACTIVE', null)
, ( 'ExactOnlineREST.Subscription.SubscriptionTypes', 'ACTIVE', null)
, ( 'ExactOnlineREST.Subscription.SubscriptionLineTypes', 'ACTIVE', null)
, ( 'ExactOnlineXML.XML.BalanceLinesPerPeriod', 'ACTIVE', null )
, ( 'ExactOnlineXML.XML.FinPeriods', 'ACTIVE', null )
, ( 'ExactOnlineXML.XML.APOutstandingItems', 'ACTIVE', null )
, ( 'ExactOnlineXML.XML.AROutstandingItems', 'ACTIVE', null )
)

De tabel wordt aangemaakt met:

--
-- List of tables to be excluded.
--
-- The partition filter enables you to specify from what partitions the tables should be taken.
-- Possible values are:
-- * ACTIVE: all active partitions (company on Exact Online), except those listed in
--   xxdru_excluded_partitions.
-- * ACTIVESUB: the first active partition of every owning company
--   (subscription on Exact Online), except those listed in
--   xxdru_excluded_partitions.
-- * SPECIFIC: one specific partition, listed in partition_code.
--
create or replace table xxdru_desired_tables@inmemorystorage
as
select 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
       full_qualified_name
       label 'Fully Qualified Table Name'
,      'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
       partition_filter
       label 'Partition Filter'
,      'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
       partition_code
       label 'Partition Code'
,      'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
       data_container_alias
       label 'Data Container Alias (optional)'
from   dual@DataDictionary
where  false

Hoe los ik dit op?

De vraag en oplossing is gelijkend op Error itgenrst007: The metadata of the columns 'partition_code' specifies that null values should not appear, but there is a null value in row #0.

Er zijn twee mogelijke oplossingen:

  • Geef overal datacontaineralias op, bijvoorbeeld eol of wat er ook gebruikt wordt in de databasedefinitie.
  • Maak datacontaineralias optioneel.

De eerste aanpassing is de aanbevolen oplossing omdat het ook problemen oplost als er meerdere datacontainers geladen worden.

De tweede oplossing vereist dat de create table van de andere vraag aangepast wordt naar:

create or replace table xxdru_desired_tables@inmemorystorage
( full_qualified_name  varchar2(128) not null label 'Fully Qualified Table Name'
, partition_filter     varchar2(30)  not null label 'Partition Filter'
, partition_code       varchar2(128)     null label 'Partition Code'
, data_container_alias varchar2(128) /* not */ null label 'Data Container Alias (optional)'
)```