CREATE OR REPLACE PACKAGE BODY efnow131$ IS -- -- Text constants -- c_heading CONSTANT NUMBER := 1141; c_gas_day CONSTANT NUMBER := 1142; c_window_open CONSTANT NUMBER := 1143; c_window_close CONSTANT NUMBER := 1144; c_customer_name CONSTANT NUMBER := 1145; c_contract_name CONSTANT NUMBER := 2082; c_include_exclude CONSTANT NUMBER := 1146; c_submit CONSTANT NUMBER := 1147; c_selectall CONSTANT NUMBER := 1148; c_message CONSTANT NUMBER := 1150; c_customers CONSTANT NUMBER := 1045; c_contracts CONSTANT NUMBER := 2401; c_timestamp CONSTANT NUMBER := 1152; c_subject CONSTANT NUMBER := 2148; -- -- Other Constants -- c_gas_day_start CONSTANT NUMBER := cout_system_configuration.get_configuration_item(p_parameter => 'GAS_DAY_OFFSET'); c_timecomp_format CONSTANT VARCHAR2(2) := '00'; c_yes CONSTANT VARCHAR2(1) := 'Y'; c_date_format CONSTANT VARCHAR2(255) := g_date_format; c_datetime_format CONSTANT VARCHAR2(255) := c_date_format || ' HH24:MI:SS'; c_nom_wdw_format CONSTANT VARCHAR2(255) := c_date_format || ' HH24:MI'; c_renom_window CONSTANT VARCHAR2(1) := 'R'; c_time_format CONSTANT VARCHAR2(255) := 'HH24:MI'; -- -- Global variables -- g_gas_day_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_gas_day); g_subject_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_subject); g_message_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_message); g_customers VARCHAR2(255) := caco_utilities.get_module_text(c_customers); g_contracts VARCHAR2(255) := caco_utilities.get_module_text(c_contracts); g_wdw_open_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_window_open); g_wdw_close_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_window_close); g_timestamp_lbl VARCHAR2(255) := caco_utilities.get_module_text(c_timestamp); -- -- standard web calendar package -- PROCEDURE calendar(z_field_name IN VARCHAR2 ,z_caller_url IN VARCHAR2 ,z_field_value IN VARCHAR2 DEFAULT NULL ,z_field_format IN VARCHAR2 DEFAULT NULL ,z_field_prompt IN VARCHAR2 DEFAULT NULL) IS -- field_caption VARCHAR2(2000); -- BEGIN -- IF z_field_prompt IS NULL THEN -- field_caption := INITCAP(REPLACE(SUBSTR(z_field_name ,3 ,LENGTH(z_field_name) - 2) ,'_' ,' ')); -- ELSE -- field_caption := INITCAP(REPLACE(z_field_prompt ,'_' ,' ')); -- END IF; -- wsgl.registerurl(g_package_name || '.calendar'); wsgl.addurlparam('Z_FIELD_NAME' ,z_field_name); wsgl.addurlparam('Z_CALLER_URL' ,z_caller_url); -- IF wsgl.notlowercase THEN RETURN; END IF; -- wsgl.output_calendar(z_field_name ,z_field_value ,z_field_format ,wsgl.msggettext(123 ,wsglm.dsp128_cal_caption ,field_caption) ,NULL ,g_package_name ,'Close' ,TRUE ,g_date_format); -- wsgl.output_calendar(z_field_name ,z_field_value ,z_field_format ,wsgl.msggettext(123 ,wsglm.dsp128_cal_caption ,field_caption) ,NULL ,g_package_name ,'Close' ,FALSE ,g_date_format); -- EXCEPTION WHEN OTHERS THEN wsgl.displaymessage(wsgl.mess_exception ,SQLERRM ,'' ,NULL ,g_package_name || '.calendar'); END calendar; -- -- Standard web formatting package for submitted dates -- PROCEDURE format_cal_date(z_field_name IN VARCHAR2 ,z_field_format IN VARCHAR2 ,DAY IN VARCHAR2 ,MONTH IN VARCHAR2 ,YEAR IN VARCHAR2) IS -- field_caption VARCHAR2(2000) := INITCAP(REPLACE(SUBSTR(z_field_name ,3 ,LENGTH(z_field_name) - 2) ,'_' ,' ')); l_day VARCHAR2(15) := DAY; -- PROCEDURE output_format_cal_js(page_header IN VARCHAR2 ,body_attributes IN VARCHAR2 ,chosen_date IN VARCHAR2 ,field_format IN VARCHAR2) IS -- -- Copied from WSGL -- the_date DATE := TO_DATE(chosen_date ,'DD-MONTH-YYYY'); -- BEGIN -- wsgl.openpagehead(page_header); wsgl.closepagehead; wsgl.openpagebody(FALSE ,p_attributes => body_attributes); htp.p(''); wsgl.closepagebody; -- END output_format_cal_js; -- BEGIN -- IF l_day = '0' THEN l_day := '01'; END IF; -- output_format_cal_js(wsgl.msggettext(123 ,wsglm.dsp128_cal_caption ,field_caption) ,NULL ,l_day || '-' || MONTH || '-' || YEAR ,z_field_format); -- END format_cal_date; -- -- Produce the hour poplist -- PROCEDURE hour_option_list IS -- l_hour NUMBER; -- BEGIN -- -- -- Start at the gas day begining.... -- l_hour := c_gas_day_start; -- FOR i IN 1 .. 24 LOOP -- -- Reset the counter to do hours from midnight to 5 -- IF l_hour > 23 THEN -- l_hour := 0; -- END IF; -- IF TO_NUMBER(TO_CHAR(l_hour ,c_timecomp_format)) = TO_NUMBER(TO_CHAR((SYSDATE + 1 / 24) ,'HH24')) THEN -- htp.p('