DBA Data[Home] [Help]

PACKAGE BODY: OWAPUB.OWA

Source


1 package body OWA is
2 
3      /********************************************/
4     /* Initialize the CGI environment variables */
5    /********************************************/
6    procedure init_cgi_env (param_val in vc_arr) is
7       num_params number := param_val.count;
8       ix         number;
9       nameIx     number;
10       var_name   vc_arr;
11    begin
12       /* Initialize cgi names */
13       /* Keep this list in the same order as in ndwoa.h file */
14       var_name(1) := 'SERVER_SOFTWARE';
15       var_name(2) := 'SERVER_NAME';
16       var_name(3) := 'GATEWAY_INTERFACE';
17       var_name(4) := 'REMOTE_HOST';
18       var_name(5) := 'REMOTE_ADDR';
19       var_name(6) := 'AUTH_TYPE';
20       var_name(7) := 'REMOTE_USER';
21       var_name(8) := 'REMOTE_IDENT';
22       var_name(9) := 'HTTP_ACCEPT';
23       var_name(10) := 'HTTP_USER_AGENT';
24       var_name(11) := 'SERVER_PROTOCOL';
25       var_name(12) := 'SERVER_PORT';
26       var_name(13) := 'SCRIPT_NAME';
27       var_name(14) := 'PATH_INFO';
28       var_name(15) := 'PATH_TRANSLATED';
29       var_name(16) := 'HTTP_REFERER';
30       var_name(17) := 'HTTP_COOKIE';
31 
32       nameIx := 0;
33       ix := 0;
34       for i in 1..num_params
35       loop
36          nameIx := nameIx + 1;
37          if (param_val(i) is NOT NULL)
38          then
39             ix := ix + 1;
40             cgi_var_name(ix)  := var_name(nameIx);
41             cgi_var_val(ix)  := param_val(i);
42          end if;
43       end loop;
44       num_cgi_vars := ix;
45    end;
46 
47    procedure init_cgi_env (num_params in number,
48                            param_name in vc_arr,
49                            param_val  in vc_arr) is
50    begin
51       for i in 1..num_params
52       loop
53          cgi_var_name(i) := param_name(i);
54          cgi_var_val(i)  := param_val(i);
55       end loop;
56 
57       num_cgi_vars := num_params;
58    end;
59 
60      /*****************************************/
61     /* Get the output from the user's PL/SQL */
62    /*****************************************/
63    function get_line (irows out integer) return varchar2 is
64    begin
65       return(htp.get_line(irows));
66    end;
67 
68    procedure get_page (thepage     out htp.htbuf_arr,
69                        irows    in out integer ) is
70    begin
71       htp.get_page(thepage, irows);
72    end;
73 
74        /*******************************************************************/
75       /* Initialize function -                                           */
76      /*    This function is called when a DCD is invoked for the first  */
77     /*   time when PL/SQL Agent starts up.                             */
78    /*******************************************************************/
79    function initialize return integer is
80      dummy number;
81      majVersion number;
82      minVersion number;
83    begin
84 
85      -- Please ensure you update major, minor versions for every release
86      majVersion := 4;
87      minVersion := 0;
88 
89      auth_scheme := OWA_SEC.NO_CHECK;
90      dummy := owa_custom.dbms_server_gmtdiff;
91 
92      return (majVersion*256+minVersion);
93    end;
94 end;