String Parsing

Hi

Ich kenne mich in ABAP zu wenig aus, vorallem mit String Parsing usw.
Hat jemand eine Idee wie man Elegant diesen String Parsen kann damit man als Resultat folgendes hat:
–>SELECT * FROM ADR2 WHERE CLIENT = 800 AND ADDRNUMBER = 0000006662 AND PERSNUMBER = . für den ersten Satz, für den 2. satz sieht das Select anders aus!

---------------- Ausschnitt aus einem Log File---------------------
&R/3 &RC&ADR2
&82&120&SAPLSZA0 /0000
181871/3/ADR2 /1635778560/200
10123142656&89&SELECT * FROM „ADR2“ WHERE „CLIENT“ = :A0 AND "
ADDRNUMBER" = :A1 AND „PERSNUMBER“ = :A2
&3&CH&3&800&CH&10&000000
6662&CH&10& &
&R/3 &EX&0&+0&
(hier fängt ein neuer satzt an)
&R/3 &RC&ADR3
&84&120&SAPLSZA0 /0000
182051/3/ADR3 /1635778560/200
10123142656&89&SELECT * FROM „ADR3“ WHERE „CLIENT“ = :A0 AND "
ADDRNUMBER" = :A1 AND „PERSNUMBER“ = :A2&3&CH&3&800&CH&10&000000
6662&CH&10& &
&R/3 &EX&0&+0&
(hier fängt ein neuer satzt an)
&R/3 &RC&ADRC
&79&120&SAPLSZA0 /0000
180934/3/ADRC /1627389952/200
10123142656&66&SELECT * FROM „ADRC“ WHERE „CLIENT“ = :A0 AND "
ADDRNUMBER" = :A1&2&CH&3&800&CH&10&0000006662&
&R/3 &EX&0&+0&
(hier fängt ein neuer satzt an)

Das Muster ist so:
&SELECT… -> Statement bis :
Zwischen „…“ Felder
&3 -> 3 Werte
&CH&3&800 Character 3 stellig, wert 800
&CH&10&0000006662 Character 10 stellig, wert 0000006662
&CH&10& \ character 10 stellig wert …
&EX&0&+0& -> Ende

Danke für die Hilfe