Hi,
begdt is a date field could not understand the need for the below check
IF gt_itab-begdt+6(2) le '05' .
Are you trying to only check the dates less than or equal to '05'?
Also better is to see the loop iteration in debug..chances are this IF clause is the issue.
Cheers,
Arindam