Batch and script operations are available to meet the needs of more advanced processing requirements. The usual X9Utilities run relies on a command line that contains the switches and file names that are needed to invoke a specific process. Alternatively, batch and script operations build a sequence of work units to be executed on top of command line processing, allowing a single X9Utilities run to process multiple files. There are two types of operations:
- The “-batch” command line switch triggers batched operations. In this scenario, a standard command line with the “-batch” switch is provided as a model to create a series of work units. The input file on this command line contains a wild card pattern (e.g., using an asterisk with the file name). Batch operations identify all files within the input folder that match this wild card pattern and create work units for each file. For example, the input command line may be expanded into hundreds of work units depending on how many files match the pattern.
- The “-script” command line switch starts scripted operations. In this case, the input file is a text (txt) file that contains the command lines to be executed. Script operations read the indicated text file and generate a run unit for each line contained within the script. This processing is similar to batched operations but provides even more control over the command lines to be executed since they can be created by your customized scripting process.
The “-threads:n” command line switch is used to optionally define the number of background threads that will be used for processing. The default is no threading, which will result in the work units being run sequentially. When threading is initiated, the work units are then assigned to background threads and will be run in a more random order. Threading will reduce the overall elapsed time, given that processing will be run concurrently. It has the side effect that a higher level of CPU time will be used as the work units are executed, to the detriment of other applications running within this same environment. All processing will be recorded within a single system log. Care should be taken to sure that all needed resources, and especially virtual memory, are made available to x9utilities.
The “-aoe:n” command line switch is used to optionally indicate that overall execution should be aborted when there are some number of work units that were aborted, where this is identified by a negative exit status. For example, the “-aoe” switch indicates that overall execution should end (as soon as possible) when an exception has occurred. In this situation, although no new work units will be started, those that are currently executing will continue to their completion. All subsequent work units will be flushed and not executed. Another example would be “-aoe:2”, which would allow one exception but would begin to flush work units after there are two exceptions.
In support of batch operations, there
Parameter | Description | Example |
---|---|---|
#fn# | File name. | C:\Users\X9Ware5\Documents\x9_assist\files\Test ICL with 100 checks.x9 |
#fp# | File path. | C:\Users\X9Ware5\Documents\x9_assist\files\ |
#fpns# | File path no separator. | C:\Users\X9Ware5\Documents\x9_assist\files |
#fnnx# | File name no extension. | C:\Users\X9Ware5\Documents\x9_assist\files\Test ICL with 100 checks |
#fnb# | File name base. | Test ICL with 100 checks |
#fnx# | File name extension. | x9 |
#fnbx# | File name base with extension. | Test ICL with 100 checks.x9 |
#i# | Work unit number. | 5 |
#i2# | Work unit number as 2 digits. | 05 |
#i3# | Work unit number as 3 digits. | 005 |
#i4# | Work unit number as 4 digits. | 0005 |
#i5# | Work unit number as 5 digits. | 00005 |
#i6# | Work unit number as 6 digits. | 000005 |
#yyyyMMdd# | Date formatted as “yyyyMMdd”. | 20230426 |
“#kkmmss#” | Time formatted as “kkmmss” which is based on the 24-hour clock. | 220418 |
#HHmmss# | Time formatted as “HHmmss” which is based on the 12-hour clock. | 100418 |
#kkmmssSSS# | Time formatted as “kkmmssSSS” which is based on the 24-hour clock and includes milliseconds. | 220418521 |
#HHmmssSSS# | Time formatted as “MMmmssSSS” which is based on the 12-hour clock and includes milliseconds. | 100418521 |
#yy# | Date as “yy”. | 23 |
#yyyy#” | Date as “yyyy”. | 2023 |
#MM# | Date as “MM”. | 04 |
#dd# | Date as “dd”. | 18 |
#DDD# | Date as “DDD” which is the julian date within the year. | 257 |
#kk# | Time as hour from 24-hour clock. | 22 |
#HH# | Time as hour from 12-hour clock. | 10 |
#mm# | Time as minutes. | 04 |
#ss# | Time as seconds. | 18 |
#SSS# | Time as milliseconds. | 521 |
An example of batch operations is as follows:
-batch
-threads:8
-scrub
“C:/Users/X9Ware5/Documents/x9_assist/imagePull_Testing/file*.x9”
“C:/Users/X9Ware5/Documents/x9_assist/xml/scrub/scrubParameters.xml”
“C:/Users/X9Ware5/Downloads/threadTesting/#fnb#_scrubbed.x937”
“C:/Users/X9Ware5/Downloads/threadTesting/scrubbedFields.txt”
An example of script operations is as follows:
-script “C:/Users/X9Ware5/Documents/x9_assist/test/translateAndWrite.txt”