|
FUNCTION acyclic_product_category_relationship (relation : product_category_relationship, children : SET [0:?] OF product_category) : BOOLEAN; LOCAL x : SET OF product_category_relationship ; local_children : SET OF product_category ; END_LOCAL ; REPEAT i := 1 TO HIINDEX ( children ) ; IF relation . category :=: children [ i ] THEN RETURN ( FALSE ) ; END_IF ; END_REPEAT ; x := bag_to_set ( USEDIN ( relation . category , 'product_definition_schema.' + 'product_category_relationship.sub_category' ) ) ; local_children := children + relation . category ; IF SIZEOF ( x ) > 0 THEN REPEAT i := 1 TO HIINDEX ( x ) ; IF NOT acyclic_product_category_relationship ( x [ i ] , local_children ) THEN RETURN ( FALSE ) ; END_IF ; END_REPEAT ; END_IF ; RETURN ( TRUE ) ; END_FUNCTION; -- acyclic_product_category_relationship |
|
public class FAcyclic_product_category_relationship public static Value run(SdaiContext _context, Value relation, Value children) |