vname[count] = $1;
printf " /* %s */\n", $0;
if ($2 ~ /INTEGER/ || $2 ~ /SMALLINT/ || $2 ~ /INTEGER1/) {
- printf " int\tt_%s;\n", vname[count];
+ printf " char\tt_%s[39];\n", vname[count];
vtype[count]="int";
} else if ($2 ~ /CHAR\([0-9]*\)/) {
t = split($2, temp, "(");
for (i = 0; i < count; i++) {
if (i != 0) print " parse_sep(f);";
if (vtype[i] ~ /int/) {
- printf(" t_%s = parse_int(f);\n", vname[i]);
+ printf(" parse_str(f, t_%s, 39);\n", vname[i]);
} else if (vtype[i] ~ /date/) {
printf " parse_str(f, t_%s, 26);\n", vname[i];
} else {
if (vtype[i] ~ /date/) {
printf " TO_DATE(NVL(:t_%s,TO_CHAR(SYSDATE, 'DD_mon-YYYY HH24:MI:SS')), 'DD-mon-YYYY HH24:MI:SS')", vname[i];
} else if(vtype[i] ~ /int/) {
- printf " :t_%s", vname[i];
+ printf " TO_NUMBER(:t_%s)", vname[i];
} else {
printf " NVL(:t_%s,CHR(0))", vname[i];
}