Hello guys !
I recently created an EVNT object that scans a particular folder to complete an action (move/trigger) based on the naming convention of the file. My issue is that the process picks up a hidden file (Thumbs.db) that I don't even see if I change the settings to see the hidden files under Windows ! I made some research I couldn't find a way to exclude those files from the process. Can you please help me out ? Here is my script :
:INC JOBI.BR_GET_BRAPPSRV_VARIABLES
! VALIDATE THAT THE WIN AGENTS ARE UP AND RUNNING
:INCLUDE JOBI.BR_WIN.AGENTS.VALIDATION
! ---- Set parameters ----
:SET &PATH# = "&DefaultConsoleInputDirectory#\CEBatchUpdate\&WorkAreaAcronym#"
:SET &OUTPATH# = "&DefaultConsoleInputDirectory#\CEBatchUpdate\&WorkAreaAcronym#\Queue"
:SET &LINKAGE_PATH# = "&DefaultConsoleInputDirectory#\CEBatchLinkage\&WorkAreaAcronym#"
:SET &BLOCK_PATH# = "&DefaultConsoleInputDirectory#\CEBlockBatch\&WorkAreaAcronym#"
:SET &INVALID_PATH# = "&DefaultConsoleInputDirectory#\CEBatchUpdate\&WorkAreaAcronym#\InvalidNamingConvention"
:PRINT "Input path : &PATH#"
! --------------------------------------------------
! Start Process
! --------------------------------------------------
:SET &HND# = PREP_PROCESS_FILENAME("&WINAGENT#","&PATH#\*","Y","N",,,"UC_LOGIN=LOGIN.SERVICEACCOUNT.BR.BPMS")
:PROCESS &HND#
: SET &LINE#=GET_PROCESS_LINE(&HND#)
! --------------------------------------------------
! Extract filename
! --------------------------------------------------
: SET &LENGTH# = STR_LENGTH(&PATH#)
: SET &CHECK_LENGTH# = STR_ENDS_WITH(&PATH#,"\")
: IF &CHECK_LENGTH# EQ "Y"
: SET &LENGTH# = &LENGTH# + 1
: ELSE &CHECK_LENGTH# EQ "N"
: SET &LENGTH# = &LENGTH# + 2
: ENDIF
: SET &FILENAME# = SUBSTR(&LINE#, &LENGTH#)
: PRINT "Processing: &FILENAME#"
: SET &FILEPATH# = "&PATH#\&FILENAME#"
: PRINT "File path: &FILEPATH#"
! --------------------------------------------------
! Normalize once
! --------------------------------------------------
:SET &FILENAME_UPPER# = CONV_UC(&FILENAME#)
:SET &TARGET_FOLDER# = ""
:SET &RUN_WORKFLOW# = "N"
:SET &SEND_ERROR# = "N"
! --------------------------------------------------
! Classification logic
! --------------------------------------------------
! --- Case 1 : CEBATCH ---
:IF SUBSTR(&FILENAME_UPPER#,1,7) = "CEBATCH"
: SET &TARGET_FOLDER# = &OUTPATH#
: SET &RUN_WORKFLOW# = "Y"
:ENDIF
! --- Case 2 : CEBLOCK ---
:IF SUBSTR(&FILENAME_UPPER#,1,7)= "CEBLOCK"
: SET &TARGET_FOLDER# = &BLOCK_PATH#
:ENDIF
!--- Case 3 : Linkage files (D/A/F/C) ---
:IF SUBSTR(&FILENAME_UPPER#,1,1) = "D" OR "A" OR "F" OR "C"
: IF SUBSTR(&FILENAME_UPPER#,1,7) <> "CEBATCH" OR "CEBLOCK"
: SET &TARGET_FOLDER# = &LINKAGE_PATH#
: ENDIF
! --- Case 4 : Invalid file ---
:ELSE
: SET &SEND_ERROR# = "Y"
: SET &TARGET_FOLDER# = &INVALID_PATH#
:ENDIF
! --------------------------------------------------
! Execute actions
! --------------------------------------------------
! --- Move file if target folder determined ---
:IF &TARGET_FOLDER# <> ""
: PUT_PROMPT_BUFFER PS_FILEPATH#=&FILEPATH#
: PUT_PROMPT_BUFFER PS_OUTFOLDER#=&TARGET_FOLDER#
: SET &RUNID# = ACTIVATE_UC_OBJECT(JOBS.WIN.BR_UTILITY_MOVE.SINGLE.WIN.FILE)
:ENDIF
! --- Trigger workflow only for CEBATCH ---
:IF &RUN_WORKFLOW# = "Y"
: PUT_PROMPT_BUFFER PS_FILE#=&FILENAME#
: SET &RUNID# = ACTIVATE_UC_OBJECT(JOBP.SQL.BR_SI_SURVEY.PROC_CEBATCH.UPDATE.WITH.SIF.REFRESH.OPTION)
:ENDIF
! --- Send notification if invalid ---
:IF &SEND_ERROR# = "Y"
: SET &ERR_MESSAGE# = "The file '&FILENAME#' has been dropped in CEBatch input folder by mistake. The file has been moved under '&INVALID_PATH#'. Please move the file to the appropriate location."
: PUT_PROMPT_BUFFER FILENAME#=&FILENAME#
: PUT_PROMPT_BUFFER PATH#=&PATH#
: PUT_PROMPT_BUFFER STATUS_TEXT#=&ERR_MESSAGE#
: SET &RUNID# = ACTIVATE_UC_OBJECT(CALL.HTML.MAIL.BR_SI_SURVEY.PROC_CEBATCH.NOTIFICATION)
:ENDIF
:ENDPROCESS