Scripts can be parsed on the UNIX / Linux platforms at the command line or using a shell script inheriting the working directory and other previously established environmental settings.
Example 1
Parse an engine script named DB2TOORA that will perform near real-time replication of "Sales" application data from a DB2 database captured on a z/OS system named "MVS21" to Oracle tables running on a UNIX system. The source "Host" system and DB2 System ID will be passed as parameters because the engine script has been written so that it can be reparsed to process data coming from other systems as well.
sqdparse ./ENGINE/DB2TOORA.sqd ./ENGINE/DB2TOORA.prc list=all ENGINE=DB2TOORA HOST=MVS21 SSID=DB2T 2>&1 | tee DB2TOORA.prt
Note: The last part of the command, "2>&1 | tee DB2TOORA.prt" causes a copy of the parser report to be displayed on the screen and also written to a file.
Example 2
Shell scripts can be used to invoke the Parser in the UNIX and Linux Multiplatform environment. Shell scripts are useful for automating the Parser processing and/or for parsing several scripts within the same command.
The following shell script parses the same script file from the previous example.
#!/usr/bin/bash
cd ./home/test/sales/ENGINE
sqdparse DB2TOORA.sqd DB2TOORA.prc ENGINE=DB2TOORA HOST=MVS21 SSID=DB2T > ../DB2TOORA.prt
cd ..
ps -fe | grep SQD0041W *.prt
ps -fe | grep SQD0041E *.prt
Note:
- The last two (2) lines of the script are commands used to determine if the script parsed successfully.
- Since the working directory is changed to /home/test/sales/ENGINE before parsing, references in the script to the location of DB2 and Oracle DDL table descriptions will need to be sensitive to their location in the directory hierarchy, ie: ./<directory_name>/<file_name>. In this case probably ../DB2DDL and ../ORADDL (note the double dots)