mBuildCustomerDocumentStructure('entrypoint\*.*', 1) *mBuildCustomerDocumentStructure LPARAMETERS tcStartPoint, tnParentId LOCAL lnFileNumber, lnMenuId, lnCount, arr WITH This DIMENSION arr (1, 1) IF !USED('tree') CREATE CURSOR tree (menuid I, parentid I NULL, name char(100), folder I DEFAULT 1) INSERT INTO tree (menuid, parentid, name) VALUES (1,NULL,'Customer Documents') * APPEND BLANK * REPLACE menuid WITH 1, ; * parentid WITH NULL, ; * name WITH 'Customer Documents' ENDIF SELECT tree lnFileNumber = ADIR(arr, tcStartPoint, 'D') FOR lnCount = 1 TO lnFileNumber IF arr(lnCount, 1) = '.' LOOP ENDIF GO BOTTOM lnMenuId = menuid + 1 * APPEND BLANK * REPLACE menuid WITH lnMenuId, ; * parentid WITH IIF(RECCOUNT() = 1, NULL, tnParentId), ; * name WITH IIF(RECCOUNT() = 1, 'Customer Documents', arr(lnCount, 1)) INSERT INTO tree (menuid, parentid, name) ; VALUES (lnMenuId,IIF(RECCOUNT() = 1, NULL, tnParentId),IIF(RECCOUNT() = 1, 'Customer Documents', arr(lnCount, 1))) IF AT('D', arr(lnCount, 5)) # 0 .mBuildCustomerDocumentStructure(STRTRAN(tcStartPoint, '*.*', '') + arr(lnCount, 1) + '\*.*', menuid) ELSE REPLACE folder WITH 0 ENDIF ENDFOR ENDWITH>Hi Mark,