LOCAL
category_assignments : BAG OF Product_category_assignment;
categories : SET OF STRING := [];
i : INTEGER;
END_LOCAL;
category_assignments := USEDIN(obj, 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS');
REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments);
categories := categories + category_assignments[i].category.name;
END_REPEAT;
RETURN (categories);
CASE rep.name OF
'document content':
BEGIN
RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.name IN ['detail level', 'geometry type', 'real world scale']))) = 0);
END;
'document creation':
BEGIN
IF NOT (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.name IN ['creating interface', 'creating system', 'operating system']))) = 0) THEN
RETURN (FALSE);
END_IF;
IF NOT (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.name IN ['creating system']))) = 1) THEN
RETURN (FALSE);
ELSE
RETURN (TRUE);
END_IF;
END;
'document format':
BEGIN
RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.name IN ['character code', 'data format', 'size format', 'size format standard']))) = 0);
END;
'document size':
BEGIN
RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.name IN ['file size', 'page count']))) = 0);
END;
OTHERWISE:
RETURN (UNKNOWN);
END_CASE;