Dieses und ähnliche Probleme habe ich mit ILE/C gelöst:
1. ein ILE/C-Modul erstellen
2. daraus ein Serviceprogramm machen
3. Prototyp-Datei erstellen
4. in RPG oder sonst wo anwenden
Fertig.
Diese Objekte stelle ich dir gerne zur Verfügung. Bitte Mail an: thomas.wachler-thomsen@experian.de
Gruß
Thomas

Hier die Quellenbeispiele:
/*------------------------------------------------------------------------------
Zeichenkette von rechts beginnend absuchen
Als Ergebnis wird die Position zurückgegeben
----------------------------------------------------------------------------*/
unsigned int SCANR(char search[ ], char source[ ], unsigned int slen)
{
unsigned int i;

for (i=slen-1; i>0; i--)
{
if (source[i] == search[0]) return i+1;
}
return 0;
}


* Zeichenkette von rechts beginnend absuchen
* Als Ergebnis wird die Position zurückgegeben
DScanR Pr 10U 0
D search * Value Options(*String) char *
D source * Value Options(*String) char *
D lensrc 10U 0 Value
D r S 10U 0
D search S 1A
D string S 50A
** looking for End-Of-Record-Character
C Eval search= ';'
C Eval string= 'text1;text2;text3'
C Eval r= ScanR(search: string: %len(string))
C Dsply r
C Return