SUBSTRB(FCZ_DEPT_NM(FMM_MEMB_CODE(RTRIM(A.WORK_MEMB))),1,30)
여기서 FCZ_DEPT_NM, FMM_MEMB_CODE 는 함수로 구성되어 있습니다..
이 2개의 함수를 select 로 풀어야 하는데 잘 안되네요..
FCZ_DEPT_NM 은
CREATE OR REPLACE FUNCTION FCZ_DEPT_NM (
I_DEPT VARCHAR2 -- 부서코드(4), .지점코드(3)
, I_NM_TP VARCHAR2 := 'A' -- 'F'ull/'A'bbr/'E'ng
) RETURN VARCHAR2 AS
BEGIN
IF LENGTHB(I_DEPT) = 3 THEN -- 지점코드
FOR C1 IN (
SELECT DEPT_ABBR, DEPT_NM, ENG_NM
FROM CZS.CZ202M00 A -- 지점
WHERE DEPT_CODE = I_DEPT
) LOOP
IF I_NM_TP = 'F' THEN -- FULL NAME
RETURN C1.DEPT_NM;
ELSIF I_NM_TP = 'E' THEN -- 영문명
RETURN C1.ENG_NM;
ELSE -- 약어
RETURN C1.DEPT_ABBR;
END IF;
END LOOP;
ELSIF LENGTHB(I_DEPT) = 4 THEN -- 부서코드
FOR C1 IN (
SELECT DEPT_ABBR, DEPT_NM, ENG_NM
FROM CZS.CZ203M00 A -- 부서
WHERE SECT_CODE = I_DEPT
) LOOP
IF I_NM_TP = 'F' THEN -- FULL NAME
RETURN C1.DEPT_NM;
ELSIF I_NM_TP = 'E' THEN -- 영문명
RETURN C1.ENG_NM;
ELSE -- 약어
RETURN C1.DEPT_ABBR;
END IF;
END LOOP;
FOR C1 IN (
SELECT DEPT_ABBR, DEPT_NM, ENG_NM
FROM EAS.EA021M00 A -- 약정부점
WHERE SECT_CODE = I_DEPT
) LOOP
IF I_NM_TP = 'F' THEN -- FULL NAME
RETURN C1.DEPT_NM;
ELSIF I_NM_TP = 'E' THEN -- 영문명
RETURN C1.ENG_NM;
ELSE -- 약어
RETURN C1.DEPT_ABBR;
END IF;
END LOOP;
END IF;
RETURN '';
END FCZ_DEPT_NM;
/
FMM_MEMB_CODE 는
CREATE OR REPLACE FUNCTION FMM_MEMB_CODE
( I_MEMB IN VARCHAR2 ) -- 사원번호
RETURN VARCHAR2 AS
BEGIN
IF SUBSTR(I_MEMB,1,1) = 'A' THEN -- 공통관리자
RETURN SUBSTR(I_MEMB,4,3);
ELSE
FOR C1 IN (SELECT SECT_CODE FROM MMS.MM401M00 -- 인사MASTER
WHERE MEMB = I_MEMB)
LOOP
RETURN NVL(C1.SECT_CODE,'9999');
END LOOP;
RETURN '9999';
END IF;
END FMM_MEMB_CODE;
/
이렇게 구성되어 있는데 어떻게 풀어서 써야 하는지 좀 알려주세요 ㅠㅠ