An UPPER() sp and it works!!!!
Posted in 1997
Hi all,
Here is an UPPER() SP - If it was resolved in a different
form, consider this as an addendum. I didn't check the
efficiency, 'coz plethora of situations arise.
Here's the code:
----------- START ---------------
create procedure UPPER(sstr CHAR(100)) RETURNING CHAR(100);define result_str char(100);
define tmp_str char(100);
define r_char, t_char char(1);
define i, j integer;
LET result_str = "";
FOR i = 1 TO length(sstr)
LET t_char = sstr[1,1];
LET j = 0;
IF t_char = 'a' THEN LET r_char = 'A'; LET j = 1; END IF;
IF t_char = 'b' THEN LET r_char = 'B'; LET j = 1; END IF;
IF t_char = 'c' THEN LET r_char = 'C'; LET j = 1; END IF;
IF t_char = 'd' THEN LET r_char = 'D'; LET j = 1; END IF;
IF t_char = 'e' THEN LET r_char = 'E'; LET j = 1; END IF;
IF t_char = 'f' THEN LET r_char = 'F'; LET j = 1; END IF;
IF t_char = 'g' THEN LET r_char = 'G'; LET j = 1; END IF;
IF t_char = 'h' THEN LET r_char = 'H'; LET j = 1; END IF;
IF t_char = 'i' THEN LET r_char = 'I'; LET j = 1; END IF;
IF t_char = 'j' THEN LET r_char = 'J'; LET j = 1; END IF;
IF t_char = 'k' THEN LET r_char = 'K'; LET j = 1; END IF;
IF t_char = 'l' THEN LET r_char = 'L'; LET j = 1; END IF;
IF t_char = 'm' THEN LET r_char = 'M'; LET j = 1; END IF;
IF t_char = 'n' THEN LET r_char = 'N'; LET j = 1; END IF;
IF t_char = 'o' THEN LET r_char = 'O'; LET j = 1; END IF;
IF t_char = 'p' THEN LET r_char = 'P'; LET j = 1; END IF;
IF t_char = 'q' THEN LET r_char = 'Q'; LET j = 1; END IF;
IF t_char = 'r' THEN LET r_char = 'R'; LET j = 1; END IF;
IF t_char = 's' THEN LET r_char = 'S'; LET j = 1; END IF;
IF t_char = 't' THEN LET r_char = 'T'; LET j = 1; END IF;
IF t_char = 'u' THEN LET r_char = 'U'; LET j = 1; END IF;
IF t_char = 'v' THEN LET r_char = 'V'; LET j = 1; END IF;
IF t_char = 'w' THEN LET r_char = 'W'; LET j = 1; END IF;
IF t_char = 'x' THEN LET r_char = 'X'; LET j = 1; END IF;
IF t_char = 'y' THEN LET r_char = 'Y'; LET j = 1; END IF;
IF t_char = 'z' THEN LET r_char = 'Z'; LET j = 1; END IF;
IF j = 1 THEN
LET result_str = TRIM(result_str) || r_char;
ELSE
LET result_str = TRIM(result_str) || t_char;
END IF
LET sstr = sstr[2,100]; -- for upto 100 chrs
END FOR;
return result_str;
end procedure;
execure procedure upper("getin123WxyZ") ; -- check it out
----------- END ---------------
your comments and suggestions are welcome.
\\\\|//
Vijay R. Anisetti |6 6|
-------------------oooO--U--Oooo-----------------------------------
oooO Oooo
( ) ( ) Enjoying the beautiful weather of Philly
---------------\\( -- )/--------------------------------------------
\\) (/