drop function if exists staging2.fn_FTHLG_TRS_TRX ; CREATE OR REPLACE FUNCTION staging2.fn_FTHLG_TRS_TRX(p_client_id int,p_function_id int, p_file_mnemonic text, p_file_sheet_mnemonic text, p_file_syspk int) RETURNS void LANGUAGE plpgsql AS $function$ declare __test_instance_id int; declare __client_id int :=p_client_id; declare __function_id int :=p_function_id; declare __file_mnemonic text :=p_file_mnemonic; declare __file_sheet_mnemonic text :=p_file_sheet_mnemonic; declare __file_syspk int :=p_file_syspk; declare __make text; declare __model text; declare err_state text; declare err_msg text; declare err_detail text; declare err_hint text; declare err_context text; declare _error int; declare __test_master_id int; declare __test_tractor_id int; begin __file_syspk := p_file_syspk; /************************************************************ Function Name:fn_FTHLG_TRS_TRX Function Desc: This function populates data into ODS File Format: FTHLG Sheet Format: FTHLG_TRS Creation Date: Updation Date: Author: compegence team Function Call: select staging2.fn_FTHLG_TRS_TRX() ***************************************************************/ insert into transactional.test_instance ( client_id, function_id, test_report_no, objective_of_test, background_of_test, job_order_no, test_location_name, gradient_slope_1_degree, gradient_slope_2_degree, tractor_hitch_type, test_engineer, test_operator, date_of_test, test_report_date, type_of_road, tractor_hitch_ht_mm, tractor_rwheel_c2h_dist_mm, file_syspk, file_mnemonic, file_sheet_mnemonic ) select client_id, function_id, Report_Reference_No test_report_no , Objective_Of_Test, Background_of_Test, Job_Order_No, Test_Location test_location_name, Gradient_Slope_1_Degree::numeric, Gradient_Slope_2_Degree::numeric, Tractor_Hitch_Type, Test_Engineer, Test_Operator, Date_of_Test::date, Report_Date::date test_report_date, Type_of_Road, Tractor_Hitch_Height_from_Ground_mm::numeric tractor_hitch_ht_mm , Tractor_Rear_Wheel_Center_to_Hitch_Point_Center_Distance_mm::numeric tractor_rwheel_c2h_dist_mm, file_syspk, file_mnemonic, file_sheet_mnemonic from staging2.FTHLG_TRS_H1_Block where trx_record=1; insert into transactional.test_instance_tractor_info ( client_id, function_id, tractor_model, tractor_make, tractor_sr_no, tractor_engine_hp, fip_type, hour_meter_reading, steering_type, transmission_type, wheel_drive_type, egr_yn, brake_type, pto_type, standard_pto_speed_rpm, epto_speed_rpm, tractor_weight_front_kg, tractor_weight_rear_kg, tractor_weight_total_kg, ballasted_tractor_accessories, mechanical_ballast_rear, water_ballast_rear_75_pct, mechanical_ballast_front_kg, mechanical_ballast_front, total_ballast_weight, file_syspk, file_mnemonic, file_sheet_mnemonic ) select client_id, function_id, Tractor_Model, Tractor_Make, Tractor_Sr_No, Tractor_Engine_HP::numeric, FIP_Type, Hour_Meter_Reading::float, Steering_Type, Transmission_Type, Wheel_Drive_Type_WD, EGR_Yes_No egr_yn, Brake_Type, PTO_Type, Standard_PTO_Speed_RPM::numeric, EPTO_Speed_RPM, Tractor_Weight_kg_Front::numeric tractor_weight_front_kg, Tractor_Weight_kg_Rear::numeric tractor_weight_rear_kg, Tractor_Weight_kg_Total::numeric tractor_weight_total_kg, Ballasted_Tractor_Accessories, Mechanical_Ballast_Rear, Water_Ballast_Rear_75 water_ballast_rear_75_pct, Mechanical_Ballast_Front_in_kg::numeric mechanical_ballast_front_kg, Mechanical_Ballast_Front, Total_Ballast_Weight::numeric, file_syspk, file_mnemonic, file_sheet_mnemonic from staging2.fthlg_trs_spec_block where trx_record=1; update transactional.test_instance_tractor_info set mahindra_model_yn = ( case when tractor_make like 'Mahindra%' then 'Y' else 'N' end ) where file_syspk =__file_syspk; update transactional.test_instance_tractor_info a set test_tractor_yn ='Y' where syspk in (select min(syspk) from transactional.test_instance_tractor_info b where b.file_syspk =a.file_syspk) and a.file_syspk =__file_syspk; update transactional.test_instance_tractor_info set test_tractor_yn ='N' where test_tractor_yn is null and file_syspk =__file_syspk; insert into transactional.test_instance_tyre_info ( client_id, function_id, tractor_make, tractor_model, file_syspk, file_mnemonic, file_sheet_mnemonic, tractor_sr_no, tyre_type, tyre_make, tyre_size, tyre_pressure_psi ) select client_id, function_id, tractor_make, tractor_model, file_syspk, file_mnemonic, file_sheet_mnemonic, tractor_sr_no, 'front', front_tyre_make tyre_make, front_tyre_size tyre_size, front_tyre_pressure_psi::numeric tyre_pressure_psi from staging2.fthlg_trs_spec_block where trx_record=1; update transactional.test_instance_tyre_info a set test_instance_tractor_id =(select syspk from transactional.test_instance_tractor_info b where a.file_syspk=b.file_syspk and a.tractor_model=b.tractor_model and a.tractor_sr_no=b.tractor_sr_no) where a.tyre_type ='front' and a.file_syspk =__file_syspk; insert into transactional.test_instance_tyre_info ( client_id, function_id, tractor_make, tractor_model, file_syspk, file_mnemonic, file_sheet_mnemonic, tractor_sr_no, tyre_type, tyre_make, tyre_size, tyre_pressure_psi ) select client_id, function_id, tractor_make, tractor_model, file_syspk, file_mnemonic, file_sheet_mnemonic, tractor_sr_no, 'rear', rear_tyre_make tyre_make, rear_tyre_size tyre_size, rear_tyre_pressure_psi::numeric tyre_pressure_psi from staging2.fthlg_trs_spec_block where trx_record=1; update transactional.test_instance_tyre_info a set test_instance_tractor_id =(select syspk from transactional.test_instance_tractor_info b where a.file_syspk=b.file_syspk and a.tractor_model=b.tractor_model and a.tractor_sr_no=b.tractor_sr_no) where a.tyre_type ='rear' and a.file_syspk = __file_syspk; insert into transactional.test_instance_engine_info ( client_id, function_id, low_idle_declared, high_idle_declared, rated_rpm, engine_to_pto_ratio_540_pto, engine_to_pto_ratio_540e_pto, tractor_model, tractor_make, tractor_sr_no, file_syspk, file_mnemonic, file_sheet_mnemonic ) select client_id, function_id, low_idle low_idle_declared, high_idle high_idle_declared, rated_rpm::numeric, engine_to_pto_ratio_540_pto, engine_to_pto_ratio_540e_pto, tractor_model, tractor_make, tractor_sr_no, file_syspk, file_mnemonic, file_sheet_mnemonic from staging2.fthlg_trs_engine_rpm_block where trx_record=1; update transactional.test_instance_engine_info a set test_instance_tractor_id =(select syspk from transactional.test_instance_tractor_info b where a.file_syspk=b.file_syspk and a.tractor_model=b.tractor_model and a.tractor_sr_no=b.tractor_sr_no) where a.file_syspk = __file_syspk; insert into transactional.test_instance_trailer_info ( client_id, function_id, type_of_trailer, no_of_axle, no_of_wheels, trailer_hitch_ht_above_ground_lvl_mm, make_model_of_trailer, trailer_platform_length_mm, trailer_platform_width_mm, trailer_platform_height_mm, tire_size, inflation_pressure_psi, track_width_of_trailer_mm, hzntl_dist_of_hitch_pt_from_trailer_face_mm, tractor_rwc_to_hitch_pt_center_dist_mm, dist_from_tractor_rwc_to_trailer_rwc_mm, dist_from_trailer_front_axle_dist_from_hitch_pt_mm, trailer_empty_weight_kg, trailer_gross_weight_kg, file_syspk, file_mnemonic, file_sheet_mnemonic ) select client_id, function_id, Type_Of_Trailer, No_Of_Axle::numeric, No_Of_Wheels::numeric, Trailer_hitch_Height_above_ground_level_mm::numeric trailer_hitch_ht_above_ground_lvl_mm, Make_model_of_trailer, Trailer_platform_length_mm::numeric, Trailer_platform_Width_mm::numeric, Trailer_platform_Height_mm::numeric, Tire_size, Inflation_pressure_psi::numeric, Track_width_of_trailer_mm::numeric, Horizontal_distance_of_hitch_point_from_trailer_front_face_mm::numeric hzntl_dist_of_hitch_pt_from_trailer_face_mm, Tractor_Rear_Wheel_Center_to_Hitch_Point_Center_Distance_mm::numeric tractor_rwc_to_hitch_pt_center_dist_mm, Distance_from_Trailer_front_axle_distance_from_hitch_point_mm::numeric dist_from_tractor_rwc_to_trailer_rwc_mm, Distance_from_tractor_rear_wheel_to_tractor_rear_wheel_mm::numeric dist_from_trailer_front_axle_dist_from_hitch_pt_mm, Trailer_empty_weight_Kg::numeric, Trailer_Gross_Weight_Kg::numeric, file_syspk, file_mnemonic, file_sheet_mnemonic from staging2.fthlg_trs_trailer_block where trx_record=1; update transactional.test_instance a set report_template_no=b.report_template_no, report_template_rev_no=b.report_template_rev_no, report_template_rev_date =b.report_template_rev_date from staging2.fthlg_trs_trailer_block b where trx_record=1 and a.file_syspk=b.file_syspk; select syspk into __test_instance_id from transactional.test_instance where file_syspk =__file_syspk; select syspk from transactional.test_master into __test_master_id where test_type ='Field'; select syspk from transactional.test_instance_tractor_info into __test_tractor_id where file_syspk =__file_syspk and test_tractor_yn ='Y'; update transactional.test_instance set test_master_id =__test_master_id, test_tractor_id =__test_tractor_id where file_syspk=__file_syspk; update transactional.test_instance_engine_info set test_instance_id=__test_instance_id where file_syspk=__file_syspk; update transactional.test_instance_tractor_info set test_instance_id=__test_instance_id where file_syspk=__file_syspk; update transactional.test_instance_tyre_info set test_instance_id=__test_instance_id where file_syspk=__file_syspk; update transactional.test_instance_implement_info set test_instance_id=__test_instance_id where file_syspk=__file_syspk; update transactional.test_instance_trailer_info set test_instance_id=__test_instance_id where file_syspk=__file_syspk; update transactional.test_instance set test_file_name =(select a.file_name from staging1.staging_generic_table a where file_syspk = __file_syspk limit 1) where file_syspk = __file_syspk; update transactional.test_instance set test_type = a.test_type, test_name= a.test_name from fw_core.test_file_sheet_format_master a where transactional.test_instance.file_sheet_mnemonic = a.file_sheet_mnemonic and transactional.test_instance.file_syspk=__file_syspk; perform fw_core.fn_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_mnemonic,__file_sheet_mnemonic ,null,'trx', 'fn_FTHLG_TRS_TRX', err_state, err_msg, err_detail, err_hint, err_context,'success'); end $function$ ;