235:
236: IF cEnabled IS NULL THEN
237: ec_debug.pl(0,'EC','ECE_NO_TRANSACTION_PROFILE','TRANSACTION_TYPE',i_Transaction_Type);
238: retcode := 2;
239: raise EC_UTILS.PROGRAM_EXIT;
240: ELSIF cEnabled = 'N' THEN
241: RAISE ece_transaction_disabled;
242: END IF;
243:
250: parameter11, parameter12, parameter13, parameter14, parameter15,
251: parameter16, parameter17, parameter18, parameter19, parameter20);
252:
253: --Initialize PL/SQL table from ec_util
254: ec_utils.g_stack.DELETE;
255:
256: -- Put parameter name, datatype and default values on stack
257: -- The order of parameters must be predefined both on the input side and the table
258:
255:
256: -- Put parameter name, datatype and default values on stack
257: -- The order of parameters must be predefined both on the input side and the table
258:
259: -- EC_UTILS.G_STACK
260: -- level,
261: -- variable_name
262: -- variable_value
263: -- variable_position
272: ec_debug.pl(3, 'parameter default value', c_parm_map_rec.default_value);
273: end if;
274:
275: i_count := i_count + 1;
276: ec_utils.g_stack(i_count).level := 0;
277: ec_utils.g_stack(i_count).variable_name := c_parm_map_rec.parm_name;
278: ec_utils.g_stack(i_count).data_type := c_parm_map_rec.parm_datatype;
279: ec_utils.g_stack(i_count).variable_value := c_parm_map_rec.default_value;
280:
273: end if;
274:
275: i_count := i_count + 1;
276: ec_utils.g_stack(i_count).level := 0;
277: ec_utils.g_stack(i_count).variable_name := c_parm_map_rec.parm_name;
278: ec_utils.g_stack(i_count).data_type := c_parm_map_rec.parm_datatype;
279: ec_utils.g_stack(i_count).variable_value := c_parm_map_rec.default_value;
280:
281: -- Bug 2905834
274:
275: i_count := i_count + 1;
276: ec_utils.g_stack(i_count).level := 0;
277: ec_utils.g_stack(i_count).variable_name := c_parm_map_rec.parm_name;
278: ec_utils.g_stack(i_count).data_type := c_parm_map_rec.parm_datatype;
279: ec_utils.g_stack(i_count).variable_value := c_parm_map_rec.default_value;
280:
281: -- Bug 2905834
282: hash_string := to_char(0)||'-'||UPPER(c_parm_map_rec.parm_name) ;
275: i_count := i_count + 1;
276: ec_utils.g_stack(i_count).level := 0;
277: ec_utils.g_stack(i_count).variable_name := c_parm_map_rec.parm_name;
278: ec_utils.g_stack(i_count).data_type := c_parm_map_rec.parm_datatype;
279: ec_utils.g_stack(i_count).variable_value := c_parm_map_rec.default_value;
280:
281: -- Bug 2905834
282: hash_string := to_char(0)||'-'||UPPER(c_parm_map_rec.parm_name) ;
283: hash_value := dbms_utility.get_hash_value(hash_string,1,100000);
280:
281: -- Bug 2905834
282: hash_string := to_char(0)||'-'||UPPER(c_parm_map_rec.parm_name) ;
283: hash_value := dbms_utility.get_hash_value(hash_string,1,100000);
284: ec_utils.g_stack_pos_tbl(hash_value):=i_count;
285:
286: END LOOP;
287: COMMIT;
288: END;
288: END;
289:
290: -- Put parameter values on stack
291: -- m_parm_tmp_tbl is temporary stack that gets the input parameters.
292: -- ec_utils.g_stack is the final stack that is used by the outbound execution engine.
293:
294: FOR i in 1..ec_utils.g_stack.COUNT
295: LOOP
296: IF m_parm_tmp_tbl.EXISTS(i) THEN
290: -- Put parameter values on stack
291: -- m_parm_tmp_tbl is temporary stack that gets the input parameters.
292: -- ec_utils.g_stack is the final stack that is used by the outbound execution engine.
293:
294: FOR i in 1..ec_utils.g_stack.COUNT
295: LOOP
296: IF m_parm_tmp_tbl.EXISTS(i) THEN
297:
298: ec_utils.g_stack(i).variable_value := m_parm_tmp_tbl(i);
294: FOR i in 1..ec_utils.g_stack.COUNT
295: LOOP
296: IF m_parm_tmp_tbl.EXISTS(i) THEN
297:
298: ec_utils.g_stack(i).variable_value := m_parm_tmp_tbl(i);
299: if ec_debug.G_debug_level = 3 then
300: ec_debug.pl(3, 'Parameter temp table value', m_parm_tmp_tbl(i));
301: ec_debug.pl(3,'g_stack_count',i);
302: ec_debug.pl(3,'g_stack.value',ec_utils.g_stack(i).variable_value);
298: ec_utils.g_stack(i).variable_value := m_parm_tmp_tbl(i);
299: if ec_debug.G_debug_level = 3 then
300: ec_debug.pl(3, 'Parameter temp table value', m_parm_tmp_tbl(i));
301: ec_debug.pl(3,'g_stack_count',i);
302: ec_debug.pl(3,'g_stack.value',ec_utils.g_stack(i).variable_value);
303: end if;
304: END IF;
305: END LOOP;
306:
356: ec_debug.pl(0,'EC','ECE_TRANSACTION_DISABLED','TRANSACTION_TYPE', i_Transaction_Type);
357: retcode := 1;
358: ec_debug.disable_debug;
359: ROLLBACK WORK;
360: WHEN EC_UTILS.PROGRAM_EXIT THEN
361: ROLLBACK WORK;
362: raise;
363: WHEN OTHERS THEN
364: ROLLBACK WORK;