R12-jak usunąć definicję i szablon danych wydawcy XML

z powodu błędu literówki lub nadania bardziej znaczącej nazwy zgodnie ze standardami nie można później zmienić tych pól. Również nie można ich usunąć. Oracle zaleca ich wyłączenie, podając datę zakończenia. Ale wielu programistów nie lubi zostawiać złych rzeczy w systemie. Lepiej, żeby je usunęli i świeżo odtworzyli.

dlaczego Oracle ograniczyło się do aktualizacji lub usuwania?
powodem jest to, że współbieżny program z wyjściem XML dopasowuje krótką nazwę do kodu szablonu, aby dowiedzieć się, którego szablonu wydawcy XML użyć do przetwarzania końcowego. Jeśli usuniesz ten szablon, Post procesor nie może go znaleźć, a następnie podać błędy. Dlatego zawsze lepiej nie dawać opcji aktualizacji lub usuwania.

ale mamy to obejście, aby zaktualizować lub usunąć definicje szablonu lub danych za pomocą skryptów. Zaleca się, aby uruchomić najpierw w instancjach programistycznych.

przed obejściem obejrzyjmy główne tabele, w których przechowywane są informacje o definicjach danych i szablonach.

1. XDO_DS_DEFINITIONS_B: tabela do przechowywania definicji źródła danych reprezentowanej przez XML Schema Definition (XSD). Każde źródło danych ma jeden lub więcej elementów, a te informacje są przechowywane w XDO_DS_ELEMENTS_B.
2. XDO_DS_DEFINITIONS_TL: tabela tłumaczeń dla XDO_DS_DEFINITIONS_B.
XDO_LOBS: ta tabela służy do przechowywania wrażliwych na locale (język i terytorium) plików binarnych i tekstowych. Służy głównie do przechowywania szablonów układów językowych.
3. XDO_CONFIG_VALUES: przechowuje wartości właściwości konfiguracyjnych wydawcy XML wprowadzone z interfejsu aplikacji Oracle.
4. XDO_TEMPLATES_B: tabela dla informacji o szablonie. Każdy szablon ma odpowiednią definicję źródła danych przechowywaną w XDO_DS_DEFINITIONS_B. każde tłumaczenie określonego szablonu, a nie każdego szablonu, ma odpowiedni fizyczny plik szablonu. Informacje o fizycznym pliku szablonu są przechowywane w xdo_lobs.
5. XDO_TEMPLATES_TL: tabela tłumaczeń dla XDO_TEMPLATES_B.

ustawia SERVEROUTPUT na;
DECLARE
— Zmień następujące dwa parametry
var_templateCode VARCHAR2 (100) := 'ORACLEERPAPPSGUIDE’; — kod szablonu
boo_deleteDataDef BOOLEAN := TRUE; — Usuń Powiązane Dane Def.
BEGIN
dla RS
IN (wybierz T1.APPLICATION_SHORT_NAME TEMPLATE_APP_NAME,
T1.DATA_SOURCE_CODE,
T2.APPLICATION_SHORT_NAME DEF_APP_NAME
FROM XDO_TEMPLATES_B T1, XDO_DS_DEFINITIONS_B T2
WHERE T1.TEMPLATE_CODE = var_templateCode
i T1.DATA_SOURCE_CODE = T2.DATA_SOURCE_CODE)
LOOP
XDO_TEMPLATES_PKG.DELETE_ROW (ROS.TEMPLATE_APP_NAME, var_templateCode);

usuń z XDO_LOBS
gdzie LOB_CODE = var_templateCode
i APPLICATION_SHORT_NAME = RS.TEMPLATE_APP_NAME
I LOB_TYPE IN (’TEMPLATE_SOURCE’,’TEMPLATE’);

USUŃ Z XDO_CONFIG_VALUES
GDZIE APPLICATION_SHORT_NAME = RS.TEMPLATE_APP_NAME
i TEMPLATE_CODE = var_templateCode
oraz DATA_SOURCE_CODE = RS.DATA_SOURCE_CODE
I CONFIG_LEVEL = 50;

DBMS_OUTPUT.PUT_LINE (’Selected template has been’ | | var_templateCode | | ’ deleted.’);

IF boo_deleteDataDef
THEN
XDO_DS_DEFINITIONS_PKG.DELETE_ROW (ROS.DEF_APP_NAME,
RS.DATA_SOURCE_CODE);

DELETE FROM XDO_LOBS
WHERE LOB_CODE = RS.DATA_SOURCE_CODE
AND APPLICATION_SHORT_NAME = RS.DEF_APP_NAME
I LOB_TYPE W
(’XML_SCHEMA’,
’DATA_TEMPLATE’,
’XML_SAMPLE’,
’BURSTING_FILE’);

USUŃ Z XDO_CONFIG_VALUES
GDZIE APPLICATION_SHORT_NAME = RS.DEF_APP_NAME
AND DATA_SOURCE_CODE = RS.DATA_SOURCE_CODE
AND CONFIG_LEVEL = 30;

Write a Comment

Twój adres e-mail nie zostanie opublikowany.