DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_IREP_CP_PKG

Source


1 PACKAGE Body FND_IREP_CP_PKG AS
2 /* $Header: AFIRCPPB.pls 120.1 2005/07/02 04:08:38 appldev noship $ */
3 --
4 -- Procedure
5 --   GET_CP_PARAM_ANNOTATIONS
6 --
7 -- Purpose
8 --   Get the parameter details of the given CP
9 --
10 -- Returns: the parameter annotations as a clob enclosed within
11 -- /** and */
12 --
13 --
14 FUNCTION GET_CP_PARAM_ANNOTATIONS(
15                           p_cp_id IN NUMBER,
16                           p_app_id IN NUMBER)
17 			  RETURN VARCHAR2
18 			  IS
19 
20     cursor IREP_CURSOR is
21 	  select
22 	  FDFCU.END_USER_COLUMN_NAME,
23 	  FDFCU.REQUIRED_FLAG,
24           DECODE(FDFCU.DISPLAY_FLAG, 'N', 'N', 'Y'),
25 	  TL.DESCRIPTION,
26 	  TL.FORM_LEFT_PROMPT,
27 	  FVS.FLEX_VALUE_SET_NAME
28 	  from
29 	  FND_CONCURRENT_PROGRAMS FCP,
30 	  FND_DESCR_FLEX_COLUMN_USAGES FDFCU,
31 	  FND_DESCR_FLEX_COL_USAGE_TL TL,
32 	  FND_FLEX_VALUE_SETS FVS
33 	  where
34 	  FCP.APPLICATION_ID=p_app_id AND
35 	  FCP.CONCURRENT_PROGRAM_ID=p_cp_id AND
36 	  FDFCU.ENABLED_FLAG='Y' AND
37 	  FDFCU.DESCRIPTIVE_FLEXFIELD_NAME=
38 		'$SRS$.'||FCP.CONCURRENT_PROGRAM_NAME AND
39 	  TL.DESCRIPTIVE_FLEXFIELD_NAME=FDFCU.DESCRIPTIVE_FLEXFIELD_NAME AND
40 	  TL.APPLICATION_COLUMN_NAME=FDFCU.APPLICATION_COLUMN_NAME AND
41 	  TL.LANGUAGE='US' AND
42 	  FDFCU.FLEX_VALUE_SET_ID=FVS.FLEX_VALUE_SET_ID AND
43           FDFCU.APPLICATION_ID = FCP.APPLICATION_ID AND
44           TL.APPLICATION_ID = FDFCU.APPLICATION_ID AND
45           TL.DESCRIPTIVE_FLEX_CONTEXT_CODE=FDFCU.DESCRIPTIVE_FLEX_CONTEXT_CODE
46 	  order by
47 	  FDFCU.COLUMN_SEQ_NUM;
48 
49     param_name varchar2(60);
50     param_req  varchar2(60);
51     param_disp Varchar2(1);
52     param_desc FND_DESCR_FLEX_COL_USAGE_TL.DESCRIPTION%TYPE;
53     param_prompt FND_DESCR_FLEX_COL_USAGE_TL.FORM_LEFT_PROMPT%TYPE;
54     param_type FND_FLEX_VALUE_SETS.FLEX_VALUE_SET_NAME%TYPE;
55 
56     -- variable to hold one parameter annotation
57     v_annotation varchar2(4000);
58     n number;
59     -- whole annotation
60     v_annotation_block varchar2(32000);
61 
62   begin
63 	open irep_cursor;
64 
65 	-- Write the string /** to show the beginning of the annotation
66 	v_annotation_block := '/**' || wf_core.newline;
67 
68 	LOOP
69 	   -- Get the parameter values into the cursor
70 	   fetch irep_cursor
71 	    into param_name, param_req, param_disp,
72 		 param_desc, param_prompt, param_type;
73 	   exit when irep_Cursor%NOTFOUND;
74 
75 	   -- Replace % character with %%
76 	   param_name:=REPLACE(param_name, '%', '%%');
77 
78    	   -- Replace space character with %_
79 	   param_name:=REPLACE(param_name, ' ', '%_');
80 
81  	   -- Create the annotation for a single parameter.  If no
82            -- description is found, the prompt value is taken as description
83 	   v_annotation := '  * @param ' || param_name || ' ' ||
84 	 	NVL(param_desc, param_prompt) || wf_core.newline ||
85 		'  * @rep:paraminfo {@rep:type ' || param_type || '}' ||
86 			     ' {@rep:displayed ' || param_disp || '}';
87 
88            if (param_req = 'Y') then
89                          v_annotation := v_annotation || ' {@rep:required}';
90            end if;
91 
92            v_annotation := v_annotation || wf_core.newline;
93 	   v_annotation_block := v_annotation_block || v_annotation;
94 
95 	END loop;
96 
97         -- Write the string */ to show the end of the annotation
98 	v_annotation_block := v_annotation_block || '  */';
99 
100         close irep_cursor;
101 	return v_annotation_block;
102   end;
103 
104 END FND_IREP_CP_PKG;