|
FUNCTION get_characterized_column_headers (input : characteristic_data_table_header_armx) : LIST [1:?] OF general_property; LOCAL middle : SET [ 1 : ? ] OF general_property ; result : LIST [ 1 : ? ] OF general_property ; links : SET [ 1 : ? ] OF characteristic_data_table_header_link_armx ; temp : general_property ; precedent : SET [ 0 : ? ] OF characteristic_data_table_header_link_armx ; subsequent : SET [ 0 : ? ] OF characteristic_data_table_header_link_armx ; END_LOCAL ; links := bag_to_set ( USEDIN ( input , 'characteristic_xim.' + 'characteristic_data_table_header_link_armx.table' ) ) ; REPEAT i := 1 TO HIINDEX ( links ) ; middle := middle + links [ i ] \ characteristic_data_table_header_link_armx . precedent ; middle := middle + links [ i ] \ characteristic_data_table_header_link_armx . subsequent ; END_REPEAT ; result [ 1 ] := ? ; REPEAT i := 1 TO HIINDEX ( middle ) ; precedent := bag_to_set ( QUERY ( l <* ( USEDIN ( middle [ i ] , 'characteristic_xim.' + 'characteristic_data_table_header_link_armx.precedent' ) ) | l . table = input ) ) ; IF ( SIZEOF ( precedent ) > 1 ) THEN RETURN ( ? ) ; END_IF ; IF ( SIZEOF ( precedent ) = 1 ) THEN subsequent := bag_to_set ( QUERY ( l <* ( USEDIN ( middle [ i ] , 'characteristic_xim.' + 'characteristic_data_table_header_link_armx.subsequent' ) ) | l . table = input ) ) ; IF ( SIZEOF ( subsequent ) = 0 ) THEN result [ 1 ] := middle [ i ] ; ESCAPE ; END_IF ; END_IF ; END_REPEAT ; IF ( result [ 1 ] = ? ) THEN RETURN ( ? ) ; END_IF ; temp := result [ 1 ] ; REPEAT i := 2 TO HIINDEX ( middle ) ; result [ i ] := precedent [ 1 ] \ characteristic_data_table_header_link_armx . subsequent ; precedent := bag_to_set ( QUERY ( l <* ( USEDIN ( result [ i ] , 'characteristic_xim.' + 'characteristic_data_table_header_link_armx.precedent' ) ) | l . table = input ) ) ; IF ( HIINDEX ( middle ) = i ) THEN ESCAPE ; END_IF ; IF ( SIZEOF ( precedent ) <> 1 ) THEN RETURN ( ? ) ; END_IF ; END_REPEAT ; RETURN ( result ) ; END_FUNCTION; -- get_characterized_column_headers |
|
public class FGet_characterized_column_headers public static Value run(SdaiContext _context, Value input) |