DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_STRING_UTIL

Source


1 PACKAGE BODY OE_STRING_UTIL as
2 /* $Header: oexustrb.pls 115.1 99/07/16 08:30:23 porting shi $ */
3 PROCEDURE Get_Substring (String IN OUT VARCHAR2,
4 			   Sub_string IN OUT VARCHAR2,
5 			   Delim VARCHAR2) IS
6   Pos1 	NUMBER;
7   Temp_sub_string VARCHAR2(200) := NULL;
8   BEGIN
9     Pos1 := INSTR(String,Delim,1);
10     IF Pos1 > 0 THEN
11       Temp_sub_string := SUBSTR(String,1,Pos1 - 1);
12       String := SUBSTR(String,Pos1 + 1);
13     END IF;
14     Sub_string := Temp_sub_string;
15   END;
16 FUNCTION Parse_String (String VARCHAR2, Delim VARCHAR2, Delim_cnt NUMBER) RETURN
17  VARCHAR2 IS
18 
19 Return_string VARCHAR2(2000) := NULL;
20 Pos1 NUMBER;
21 Pos2 NUMBER;
22 String_len NUMBER;
23 BEGIN
24   IF Delim_cnt =1 THEN
25     Pos1 := 1;
26   ELSE
27     IF Delim_cnt > 1 THEN
28       Pos1 := INSTR(String,Delim,1,Delim_cnt-1);
29       IF Pos1 > 0 THEN
30         Pos1 := Pos1 + 1;
31       ELSE
32         Return(Return_string);
33       END IF;
34     ELSE /* string count is null or zero */
35       Return(Return_string);
36     END IF;
37   END IF;
38   Pos2 := INSTR(String,Delim,1,Delim_cnt);
39   IF Pos2 > 1 THEN
40     NULL;
41   ELSE
42     Pos2 := LENGTH(String)+1;
43   END IF;
44   String_len := Pos2 - Pos1;
45   Return_string := SUBSTR(String,Pos1,string_len);
46   Return(Return_string);
47 END;
48 END OE_STRING_UTIL;