Oracle OWA_TEXT
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
"I spent my entire adult life looking out for the well-being, the training, the equipping of the troops for whom I was responsible. I will not be lectured about what our military needs by a five-deferment draft dodger,"
~ Sen. Tammy Duckworth
Purpose Utitility procedures/functions for manipulating large amounts of text by the standard of 1995 when it was created.
AUTHID DEFINER
Data Types TYPE vc_arr IS TABLE OF VARCHAR2(32767) INDEX BY BINARY_INTEGER;

TYPE int_arr IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;

TYPE multi_line IS RECORD (rows vc_arr, num_rows INTEGER, partial_row BOOLEAN);

TYPE row_list IS RECORD (rows int_arr, num_rows INTEGER);
Dependencies
DBMS_STANDARD HTP OWA_PATTERN
Documented No
First Available 8.1.7
Security Model Owned by SYS with
Source {ORACLE_HOME}/rdbms/admin/pubtext.sql
{ORACLE_HOME}/rdbms/admin/privtext.sql
Subprograms
 
ADD2MULTI
Add a new lineto a multi_line structure owa_text.add2multi(
stream   IN     VARCHAR2,
mline    IN OUT multi_line,
continue IN     BOOLEAN DEFAULT TRUE);
DECLARE
 bot VARCHAR2(32767);
 ml  owa_text.multi_line;
BEGIN
  bot := 'this is a bunch of text that goes on and on and on ...';
  -- extend this to beyond 32K if you wish <g>

  owa_text.new_multi(ml);
  owa_text.add2multi(bot, ml, TRUE);

  owa_text.print_multi(ml);

  owa_util.showpage;
END;
/
 
NEW_MULTI
Make element routine

Overload 1
owa_text.new_multi RETURN multi_line
TBD
Overload 2 owa_text.new_multi(mline OUT multi_line);
See ADD2MULTI Demo Above
 
NEW_ROW_LIST
Standard creation routine for row lists

Overload 1
owa_text.new_multi RETURN return row_list;
TBD
Overload 2 owa_text.new_multi(rlist OUT row_list);
TBD
 
PRINT_MULTI
uses HTP.PRINT to print out a multi-line structure procedure owa_text.print_multi(mline IN multi_line);
See ADD2MULTI Demo Above
 
PRINT_ROW_LIST
Print a row list using HTP.PRINT owa_text.print_row_list(rlist IN row_list);
TBD
 
STREAM2MULTI
Takes in a single stream of text and turns it into a multi_line structure owa_text.stream2multi(stream IN VARCHAR2, mline OUT multi_line);
DECLARE
 bot VARCHAR2(32767);
 ml  owa_text.multi_line;
BEGIN
  bot := 'this is a bunch of text that goes on and on and on ...';
  -- extend this to beyond 32K if you wish <g>

  owa_text.stream2multi(bot, ml);

  owa_text.print_multi(ml);

  owa_util.showpage;
END;
/

Related Topics
OWA
OWA_CUSTOM
OWA_CX
OWA_OPT_LOCK
OWA_SEC
OWA_UTIL
Packages
What's New In 12cR1
What's New In 12cR2

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved