DBA Data[Home] [Help]

PACKAGE: APPS.MSD_DEM_COMMON_UTILITIES

Source


1 PACKAGE MSD_DEM_COMMON_UTILITIES AS
2 /* $Header: msddemcus.pls 120.8 2008/01/02 15:09:46 syenamar noship $ */
3 
4    /*** CONSTANTS ***/
5 
6       /* ENTITY TYPES */
7          C_HIERARCHY       		NUMBER        := 1;
8          C_SERIES          		NUMBER        := 2;
9 
10       /* ENTITIES - Hierarchy */
11          C_ITEM            		NUMBER        := 1;
12          C_SHIP_FROM       		NUMBER        := 2;
13          C_TRADING_PARTNER 		NUMBER        := 3;
14          C_DEMAND_CLASS    		NUMBER        := 4;
15          C_SALES_CHANNEL   		NUMBER        := 5;
16          C_TIME            		NUMBER        := 6;
17 
18       /* ENTITIES - Series */
19          C_RETURN_HISTORY  		NUMBER        := 1;
20          C_BH_BI_BD                     NUMBER        := 2;
21          C_BH_BI_RD                     NUMBER        := 3;
22          C_BH_RI_BD			NUMBER	      := 4;
23          C_BH_RI_RD			NUMBER	      := 5;
24          C_SH_SI_SD			NUMBER	      := 6;
25          C_SH_SI_RD			NUMBER	      := 7;
26          C_SH_RI_SD			NUMBER	      := 8;
27          C_SH_RI_RD			NUMBER	      := 9;
28          C_SRP_RETURN_HISTORY           NUMBER	      := 10;  --jarora
29          C_SRP_USG_HISTORY_DR           NUMBER	      := 11;  --jarora
30          C_SRP_USG_HISTORY_FS           NUMBER	      := 12;  --jarora
31          C_INSTALL_BASE_HISTORY         NUMBER	      := 13;  --jarora
32          C_TOTAL_BACKLOG                NUMBER	      := 14;  --sopjarora
33          C_PAST_DUE_BACKLOG             NUMBER	      := 15;  --sopjarora
34          C_ON_HAND_INVENTORY            NUMBER	      := 16;  --sopjarora
35          C_ACTUAL_PRODUCTION            NUMBER	      := 17;  --sopjarora
36 
37       /* LEVEL TYPES */
38          C_ITEM_LEVEL_TYPE 		NUMBER	      := 1;
39          C_LOCATION_LEVEL_TYPE 		NUMBER	      := 2;
40          C_TIME_LEVEL_TYPE		NUMBER	      := 3;
41 
42       /* YES/NO */
43          C_YES             		NUMBER        := 1;
44          C_NO              		NUMBER        := 2;
45 
46       /* COLLECTION TYPES */
47          C_REFRESH         		NUMBER        := 1;
48          C_NET_CHANGE      		NUMBER        := 2;
49 
50       /* MSD DEM Debug Profile Value */
51          C_MSD_DEM_DEBUG   		VARCHAR2(1)   := nvl( fnd_profile.value( 'MSD_DEM_DEBUG_MODE'), 'N');
52 
53 
54    /*** PUBLIC PROCEDURES ***
55     * LOG_MESSAGE
56     * LOG_DEBUG
57     * GET_DBLINK
58     * GET_INSTANCE_INFO
59     */
60 
61       /*
62        * This procedure logs a given message text in the concurrent request log file.
63        * param: p_buff - message text to be logged.
64        */
65       PROCEDURE LOG_MESSAGE ( p_buff           IN  VARCHAR2);
66 
67       /*
68        * This procedure logs a given debug message text in the concurrent request log file
69        * only if the profile MSD_DEM_DEBUG is set to 'Yes'.
70        * param: p_buff - debug message text to be logged.
71        */
72       PROCEDURE LOG_DEBUG ( p_buff           IN  VARCHAR2);
73 
74        /*
75         * This procedure gets the db link to the given source instance
76         */
77        PROCEDURE GET_DBLINK (
78       			errbuf         		OUT  NOCOPY VARCHAR2,
79       			retcode        		OUT  NOCOPY VARCHAR2,
80       			p_sr_instance_id	IN	    NUMBER,
81       			p_dblink		OUT  NOCOPY VARCHAR2);
82 
83       /*
84        * This procedure gets the instance info given the source instance id
85        */
86       PROCEDURE GET_INSTANCE_INFO (
87       			errbuf         		OUT  NOCOPY VARCHAR2,
88       			retcode        		OUT  NOCOPY VARCHAR2,
89                         p_instance_code		OUT  NOCOPY VARCHAR2,
90                         p_apps_ver		OUT  NOCOPY NUMBER,
91                         p_dgmt			OUT  NOCOPY NUMBER,
92                         p_instance_type		OUT  NOCOPY NUMBER,
93                         p_sr_instance_id	IN	    NUMBER);
94 
95       /*
96        * This procedure will refresh Purge Series Data data profile to its defualt value
97        * i.e. it will set the data profile option to No Load and No Purge for all series
98        * included in the profile.
99        */
100 
101        PROCEDURE REFRESH_PURGE_SERIES (
102                         errbuf         		OUT  NOCOPY VARCHAR2,
103       			retcode        		OUT  NOCOPY VARCHAR2,
104       			p_profile_id            IN   NUMBER,
105       			p_schema		IN   VARCHAR2);
106 
107     /*
108     * Update the synonyms MSD_DEM_TRANSFER_LIST and MSD_DEM_TRANSFER_QUERY
109     * to point to the Demantra's tables TRANSFER_LIST and TRANSFER_QUERY
110     * if Demantra is installed.
111     * Sets the profile MSD_DEM_SCHEMA to the Demantra Schema Name
112     * The checks if the table MDP_MATRIX exists in the Demantra Schema
113     */
114 
115     PROCEDURE UPDATE_SYNONYMS (
116             errbuf         		OUT  NOCOPY VARCHAR2,
117             retcode        		OUT  NOCOPY VARCHAR2);
118 
119     /* Deletes the msd_dem_entities_inuse table if the new demantra schema is intstalled
120     this will ensure that there will be no mapping between the seeded units in APPS and
121     the (display uints,exchange rate,indexes) in Demantra */
122 
123     PROCEDURE CLEANUP_ENTITIES_INUSE(
124             errbuf out nocopy varchar2,
125             retcode out nocopy varchar2);
126 
127 
128    /*** FUNCTIONS ***
129     * GET_ALL_ORGS
130     * DM_TIME_LEVEL
131     * GET_PARAMETER_VALUE
132     * GET_LOOKUP_VALUE
133     * GET_UOM_CODE
134     * GET_SR_INSTANCE_ID_FOR_ZONE
135     * UOM_CONVERT
136     * IS_PF_FCSTABLE_FOR_ITEM
137     * IS_PRODUCT_FAMILY_FORECASTABLE
138     * GET_SUPPLIER_CALENDAR
139     * GET_SAFETY_STOCK_ENDDATE
140     * GET_PERIOD_DATE_FOR_DUMMY
141     * GET_SITE_FOR_CSF
142     * IS_LAST_DATE_IN_BUCKET
143     * GET_SNO_PLAN_CUTOFF_DATE
144     * IS_SUPPLIER_CALENDAR_PRESENT
145     */
146 
147 
148 
149       /*
150        * This function returns the comma(,) separated list of demand management enabled orgs
151        * belonging to the given org group.
152        */
153       FUNCTION GET_ALL_ORGS (
154       			p_org_group 		IN	VARCHAR2,
155       			p_sr_instance_id	IN	NUMBER)
156       RETURN VARCHAR2;
157 
158       /* This function returns the Active Demantra Data Model time level (Day/Month/week) */
159       FUNCTION DM_TIME_LEVEL RETURN VARCHAR2;
160 
161       /* This function returns the parameter_value in msd_dem_setup_parameters given the parameter_name */
162       FUNCTION GET_PARAMETER_VALUE (
163                         p_sr_instance_id	NUMBER,
164       			p_parameter_name	VARCHAR2)
165       RETURN VARCHAR2;
166 
167       /* This function returns the lookup_value given the lookup_type and lookup_code */
168       FUNCTION GET_LOOKUP_VALUE (
169       			p_lookup_type	IN	VARCHAR2,
170       			p_lookup_code	IN	VARCHAR2)
171       RETURN VARCHAR2;
172 
173       /* This function returns the UOM code given the display unit id */
174       FUNCTION GET_UOM_CODE (
175       			p_unit_id	IN	NUMBER)
176       RETURN VARCHAR2;
177 
178       /* This function returns a sr_instance_id in which the zone is defined */
179       FUNCTION GET_SR_INSTANCE_ID_FOR_ZONE (
180       			p_zone		IN	VARCHAR2)
181       RETURN NUMBER;
182 
183       /* This function returns the conversion rate for the given item, From UOM and To UOM */
184       FUNCTION UOM_CONVERT (
185       			p_inventory_item_id	IN	NUMBER,
186       			p_precision		IN 	NUMBER,
187       			p_from_unit		IN	VARCHAR2,
188       			p_to_unit		IN	VARCHAR2)
189       RETURN NUMBER;
190 
191       /* This function returns 1 if the product family's forecast control is set for the given
192          item in the master org, else returns 2 */
193       FUNCTION IS_PF_FCSTABLE_FOR_ITEM (
194       			p_sr_inventory_item_id	IN	NUMBER,
195       			p_sr_instance_id	IN	NUMBER,
196       			p_master_org_id		IN	NUMBER)
197       RETURN NUMBER;
198 
199       /* This function returns 1 if the product family forecast control flag is set,
200        * else returns 2
201        */
202       FUNCTION IS_PRODUCT_FAMILY_FORECASTABLE (
203       			p_inventory_item_id	IN	NUMBER,
204       			p_sr_instance_id	IN	NUMBER)
205       RETURN NUMBER;
206 
207       /*
208        * This function gets the calendar code
209        */
210       FUNCTION GET_SUPPLIER_CALENDAR (
211       			p_plan_id		IN	NUMBER,
212       			p_sr_instance_id	IN	NUMBER,
213       			p_organization_id	IN	NUMBER,
214       			p_inventory_item_id	IN	NUMBER,
215       			p_supplier_id		IN	NUMBER,
216       			p_supplier_site_id	IN	NUMBER,
217       			p_using_organization_id	IN	NUMBER)
218       RETURN VARCHAR2;
219 
220       /*
221        * This function gets the period end date
222        */
223       FUNCTION GET_SAFETY_STOCK_ENDDATE (
224       			p_plan_id		IN	NUMBER,
225       			p_sr_instance_id	IN	NUMBER,
226       			p_organization_id	IN	NUMBER,
227       			p_inventory_item_id	IN	NUMBER,
228       			p_period_start_date	IN	DATE)
229       RETURN DATE;
230 
231       /*
232        * Returns a valid date from the table INPUTS in Demantra
233        */
234       FUNCTION GET_PERIOD_DATE_FOR_DUMMY
235       RETURN DATE;
236 
237       /*
238        * Given, the instance, customer and/or site, this function returns
239        * the site level member name. If only the customer is specified then
240        * then any arbit site belonging to the customer is returned.
241        */
242       FUNCTION GET_SITE_FOR_CSF (
243       			p_sr_instance_id	IN	NUMBER,
244       			p_customer_id		IN	NUMBER,
245       			p_customer_site_id	IN	NUMBER)
246       RETURN VARCHAR2;
247 
248       /*
249        * Given, the instance, calendar_code, calendar_date, this function
250        * returns 1 if the date is the last date in its demantra bucket,
251        * else returns 2.
252        * Note: This function requires the table msd_dem_dates to be
253        *       populated.
254        */
255       FUNCTION IS_LAST_DATE_IN_BUCKET (
256       			p_sr_instance_id	IN	NUMBER,
257       			p_calendar_code		IN	VARCHAR2,
258       			p_calendar_date		IN	DATE)
259       RETURN NUMBER;
260 
261       /*
262        * Given the plan id of a SNO plan, this function returns
263        * the cutoff date for the plan.
264        */
265       FUNCTION GET_SNO_PLAN_CUTOFF_DATE (
266       			p_plan_id		IN	NUMBER)
267       RETURN DATE;
268 
269       /*
270        * This function returns 1 if a supplier calendar is present else returns 2.
271        */
272       FUNCTION IS_SUPPLIER_CALENDAR_PRESENT (
273       			p_plan_id		IN	NUMBER,
274       			p_sr_instance_id	IN	NUMBER,
275       			p_organization_id	IN	NUMBER,
276       			p_inventory_item_id	IN	NUMBER,
277       			p_supplier_id		IN	NUMBER,
278       			p_supplier_site_id	IN	NUMBER,
279       			p_using_organization_id	IN	NUMBER)
280       RETURN NUMBER;
281 
282 END MSD_DEM_COMMON_UTILITIES;