Hi,
one option might be to make a ZCA02 report transaction which calls CA02. After return from CA02 you can do the actions you need in your own program.
Either you make a similiar selection screen for ZCA02 and transfer the input paramters ( CALL TRANSACTION'CA02'ANDSKIPFIRSTSCREEN).
Or you just call ca02 without own selection screen and fetch the values of CA02 entry data out of the Parameter ID's after returning from CA02 with GET PARAMETER ID 'MAT' ..., etc.
/Michael