Correct STDF Entries from a Script
StdfFixer allows you to read an STDF file, apply a transformation to it, and save the transformed file with the same name. Transformations are currently defined by indicating the record type and field you want to change and the new value you want to use. This is most useful for correcting incorrect header data, for example the lotid, fab lotid or program name.
STDF QuickChange is published as a gzipped tar file so that it can easily be installed on any modern operating system and installed in the location the user chooses. In the following instructions, the name of the downloaded file will vary slightly, depending on the actual version to be installed.
- Make sure you have Java 1.8 or newer installed and in your execution path. You can download the Java runtime here.
- Download the STDF QuickChange gzipped tar file. Then, you can use a tool like 7-zip (on Windows) or run gunzip and tar -xf on the downloaded file. For ease of use, we recommend adding the directory into which you untarred the files to your path.
- Once you have installed the files, you can either build complete calls yourself using the commands described below for maximum flexibility or use the provided examples. For command line filtering of STDF files, the provided examples are filter.bash and filter.bat, depending on whether you are on Linux/Mac OS X or Microsoft Windows.
Often you can use the supplied filter script like this:
stdffixer.bat LotID mynewlot c:\work\test.stdf
This example uses a Windows batch file, but a Linux/Unix/Mac OS X equivalent is also available. If you look inside the script, you will see the underlying call to the StdfFixer program. StdfFixer currently supports the following key words
You can also directly change the fields of the STDF by calling the filter.bat script with the form record type.record field, for example MIR.lot_id=aaa to make the lotid aaa, for record types that only appear once in the file. To apply the same transformation to multiple files, you can list the files using * as a wild card. For example
stdffixer.bat MIR:lot_id XYZ_COLD *.stdf would change the lotid to XYZ_COLD for all files ending in stdf in the current directory.
Complete usage looks like this:
java -cp stdfConverter.jar:guava-23.0.jar:commons-cli-1.4.jar:sqlite-jdbc-184.108.40.206.jar spry.stdf.converter.StdfFixer --replace:MIR.lot_id=newlotid /tmp/myfile.stdf
-cp stdfConverter.jar:guava-23.0.jar:commons-cli-1.4.jar:sqlite-jdbc-220.127.116.11.jarindicates dependencies of the tool. All of these files are included in the install. Replace the : character with ; on Windows. You should not need to change the rest of this value, unless for some reason you installed different versions of the jar files.
spry.stdf.converter.StdfFixerthis is the name of the executable class inside QuickChange Utilities. You should not need to change this value.
--replace:MIR.lot_id=newlotidThis indicates that the value in the lot_id field of the MIR (master information record) should be replaced with the value newlotid. The most common substitutions are for MIR values like
- but it can be used for other STDF fields too. For example, you could set the probe card name for all test heads in file /tmp/X123.stdf to prober_annie with the call
java -cp stdfConverter.jar:guava-16.0.jar:commons-cli-1.2.jar:sqlitejdbc-v056.jar spry.stdf.converter.StdfFixer --replace:SDR.card_id=prober_annie /tmp/X123.stdf
- The WIR record wafer_id field and WRR record fabwf_id are also commonly changed fields.
- You can have multiple replace fields in one call if you call DataFileFilter directly
- See the FAQ for the remaining of exit codes from the StdfFixer call
Need More information?
You can contact us with technical questions, pricing questions and alternate payment mechanism questions.
Try it out!
Interested? Try StdfFixer and the rest of STDF QuickChange for 15 days.
Ready to Buy?
Selecting Buy Now allows you to purchase one or more STDF QuickChange licenses via credit card or PayPal for USD 395 each. If you are interested in purchasing licenses but prefer to use a credit card without paying online, a purchase order or another payment mechanism, let us know by mailing email@example.com or clicking the Contact Us link. We are happy to accommodate any of those mechanisms. You can also contact us about volume license discounts.