DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_CLASSIFICATION

Source


1 PACKAGE BODY cn_classification AS
2 -- $Header: cnclclsb.pls 115.0 99/07/16 07:03:39 porting ship $
3 
4 --
5 -- Package Name
6 --   cn_classification
7 -- Purpose
8 --   Package body for classifying transactions, works as a router,
9 --   calls the actual cn_classification_<org_id> package
10 -- History
11 --   12-DEC-96          Xinyang Fan            Created
12 --   11-Feb-98       Achung   reference CLIENT_INFO need to use SUBSTRB
13 --
14 
15 
16 
17      cached_org_id                integer;
18      cached_org_append            varchar2(100);
19 
20 
21      PROCEDURE classify_batch ( x_physical_batch_id NUMBER,
22 			   x_process_audit_id  NUMBER) IS
23 
24 	   dummy			NUMBER;
25 	   c			INTEGER;
26 	   rows_processed	INTEGER;
27 	   statement		VARCHAR2(1000);
28 
29      BEGIN
30 	c := dbms_sql.open_cursor;
31 
32 	statement := 'begin cn_classification'||cached_org_append||
33 	  '.classify_batch(:physical_batch_id,:process_audit_id);'||
34 	  'end;';
35 
36 	dbms_sql.parse(c, statement, dbms_sql.native);
37 
38 	dbms_sql.bind_variable(c,'physical_batch_id', x_physical_batch_id);
39 	dbms_sql.bind_variable(c,'process_audit_id', x_process_audit_id);
40 
41 	rows_processed := dbms_sql.execute(c);
42 
43 	dbms_sql.variable_value(c,'physical_batch_id', dummy);
44 	dbms_sql.variable_value(c,'process_audit_id', dummy);
45 
46 	dbms_sql.close_cursor(c);
47 
48 
49      END classify_batch;
50 
51   BEGIN
52 
53      -- cache org_id and org_append
54 
55      select
56        NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL,
57                          SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)
58        into cached_org_id
59        from dual;
60 
61      if cached_org_id = -99 then
62 	cached_org_append := '_MINUS99';
63       else
64 	cached_org_append := '_' || cached_org_id;
65      end if;
66 
67   END cn_classification;