Programując dla HRu możemy stanąć przed problemem – jak wyciągnąć dane ze struktur powtarzalnych? Chodzi tu oczywiście o takie infotypy jak np: 0005 (należny urlop), 0008 (wynagrodzenie podstawowe), 0025 (oceny), czy 0027 (rozdział kosztów).
 

Załóżmy, że interesuje nas infotyp 0008 (wynagrodzenie podstawowe) Chcemy z niego wyciągnąć informację o jed-nym ze składników wynagrodzenia (o nadanej przez nas nazwie ‘0001’). Wiemy, że nazwy składników kryją się w polach od PA0008- LGA01 do  PA0008-LGA12, natomiast kwoty od PA0008-BET01 do PA0008-BET02. Jak zatem wyszukać odpowiednie dane?

Tworzymy strukturę z dwoma polami o typach identycznych z odpowiednimi polami w tabeli PA:

data: begin of wagetypes,
lga like p0008-lga01,
bet like p0008-bet01,
end of wagetypes.

Następnie tyle wykonujemy w pętli operację (tyle razy, ile rożnych składników może znaleźć się w jednym rekordzie tabeli):

rp_provide_from_last p0008 space pn-begda pn-endda.
do 20 times varying wagetypes
from p0008-lga01 next p0008-lga02.
if wagetypes-lga eq '0001′.
Write: / wagetypes-bet.
endif.
enddo.

Musimy pamiętać, że program należy połączyć z logiczną bazą danych PNP.