Bij het uitvoeren van de volgende applicatiemodule XXSDPSYNCREL krijg ik de foutmelding:
itgenpse147:
De in-memory-tabel ‘ACT’ is al gedefinieerd in deze scope.
Definieer de tabel in het geheugen eenmaal.
De tabel wordt echter alleen create or replace
, dus dit zou moeten werken.
declare
p_eol_division_code_main number := 999999;
begin
use all;
create or replace table SyncLogs@InMemoryStorage
( id guid not null
, occurrence_date datetime not null -- UTC
, action_type char not null -- 'I', 'D' or 'U' for Insert, Delete or Update.
, table_name varchar2 not null
, nk1 varchar2 not null -- First element of business key.
, nk2 varchar2 null
, nk3 varchar2 null
, nk4 varchar2 null
, nk5 varchar2 null
, label varchar2 null -- Textual background.
, actions varchar2 not null -- Changed values.
--
, ip_address varchar2 not null -- Audit fields.
, iuid varchar2 not null
, date_created datetime not null
, created_by varchar2 not null
, created_at varchar2 not null
, session_created varchar2 not null
)
;
create or replace table Act@InMemoryStorage
as
select act.*
from AccountsIncremental act
where 1=0
;
create or replace table actnew@inmemorystorage
as
select /*+ http_disk_cache(false) http_memory_cache(false) */
Division
, Id
, Code
, Name
, Created
, Modified
, Remarks
from AccountsIncremental
where false
;
create or replace table ExactOnlineAccountsSoll@InMemoryStorage
as
select spn.Code Division
, gatstgt.Id GLAccountSales
, gatptgt.Id GLAccountPurchase
, act.* except Division, GLAccountSales
from Act@InMemoryStorage act
join SYSTEMPARTITIONS@DataDictionary spn
on false
left
outer
join GLAccountsIncremental gatssrc
on false
left
outer
join GLAccountsIncremental gatstgt
on false
left
outer
join GLAccountsIncremental gatpsrc
on false
left
outer
join GLAccountsIncremental gatptgt
on false
;
create or replace table BankAccountsIst@InMemoryStorage
as
select /*+ http_disk_cache(false) http_memory_cache(false) */
bat.Division
, bat.Account
, bat.IBAN
, bat.Format
, bat.BankAccount
, bat.BICCode
, bat.Main
, bat.Type
, bat.Id
, bat.Modified
, act.Code AccountCode
, act.Name AccountName
from BankAccounts bat
join actnew@inmemorystorage act
on false
where false
;
create or replace table BankAccountsSoll@InMemoryStorage
as
select /*+ http_disk_cache(false) http_memory_cache(false) */
acttgt.Division
, acttgt.Id Account
, bat.IBAN
, bat.Format
, bat.BICCode
, bat.Main
, bat.Type
, acttgt.Code AccountCode
, acttgt.Name AccountName
from BankAccounts bat
join SYSTEMPARTITIONS@DataDictionary spn
on false
join ActNew@InMemoryStorage actsrc
on false
join ActNew@InMemoryStorage acttgt
on false
where false
;
create or replace table AddressesSoll@InMemoryStorage
as
select /*+ http_disk_cache(false) http_memory_cache(false) */
acttgt.Division
, acttgt.Id Account
, ads.Main
--
-- Main visit address is automatically created upon insert of account.
--
, ads.AddressLine1
, ads.AddressLine2
, ads.City
, ads.State
, ads.Country
, ads.Postcode
, ads.Type
, acttgt.Code AccountCode
, acttgt.Name AccountName
from AddressesIncremental ads
join SYSTEMPARTITIONS@DataDictionary spn
on false
join ActNew@InMemoryStorage actsrc
on false
join ActNew@InMemoryStorage acttgt
on false
where false
;
create or replace table AddressesIncrementalSelected@InMemoryStorage
as
select ads.Id
, ads.Division
, ads.Account
, ads.Main
--
-- Main visit address is automatically created upon insert of account.
--
, ads.AddressLine1
, ads.AddressLine2
, ads.City
, ads.State
, ads.Country
, ads.Postcode
, ads.Type
, act.Code AccountCode
, act.Name AccountName
from AddressesIncremental ads
join ActNew@inmemorystorage act
on false
where false
;
--
create or replace table Act@InMemoryStorage
as
select act.*
from AccountsIncremental act
where Division = p_eol_division_code_main
;