Es fürhren viele Wege nach Rom und obwohl normalerweise ich derjenige bin, der sich für die SQL-Version entscheidet, würde ich an dieser Stelle bei RPG bleiben.

Man kann auch ohne große Konvertierungen (%EditC oder SQL-Funktion) das Ergebnis mit einer entsprechenden Datenstruktur erreichen.

Code:
D IPAlt           S             15A   inz('71.6.129.42')               
                                                                       
D DSIPNeu         DS                                                   
D     Arr                             Overlay(DSIpNeu)    Dim(4)       
D       ArrNum                   3S 0 Overlay(Arr)        inz(*Zeros)  
D       ArrChar                  3A   Overlay(Arr)                     
D       ArrPkt                   1A   Overlay(Arr: *Next) inz('.')     
D   IPNeu                       15A   Overlay(DSIPNeu)                 
                                                                       
D Index           S              3U 0                                  
D NxtPkt          S              3U 0                                  
D PrvPkt          S              3U 0                         
 ***********************************************************************
 /Free                                                                 
       For Index = 1 to %Elem(ArrPkt);                                 
           PrvPkt = NxtPkt;                                            
           NxtPkt = %Scan('.': IPAlt: PrvPkt+1);                       
           If NxtPkt > *Zeros;                                         
              ArrNum(Index) = %Int(%Subst(IPAlt: PrvPkt + 1:           
                                          NxtPkt - PrvPkt - 1));       
           Else;                                                       
              ArrNum(Index) = %Int(%Subst(IPAlt: PrvPkt + 1));         
           EndIf;                                                      
       EndFor;                                                         
                                                                       
       Dsply ('Alt: ' + IPAlt + ' Neu: ' + IpNeu);                     
                                                                       
       *INLR = *ON;                                                            
 /End-Free
Wie man's macht ist und bleibt Geschmacksache.

Birgitta