#=============================================================================================
# @TITLE			Tuning - Optimizer Statistics
#
# @NUMBER			WDBM_FKT_02030
#
# @DESCRIPTION		Clicking the "Optimizer Statistics" -link and checking the shown Complete
# @					table.
#
# @EXP_RESULT		The Complete table has shown up and the headline and the first row will be
# @					checked.
#
# @REQUIREMENTS		Test: WDBM_FKT_01000; WDBM_FKT_00100; WDBM_FKT_01010
#=============================================================================================
public function trim (in str) {
	if (substr(str, 1, 1) == " ") {

		str = trim(substr(str, 2));
	}
	if (substr(str, length(str)) == " ") {
		str = trim(substr(str, 1, length(str)-1));
	}
	return (str);
}

function getLine() {
	auto line; 
	call_chain_get_attr ("line_no", 1, line);
	return (line);
}

Testname = "WDBM_FKT_02030";
#=============================================================================================
# @STEP 1			Checking backup window.
#=============================================================================================
set_window(work_window, 1);
set_window (menu_window, 2);

web_link_click("Optimizer Statistics");

set_window(work_window, 1);

if (obj_exists("1x1",0) == E_OK) {
	tl_step("Optimizer Statistics","0","has shown up correctly");
} else {
	tl_step("Optimizer Statistics","1","has not shown up correctly - TN: " & Testname & ", L: " & getLine());
}
#=============================================================================================
# @STEP 2			Checking table content.
#=============================================================================================
set_window(work_window, 1);

if (new_interface == "1") {
	web_obj_get_text("Information - CACHES - DB73","#1","#1",cell_value_1,"","",1);
} else {
	tbl_get_cell_data("Database/Servername", "#1", "#1", cell_value_1);
}

if ((trim(cell_value_1) == "Optimizer Statistics" && version == "7.3.00") ||
	(trim(cell_value_1) == "Tuning - Optimizer Statistics" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {
	
	tl_step("Table index - Optimizer Statistics","0","correct");
	
	set_window(work_window, 1);
	if (new_interface == "1") {
		web_obj_get_text("Database Users", "#1", "#1", cell_value_2, "", "", 1);
	} else {
		tbl_get_cell_data("1x1","#1","#2", cell_value_2);
	}
	
	if (match(trim(cell_value_2),"Indicate search criteria and press 'Select'.")) {
		tl_step("Comment text","0","correct");
	} else {
		tl_step("Comment text","1","incorrect");
	}
	
	set_window(work_window, 1);
	
	if (obj_exists("Owner_1",0) == E_OK &&
		obj_exists("Table",0) == E_OK &&
		obj_exists("From",0) == E_OK &&
		obj_exists("MaxRows",0) == E_OK &&
		obj_exists("Select",0) == E_OK) {
		
		tl_step ("Optimizer Statistics - Object check","0","All objects are displayed");
	} else {
		tl_step ("Optimizer Statistics - Object check","1","Not all objects are displayed - TN: " & Testname & ", L: " & getLine());
	}
#=============================================================================================
# @STEP 3			Clicking 'Select'.
#=============================================================================================
	set_window(work_window, 1);
	web_link_click("Select");
	set_window(work_window, 1);
	
	if (new_interface == "1") {
		web_obj_get_text("Information - CACHES - DB73","#1","#1",cell_value_3,"","",1);
	} else {
		tbl_get_cell_data("Database/Servername", "#1", "#1", cell_value_3);
	}
	
	if ((trim(cell_value_3) == "Optimizer Statistics" && version == "7.3.00") ||
		(trim(cell_value_3) == "Tuning - Optimizer Statistics" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {
	
		tl_step("Table index - Optimizer Statistics - after 'Select'","0","correct");
		
		if (obj_exists("Estimate",0) == E_OK &&
			obj_exists("EstimateType",0) == E_OK &&
			obj_exists("EstimateRows",0) == E_OK &&
			obj_exists("EstimateType_1",0) == E_OK &&
			obj_exists("EstimatePercent",0) == E_OK &&
			obj_exists("Execute",0) == E_OK &&
			obj_exists("Back",0) == E_OK) {
			
			tl_step ("Table index - Optimizer Statistics - after 'Select'","0","All objects are displayed.");
#=============================================================================================
# @STEP 4			Clicking 'Back'.
#=============================================================================================			
			set_window(work_window, 1);
			web_link_click("Back");
			
			set_window(work_window, 1);
			if (new_interface == "1") {
				web_obj_get_text("Database Users", "#1", "#1", cell_value_4, "", "", 1);
			} else {
				tbl_get_cell_data("1x1","#1","#2", cell_value_4);
			}
			
			if (trim(cell_value_4) == "Indicate search criteria and press 'Select'.") {
				tl_step("Comment text after 'Select' and 'Back'","0","correct");
			} else {
				tl_step("Comment text after 'Select' and 'Back'","1","incorrect - TN: " & Testname & ", L: " & getLine());
			}
	
			set_window(work_window, 1);
			
			if (obj_exists("Owner_1",0) == E_OK &&
				obj_exists("Table",0) == E_OK &&
				obj_exists("From",0) == E_OK &&
				obj_exists("MaxRows",0) == E_OK &&
				obj_exists("Select",0) == E_OK) {
				
				tl_step ("Optimizer Statistics - Object check","0","All objects are displayed");
			} else {
				tl_step ("Optimizer Statistics - Object check","1","Not all objects are displayed - TN: " & Testname & ", L: " & getLine());
			}
#=============================================================================================
# @STEP 5			Clicking again 'Select'.
#=============================================================================================
			set_window(work_window, 1);
			web_link_click("Select");
			set_window(work_window, 1);
	
			if (new_interface == "1") {
				web_obj_get_text("Information - CACHES - DB73","#1","#1",cell_value_5,"","",1);
			} else {
				tbl_get_cell_data("Database/Servername", "#1", "#1", cell_value_5);
			}
			
			if ((trim(cell_value_5) == "Optimizer Statistics" && version == "7.3.00") ||
				(trim(cell_value_5) == "Tuning - Optimizer Statistics" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {
			
				tl_step("Table index - Optimizer Statistics - after 'Select', 'Back' and 'Select'","0","correct");
				
				if (obj_exists("Estimate",0) == E_OK &&
					obj_exists("EstimateType",0) == E_OK &&
					obj_exists("EstimateRows",0) == E_OK &&
					obj_exists("EstimateType_1",0) == E_OK &&
					obj_exists("EstimatePercent",0) == E_OK &&
					obj_exists("Execute",0) == E_OK &&
					obj_exists("Back",0) == E_OK) {
					
					tl_step ("Optimizer Statistics - Object check","0","All objects are displayed");
#=============================================================================================
# @STEP 3			Clicking 'Execute'.
#=============================================================================================
					set_window(work_window, 1);
					web_link_click("Execute");
					
					set_window(work_window, 1);
					if (new_interface == "1") {
						web_obj_get_text("Information - CACHES - DB73","#1","#1",cell_value_6,"","",1);
					} else {
						tbl_get_cell_data("Database/Servername", "#1", "#1", cell_value_6);
					}
					
					if ((trim(cell_value_6) == "Optimizer Statistics" && version == "7.3.00") ||
						(trim(cell_value_6) == "Tuning - Optimizer Statistics" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {
						
						tl_step("Table index - Optimizer Statistics - before 'Execute'","0","correct");
						
						set_window(work_window, 1);
						if (new_interface == "1") {
							web_obj_get_text("Database Users", "#1", "#1", cell_value_7, "", "", 1);
						} else {
							tbl_get_cell_data("1x1","#1","#2", cell_value_7);
						}
						
						if (trim(cell_value_7) == "Optimize statistics successfully finished.") {
							tl_step ("Table index - Optimizer Statistics - after 'Execute'","0","Info text correct");
						} else {
							tl_step ("Table index - Optimizer Statistics - after 'Execute'","1","Info text incorrect - TN: " & Testname & ", L: " & getLine());
						}
					} else {
						tl_step("Table index - Optimizer Statistics - before 'Execute'","1","incorrect - TN: " & Testname & ", L: " & getLine());
					}
				} else {
					tl_step ("Optimizer Statistics - Object check","1","Not all objects are displayed - TN: " & Testname & ", L: " & getLine());
				}
			} else {
				tl_step("Table index - Optimizer Statistics - after 'Select', 'Back' and 'Select'","1","incorrect - TN: " & Testname & ", L: " & getLine());
			}	
		} else {
			tl_step ("Table index - Optimizer Statistics - after 'Select'","0","All objects are displayed - TN: " & Testname & ", L: " & getLine());
		}
	} else {
		tl_step("Table index - Optimizer Statistics - after 'Select'","1","incorrect - TN: " & Testname & ", L: " & getLine());
	}
} else {
	tl_step("Table index - Optimizer Statistics","1","incorrect - TN: " & Testname & ", L: " & getLine());
}
