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',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_ADMIN', -- Template for column order
|
||||
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');
|
||||
@@ -366,7 +367,8 @@ BEGIN
|
||||
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT',
|
||||
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');
|
||||
@@ -402,7 +404,8 @@ BEGIN
|
||||
pFolderName => 'ODS/C2D/C2D_MPEC_CONTENT_CRITERION',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.C2D_MPEC_CONTENT_CRITERION',
|
||||
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');
|
||||
|
||||
@@ -27,15 +27,14 @@ BEGIN
|
||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||
|
||||
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 (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredentialName,
|
||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_ADMIN/'
|
||||
))
|
||||
WHERE object_name LIKE '%.csv'
|
||||
SELECT SOURCE_FILE_NAME AS object_name
|
||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE PROCESS_NAME = 'MARS-956'
|
||||
AND SOURCE_FILE_NAME LIKE '%MPEC_ADMIN%'
|
||||
) LOOP
|
||||
BEGIN
|
||||
DBMS_CLOUD.DELETE_OBJECT(
|
||||
@@ -79,15 +78,15 @@ BEGIN
|
||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||
|
||||
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 (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredentialName,
|
||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_CONTENT/'
|
||||
))
|
||||
WHERE object_name LIKE '%.csv'
|
||||
SELECT SOURCE_FILE_NAME AS object_name
|
||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE PROCESS_NAME = 'MARS-956'
|
||||
AND SOURCE_FILE_NAME LIKE '%MPEC_CONTENT%'
|
||||
AND SOURCE_FILE_NAME NOT LIKE '%CRITERION%'
|
||||
) LOOP
|
||||
BEGIN
|
||||
DBMS_CLOUD.DELETE_OBJECT(
|
||||
@@ -131,15 +130,14 @@ BEGIN
|
||||
vCredentialName := CT_MRDS.ENV_MANAGER.gvCredentialName;
|
||||
|
||||
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 (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredentialName,
|
||||
location_uri => vDataBucketUri || 'ODS/C2D/C2D_MPEC_CONTENT_CRITERION/'
|
||||
))
|
||||
WHERE object_name LIKE '%.csv'
|
||||
SELECT SOURCE_FILE_NAME AS object_name
|
||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE PROCESS_NAME = 'MARS-956'
|
||||
AND SOURCE_FILE_NAME LIKE '%MPEC_CONTENT_CRITERION%'
|
||||
) LOOP
|
||||
BEGIN
|
||||
DBMS_CLOUD.DELETE_OBJECT(
|
||||
|
||||
@@ -17,34 +17,33 @@ DECLARE
|
||||
vDeletedCount NUMBER := 0;
|
||||
vErrorMsg VARCHAR2(4000);
|
||||
BEGIN
|
||||
-- Count files to be deleted
|
||||
-- Count files to be deleted (using PROCESS_NAME)
|
||||
SELECT COUNT(*)
|
||||
INTO vFileCount
|
||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE SOURCE_FILE_NAME LIKE '200%' -- ETL keys 2001-2010
|
||||
AND RECEPTION_DATE >= SYSDATE - 7; -- Last week (safety)
|
||||
WHERE PROCESS_NAME = 'MARS-956';
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE('Files to be deleted: ' || vFileCount);
|
||||
DBMS_OUTPUT.PUT_LINE('Using PROCESS_NAME = ''MARS-956'' filter');
|
||||
|
||||
IF vFileCount > 0 THEN
|
||||
-- Show files before deletion
|
||||
DBMS_OUTPUT.PUT_LINE('Files being removed:');
|
||||
FOR rec IN (
|
||||
SELECT A_SOURCE_FILE_RECEIVED_KEY,
|
||||
SUBSTR(SOURCE_FILE_NAME, 1, 50) AS FILE_NAME,
|
||||
TO_CHAR(RECEPTION_DATE, 'YYYY-MM-DD HH24:MI:SS') AS RECEIVED_TIME
|
||||
SUBSTR(SOURCE_FILE_NAME, 1, 60) AS FILE_NAME,
|
||||
TO_CHAR(RECEPTION_DATE, 'YYYY-MM-DD HH24:MI:SS') AS RECEIVED_TIME,
|
||||
PROCESS_NAME
|
||||
FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE SOURCE_FILE_NAME LIKE '200%'
|
||||
AND RECEPTION_DATE >= SYSDATE - 7
|
||||
WHERE PROCESS_NAME = 'MARS-956'
|
||||
ORDER BY RECEPTION_DATE DESC
|
||||
) 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;
|
||||
|
||||
-- Delete the file registrations
|
||||
-- Delete the file registrations using PROCESS_NAME
|
||||
DELETE FROM CT_MRDS.A_SOURCE_FILE_RECEIVED
|
||||
WHERE SOURCE_FILE_NAME LIKE '200%'
|
||||
AND RECEPTION_DATE >= SYSDATE - 7;
|
||||
WHERE PROCESS_NAME = 'MARS-956';
|
||||
|
||||
vDeletedCount := SQL%ROWCOUNT;
|
||||
COMMIT;
|
||||
|
||||
Reference in New Issue
Block a user