FUNCTION is_SQL_mappable

(* SCHEMA Ap236_furniture_catalog_and_interior_design_mim_LF; *)
(* Implicit interfaced from: ISO13584_expressions_schema *)
FUNCTION is_SQL_mappable (arg: expression) : BOOLEAN;

LOCAL
	i: INTEGER;
END_LOCAL;

IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' 
								IN TYPEOF (arg) 
THEN 
	RETURN (TRUE);
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' 
								IN TYPEOF (arg) 
THEN 
	RETURN (TRUE);
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) 
THEN 
	RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand)); 
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' 
								IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LENGTH_FUNCTION' 
								IN TYPEOF(arg))
THEN 
	RETURN (FALSE);
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) 
		OR('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg)) 
		OR('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAXIMUM_FUNCTION' 
								IN TYPEOF(arg)) 
		OR('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MINIMUM_FUNCTION' 
								IN TYPEOF(arg)) 
THEN 
	REPEAT i :=1 TO SIZEOF (
			arg\multiple_arity_numeric_expression.operands);
		IF NOT is_SQL_mappable(
			arg\multiple_arity_numeric_expression.operands[i])
		THEN 
			RETURN (FALSE);
		END_IF;
	END_REPEAT;
RETURN (TRUE);
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SLASH_EXPRESSION' IN 
								TYPEOF(arg))
THEN
		RETURN (is_SQL_mappable(
			arg\binary_numeric_expression.operands[1])
		AND is_SQL_mappable(arg\binary_numeric_expression.operands[2]));
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) 
		OR('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POWER_EXPRESSION' 
								IN TYPEOF(arg))
THEN 
	RETURN (FALSE); 	
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' 
								IN TYPEOF (arg) 
THEN 
	RETURN (TRUE);
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg) 
THEN 
	RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND));
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.XOR_EXPRESSION' 
								IN TYPEOF (arg)) 
THEN	
	RETURN (FALSE);
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF (arg)) 
THEN
	REPEAT i:=1 TO SIZEOF (
			arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS);
		IF NOT is_SQL_mappable (
			arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i]) 
		THEN 
			RETURN (FALSE);
		END_IF;
	END_REPEAT;
	RETURN (TRUE);
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF (arg) 
THEN
	RETURN(is_SQL_mappable (
			arg\BINARY_GENERIC_EXPRESSION.OPERANDS [1])
		AND is_SQL_mappable(
			arg\BINARY_GENERIC_EXPRESSION.OPERANDS [2]));
END_IF;
IF	('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_GREATER' 
								IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL'
								IN TYPEOF (arg))
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_LESS' 
								IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' 
								IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' 
								IN TYPEOF (arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LIKE_EXPRESSION' 
								IN TYPEOF (arg)) 
THEN
	RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[1])
		AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[2]));
END_IF;
IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF(arg) 
THEN 
	RETURN (is_SQL_mappable(arg\interval_expression.interval_low) 
		AND is_SQL_mappable(arg\interval_expression.interval_high)
		AND is_SQL_mappable(arg\interval_expression.interval_item));
END_IF;
IF ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' 
								IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' 
								IN TYPEOF(arg))
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' 
								IN TYPEOF(arg))  
THEN 
		RETURN (FALSE) ;
END_IF;

IF 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' 
								IN TYPEOF(ARG) 
THEN 
	RETURN (TRUE);
END_IF;
IF 	('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' 
								IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONCAT_EXPRESSION' 
								IN TYPEOF(arg)) 
		OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FORMAT_FUNCTION' 
								IN TYPEOF(arg)) 
THEN 
	RETURN (FALSE);
END_IF;

	RETURN (FALSE);
END_FUNCTION; -- is_SQL_mappable

Referenced By

Defintion is_SQL_mappable is references by the following definitions:
DefinitionType
 numeric_expression ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:19:03-04:00