Files
mars/MARS_Packages/REL01/MARS-1049/new_version/FILE_MANAGER_ODS.pkb
Grzegorz Michalski ecd833f682 Init
2026-02-02 10:59:29 +01:00

119 lines
3.9 KiB
Plaintext

create or replace PACKAGE BODY ODS.FILE_MANAGER_ODS
AS
/**
* CREATE_EXTERNAL_TABLE - Wrapper for CT_MRDS.FILE_MANAGER.CREATE_EXTERNAL_TABLE
*/
PROCEDURE CREATE_EXTERNAL_TABLE (
pTableName IN VARCHAR2,
pTemplateTableName IN VARCHAR2,
pPrefix IN VARCHAR2,
pBucketUri IN VARCHAR2 DEFAULT CT_MRDS.ENV_MANAGER.gvInboxBucketUri,
pFileName IN VARCHAR2 DEFAULT NULL,
pDelimiter IN VARCHAR2 DEFAULT ',',
pEncoding IN VARCHAR2 DEFAULT NULL
)
IS
vParameters CT_MRDS.A_PROCESS_LOG.PROCEDURE_PARAMETERS%TYPE;
BEGIN
-- Log the start of the procedure
vParameters := CT_MRDS.ENV_MANAGER.FORMAT_PARAMETERS(
SYS.ODCIVARCHAR2LIST(
'pTableName => ''' || pTableName || '''',
'pTemplateTableName => ''' || pTemplateTableName || '''',
'pPrefix => ''' || pPrefix || '''',
'pBucketUri => ''' || pBucketUri || '''',
'pFileName => ''' || NVL(pFileName, 'NULL') || '''',
'pDelimiter => ''' || pDelimiter || '''',
'pEncoding => ''' || NVL(pEncoding, 'NULL') || ''''
)
);
CT_MRDS.ENV_MANAGER.LOG_PROCESS_EVENT('Start FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE', 'INFO', vParameters);
-- Call the original CT_MRDS.FILE_MANAGER.CREATE_EXTERNAL_TABLE procedure
-- This ensures all logic remains centralized in the original package
-- and ODS wrapper simply delegates execution with DEFINER rights
CT_MRDS.FILE_MANAGER.CREATE_EXTERNAL_TABLE(
pTableName => pTableName,
pTemplateTableName => pTemplateTableName,
pPrefix => pPrefix,
pBucketUri => pBucketUri,
pFileName => pFileName,
pDelimiter => pDelimiter,
pEncoding => pEncoding
);
CT_MRDS.ENV_MANAGER.LOG_PROCESS_EVENT('End FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE', 'INFO', vParameters);
EXCEPTION
WHEN OTHERS THEN
CT_MRDS.ENV_MANAGER.LOG_PROCESS_EVENT(
'Error in ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE: ' || SQLERRM,
'ERROR',
vParameters
);
RAISE;
END CREATE_EXTERNAL_TABLE;
----------------------------------------------------------------------------------------------------
-- PACKAGE VERSION MANAGEMENT FUNCTIONS IMPLEMENTATION
----------------------------------------------------------------------------------------------------
FUNCTION GET_VERSION
RETURN VARCHAR2
IS
BEGIN
RETURN PACKAGE_VERSION;
END GET_VERSION;
----------------------------------------------------------------------------------------------------
FUNCTION GET_BUILD_DATE
RETURN VARCHAR2
IS
BEGIN
RETURN PACKAGE_BUILD_DATE;
END GET_BUILD_DATE;
----------------------------------------------------------------------------------------------------
FUNCTION GET_AUTHOR
RETURN VARCHAR2
IS
BEGIN
RETURN PACKAGE_AUTHOR;
END GET_AUTHOR;
----------------------------------------------------------------------------------------------------
FUNCTION GET_BUILD_INFO
RETURN VARCHAR2
IS
BEGIN
RETURN CT_MRDS.ENV_MANAGER.GET_PACKAGE_VERSION_INFO(
pPackageName => 'FILE_MANAGER_ODS',
pVersion => PACKAGE_VERSION,
pBuildDate => PACKAGE_BUILD_DATE,
pAuthor => PACKAGE_AUTHOR
);
END GET_BUILD_INFO;
----------------------------------------------------------------------------------------------------
FUNCTION GET_VERSION_HISTORY
RETURN VARCHAR2
IS
BEGIN
RETURN CT_MRDS.ENV_MANAGER.FORMAT_VERSION_HISTORY(
pPackageName => 'FILE_MANAGER_ODS',
pVersionHistory => VERSION_HISTORY
);
END GET_VERSION_HISTORY;
----------------------------------------------------------------------------------------------------
END FILE_MANAGER_ODS;
/