Ta postopek doda novo tabelo v konfiguracijo procedure PRODUCTION.IMPORTDATA_CASHREGISTER_DYNAMIC, ki prenaša podatke iz sheme PRODUCTION v CASHREGISTER.
Opozorilo: Postopek spreminja konfiguracijo prenosa produkcijskih podatkov. Izvajajte ga samo v pravilnem okolju, z ustreznimi pravicami in preverjenim načrtom povrnitve.
PRODUCTION in CASHREGISTER.SYS_TSCHANGE za zaznavanje sprememb.PK_EXPR.ORDINAL.TOOLS.TRANSFER_TABLES.TOOLS.TRANSFER_COLUMNS.INSERT INTO TOOLS.TRANSFER_TABLES
(TAB_NAME, SRC_SCHEMA, PK_EXPR, ORDINAL)
VALUES
(
'IME_TABELE',
'IME_SHEME',
'KLJUC = KLJUC',
(SELECT MAX(ORDINAL) + 1 FROM TOOLS.TRANSFER_TABLES)
);
Primer:
INSERT INTO TOOLS.TRANSFER_TABLES
(TAB_NAME, SRC_SCHEMA, PK_EXPR, ORDINAL)
VALUES
(
'LINKMACHINEOPERATION',
'PRODUCTION',
'LMAOP_ID = LMAOP_ID',
(SELECT MAX(ORDINAL) + 1 FROM TOOLS.TRANSFER_TABLES)
);
ORDINALdoloča vrstni red izvoza. Pri tabelah z odvisnostmi ne uporabite samodejno zadnjega mesta, dokler ne preverite pravilnega zaporedja.
INSERT INTO TOOLS.TRANSFER_COLUMNS (TAB_NAME, COL_NAME)
SELECT 'IME_TABELE', COLNAME
FROM SYSCAT.COLUMNS
WHERE TABSCHEMA = 'CASHREGISTER'
AND TABNAME = 'IME_TABELE';
Primer:
INSERT INTO TOOLS.TRANSFER_COLUMNS (TAB_NAME, COL_NAME)
SELECT 'LINKMACHINEOPERATION', COLNAME
FROM SYSCAT.COLUMNS
WHERE TABSCHEMA = 'CASHREGISTER'
AND TABNAME = 'LINKMACHINEOPERATION';
Po vnosu primerjajte seznam stolpcev z dejansko strukturo ciljne tabele.
Če želite prenesti samo dokumente določenega statusa:
UPDATE TOOLS.TRANSFER_TABLES
SET USE_STATUS_FILTER = 1,
STATUS_WHERE = 'DOST_CODE >= ''05'''
WHERE TAB_NAME = 'WORKORDER';
UPDATE TOOLS.TRANSFER_TABLES
SET LANG_TAB_NAME = 'L_ITEM'
WHERE TAB_NAME = 'ITEM';
Pri uporabi jezikovne tabele morajo dodatni stolpci obstajati tudi v ciljni tabeli CASHREGISTER. V nasprotnem primeru bo ukaz MERGE javil napako.
Za velike tabele lahko vključite obdelavo v serijah po največ 10.000 ID-jev:
UPDATE TOOLS.TRANSFER_TABLES
SET USE_TEMP_ID_BATCH = 1
WHERE TAB_NAME = 'MACHINEOPERATIONSTATUS';
ID-ji se zberejo v TOOLS.TEMP_ID_DYNAMIC_TRANSFER, nato pa se za vsako serijo izvede ločen MERGE.
CALL PRODUCTION.IMPORTDATA_PRODUCTION_CASHREGISTER_DYNAMIC(
'IMPORTDATA_PRODUCTION_CASHREGISTER_DYNAMIC_DEBUG'
);
Diagnostični način omogoči:
LOGGING.LOGDATA,SELECT
TAB_NAME,
PROC_TS_STARTED,
PROC_TS_END,
PROC_ROWCOUNT,
TIMESTAMPDIFF(2, CHAR(PROC_TS_END - PROC_TS_STARTED)) AS DURATION_SECONDS,
PROC_STATE,
ERR_TS,
ERR_MSG
FROM TOOLS.TRANSFER_STATE
ORDER BY PROC_TS_STARTED;
| Stolpec | Pomen |
|---|---|
TAB_NAME |
Ime prenesene tabele |
PROC_TS_STARTED |
Začetek prenosa |
PROC_TS_END |
Konec prenosa |
PROC_ROWCOUNT |
Število prenesenih vrstic |
DURATION_SECONDS |
Trajanje v sekundah |
PROC_STATE |
OK, STARTED ali ERROR |
ERR_TS |
Čas napake |
ERR_MSG |
Sporočilo napake |
PK_EXPR pravilno določa ključ.ORDINAL upošteva odvisnosti.OK.ERR_MSG in dnevnikih ni napak.Po uspešni konfiguraciji se tabela vključi v samodejni prenos. Uspeh je odvisen predvsem od skladnih stolpcev med
PRODUCTION, morebitnoLANG_TAB_NAMEinCASHREGISTER.
Najprej izvedite prenos v testnem okolju ali z omejenim naborom podatkov. Preverite število prenesenih zapisov, čas zadnje spremembe, dnevnike in morebitne napake pri ključih. Šele nato vključite prenos v produkciji.
Preverite vrstni red, manjkajoče stolpce, primarni ključ, pravice in dnevnike procedure. Ne ponavljajte vnosov, dokler ne ugotovite, ali je bil del konfiguracije že shranjen.
Za eskalacijo: navedite ime tabele, okolje, čas spremembe, uporabljeni vrstni red in izsek dnevnika brez poslovnih podatkov.