zOs/REXX/EXQUEUE

/* rexx */
call pp
push p1
queue q2
push p3
queue q4
call pp
queue '-xis  group  '
queue '-dis  group '
queue 'end        '
queue 'und so weiter'
address tso 'dsn sys(dp4g)'
say 'dsn rc' rc
call pp
exit
pp:
do x=0 while queued() > 0
    parse pull p1
    say 'pulled' p1
    end
say pulled x
return