>> PROTECTED PROCEDURE CompareStructureData >> LPARAMETERS tcAlias1, tcAlias2 >> IF RECCOUNT(tcAlias1) RECCOUNT(tcAlias2) >> RETURN .f. >> ENDIF >> LOCAL lnSelect, llTheSame, lcFedCols, lcGISCols >> lnSelect = SELECT() >> >> SELECT * from (tcAlias1) ORDER BY column_name INTO CURSOR crsTempOne nofilter >> SELECT * from (tcAlias2) ORDER BY column_name INTO CURSOR crsTempTwo nofilter >> >> CURSORTOXML('crsTempOne', 'lcTempOne') >> CURSORTOXML('crsTempTwo', 'lcTempTwo') >> >> lcTempOne = lower(lcTempOne) >> lcTempTwo = lower(lcTempTwo) >> >> *!* Change the cursor name in the second XML string to be the same as in the >> *!* first string because this name is irrelevent to the structure comparison >> lcTempTwo = STRTRAN(lcTempTwo, 'crstemptwo', 'crstempone') >> >> IF SYS(2007, lcTempOne) = SYS(2007, lcTempTwo) >> llTheSame = .t. >> ENDIF >> USE IN crsTempOne >> USE IN crsTempTwo >> SELECT (lnSelect) >> RETURN llTheSame >> ENDPROC</font>
>select FIELD_NAME, FIELD_TYPE, FIELD_LEN, FIELD_DEC, ; > FIELD_NULL, FIELD_NOCP, FIELD_DEFA, FIELD_RULE, FIELD_ERR FROM xstruc1 ; >UNION ; >select FIELD_NAME, FIELD_TYPE, FIELD_LEN, FIELD_DEC, ; > FIELD_NULL, FIELD_NOCP, FIELD_DEFA, FIELD_RULE, FIELD_ERR FROM xstruc2 ; >INTO ARRAY arrDummy >return ALEN(arrDummy,1) = reccount('xstruc1')>Cetin