Insert Errored Record into another Table
Posted: Mon Jan 28, 2013 6:34 pm
Hi All :
I looking for your guidence.
How to Error Module when Error occured . I tried as shown below it's not calling the error module
I looking for your guidence.
How to Error Module when Error occured . I tried as shown below it's not calling the error module
Code: Select all
<project name="DBInsert" mainModule="Main" version="2.0" logLevel="verbose" threadSafe="true" onError="call:ErrorModule">
<module name="Main" description="DB Insert" logLevel="debug">
<readFixedWidth inputFile="C:\BatchOutput\processzone\GoAnywhere\GoEmp.txt" outputRowSetVariable="Fixeddata" skipInvalidRecords="false" skipFirstRow="false" recordDelimiter="CR" version="1.0" logLevel="debug">
<data trim="left" nullIndicator="${IsEmpty(' ')}">
<column index="1" name="EMP" size="6" type="CHAR" trim="both" alignment="left" />
<column index="2" name="EMPNAME" size="10" type="VARCHAR" trim="both" alignment="left" />
<column index="3" name="DEPT" size="3" type="CHAR" trim="both" alignment="left" />
<column index="4" name="DEPTNAME" size="8" type="VARCHAR" trim="both" alignment="left" />
<column index="5" name="MGRNO" size="6" type="CHAR" trim="both" alignment="left" />
</data>
</readFixedWidth>
<forEachLoop itemsVariable="${FixedData}" currentItemVariable="ThisRec" logLevel="debug">
<sql label="DB" resourceId="LocalDBConnect" autoCommit="true" driver="com.ibm.db2.jcc.DB2Driver" url="jdbc:db2://localhost:50000/sample" user="db2admin" password="db2admin" passwordIsEncrypted="false" version="1.0" logLevel="normal" onError="continue">
<query label="InsetINTOEMP" whenNoDataFound="error">
<statement>INSERT INTO MT2BATCH.EMP VALUES ('${ThisRec[1]}' , '${ThisRec[2]}')
</statement>
</query>
<query label="InsertINTODEPT" whenNoDataFound="error">
<statement>INSERT INTO MT2BATCH.DEPT1(DEPTNO,DEPTNAME,MGRNO) VALUES ('${ThisRec[3]}','${ThisRec[4]}','${ThisRec[5]}')
</statement>
</query>
</sql>
</forEachLoop>
</module>
<module name="ErrorModule" description="Error Module" logLevel="debug" onError="abort">
<sql label="ErrorInsert" resourceId="LocalDBConnect" autoCommit="true" driver="com.ibm.db2.jcc.DB2Driver" url="jdbc:db2://localhost:50000/sample" user="db2admin" password="db2admin" passwordIsEncrypted="false" version="1.0" logLevel="debug" onError="abort">
<query label="InsertError" whenNoDataFound="error">
<statement>INSERT INTO MT2BATCH.GAW_ERRORRECORD(ERRORRECORD) VALUES ('Error')
</statement>
</query>
</sql>
<raiseError label="ErrorTask" version="1.0">
<message>Error Occurred while inserting data ${system.job.error}</message>
</raiseError>
</module>
<description>Insert Into EMP table</description>
</project>