First, you should get away from using SQLCOD (SQLCODEs) and use SQLSTATE instead. SQLSTATE is more standard and is better supported now and into the future.
A quick explanation of a SQLCOD can be found by displaying the associated message identifier. For SQLCOD = -206, the message ID is SQL0206. SQL message IDs should be found in message file QSYS/QSQLMSG. Therefore:<pre>
DSPMSGD SQL0206 MSGF( QSQLMSG )</pre>
The basic text then is “Column &1 not in specified tables.”
Without seeing the value you have in SQLSTMT2, along with the column list for whatever table(s) or view(s) is referenced in SQLSTMT2, there’s not much we can add.
I’d suggest that this:<pre>
EVAL SQLSTMT2 = SELECT_H_2 + WHERE_H_2;
…seems a little odd, though.