FUNCTION findCommonDir RETURNS CHAR( i_cdirs AS CHAR, i_cseparator AS CHAR ): DEF VAR idir AS INT. DEF VAR idepth AS INT. DEF VAR cdir AS CHAR EXTENT. DEF VAR lsame AS LOGICAL INITIAL TRUE. DEF VAR cresult AS CHAR. EXTENT( cdir ) = NUM-ENTRIES( i_cdirs, '~n' ). DO idir = 1 TO NUM-ENTRIES( i_cdirs, '~n' ): cdir[ idir ] = ENTRY( idir, i_cdirs, '~n' ). END. DO idepth = 2 TO NUM-ENTRIES( cdir [ 1 ], i_cseparator ) WHILE lsame: DO idir = 1 TO EXTENT( cdir ) - 1 WHILE lsame: lsame = ( ENTRY( idepth, cdir [ idir ], i_cseparator ) = ENTRY( idepth, cdir [ idir + 1 ], i_cseparator ) ). END. IF lsame THEN cresult = cresult + i_cseparator + ENTRY( idepth, cdir [ 1 ], i_cseparator ). END. RETURN cresult. END FUNCTION.