DBA Data[Home] [Help]

PACKAGE: APPS.MSD_DEM_COMMON_UTILITIES

Source


1 PACKAGE MSD_DEM_COMMON_UTILITIES AUTHID DEFINER AS
2 /* $Header: msddemcus.pls 120.25.12020000.3 2013/01/10 07:21:51 kkhatri ship $ */
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       /* Demantra Schema Name */
54          C_MSD_DEM_SCHEMA		VARCHAR2(100) := nvl( fnd_profile.value( 'MSD_DEM_SCHEMA' ) , 'DMTRA_TEMPLATE');
55 
56       /* Demantra Sys_Params */
57          C_DEM_MIN_SALES_DATE_D		DATE        := NULL;
58          C_DEM_MAX_FORE_SALES_DATE_D    DATE  := NULL;
59          C_DEM_MAX_SALES_DATE_D     DATE			:= NULL;
60          C_DEM_HISTORY_PERIODS		NUMBER			:= NULL;
61          C_DEM_LEAD					NUMBER			      := NULL;
62 
63 
64    /*** PUBLIC PROCEDURES ***
65     * LOG_MESSAGE
66     * LOG_DEBUG
67     * GET_DBLINK
68     * GET_INSTANCE_INFO
69     * GET_SCHEMA_NAME
70     */
71 
72       /*
73        * This procedure logs a given message text in the concurrent request log file.
74        * param: p_buff - message text to be logged.
75        */
76       PROCEDURE LOG_MESSAGE ( p_buff           IN  VARCHAR2);
77 
78       /*
79        * This procedure logs a given debug message text in the concurrent request log file
80        * only if the profile MSD_DEM_DEBUG is set to 'Yes'.
81        * param: p_buff - debug message text to be logged.
82        */
83       PROCEDURE LOG_DEBUG ( p_buff           IN  VARCHAR2);
84 
85        /*
86         * This procedure gets the db link to the given source instance
87         */
88        PROCEDURE GET_DBLINK (
89       			errbuf         		OUT  NOCOPY VARCHAR2,
90       			retcode        		OUT  NOCOPY VARCHAR2,
91       			p_sr_instance_id	IN	    NUMBER,
92       			p_dblink		OUT  NOCOPY VARCHAR2);
93 
94     /*
95         * This procedure gets the db link to the destination from given source instance
96         */
97        PROCEDURE GET_DEST_DBLINK (
98       			errbuf         		OUT  NOCOPY VARCHAR2,
99       			retcode        		OUT  NOCOPY VARCHAR2,
100       			p_sr_instance_id	IN	    NUMBER,
101       			p_dblink		OUT  NOCOPY VARCHAR2);
102 
103       /*
104        * This procedure gets the instance info given the source instance id
105        */
106       PROCEDURE GET_INSTANCE_INFO (
107       			errbuf         		OUT  NOCOPY VARCHAR2,
108       			retcode        		OUT  NOCOPY VARCHAR2,
109                         p_instance_code		OUT  NOCOPY VARCHAR2,
110                         p_apps_ver		OUT  NOCOPY NUMBER,
111                         p_dgmt			OUT  NOCOPY NUMBER,
112                         p_instance_type		OUT  NOCOPY NUMBER,
113                         p_sr_instance_id	IN	    NUMBER);
114 
115       /* This procedure gives schema name for a application */
116 
117        PROCEDURE GET_SCHEMA_NAME (
118 	              errbuf                 OUT  NOCOPY VARCHAR2,
119                   retcode                OUT  NOCOPY VARCHAR2,
120                   schema_name  OUT  NOCOPY VARCHAR2,
121                   appl_short_name IN VARCHAR2 );
122 
123       /*
124        * This procedure will refresh Purge Series Data data profile to its defualt value
125        * i.e. it will set the data profile option to No Load and No Purge for all series
126        * included in the profile.
127        */
128 
129        PROCEDURE REFRESH_PURGE_SERIES (
130                         errbuf         		OUT  NOCOPY VARCHAR2,
131       			retcode        		OUT  NOCOPY VARCHAR2,
132       			p_profile_id            IN   NUMBER,
133       			p_schema		IN   VARCHAR2);
134 
135     /*
136     * Update the synonyms MSD_DEM_TRANSFER_LIST and MSD_DEM_TRANSFER_QUERY
137     * to point to the Demantra's tables TRANSFER_LIST and TRANSFER_QUERY
138     * if Demantra is installed.
139     * Sets the profile MSD_DEM_SCHEMA to the Demantra Schema Name
140     * The checks if the table MDP_MATRIX exists in the Demantra Schema
141     */
142 
143     PROCEDURE UPDATE_SYNONYMS (
144             errbuf         		OUT  NOCOPY VARCHAR2,
145             retcode        		OUT  NOCOPY VARCHAR2,
146             p_demantra_schema		IN	    VARCHAR2	DEFAULT NULL);
147 
148     /* Deletes the msd_dem_entities_inuse table if the new demantra schema is intstalled
149     this will ensure that there will be no mapping between the seeded units in APPS and
150     the (display uints,exchange rate,indexes) in Demantra */
151 
152     PROCEDURE CLEANUP_ENTITIES_INUSE(
153             errbuf out nocopy varchar2,
154             retcode out nocopy varchar2);
155 
156 
157    /*** FUNCTIONS ***
158     * GET_ALL_ORGS
159     * DM_TIME_LEVEL
160     * GET_PARAMETER_VALUE
161     * GET_LOOKUP_VALUE
162     * GET_UOM_CODE
163     * GET_SR_INSTANCE_ID_FOR_ZONE
164     * UOM_CONVERT
165     * IS_PF_FCSTABLE_FOR_ITEM
166     * IS_PRODUCT_FAMILY_FORECASTABLE
167     * GET_SUPPLIER_CALENDAR
168     * GET_SAFETY_STOCK_ENDDATE
169     * GET_PERIOD_DATE_FOR_DUMMY
170     * GET_SITE_FOR_CSF
171     * IS_LAST_DATE_IN_BUCKET
172     * GET_SNO_PLAN_CUTOFF_DATE
173     * IS_SUPPLIER_CALENDAR_PRESENT
174     * UOM_CONV
175     * GET_LOOKUP_CODE
176     * GET_LEVEL_NAME
177     * GET_DEMANTRA_DATE
178     * IS_USE_NEW_SITE_FORMAT
179     * GET_DEMANTRA_VERSION
180     * GET_APP_ID_TEXT
181     * UPDATE_DEM_APCC_SYNONYM
182     * GET_CTO_EFFECTIVE_DATE
183     * GET_SPF_SR_CAT_SET_ID
184     * GET_DEM_SYSDATE
185     * GET_DEM_CTO_BASE_MODEL
186     * GET_DEM_CTO_OPTION_CLASS
187     * GET_DEM_CTO_OPTION
188     * GET_DEM_SPF_BASE_MODEL
189     * GET_DEM_SPF_OPTION_CLASS
190     * GET_DEM_SPF_OPTION
191     * GET_ITEM_LABEL
192     * GET_ORG_LABEL
193     * GET_SITE_LABEL
194     * GET_DC_LABEL
195     * GET_SC_LABEL
196     * GET_ITEM_ID
197     * GET_ORG_ID
198     * GET_SITE_ID
199     * GET_DC_ID
200     * GET_SC_ID
201     * GET_ASSET_GROUP_LABEL
202     * GET_CLASS_CODE_LABEL
203     * GET_WORKORDER_ITEM
204     * GET_ASSET_GROUP_ID
205     * GET_CLASS_CODE_ID
206 	* CHECK_WF_STATUS
207     */
208 
209 
210 
211       /*
212        * This function returns the comma(,) separated list of demand management enabled orgs
213        * belonging to the given org group.
214        */
215       FUNCTION GET_ALL_ORGS (
216       			p_org_group 		IN	VARCHAR2,
217       			p_sr_instance_id	IN	NUMBER)
218       RETURN VARCHAR2;
219 
220       /* This function returns the Active Demantra Data Model time level (Day/Month/week) */
221       FUNCTION DM_TIME_LEVEL RETURN VARCHAR2;
222 
223       /* This function returns the parameter_value in msd_dem_setup_parameters given the parameter_name */
224       FUNCTION GET_PARAMETER_VALUE (
225                         p_sr_instance_id	NUMBER,
226       			p_parameter_name	VARCHAR2)
227       RETURN VARCHAR2;
228 
229       /* This function returns the lookup_value given the lookup_type and lookup_code */
230       FUNCTION GET_LOOKUP_VALUE (
231       			p_lookup_type	IN	VARCHAR2,
232       			p_lookup_code	IN	VARCHAR2)
233       RETURN VARCHAR2;
234 
235       /* This function returns the UOM code given the display unit id */
236       FUNCTION GET_UOM_CODE (
237       			p_unit_id	IN	NUMBER)
238       RETURN VARCHAR2;
239 
240       /* This function returns a sr_instance_id in which the zone is defined */
241       FUNCTION GET_SR_INSTANCE_ID_FOR_ZONE (
242       			p_zone		IN	VARCHAR2)
243       RETURN NUMBER;
244 
245       /* This function returns the conversion rate for the given item, From UOM and To UOM */
246       FUNCTION UOM_CONVERT (
247       			p_inventory_item_id	IN	NUMBER,
248       			p_precision		IN 	NUMBER,
249       			p_from_unit		IN	VARCHAR2,
250       			p_to_unit		IN	VARCHAR2)
251       RETURN NUMBER;
252 
253       /* This function returns 1 if the product family's forecast control is set for the given
254          item in the master org, else returns 2 */
255       FUNCTION IS_PF_FCSTABLE_FOR_ITEM (
256       			p_sr_inventory_item_id	IN	NUMBER,
257       			p_sr_instance_id	IN	NUMBER,
258       			p_master_org_id		IN	NUMBER)
259       RETURN NUMBER;
260 
261       /* This function returns 1 if the product family forecast control flag is set,
262        * else returns 2
263        */
264       FUNCTION IS_PRODUCT_FAMILY_FORECASTABLE (
265       			p_inventory_item_id	IN	NUMBER,
266       			p_sr_instance_id	IN	NUMBER)
267       RETURN NUMBER;
268 
269       /*
270        * This function gets the calendar code
271        */
272       FUNCTION GET_SUPPLIER_CALENDAR (
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 VARCHAR2;
281 
282       /*
283        * This function gets the period end date
284        */
285       FUNCTION GET_SAFETY_STOCK_ENDDATE (
286       			p_plan_id		IN	NUMBER,
287       			p_sr_instance_id	IN	NUMBER,
288       			p_organization_id	IN	NUMBER,
289       			p_inventory_item_id	IN	NUMBER,
290       			p_period_start_date	IN	DATE)
291       RETURN DATE;
292 
293       /*
294        * Returns a valid date from the table INPUTS in Demantra
295        */
296       FUNCTION GET_PERIOD_DATE_FOR_DUMMY
297       RETURN DATE;
298 
299       /*
300        * Given, the instance, customer and/or site, this function returns
301        * the site level member name. If only the customer is specified then
302        * then any arbit site belonging to the customer is returned.
303        */
304       FUNCTION GET_SITE_FOR_CSF (
305       			p_sr_instance_id	IN	NUMBER,
306       			p_customer_id		IN	NUMBER,
307       			p_customer_site_id	IN	NUMBER)
308       RETURN VARCHAR2;
309 
310       /*
311        * Given, the instance, calendar_code, calendar_date, this function
312        * returns 1 if the date is the last date in its demantra bucket,
313        * else returns 2.
314        * Note: This function requires the table msd_dem_dates to be
315        *       populated.
316        */
317       FUNCTION IS_LAST_DATE_IN_BUCKET (
318       			p_sr_instance_id	IN	NUMBER,
319       			p_calendar_code		IN	VARCHAR2,
320       			p_calendar_date		IN	DATE)
321       RETURN NUMBER;
322 
323       /*
324        * Given the plan id of a SNO plan, this function returns
325        * the cutoff date for the plan.
326        */
327       FUNCTION GET_SNO_PLAN_CUTOFF_DATE (
328       			p_plan_id		IN	NUMBER)
329       RETURN DATE;
330 
331       /*
332        * This function returns 1 if a supplier calendar is present else returns 2.
333        */
334       FUNCTION IS_SUPPLIER_CALENDAR_PRESENT (
335       			p_plan_id		IN	NUMBER,
336       			p_sr_instance_id	IN	NUMBER,
337       			p_organization_id	IN	NUMBER,
338       			p_inventory_item_id	IN	NUMBER,
339       			p_supplier_id		IN	NUMBER,
340       			p_supplier_site_id	IN	NUMBER,
341       			p_using_organization_id	IN	NUMBER)
342       RETURN NUMBER;
343 
344       /*
345        * Given the item and the uom code, this function gives the conversion factor
346        * to the base uom of the item.
347        */
348       FUNCTION UOM_CONV (
349       		   	p_sr_instance_id	IN	NUMBER,
350       		   	p_uom_code 		IN	VARCHAR2,
351                         p_inventory_item_id  		IN	NUMBER DEFAULT NULL)
352       RETURN NUMBER;
353 
354       /*
355        * This function given the Demantra lookup table name and lookup ID
356        * returns the lookup Code
357        */
358       FUNCTION GET_LOOKUP_CODE (
359       			p_lookup_table_name	IN	VARCHAR2,
360       			p_lookup_id		IN	NUMBER)
361       RETURN VARCHAR2;
362 
363       /*
364        * This function given the Demantra lookup table name and lookup ID
365        * returns the lookup Code
366        */
367       FUNCTION GET_LEVEL_NAME (
368       			p_it_level_code		IN	NUMBER)
369       RETURN VARCHAR2;
370 
371       /*
372        * Given a date, the function returns the the bucket date to which the date belongs.
373        * If p_date is null, p_from is 1, the the function returns
374        *     max of (min_sales_date, sysdate - 2 years )
375        * If p_date is null, p_from is 2, the the function returns
376        *     min of (max_fore_sales_date, sysdate + 2 years )
377        */
378       FUNCTION GET_DEMANTRA_DATE (
379       			p_date			IN	DATE,
380       			p_from			IN	NUMBER)
381       RETURN DATE;
382 
383       /*
384        * The function is used to determine whether to use the new site format or not.
385        * Returns -
386        *    1 - use new site format, from 7.3.x onwards
387        *    0 - use old site format, for 7.2.x release
388        */
389       FUNCTION IS_USE_NEW_SITE_FORMAT
390          RETURN NUMBER;
391 
392       /*
393        * The function returns the Demantra release version.
394        */
395       FUNCTION GET_DEMANTRA_VERSION
396          RETURN VARCHAR2;
397 
398 
399       /*
400        * The function returns the request Demantra value or the join condition
401        * given the lookup code. This function uses APP ID for Demantra 7.3 release
402        * and internal ids for Demantra 7.2 release.
403        */
404       FUNCTION GET_APP_ID_TEXT (
405       			p_lookup_type		IN	VARCHAR2,
406       			p_lookup_code		IN	VARCHAR2,
407       			p_is_select		IN	NUMBER,
408       			p_column_name		IN	VARCHAR2)
409          RETURN VARCHAR2;
410 
411 /*
412         *   Procedure Name - UPDATE_DEM_APCC_SYNONYM
413         *   This procedure creates the required dummy objets for APCC
414         *     1) Checks if demantra is installed and the mview created
415         *     1.1.a) If mview is available, drop it.
416         *     1.1.b) Create a new mview with the same name - BIEO_OBI_MV
417         *     1.2) If demantra is not installed, and dummy table available
418         *     1.2.a) Drop the dummy table
419         *     1.2.b) Create the dummy table - MSD_DEM_BIEO_OBI_MV_DUMMY
420         *     2) Create synonym MSD_DEM_BIEO_OBI_MV_SYN accordingly.
421         *
422         */
423     PROCEDURE UPDATE_DEM_APCC_SYNONYM(
424 		        errbuf out NOCOPY varchar2,
425   			retcode out NOCOPY varchar2);
426 
427    /*
428     * Use this function to determine start/end date of a CTO item
429     * Dates calculated, to be closer to max sales date in demantra, as follows :
430     * (If 'max_sales_date' sys_param is used the value will be used, else the max date from sales staging table will be considered)
431     * Start date - bom_effective_date or (max_sales_date - cto_history_periods) whichever is higher
432     * End date - bom_inactive_date or (max_sales_date + lead) whichever is closer to lower
433     *
434     * params :
435     *          p_bom_date - bom_effective_date or bom_inactive_date
436     *          p_min_max - if 1 (date passed is bom_effective_date) else (date passed is  bom_inactive_date)
437     */
438    FUNCTION GET_CTO_EFFECTIVE_DATE (
439                p_bom_date IN DATE,
440                p_min_max IN NUMBER DEFAULT 1)
441    RETURN DATE;
442 
443    /*
444      * This function returns the value of the constant CS_DEM_SYSDATE
445      */
446     FUNCTION GET_DEM_SYSDATE
447       RETURN DATE;
448 
449     /*
450      * This function returns the value of the constant CS_DEM_CTO_BASE_MODEL
451      */
452     FUNCTION GET_DEM_CTO_BASE_MODEL
453       RETURN VARCHAR2;
454 
455     /*
456      * This function returns the value of the constant CS_DEM_CTO_OPTION_CLASS
457      */
458     FUNCTION GET_DEM_CTO_OPTION_CLASS
459       RETURN VARCHAR2;
460 
461     /*
462      * This function returns the value of the constant CS_DEM_CTO_OPTION
463      */
464     FUNCTION GET_DEM_CTO_OPTION
465       RETURN VARCHAR2;
466 
467     /*
468      * This function returns the value of the constant CS_DEM_SPF_BASE_MODEL
469      */
470     FUNCTION GET_DEM_SPF_BASE_MODEL
471       RETURN VARCHAR2;
472 
473     /*
474      * This function returns the value of the constant CS_DEM_SPF_OPTION_CLASS
475      */
476     FUNCTION GET_DEM_SPF_OPTION_CLASS
477       RETURN VARCHAR2;
478 
479     /*
480      * This function returns the value of the constant CS_DEM_SPF_OPTION
481      */
482     FUNCTION GET_DEM_SPF_OPTION
483       RETURN VARCHAR2;
484 
485     /*
486      * This function returns the value of the constant CS_DEM_LEVEL_ITEM_LABEL
487      */
488     FUNCTION GET_ITEM_LABEL
489       RETURN VARCHAR2;
490 
491     /*
492      * This function returns the value of the constant CS_DEM_LEVEL_ORG_LABEL
493      */
494     FUNCTION GET_ORG_LABEL
495       RETURN VARCHAR2;
496 
497     /*
498      * This function returns the value of the constant CS_DEM_LEVEL_SITE_LABEL
499      */
500     FUNCTION GET_SITE_LABEL
501       RETURN VARCHAR2;
502 
503     /*
504      * This function returns the value of the constant CS_DEM_LEVEL_DC_LABEL
505      */
506     FUNCTION GET_DC_LABEL
507       RETURN VARCHAR2;
508 
509     /*
510      * This function returns the value of the constant CS_DEM_LEVEL_SC_LABEL
511      */
512     FUNCTION GET_SC_LABEL
513       RETURN VARCHAR2;
514 
515     /*
516      * This function returns the value of the constant CS_DEM_LEVEL_ASSET_GROUP_LABEL
517      */
518     FUNCTION GET_ASSET_GROUP_LABEL
519       RETURN VARCHAR2;
520 
521    /*
522      * This function returns the value of the constant CS_DEM_LEVEL_CLASS_CODE_LABEL
523      */
524     FUNCTION GET_CLASS_CODE_LABEL
525       RETURN VARCHAR2;
526 
527    /*
528      * This function returns the value of the constant CS_DEM_WORKORDER_ITEM
529      */
530     FUNCTION GET_WORKORDER_ITEM
531       RETURN VARCHAR2;
532 
533    /*
534      * This function returns the value of the constant CS_DEM_LEVEL_ITEM_ID
535      */
536     FUNCTION GET_ITEM_ID
537       RETURN NUMBER;
538 
539     /*
540      * This function returns the value of the constant CS_DEM_LEVEL_ORG_ID
541      */
542     FUNCTION GET_ORG_ID
543       RETURN NUMBER;
544 
545     /*
546      * This function returns the value of the constant CS_DEM_LEVEL_SITE_ID
547      */
548     FUNCTION GET_SITE_ID
549       RETURN NUMBER;
550 
551     /*
552      * This function returns the value of the constant CS_DEM_LEVEL_DC_ID
553      */
554     FUNCTION GET_DC_ID
555       RETURN NUMBER;
556 
557     /*
558      * This function returns the value of the constant CS_DEM_LEVEL_SC_ID
559      */
560     FUNCTION GET_SC_ID
561       RETURN NUMBER;
562 
563    /*
564      * This function returns the value of the constant CS_DEM_LEVEL_ASSET_GROUP_ID
565      */
566     FUNCTION GET_ASSET_GROUP_ID
567       RETURN NUMBER;
568 
569    /*
570      * This function returns the value of the constant CS_DEM_LEVEL_CLASS_CODE_ID
571      */
572     FUNCTION GET_CLASS_CODE_ID
573       RETURN NUMBER;
574 
575    /*
576     * This function given a source instance, will get the source category set id for the category
577     * set specified in the profile MSC_SERVICE_ITEMS_CATSET
578     */
579    FUNCTION GET_SPF_SR_CAT_SET_ID (
580    				p_sr_instance_id		IN		NUMBER)
581       RETURN VARCHAR2;
582 
583 
584     /* Procedure to launch (remote) request on an instance from a different instance.
585     * To be called over dblink, with parameter string (all parameters to be passed to fnd_request.submit_request including product name, program name etc)
586     * Will initialize apps session if required, and launch the request
587     */
588     PROCEDURE LAUNCH_REMOTE_REQUEST (
589         errbuf              OUT NOCOPY  VARCHAR2,
590         retcode             OUT NOCOPY  VARCHAR2,
591         p_user_name         IN          VARCHAR2,
592         p_resp_name         IN          VARCHAR2,
593         p_appl_name         IN          VARCHAR2,
594         p_params_string     IN          VARCHAR2,
595         p_request_id        OUT NOCOPY  NUMBER
596     );
597 
598     /*
599     * This procedure will launch demantra workflow when provided the workflow lookup code.
600     *
601     * ------------ PARAMETERS LIST ----------------
602     * p_workflow_lookup_code : Workflow lookup code
603     * p_synchronous				   : Whether CP to in sync with workflow or not
604     * p_check_interval		   : Check the status of the workflow for every (in seconds)
605     * p_time_out					   : Stop the status check of the workflow after (in minutes)
606     * --------------------------------------------
607     *
608     */
609     PROCEDURE Launch_Dem_Workflow (
610         errbuf				    OUT   NOCOPY VARCHAR2,
611         retcode				    OUT   NOCOPY VARCHAR2,
612         p_workflow_lookup_code  IN      VARCHAR2,
613         p_synchronous			IN      NUMBER	 DEFAULT C_NO,
614         p_check_interval		IN		NUMBER	 DEFAULT 60,
615         p_time_out              IN		NUMBER	 DEFAULT 1440 );
616 
617     /*
618     *
619     * This procedure is used to check/validate the values given
620     * for parameters in UI while submitting concurrent programs.
621     * After successful validation the procedures returns 'from_date' and 'to_date'
622     *
623     * ------------ PARAMETERS LIST ----------------
624     * p_sr_instance_id		       : Instance Id
625     * p_collection_group       	 : Organization Group
626     * p_collection_method     	 : Complete or Net Change
627     * p_date_range_type		       : Absolute or Rolling
628     * p_collection_window		     : Noof Days in the past for collecting data
629     * p_future_window		         : Noof Days in the future for collecting data
630     * p_from_date		             : Start date for collecting data
631     * p_to_date		               : End date for collecting data
632     * p_collect_product          : Name of the product for which the collection is done
633     *                             (EAM/CMRO/NMP/FLEET)
634     * ---------------------------------------------
635     */
636     PROCEDURE UI_params_validation (
637         errbuf				    OUT NOCOPY VARCHAR2,
638         retcode				    OUT NOCOPY VARCHAR2,
639         o_from_date		        OUT NOCOPY DATE,
640         o_to_date		        OUT NOCOPY DATE,
641         p_sr_instance_id		IN      NUMBER,
642         p_collection_group      IN      VARCHAR2,
643         p_collection_method     IN      NUMBER,
644         p_hidden_param1			IN	    VARCHAR2,
645         p_date_range_type		IN	    NUMBER,
646         p_collection_window		IN	    NUMBER,
647         p_from_date			    IN	    VARCHAR2,
648         p_to_date			    IN	    VARCHAR2,
649         p_collect_product       IN	    VARCHAR2 Default NULL,
650         p_future_window		    IN	    NUMBER Default NULL);
651 
652 
653 /*
654 * This procedure will update parameter's value in demantra
655 * Can be used only for updating paramters in sys_params table
656 *
657 * ------------ PARAMETERS LIST ----------------
658 * p_start_param	  : parameter name of start_date
659 * p_start_bucket  : offset value for start_date
660 * p_end_param	  : parameter name of end_date
661 * p_end_bucket	  : offset value for end_date
662 * p_pivot_param	  : base date parameter name which is used for
663 *                   setting the above start & end params.
664 *                   Above offsets are applied against this param.
665 * p_param_name	  : parameter name to be updated
666 * p_param_value	  : parameter value to be loaded
667 *
668 */
669     PROCEDURE update_dem_params(
670               p_start_param	  IN	VARCHAR2 DEFAULT NULL,
671               p_start_bucket	IN	VARCHAR2 DEFAULT NULL,
672               p_end_param	    IN	VARCHAR2 DEFAULT NULL,
673               p_end_bucket	  IN	VARCHAR2 DEFAULT NULL,
674               p_pivot_param	  IN	VARCHAR2 DEFAULT NULL,
675               p_param_name	  IN	VARCHAR2 DEFAULT NULL,
676               p_param_value	  IN	VARCHAR2 DEFAULT NULL )	;
677 
678 	      /* This function is used to get the correct organization name
679     * for the site which is used for booking internal sales order
680     * p_sr_instance_id - instance id
681     * p_tp_site_id     - trading partner site id
682     * p_partner_id     - trading partner id
683     * p_location_id    - location id (not used)
684     *
685     */
686    FUNCTION get_org_for_internal_site(
687     p_sr_instance_id number,
688  	p_tp_site_id number,
689 	p_partner_id number,
690 	p_location_id number default null)
691 
692     RETURN VARCHAR2 ;
693 
694        /*
695     * This procedure updates the series load & purge option for the given data profile.
696     * p_schema : demantra schema name
697     * p_dataprofile : Data profile lookup value
698     * p_series : Series lookup value
699     * p_load : Load option ( 0 - OVERRIDE /  1 - ACCUMULATE /  2 - No Load )
700     * p_purge: purge option (0 - No Purge / 1 - Purge All dates without new data / 2 - Purge All dates without new data, within DP time range )
701     * p_notify : notify application server ( 1 - Yes / 2 - No )
702     */
703 
704     PROCEDURE SET_SERIES_OPTIONS(
705             errbuf          OUT NOCOPY  VARCHAR2,
706             retcode         OUT NOCOPY  VARCHAR2,
707 	    p_schema        IN  VARCHAR2,
708             p_dataprofile   IN  VARCHAR2,
709             p_series        IN  VARCHAR2,
710             p_load          IN  NUMBER,
711             p_purge         IN  NUMBER,
712 	    p_notify	    IN  NUMBER DEFAULT 2);
713 
714 			--BUG16070532
715 		 /*
716      *  This function checks for the demantra workflow status
717      *  whether it is running (or) completed (or) failed.
718      *  Arguments
719      *    p_ret_process_id :- process id of the workflow launched
720      *    p_check_finish :- check status for every specified time in seconds
721      *    p_time_out :- check status till the given time in minutes
722      *    p_dem_schema :- demantra schema name
723      *  Returns
724      *    -1 - workflow failed
725      *     0 - workflow completed
726      *     1 - workflow running
727      */
728     FUNCTION CHECK_WF_STATUS(
729             p_ret_process_id  IN NUMBER,
730             p_check_finish    IN NUMBER,
731             p_time_out        IN NUMBER,
732             p_dem_schema      IN varchar2)
733     RETURN NUMBER;
734 
735 
736 END MSD_DEM_COMMON_UTILITIES;