== Why is this an issue? Using an empty driver table in a ``++SELECT++``/``++FOR ALL ENTRIES++`` table has a very important side effect: the complete ``++WHERE++`` clause is not taken into account because a ``++NO WHERE++`` condition is generated. Thus a full table scan is unexpectedly executed. === Noncompliant code example [source,abap] ---- SELECT carrid , connid , seatsocc FROM flights INTO TABLE seatsocc_tab FOR ALL ENTRIES IN conn_tab " Noncompliant; conn_tab may be empty. WHERE carrid = conn_tab-carrid AND connid = conn_tab-connid. ---- === Compliant solution [source,abap] ---- IF conn_tab is not initial. " ... SELECT carrid , connid , seatsocc FROM flights INTO TABLE seatsocc_tab FOR ALL ENTRIES IN conn_tab WHERE carrid = conn_tab-carrid AND connid = conn_tab-connid. " ... ENDIF. ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Driver table "xxxxx" should be checked for emptiness before being used. endif::env-github,rspecator-view[]