[Home] [Help]
PACKAGE BODY: APPS.CS_AUTOCREATE_SYSTEMS_PKG
Source
1 PACKAGE BODY CS_AUTOCREATE_SYSTEMS_PKG as
2 /* $Header: csxacssb.pls 115.8 2000/09/15 16:41:50 pkm ship $ */
3 -- This package has one procedure AUTOCREATE
4
5 PROCEDURE AUTOCREATE
6 (
7 p_customer_id IN NUMBER,
8 p_name IN VARCHAR2 DEFAULT NULL,
9 p_description IN VARCHAR2 DEFAULT NULL,
10 p_system_type_code IN VARCHAR2,
11 p_number_to_create IN NUMBER,
12 p_install_site_use_id IN NUMBER DEFAULT NULL,
13 p_technical_contact_id IN NUMBER DEFAULT NULL,
14 p_service_admin_contact_id IN NUMBER DEFAULT NULL,
15 p_ship_to_site_use_id IN NUMBER DEFAULT NULL,
16 p_ship_to_contact_id IN NUMBER DEFAULT NULL,
17 p_bill_to_site_use_id IN NUMBER DEFAULT NULL,
18 p_bill_to_contact_id IN NUMBER DEFAULT NULL,
19 p_config_system_type IN VARCHAR2 DEFAULT NULL,
20 p_start_date_active IN DATE DEFAULT NULL,
21 p_end_date_active IN DATE DEFAULT NULL,
22 p_attribute1 IN VARCHAR2 DEFAULT NULL,
23 p_attribute2 IN VARCHAR2 DEFAULT NULL,
24 p_attribute3 IN VARCHAR2 DEFAULT NULL,
25 p_attribute4 IN VARCHAR2 DEFAULT NULL,
26 p_attribute5 IN VARCHAR2 DEFAULT NULL,
27 p_attribute6 IN VARCHAR2 DEFAULT NULL,
28 p_attribute7 IN VARCHAR2 DEFAULT NULL,
29 p_attribute8 IN VARCHAR2 DEFAULT NULL,
30 p_attribute9 IN VARCHAR2 DEFAULT NULL,
31 p_attribute10 IN VARCHAR2 DEFAULT NULL,
32 p_attribute11 IN VARCHAR2 DEFAULT NULL,
33 p_attribute12 IN VARCHAR2 DEFAULT NULL,
34 p_attribute13 IN VARCHAR2 DEFAULT NULL,
35 p_attribute14 IN VARCHAR2 DEFAULT NULL,
36 p_attribute15 IN VARCHAR2 DEFAULT NULL,
37 p_context IN VARCHAR2 DEFAULT NULL,
38 x_name_tbl OUT Name_Tbl_Type
39 )
40 IS
41
42 l_coterminate_day_month VARCHAR2(6);
43 l_system_id NUMBER := NULL;
44 l_system_name VARCHAR2(50);
45 l_system_date DATE ;
46 l_system_match NUMBER;
47 /*
48 l_null_varchar VARCHAR2(50) := NULL;
49 l_null_number NUMBER := NULL;
50 */
51 l_rowid VARCHAR2(50) := NULL;
52 l_name_tbl Name_Tbl_Type;
53
54 BEGIN
55
56 SAVEPOINT Autocreate_Systems_PVT;
57
58 SELECT sysdate INTO l_system_date FROM dual;
59
60 -- Getting the Value for the coterminate_day_month for the current
61 -- customer from HZ_CUST_ACCOUNTS table
62 BEGIN
63
64 SELECT coterminate_day_month
65 INTO l_coterminate_day_month
66 FROM hz_cust_accounts
67 WHERE cust_account_id = p_customer_id;
68 --AND org_id = FND_PROFILE.Value('ORG_ID');
69
70 EXCEPTION WHEN NO_DATA_FOUND THEN
71 FND_MESSAGE.SET_NAME('CS','CS_API_INVALID CUSTOMER');
72 FND_MESSAGE.SET_TOKEN('CUSTOMER_ID',p_customer_id);
73 FND_MSG_PUB.Add;
74 RAISE FND_API.G_EXC_ERROR;
75 END;
76
77 IF p_name IS NOT NULL THEN
78 -- this procedure has been called not to autocreate systems but to
79 -- create a particular system with a particular name.
80 l_system_name := p_name;
81 END IF;
82
83 FOR i IN 1..p_number_to_create LOOP
84 /*
85 l_null_varchar := NULL;
86 l_null_number := NULL;
87 */
88
89 CS_SYSTEMS_ALL_PKG.Insert_Row(
90 X_Rowid => l_rowid,
91 X_system_id => l_system_id,
92 X_last_update_date => sysdate,
93 X_last_updated_by => FND_GLOBAL.USER_ID,
94 X_creation_date => sysdate,
95 X_created_by => FND_GLOBAL.USER_ID,
96 X_last_update_login => FND_GLOBAL.LOGIN_ID,
97 X_name => l_system_name,
98 X_customer_id => p_customer_id,
99 X_system_type_code => p_system_type_code,
100 X_description => p_description,
101 X_serial_number => NULL,
102 X_parent_system_id => NULL,
103 X_technical_contact_id => p_technical_contact_id,
104 X_service_admin_contact_id => p_service_admin_contact_id,
105 X_install_site_use_id => p_install_site_use_id,
106 X_bill_to_contact_id => p_bill_to_contact_id,
107 X_bill_to_site_use_id => p_bill_to_site_use_id,
108 X_ship_to_site_use_id => p_ship_to_site_use_id,
109 X_ship_to_contact_id => p_ship_to_contact_id,
110 X_coterminate_day_month => l_coterminate_day_month,
111 X_start_date_active => p_start_date_active,
112 X_end_date_active => p_end_date_active,
113 X_autocreated_from_system_id => null,
114 X_attribute1 => p_attribute1,
115 X_attribute2 => p_attribute2,
116 X_attribute3 => p_attribute3,
117 X_attribute4 => p_attribute4,
118 X_attribute5 => p_attribute5,
119 X_attribute6 => p_attribute6,
120 X_attribute7 => p_attribute7,
121 X_attribute8 => p_attribute8,
122 X_attribute9 => p_attribute9,
123 X_attribute10 => p_attribute10,
124 X_attribute11 => p_attribute11,
125 X_attribute12 => p_attribute12,
126 X_attribute13 => p_attribute13,
127 X_attribute14 => p_attribute14,
128 X_attribute15 => p_attribute15,
129 X_context => p_context,
130 X_config_system_type => p_config_system_type);
131 l_name_tbl(i).system_id := l_system_id;
132 l_name_tbl(i).name := l_system_name;
133 l_system_name := NULL;
134 l_system_id := NULL;
135 l_rowid := NULL;
136
137
138 END LOOP;
139
140 x_name_tbl := l_name_tbl;
141
142 EXCEPTION WHEN Others THEN
143 APP_EXCEPTION.RAISE_EXCEPTION;
144 ROLLBACK TO Autocreate_Systems_PVT;
145 RETURN;
146
147 END AUTOCREATE; -- Ends the procedure
148
149 END CS_AUTOCREATE_SYSTEMS_PKG;