I have always seen the examples of mload where in layout all the fileds are declared as VARCHAR datatype even when in table DDL , datatype might be integer or something other.
Can someone help me in understading why we always declare all fields as VARCHAR in mload LAYOUT.
The LAYOUT describes the input, usually a flat file, not the table. If the input is generated by a program then it certainly can be other data types. MLOAD can translate input varchar's to numbers, dates, timestamps, etc. as needed.