#!/bin/ksh #Following is the code where in you have parameter for File Input #and Data Set of data you are loading for you it will be different #so you can change accordingly. #this shell script is for data loading only...... #i am creating Control file dynamically using shell script #after this point you can use CONSUB to call a Validation program FCP_LOGIN=`echo $*|awk '{print $3}'` DATA_FILE=`echo $*|awk '{print $9}'` DATA_SET_NAME=`echo $*|awk '{print $10}'` echo $FCP_LOGIN FCP_LOGIN=${FCP_LOGIN#FCP_LOGIN=$quotes} FCP_USERID=${FCP_USERID#FCP_USERID=$quotes} #FCP_LOGIN=${FCP_LOGIN%$quotes} FCP_LOGIN=`echo $FCP_LOGIN|sed 's/"//g'` echo $FCP_LOGIN DATA_FILE=`echo $DATA_FILE|sed 's/"//g'` DATA_SET_NAME=`echo $DATA_SET_NAME|sed 's/"//g'` V_CONTROL_FILE=${CUSTOM_TOP}/bin/CUSTOM.ctl rm -f $CUSTOM_TOP/bin/CUSTOM.ctl rm -f $CUSTOM_TOP/bin/CUSTOM.log cat >${V_CONTROL_FILE} << ! LOAD DATA INFILE '${V_DATA_FILE}' APPEND INTO TABLE HEADER WHEN RECORD_TYPE_CD = 'H'( FIELD1 CONSTANT 'NEW_RECORD', FIELD2 POSITION(01:01) CHAR, FIELD3 POSITION(2:3) CHAR, FIELD4 POSITION(04:09) DATE 'RRMMDD', FIELD5 POSITION(10:13) CHAR, FIELD6 POSITION(15:28) CHAR, FIELD7 POSITION(29:32) CHAR, ) ! chmod 777 ${V_CONTROL_FILE} #$ORACLE_HOME/bin/sqlldr userid=$FCP_LOGIN control=$CUSTOM/bin/CUSTOM.ctl data=$DATA_FILE log=$CUSTOM_TOP/bin/CUSTOM.log