[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;