DEFINE VARIABLE lv-FileSequence AS INTEGER NO-UNDO INITIAL 1.
DEFINE VARIABLE lv-FileDir AS CHARACTER NO-UNDO.
DEFINE VARIABLE lv-Extensions AS CHARACTER NO-UNDO INITIAL "xls,xlsx,csv".
DEFINE VARIABLE lv-FileName AS CHARACTER NO-UNDO.
DEFINE VARIABLE lv-PathName AS CHARACTER NO-UNDO.
DEFINE VARIABLE lv-Type AS CHARACTER NO-UNDO.
lv-FileDir = DYNAMIC-FUNCTION('fn-EDI-InputDirectory',"Import Directory",fn-EDI-InitialDir(ICMAS.SupplierDataImport.SupplierDataImportKey)).
IF lv-FileDir EQ "CANCEL" THEN
RETURN "CANCEL".
INPUT STREAM s-import FROM OS-DIR(lv-FileDir).
REPEAT:
IMPORT STREAM s-import lv-FileName lv-PathName lv-Type NO-ERROR.
IF lv-Type NE "F" THEN
NEXT.
IF LOOKUP(ENTRY(NUM-ENTRIES(lv-FileName,"."),lv-FileName,"."),lv-Extensions) EQ 0 THEN
NEXT.
CREATE tt-SupplierFiles.
ASSIGN
tt-SupplierFiles.SFName = lv-PathName
tt-SupplierFiles.SFNumber = lv-FileSequence
lv-FileSequence = lv-FileSequence + 1.
END.
INPUT STREAM s-import CLOSE.
/* Display files in a directory */
DEFINE VARIABLE cDir AS CHARACTER NO-UNDO.
DEFINE VARIABLE cFile AS CHARACTER NO-UNDO.
DEFINE VARIABLE cFullName AS CHARACTER NO-UNDO.
DEFINE VARIABLE cFlags AS CHARACTER NO-UNDO.
ASSIGN cDir = "C:\SomeDir".
FILE-INFO:FILE-NAME = cDir.
IF FILE-INFO:FULL-PATHNAME = ? THEN DO:
MESSAGE "directory not found."
VIEW-AS ALERT-BOX INFO BUTTONS OK.
RETURN. /* or however you want to handle this */
END.
/* Read the directory */
INPUT FROM OS-DIR (cDir) NO-ECHO.
REPEAT:
IMPORT cFile cFullName cFlags.
IF INDEX(cFlags,"F") > 0 THEN DO:
IF SUBSTRING(cFile,R-INDEX(cFile,".")) EQ ".txt" THEN DO:
/* Update TT... */
MESSAGE "Filename:" cFile SKIP
"Full Path:" cFullName SKIP
"Flags:" cFlags SKIP
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
END. /* IF INDEX(cFlags,"F") > 0... */
END. /* REPEAT... */
INPUT CLOSE.