81: END set_msg;
82:
83: --Create process for fnd_flex_values
84: PROCEDURE create_gl_coa_flex_values(
85: p_gl_flex_values_tbl IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_tbl_type,
86: p_c_rec_status OUT NOCOPY VARCHAR2,
87: p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL /* DRM: Added */
88:
89: ) AS
115:
116: rec_fnd_flex_val c_fnd_flex_val%ROWTYPE;
117:
118: /* Private Procedures for create_gl_coa_flex_values */
119: PROCEDURE trim_values ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type ) AS
120: BEGIN
121:
122: gl_coa_flex_values_rec.value_set_name := trim(gl_coa_flex_values_rec.value_set_name);
123: gl_coa_flex_values_rec.flex_value := trim(gl_coa_flex_values_rec.flex_value);
137:
138: END trim_values;
139:
140: --Check the validity of the Value set name and derive the Flex_value_set_id
141: PROCEDURE validate_derivations ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type ) AS
142: BEGIN
143: OPEN c_fnd_flex_values(gl_coa_flex_values_rec.value_set_name);
144: FETCH c_fnd_flex_values INTO l_cur_co;
145: IF c_fnd_flex_values%NOTFOUND THEN
152:
153: END validate_derivations;
154:
155: -- validate parameters passed.
156: PROCEDURE validate_parameters ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type ) AS
157: BEGIN
158:
159: /* Check for Mandatory Parameters */
160: IF gl_coa_flex_values_rec.value_set_name IS NULL THEN
169: END validate_parameters;
170:
171:
172: -- Check for Update. If the flex value passed is already existing then certain validations need to be performed.
173: FUNCTION check_insert_update ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type ) RETURN VARCHAR2 IS
174: E_RESOURCE_BUSY EXCEPTION;
175: PRAGMA EXCEPTION_INIT(E_RESOURCE_BUSY, -54);
176: BEGIN
177: OPEN c_fnd_flex_val(l_cur_co.flex_value_set_id,gl_coa_flex_values_rec.flex_value);
192:
193: END check_insert_update;
194:
195: -- Assign default values to the parameters passed.
196: PROCEDURE assign_defaults ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type, p_insert IN VARCHAR2) IS
197: -- Cursor to check if child ranges exist for the flex value passed
198: CURSOR c_fnd_flex_value_nh_exists(cp_flex_value_set_id fnd_flex_value_sets.flex_value_set_id%TYPE,
199: cp_parent_flex_value fnd_flex_value_norm_hierarchy.parent_flex_value%TYPE ) IS
200: SELECT 'X'
246: END assign_defaults;
247:
248:
249: -- Carry out business validations
250: PROCEDURE validate_flex_values ( gl_coa_flex_values_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_rec_type ) AS
251: -- Cursor to validate the Roll up group information
252: CURSOR c_roll_up_group ( cp_flex_value_set_id IN fnd_flex_hierarchies.flex_value_set_id%TYPE,
253: cp_hierarchy_code IN fnd_flex_hierarchies.hierarchy_code%TYPE) IS
254: SELECT'X'
670: END IF;
671: END create_gl_coa_flex_values;
672:
673: PROCEDURE create_gl_coa_flex_values_nh(
674: p_gl_flex_values_nh_tbl IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_tbl_type,
675: p_c_rec_status OUT NOCOPY VARCHAR2,
676: p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL /* DRM: Added */
677:
678: ) AS
694: l_nh_exists BOOLEAN;
695: flex_vl_set_id_del_tab flex_vl_set_id_tbl_type;
696:
697: /* Private Procedures for create_gl_coa_flex_values_nh */
698: PROCEDURE trim_values ( gl_coa_flex_values_nh_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_rec_type ) AS
699: BEGIN
700: gl_coa_flex_values_nh_rec.value_set_name := trim(gl_coa_flex_values_nh_rec.value_set_name);
701: gl_coa_flex_values_nh_rec.parent_flex_value := trim(gl_coa_flex_values_nh_rec.parent_flex_value);
702: gl_coa_flex_values_nh_rec.range_attribute := trim(gl_coa_flex_values_nh_rec.range_attribute);
704: gl_coa_flex_values_nh_rec.child_flex_value_high := trim(gl_coa_flex_values_nh_rec.child_flex_value_high);
705:
706: END trim_values;
707:
708: PROCEDURE validate_derivations ( gl_coa_flex_values_nh_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_rec_type, p_nh_exists OUT BOOLEAN ) AS
709: --Cursor to check if child ranges already exist
710: CURSOR c_fnd_flex_value_nh_exists(cp_flex_value_set_id fnd_flex_value_sets.flex_value_set_id%TYPE
711: /*DRM Removed: ,cp_parent_flex_value fnd_flex_value_norm_hierarchy.parent_flex_value%TYPE*/
712: ) IS
742:
743: END validate_derivations;
744:
745: -- validate parameters passed.
746: PROCEDURE validate_parameters ( gl_coa_flex_values_nh_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_rec_type ) AS
747: BEGIN
748:
749: IF gl_coa_flex_values_nh_rec.value_set_name IS NULL THEN
750: set_msg('GL_COA_SVI_SEG_VAL_MAND', 'VALUE_SET_NAME');
773:
774: END validate_parameters;
775:
776: -- Validate Database Constraints
777: PROCEDURE validate_db_cons (gl_coa_flex_values_nh_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_rec_type ) AS
778: --Cursor to validate the parent flex value
779: CURSOR c_fnd_flex_value_exists(cp_flex_value_set_id fnd_flex_value_sets.flex_value_set_id%TYPE,
780: cp_parent_flex_value fnd_flex_value_norm_hierarchy.parent_flex_value%TYPE ) IS
781: SELECT summary_flag
801: END IF;
802: END validate_db_cons;
803:
804: -- Carry out business validations
805: PROCEDURE validate_nh ( gl_coa_flex_values_nh_rec IN OUT NOCOPY gl_coa_seg_val_imp_pub.gl_flex_values_nh_rec_type ) AS
806: BEGIN
807:
808: --If Range Attribute should be in ('C','P')
809: IF gl_coa_flex_values_nh_rec.range_attribute NOT IN ('C','P') THEN