Very simplified sample:
...
filename list pipe "ls -1 /stagingDelta/ftrans/LOGDB2*";
...
infile indata truncover;
input iteminlist $100.;
item=iteminlist;
infile dummy filevar=item end=done dlm='|' dsd lrecl=10000;
do while(^done);
input col1-col&colnumber $;
...
&colnumber is built based on the information on the structure file mentioned before!
I just want to know if it is possible to catch the "error" LOST CARD while processing, not loosing the CARD, but putting it to some kind of quarenteen and continue processing. I do not want no MISSOVER or TRUNCOVER, neither i want to stop all the process just because of one row (STOPOVER).
If there are less columns than it's supposed in that row, if instead of having &colnumber columns i have only &colnumber-1, i want to be able to catch it.
I am not able to know the lrecl of the row as each row as a different length, even if it is about the same table, which isn't a problem since my log file comes delimited by "|"
As i explained before, i have a log file (.txt) with all the inserts, deletes and updates that took place in DB2, in the same machine where my sas program is running. Along with that log file comes a structure file containing the definition of each table that comes in the log file (number of variables, each variable length, type, integrity constraints, keys, etc).
If that structure file tells me that i have to read 10 variables in each row of the log file for that table then i really need to do so, or else one of the two files is damaged and some manual work has to be done.
The problem is i can't seem to catch an error when SAS reads less information than it is supposed to. If i tell the script to read 10 variables but there are only 9 in that row the only way i can identify that is by setting the STOPOVER option in the filename statement, which imediatly stops the process. I want to avoid stopping the process, else, put that/those row/s to some kind of quarenteen file and process the remainig log.