Enhance MARS-956 export and rollback scripts with process tracking identifier
This commit is contained in:
@@ -330,7 +330,8 @@ BEGIN
|
|||||||
pFolderName => 'ODS/C2D/C2D_MPEC_ADMIN',
|
pFolderName => 'ODS/C2D/C2D_MPEC_ADMIN',
|
||||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_ADMIN', -- Template for column order
|
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_ADMIN', -- Template for column order
|
||||||
pMaxFileSize => 104857600, -- 100MB max file size
|
pMaxFileSize => 104857600, -- 100MB max file size
|
||||||
pRegisterExport => TRUE -- Register files in A_SOURCE_FILE_RECEIVED
|
pRegisterExport => TRUE, -- Register files in A_SOURCE_FILE_RECEIVED
|
||||||
|
pProcessName => 'MARS-956' -- Process identifier for tracking
|
||||||
);
|
);
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_ADMIN export completed successfully');
|
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_ADMIN export completed successfully');
|
||||||
@@ -366,7 +367,8 @@ BEGIN
|
|||||||
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT',
|
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT',
|
||||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT',
|
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT',
|
||||||
pMaxFileSize => 104857600, -- 100MB max file size
|
pMaxFileSize => 104857600, -- 100MB max file size
|
||||||
pRegisterExport => TRUE
|
pRegisterExport => TRUE,
|
||||||
|
pProcessName => 'MARS-956' -- Process identifier for tracking
|
||||||
);
|
);
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_CONTENT export completed successfully');
|
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_CONTENT export completed successfully');
|
||||||
@@ -402,7 +404,8 @@ BEGIN
|
|||||||
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT_CRITERION',
|
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT_CRITERION',
|
||||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT_CRITERION',
|
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT_CRITERION',
|
||||||
pMaxFileSize => 104857600, -- 100MB max file size
|
pMaxFileSize => 104857600, -- 100MB max file size
|
||||||
pRegisterExport => TRUE
|
pRegisterExport => TRUE,
|
||||||
|
pProcessName => 'MARS-956' -- Process identifier for tracking
|
||||||
);
|
);
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_CONTENT_CRITERION export completed successfully');
|
DBMS_OUTPUT.PUT_LINE('SUCCESS: MPEC_CONTENT_CRITERION export completed successfully');
|
||||||
|
|||||||
@@ -27,15 +27,14 @@ BEGIN
|
|||||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_ADMIN files from DATA bucket...');
|
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_ADMIN files from DATA bucket...');
|
||||||
|
DBMS_OUTPUT.PUT_LINE(' Using A_SOURCE_FILE_RECEIVED with PROCESS_NAME = ''MARS-956''');
|
||||||
|
|
||||||
-- Delete CSV files from DATA bucket (only files matching export pattern)
|
-- Delete CSV files registered by MARS-956 process
|
||||||
FOR rec IN (
|
FOR rec IN (
|
||||||
SELECT object_name
|
SELECT SOURCE_FILE_NAME AS object_name
|
||||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
credential_name => vCredentialName,
|
WHERE PROCESS_NAME = 'MARS-956'
|
||||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_ADMIN/'
|
AND SOURCE_FILE_NAME LIKE '%MPEC_ADMIN%'
|
||||||
))
|
|
||||||
WHERE object_name LIKE '%.csv'
|
|
||||||
) LOOP
|
) LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
DBMS_CLOUD.DELETE_OBJECT(
|
DBMS_CLOUD.DELETE_OBJECT(
|
||||||
@@ -79,15 +78,15 @@ BEGIN
|
|||||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_CONTENT files from DATA bucket...');
|
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_CONTENT files from DATA bucket...');
|
||||||
|
DBMS_OUTPUT.PUT_LINE(' Using A_SOURCE_FILE_RECEIVED with PROCESS_NAME = ''MARS-956''');
|
||||||
|
|
||||||
-- Delete CSV files from DATA bucket (only files matching export pattern)
|
-- Delete CSV files registered by MARS-956 process
|
||||||
FOR rec IN (
|
FOR rec IN (
|
||||||
SELECT object_name
|
SELECT SOURCE_FILE_NAME AS object_name
|
||||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
credential_name => vCredentialName,
|
WHERE PROCESS_NAME = 'MARS-956'
|
||||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_CONTENT/'
|
AND SOURCE_FILE_NAME LIKE '%MPEC_CONTENT%'
|
||||||
))
|
AND SOURCE_FILE_NAME NOT LIKE '%CRITERION%'
|
||||||
WHERE object_name LIKE '%.csv'
|
|
||||||
) LOOP
|
) LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
DBMS_CLOUD.DELETE_OBJECT(
|
DBMS_CLOUD.DELETE_OBJECT(
|
||||||
@@ -131,15 +130,14 @@ BEGIN
|
|||||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_CONTENT_CRITERION files from DATA bucket...');
|
DBMS_OUTPUT.PUT_LINE('Deleting C2D_MPEC_CONTENT_CRITERION files from DATA bucket...');
|
||||||
|
DBMS_OUTPUT.PUT_LINE(' Using A_SOURCE_FILE_RECEIVED with PROCESS_NAME = ''MARS-956''');
|
||||||
|
|
||||||
-- Delete CSV files from DATA bucket (only files matching export pattern)
|
-- Delete CSV files registered by MARS-956 process
|
||||||
FOR rec IN (
|
FOR rec IN (
|
||||||
SELECT object_name
|
SELECT SOURCE_FILE_NAME AS object_name
|
||||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
credential_name => vCredentialName,
|
WHERE PROCESS_NAME = 'MARS-956'
|
||||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_CONTENT_CRITERION/'
|
AND SOURCE_FILE_NAME LIKE '%MPEC_CONTENT_CRITERION%'
|
||||||
))
|
|
||||||
WHERE object_name LIKE '%.csv'
|
|
||||||
) LOOP
|
) LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
DBMS_CLOUD.DELETE_OBJECT(
|
DBMS_CLOUD.DELETE_OBJECT(
|
||||||
|
|||||||
@@ -17,34 +17,33 @@ DECLARE
|
|||||||
vDeletedCount NUMBER := 0;
|
vDeletedCount NUMBER := 0;
|
||||||
vErrorMsg VARCHAR2(4000);
|
vErrorMsg VARCHAR2(4000);
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Count files to be deleted
|
-- Count files to be deleted (using PROCESS_NAME)
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
INTO vFileCount
|
INTO vFileCount
|
||||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
WHERE SOURCE_FILE_NAME LIKE '200%' -- ETL keys 2001-2010
|
WHERE PROCESS_NAME = 'MARS-956';
|
||||||
AND RECEPTION_DATE >= SYSDATE - 7; -- Last week (safety)
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('Files to be deleted: ' || vFileCount);
|
DBMS_OUTPUT.PUT_LINE('Files to be deleted: ' || vFileCount);
|
||||||
|
DBMS_OUTPUT.PUT_LINE('Using PROCESS_NAME = ''MARS-956'' filter');
|
||||||
|
|
||||||
IF vFileCount > 0 THEN
|
IF vFileCount > 0 THEN
|
||||||
-- Show files before deletion
|
-- Show files before deletion
|
||||||
DBMS_OUTPUT.PUT_LINE('Files being removed:');
|
DBMS_OUTPUT.PUT_LINE('Files being removed:');
|
||||||
FOR rec IN (
|
FOR rec IN (
|
||||||
SELECT A_SOURCE_FILE_RECEIVED_KEY,
|
SELECT A_SOURCE_FILE_RECEIVED_KEY,
|
||||||
SUBSTR(SOURCE_FILE_NAME, 1, 50) AS FILE_NAME,
|
SUBSTR(SOURCE_FILE_NAME, 1, 60) AS FILE_NAME,
|
||||||
TO_CHAR(RECEPTION_DATE, 'YYYY-MM-DD HH24:MI:SS') AS RECEIVED_TIME
|
TO_CHAR(RECEPTION_DATE, 'YYYY-MM-DD HH24:MI:SS') AS RECEIVED_TIME,
|
||||||
|
PROCESS_NAME
|
||||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
WHERE SOURCE_FILE_NAME LIKE '200%'
|
WHERE PROCESS_NAME = 'MARS-956'
|
||||||
AND RECEPTION_DATE >= SYSDATE - 7
|
|
||||||
ORDER BY RECEPTION_DATE DESC
|
ORDER BY RECEPTION_DATE DESC
|
||||||
) LOOP
|
) LOOP
|
||||||
DBMS_OUTPUT.PUT_LINE('- ' || rec.FILE_NAME || ' (ID: ' || rec.A_SOURCE_FILE_RECEIVED_KEY || ')');
|
DBMS_OUTPUT.PUT_LINE('- ' || rec.FILE_NAME || ' (ID: ' || rec.A_SOURCE_FILE_RECEIVED_KEY || ', Process: ' || rec.PROCESS_NAME || ')');
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
-- Delete the file registrations
|
-- Delete the file registrations using PROCESS_NAME
|
||||||
DELETE FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
DELETE FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||||
WHERE SOURCE_FILE_NAME LIKE '200%'
|
WHERE PROCESS_NAME = 'MARS-956';
|
||||||
AND RECEPTION_DATE >= SYSDATE - 7;
|
|
||||||
|
|
||||||
vDeletedCount := SQL%ROWCOUNT;
|
vDeletedCount := SQL%ROWCOUNT;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|||||||
Reference in New Issue
Block a user