I think there is a functional error: from my point of view and with these informations, POSNR and EBELP are not exactly the same things. So, for me you should use the correct domain in your internal table for POSNR field, and map it directly with VBKD as you said.
If you are sure that POSNR is equals to EBELP field instead, you can create a new internal table T1 using the same domain of POSNR for EBELP field, and copy gt_items into this table, using T1 for the selection.