(* SCHEMA step_merged_ap_schema; *)
-- IN AP232 RULE release_authentication_string_restriction FOR (approval ); LOCAL ar : STRING := 'release authentication'; result1 : BOOLEAN := TRUE; result2 : BOOLEAN := TRUE; found : BOOLEAN; aaa : BAG OF applied_approval_assignment; adt : BAG OF approval_date_time; appr : SET OF approval; apo : BAG OF approval_person_organization; END_LOCAL; appr := approval; REPEAT i := 1 TO SIZEOF(appr) BY 1; aaa := USEDIN(appr[i], 'STEP_MERGED_AP_SCHEMA.' + 'APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL'); found := FALSE; REPEAT j := 1 TO SIZEOF(aaa) BY 1; IF EXISTS(aaa[j]\approval_assignment.role) THEN IF aaa[j].role.name = ar THEN found := TRUE; END_IF; END_IF; END_REPEAT; IF found THEN apo := USEDIN(appr[i], 'STEP_MERGED_AP_SCHEMA.' + 'APPROVAL_PERSON_ORGANIZATION.AUTHORIZED_APPROVAL'); found := FALSE; REPEAT j := 1 TO SIZEOF(apo) BY 1; IF EXISTS(apo[j].role) THEN IF apo[j].role.role = ar THEN found := TRUE; END_IF; END_IF; END_REPEAT; IF NOT found THEN result1 := FALSE; END_IF; adt := USEDIN(appr[i], 'STEP_MERGED_AP_SCHEMA.' + 'APPROVAL_DATE_TIME.DATED_APPROVAL'); found := FALSE; REPEAT j := 1 TO SIZEOF(adt) BY 1; IF EXISTS(adt[j].role) THEN IF adt[j].role.name = ar THEN found := TRUE; END_IF; END_IF; END_REPEAT; IF NOT found THEN result2 := FALSE; END_IF; END_IF; END_REPEAT; WHERE wr1: result1; wr2: result2; END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00