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