It looke like you have a constraint in the the detail record may have only 1 line (so this is the maximum value for the number of lines in a record unless you use multi-line records).
On the other hand the required output has one field a long way to the right of the date and anothe, when it occurs, some way to the left. They do not seem to overlap.
So, If you have a one line detail record that picks up the ATM service charge from over on the right of the line you could also paint a field shere the 'Sur Charge' would appear on the same line. (Don't worry that the Sur Charge is presented on a different line.)
Once you have peimnted the field go into the Advanced Properties and set the 'Start Field On' to be 'Preceding String' with a value of "SUR CHARGE".
The template should now pick all those records that have a surcharge.
I'm not sure how you are selecting the ATM Service Charge records since they too do not always occur.
If you select a detail line based on the existence of a date and then apply the 'Preceding string' idea for both the 'Sur Charge' and the "ATM SERVICE CHARGE" you should get every occurence of either or both fields in a single record.
Warning - I have not tested this using your example data but it should work! Please let me know if it fails.