Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

CREATE FUNCTION "RELEASE_MANAGER"."IN_LIST_VARCHAR2" ( sInList IN VARCHAR2, cSeparator IN VARCHAR2 ) RETURN RELMGR_VARCHAR2_TAB_t IS

/* ---------------------------------------------------------------------------
    Version: 3.1
   --------------------------------------------------------------------------- */

    cItemCollection        RELMGR_VARCHAR2_TAB_t := RELMGR_VARCHAR2_TAB_t();
        pos                                NUMBER;
        in_list                    VARCHAR2(4000) := sInList || cSeparator;
        val                                VARCHAR2(4000);

BEGIN

        IF NOT sInList IS NULL
        THEN
                LOOP
                EXIT WHEN in_list IS NULL;
                pos := INSTR ( in_list, cSeparator );
                        val := LTRIM ( RTRIM ( SUBSTR ( in_list, 1, pos-1 ) ) );
                        
                        IF (NOT val IS NULL) THEN
                        cItemCollection.extend;
                        cItemCollection(cItemCollection.count) := val;
                        END IF;
                        
                in_list := SUBSTR ( in_list, pos+1 );
                END LOOP;
        END IF;

        RETURN cItemCollection;
END IN_LIST_VARCHAR2;
/