FUNCTION allowed_translations
(ent : GENERIC, translatable_attributes : SET [0:?] OF STRING) : LOGICAL;
LOCAL mlaa: BAG OF multi_language_attribute_assignment; ala: BAG OF attribute_language_assignment; END_LOCAL; IF (SIZEOF(translatable_attributes)=0) THEN RETURN(UNKNOWN); END_IF; mlaa:= USEDIN ( ent , 'CATALOG_DATA_INFORMATION_MIM' + '.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS' ); REPEAT i:=1 TO HIINDEX(mlaa); IF NOT (mlaa[i].attribute_name IN translatable_attributes) THEN RETURN(FALSE); END_IF; END_REPEAT; ala:= USEDIN ( ent , 'CATALOG_DATA_INFORMATION_MIM' + '.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ); REPEAT i:=1 TO HIINDEX(ala); IF NOT (ala[i].attribute_name IN translatable_attributes) THEN RETURN(FALSE); END_IF; END_REPEAT; RETURN(TRUE); END_FUNCTION; -- allowed_translations
|