:SET &SQL_RESULT# = PREP_PROCESS_REPORT(,,,"BU*")
:PROCESS &SQL_RESULT#
:ENDPROCESS
:SET &ACT_JOB#=ACTIVATE_UC_OBJECT('JOBS.UNIX.STAHFM.MOVE.SQL.FILE',,,,,PASS_VALUES)
Your activation of the object is outside of the process loop. The loop runs through without doing anything and then you activate the object.
If you only expect one line of content you can do the activation outside of the loop after using GET_PROCESS_LINE to receive the pointers content:
:SET &SQL_RESULT# = PREP_PROCESS_REPORT(,,,"BU*")
:PROCESS &SQL_RESULT
:SET &CONTENT# = GET_PROCESS_LINE(&SQL_RESULT#)
:ENDPROCESS
:SET &ACT_JOB#=ACTIVATE_UC_OBJECT('JOBS.UNIX.STAHFM.MOVE.SQL.FILE',,,,,PASS_VALUES)
=> to make the PASS_VALUES work you must register the variable that must be available in the activated object as an "object variable". You should also be able to use :PUBLISH (just lookup the documentation).
Regards
Joel