CREATEOR REPLACE TYPE BODY WMSYS.WM_CONCAT_IMPL
IS
STATICFUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL)
RETURNNUMBER
IS
BEGIN
SCTX:= WM_CONCAT_IMPL(NULL) ;
RETURNODCICONST.SUCCESS;
END;
MEMBERFUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,
P1IN VARCHAR2)
RETURNNUMBER
IS
BEGIN
IF(CURR_STRIS NOT NULL) THEN
CURR_STR:= CURR_STR || ',' || P1;
ELSE
CURR_STR:= P1;
ENDIF;
RETURNODCICONST.SUCCESS;
END;
MEMBERFUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,
RETURNVALUEOUT VARCHAR2,
FLAGSIN NUMBER)
RETURNNUMBER
IS
BEGIN
RETURNVALUE:= CURR_STR ;
RETURNODCICONST.SUCCESS;
END;
MEMBERFUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,
SCTX2IN WM_CONCAT_IMPL)
RETURNNUMBER
IS
BEGIN
IF(SCTX2.CURR_STRIS NOT NULL) THEN
SELF.CURR_STR:= SELF.CURR_STR || ',' || SCTX2.CURR_STR ;
ENDIF;
RETURNODCICONST.SUCCESS;
END;
END;
/