>FUNCTION GetParentID >LPARAMETER cParentAlias >IF PCOUNT() < 1 .OR. ; > TYPE( cParentAlias + '.id' ) <> 'U' > RETURN .NULL. >ENDIF >cChildAlias = IIF( PCOUNT() < 1, ALIAS(), UPPER( cChildAlias ) ) >DIMENSION aRI[1] >SET DATABASE TO (CURSORGETPROP( 'database', cChildAlias )) >ADBOBJECTS( aRI, 'Relation' ) >LOCAL ni, cChildKey, cParentKey >FOR ni = 1 TO ALEN( aRI, 1 ) > IF aRI[ni,1] = cChildAlias .AND. ; > SUBSTR( aRI[ni,5], 3, 1 ) = 'R' .AND. ; > USED( aRI[ni,2] ) > SELECT (aRI[ni,2]) > SET ORDER TO (aRI[ni,4]) > cParentKey = TRIM( KEY() ) > SET ORDER TO > SELECT (cChildAlias) > SET ORDER TO (aRI[ni,3]) > cChildKey = TRIM( KEY() ) > SET ORDER TO > REPLACE (cChildKey) WITH ; > EVAL(aRI[ni,2] + '.' + cParentKey) IN SELECT(cChildAlias) > ENDIF >NEXT ni >RETURN >>