Overview Schemas Index

LKSOFT_EXTENSIONS_XIM (jsdai.SLksoft_extensions_xim)


FUNCTION get_group_stack
          (input : stratum_technology_occurrence_group_xim) : local_linear_stack_armx;

LOCAL
      group : Stratum_technology_occurrence_group_xim := input;
      root_group : Stratum_technology_occurrence_group_xim := ?;
      stack : Local_linear_stack_armx := ?;
    END_LOCAL;
      -- we find a root group, the group that has no parent groups
    REPEAT WHILE (root_group = ?);
      IF  (SIZEOF(group.parent) = 1)
      THEN
        group := group.parent[1];
      ELSE
        root_group := group;
      END_IF;
    END_REPEAT;

    -- IF  data is correct, THEN root group shall be OF TYPE Sequential_stratum_technology_occurrence_group_xim
    --    AND  shall be referenced BY one AND only one Local_linear_stack_armx AS root_xim
    IF  'LKSOFT_EXTENSIONS_XIM.SEQUENTIAL_STRATUM_TECHNOLOGY_OCCURRENCE_GROUP_XIM' IN TYPEOF(root_group) THEN
              -- stack shall be ? IF USEDIN shall RETURN  empty bag
      stack := USEDIN(root_group, 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_XIM.LOCAL_LINEAR_STACK_ARMX.' + 'ROOT_XIM')[1];
    END_IF;

    -- either we found a stack here, OR data is invalid
    RETURN (stack);

END_FUNCTION; -- get_group_stack

public class FGet_group_stack
          public static Value run(SdaiContext _context, Value input)