본문 바로가기
  • 노란색 세상은 어디에 있을까?
  • 봄이 오면 여기에 있겠지.
  • 잠시나마 유유자적 하겠네.
오라클/패키지(시스템공통)

[ 전역변수 및 메시지 출력 ] sys_init_api 패키지를 생성합니다.

by 태백성 2024. 4. 4.
create or replace package bsys.sys_init_api
is
    -- 기본값 정의
    c_sysdate                constant date           default trunc(sysdate);                       -- 현재일자
    c_sysdatetime            constant date           default sysdate;                              -- 현재일시
    c_systimestamp           constant timestamp      default systimestamp;                         -- 현재일시(초)

    c_start_date             constant date           default to_date('1900-01-01', 'YYYY-MM-DD');  -- 시작일자
    c_end_date               constant date           default to_date('4712-12-12', 'YYYY-MM-DD');  -- 종료일자
    c_user_id                constant number         default -1;                                   -- 사용자id`
    c_user_cd                constant varchar2(0050) default '-1';                                 -- 사용자코드
    c_lang_cd                constant varchar2(0002) default 'KO';                                 -- 언어코드
    c_char_null              constant varchar2(0001) default null;                                 -- 문자널
    c_num_null               constant number         default null;                                 -- 숫자널
    c_date_null              constant date           default null;                                 -- 날짜널

    -- 예/아니오 정의
    c_yes                    constant varchar2(0001) default 'Y';                                  -- 예
    c_no                     constant varchar2(0001) default 'N';                                  -- 아니오

    -- 문자 정의
    c_space                  constant varchar2(0001) default chr(8);                               -- 스페이스
    c_tab                    constant varchar2(0001) default chr(9);                               -- 탭
    c_enter                  constant varchar2(0001) default chr(10);                              -- 엔터
    c_comma                  constant varchar2(0001) default chr(44);                              -- 콤마
    c_pipeline               constant varchar2(0001) default chr(124);                             -- 파이프라인

    -- crud 정의
    c_insert                 constant varchar2(0001) default 'I';                                  -- 신규
    c_update                 constant varchar2(0001) default 'U';                                  -- 수정
    c_delete                 constant varchar2(0001) default 'D';                                  -- 삭제
    c_search                 constant varchar2(0001) default 'S';                                  -- 조회
    c_create                 constant varchar2(0001) default 'C';                                  -- 생성
    c_valid                  constant varchar2(0001) default 'V';                                  -- 검증
    c_batch                  constant varchar2(0001) default 'B';                                  -- 배치
    c_file                   constant varchar2(0001) default 'F';                                  -- 파일

    -- 성공/실폐 정의
    c_undefined              constant varchar2(0001) default 'U';                                  -- 미처리
    c_success                constant varchar2(0001) default 'S';                                  -- 성공
    c_fail                   constant varchar2(0001) default 'F';                                  -- 실폐

    -- 메일정보 정의
    c_admin_mail_address     constant varchar2(0100) default 'jgkang@built1.com';              	   -- 관리자메일주소

    -- 메시지 정의
    c_success_descr          constant varchar2(0200) default '정상적으로 처리되었습니다.';         -- 성공

    -- 함수 정의
    function out_msg_f
        (pi_valid_type                 in     varchar2     -- 검증유형
        ,pi_package_name               in     varchar2     -- 패키지.프로시저(펑션)명
        ,pi_error_descr                in     varchar2     -- 오류내용
        ) return varchar2;

end sys_init_api;

 

create or replace package body bsys.sys_init_api
    /* ********************************************************************************************
       * 업 무  단 위 : 시스템관리
       * 패   키   지 : bsys.sys_init_api
       * 사 용  목 적 : 전역변수 및 메시지 출력 패키지
       * 스크립트명칭 : 시스템관리_패키지_전역변수_생성
       * 생 성  일 자 : 2024-02-01
       * 생   성   자 : Admin 
       --------------------------------------------------------------------------------------------
       * 수정일자       수정자      수정내역
       --------------------------------------------------------------------------------------------
       * 2024-02-01     Admin       최초 작성
    ******************************************************************************************** */
is
    /* ********************************************************************************************
       * 사 용  목 적 : 메시지 출력 함수
       * 생 성  일 자 : 2024-02-01
       * 생   성   자 : Admin 
    ******************************************************************************************** */
    function out_msg_f
        (pi_valid_type                 in     varchar2     -- 검증유형
        ,pi_package_name               in     varchar2     -- 패키지.프로시저(펑션)명
        ,pi_error_descr                in     varchar2     -- 오류내용
        ) return varchar2
    is
        l_result_value                 varchar2(4000) default null;
    begin
        -- 신규
        if c_insert = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 신규 데이터 저장' || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 수정
        elsif c_update = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 수정 데이터 저장' || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 삭제
        elsif c_delete = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 데이터 삭제'      || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 조회
        elsif c_search = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 데이터 조회'      || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 생성
        elsif c_create = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 자료 생성'        || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 검증
        elsif c_valid = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 자료 검증'        || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 배치
        elsif c_batch = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 배치 데이터 처리' || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        -- 배치
        elsif c_file = pi_valid_type then
            l_result_value := '패키지 : ' || pi_package_name               || c_enter
                                          || '처리기준 : 파일 처리'        || c_enter
                                          || '오류내용 : '                 || pi_error_descr;

        end if;

        -- 리턴
        return l_result_value;
    end out_msg_f;

end sys_init_api;