Pessoal, boa noite!
Deixo aqui uma dica para aqueles que querem facilitar a exclusão do Data Template / Data Definition referente à um Relatório XML Publisher, por exemplo.
Basta executar o script abaixo, alterando os dois parâmetros iniciais.
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;
Abraço,
Júnio Vitor de Paula