Here is the global var:

Here is my code:
----------------------
CollectFile(SourceSAPFolder : Text[250];TargetSAPFolder : Text[250])
DateImported := CURRENTDATETIME;
CLEAR(TotalRecord);
Obj := Folder.GetFiles(SourceSAPFolder, '*.CSV');
Lst := Lst.List;
Lst.AddRange(Obj);
FOR L := 0 TO Lst.Count - 1 DO BEGIN
VarFileName := '';
VarFileName := Path.GetFileName(Lst.Item(L));
VarPath := '';
VarPath := Path.GetDirectoryName(Lst.Item(L));
SAPLog.RESET;
SAPLog.SETRANGE("CSV File Name", VarFileName);
IF NOT SAPLog.FINDFIRST THEN BEGIN
ReadAndImportFileValue(STRSUBSTNO('%1\%2',VarPath,VarFileName),VarFileName,VarPath,DateImported);
END;
END;
END;
ReadAndImportFileValue(FileToProcess : Text[256];pFileName : Text;pFilePath : Text;CurrDateTime : DateTime)
IF FileToProcess <> '' THEN
BEGIN
CurrentFileName := pFileName;
FileVar.CREATETEMPFILE;
FileVar.CREATEINSTREAM(StreamInTxt);
DOWNLOADFROMSTREAM(StreamInTxt,'','<TEMP>','',MagicPath);
FileVar.CLOSE;
FOR i := STRLEN(MagicPath) DOWNTO 1 DO
BEGIN
IF MagicPath[i] = '\' THEN
BEGIN
MagicPath := COPYSTR(MagicPath,1,i);
i := 1;
END;
END;
FileToUpload := pFileName;
FolderName := pFilePath;
IF ISCLEAR(FileSystemObject) THEN
CREATE(FileSystemObject,TRUE,TRUE);
FileSystemObject.CopyFile(FolderName + '\' + FileToUpload,MagicPath + '\' + FileToUpload);
UPLOADINTOSTREAM('','<TEMP>','',FileToUpload,StreamInTxt);
CSVBuffer.DELETEALL;
CSVBuffer.LoadDataFromStream(StreamInTxt, ';');
IF CSVBuffer.FINDFIRST() THEN BEGIN
REPEAT
CASE CSVBuffer."Field No." OF
//insert value to table SAPLog
UNTIL CSVBuffer.NEXT() = 0;
END;
END;
----------------------