You should make a class. I didnt syntax CHECK it but its the GENERAL idea. Make sure you ADD any missing "this." Since instances stay around, you can customize their behavior as needed. At the bottom is a small sample main program on how to use.
*!* * Here is your class
*!* DEFINE CLASS GetBankFiles AS SESSION
*!* dSettDate = {//}
*!* gc_mainpath = "\\Svrpc-stlmnt01\e\Return-Items\"
*!* gc_systempath = "\\Svrpc-stlmnt01\e\Return-Items\sysdata\"
*!* gc_datapath = "\\Svrpc-stlmnt01\e\Return-Items\data\"
*!* gc_dailyreportspath = "\\Svrpc-stlmnt01\e\Return-Items\Daily-Reports\"
*!* gc_prtscrnpath = "H:\settlement\prt_scrn\"
*!* bankFile = ''
*!* bankPath=''
*!* FUNCTION doIt()
*!* LOCAL txtFile
*!* WITH THIS
*!* CHDIR (.gc_prtscrnpath)
*!* txt_file=GETFILE("?????????????",.bankFile+" File")
*!* IF NOT EMPTY(txt_file)
*!* COPY FILE (txt_file) TO (.gc_datapath + .bankFile+".txt")
*!* ObjMonarch= CREATEOBJECT("Monarch32")
*!* ObjMonarch.VISIBLE=.F.
*!* OpenProj = ObjMonarch.SetProjectFile(.gc_datapath + .bankFile+"temp.prj")
*!* ObjMonarch.ExportTable(.gc_datapath + .bankFile+"temp.dbf")
*!* ObjMonarch.CloseAllDocuments
*!* ObjMonarch.EXIT
*!* CHDIR (.gc_datapath)
*!* USE (.bankFile+'temp') IN 0
*!* SELECT (bankFile+'temp') ALIAS bank
*!* THIS.dSettDate = bank.settdate
*!* USE IN bank
*!* CHDIR (.bankPath)
*!* COPY FILE (.gc_datapath + temp+".txt") TO (.bankFile+"-returns-" + STRTRAN(DTOC(.dSettDate),"/")+".txt")
*!* CHDIR (.gc_prtscrnpath)
*!* DELETE FILE (txt_file)
*!* CHDIR (.gc_datapath)
*!* IF FILE(bankFile+".txt")
*!* DELETE FILE (.bankFile+'.txt')
*!* ENDIF
*!* ELSE
*!* CHDIR (.gc_mainpath)
*!* MESSAGEBOX(" No "+.bankFile+" Bank File Found, Please Download File. ")
*!* ENDIF
*!* RETURN
*!* ENDWITH
*!* ENDFUNC
*!* ENDDEFINE
*!****************************************************************************
*!* **** Here is your main program
*!* CLOSE DATABASES ALL
*!* SET CENTURY ON
*!* DIMENSION banks[7,2]
*!* banks[1,1]="H:\settlement\prt_scrn\amsouth-returns"
*!* banks[2,1]="H:\settlement\prt_scrn\elan-returns"
*!* banks[3,1]="H:\settlement\prt_scrn\fnbo-returns"
*!* banks[4,1]="H:\settlement\prt_scrn\funb-returns"
*!* banks[5,1]="H:\settlement\prt_scrn\imperial-returns"
*!* banks[6,1]="H:\settlement\prt_scrn\key-returns"
*!* banks[7,1]="H:\settlement\prt_scrn\regions-returns"
*!* banks[1,2]="amsouth"
*!* banks[2,2]="elan"
*!* banks[3,2]="fnbo"
*!* banks[4,2]="funb"
*!* banks[5,2]="imperial"
*!* banks[6,2]="key"
*!* banks[7,2]="regions"
*!* FOR i=1 to ALEN(banks,1)
*!* bankProcess=CREATEOBJECT('GetBankFiles')
*!* bankProcess.bankPath=banks[i,1]
*!* bankProcess.bankFile=banks[i,2]
*!* bankProcess.doIt()
*!* NEXT
DO ALL the OTHER STUFF here. Looks LIKE CODE FROM hell.... :)