FUNCTION is_SQL_mappable

(* SCHEMA integrated_cnc_schema; *)
FUNCTION is_SQL_mappable (
    arg : expression
    ) : BOOLEAN;

    IF 'INTEGRATED_CNC_SCHEMA.SIMPLE_NUMERIC_EXPRESSION' IN TYPEOF(arg)
      THEN
      RETURN (TRUE);
    END_IF;
    IF 'INTEGRATED_CNC_SCHEMA.NOT_EXPRESSION' IN TYPEOF(arg) THEN
      RETURN (is_SQL_mappable(arg\unary_generic_expression.operand));
    END_IF;
    IF ('INTEGRATED_CNC_SCHEMA.XOR_EXPRESSION' IN TYPEOF(arg)) THEN
      RETURN (FALSE);
    END_IF;
    IF ('INTEGRATED_CNC_SCHEMA.AND_EXPRESSION' IN TYPEOF(arg)) OR (
      'INTEGRATED_CNC_SCHEMA.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 (((((('INTEGRATED_CNC_SCHEMA.COMPARISON_EQUAL' IN TYPEOF(arg)) OR (
      'INTEGRATED_CNC_SCHEMA.COMPARISON_GREATER' IN TYPEOF(arg))) OR (
      'INTEGRATED_CNC_SCHEMA.COMPARISON_GREATER_EQUAL' IN TYPEOF(arg))) OR
      ('INTEGRATED_CNC_SCHEMA.COMPARISON_LESS' IN TYPEOF(arg))) OR (
      'INTEGRATED_CNC_SCHEMA.COMPARISON_LESS_EQUAL' IN TYPEOF(arg))) OR (
      'INTEGRATED_CNC_SCHEMA.COMPARISON_NOT_EQUAL' IN TYPEOF(arg))) THEN
      RETURN (is_SQL_mappable(arg\comparison_expression.operands[1]) AND
        is_SQL_mappable(arg\comparison_expression.operands[2]));
    END_IF;
    RETURN (FALSE);
END_FUNCTION; -- 13584-20: iso13584_expressions_schema

Referenced By

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


[Top Level Definitions]

Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:25-02:00