Hi Ross,
the problem is that you have written the column names test.a and test.b in lower case, but in the CDS definition they are upper case.
Try to write your select like following:
select "ID", "TEST.A", "TEST.B" into lv_id, lv_a, lv_b from :intab;
Best Regards,
Florian