Pessoal,
Tô passando somente pra deixar um exemplo de como deletar seus DataTemplates e DataSources (Objetos XML Publisher) quando precisar! As vezes criamos errado ou não está sendo utilizado mais, etc…
Segue:
-- Inicio
SET SERVEROUTPUT ON
DECLARE
-- Altere os parametros abaixo conforme sua necessidade
VAR_TEMPLATECODE VARCHAR2(100) := 'NAME_TEMPLATE_CODE'; -- Template Code.
BOO_DELETEDATADEF BOOLEAN := TRUE; -- True/False para excluir Data Def. associado.
BEGIN
FOR RS IN (SELECT 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
AND T1.DATA_SOURCE_CODE = T2.DATA_SOURCE_CODE) LOOP
XDO_TEMPLATES_PKG.DELETE_ROW(RS.TEMPLATE_APP_NAME, VAR_TEMPLATECODE);
DBMS_OUTPUT.PUT_LINE('Template ' || VAR_TEMPLATECODE || ' excluído.');
IF BOO_DELETEDATADEF THEN
XDO_DS_DEFINITIONS_PKG.DELETE_ROW(RS.DEF_APP_NAME, RS.DATA_SOURCE_CODE);
DBMS_OUTPUT.PUT_LINE('Data Definition ' || RS.DATA_SOURCE_CODE ||
' excluido.');
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Faça um COMMIT ou um ROLLBACK para finalizar a execução!');
EXCEPTION
WHEN OTHERS THEN
-- ROLLBACK;
DBMS_OUTPUT.PUT_LINE('Não é possível excluir Template XML Publisher' ||
VAR_TEMPLATECODE);
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM, 1, 200));
END;
-- Fim
Abs,
Junio Vitor
