Q: I would like to write a program that a person on SYSTEMA can call to send a source member to SYSTEMB. When SYSTEMB receives the member, I want a program to automatically receive and compile the member, then send the compiled object back to the original sender on SYSTEMA.
A: Assuming you have a SNADS connection between the two systems, perform the following steps:
1. Create a user profile on the remote system (SYSTEMB).
2. Add the profile to the system directory on both systems.
3. Create a program on SYSTEMA that performs two tasks: sends the source member through the Send Network File (SNDNETF) command to SYSTEMB; and sends a network message to the user profile you created on SYSTEMB with the Send Network Message (SNDNETMSG) command. (You could even send the library, source file and member in the message text and retrieve that information to perform your compile.)
4. Set up a never-ending CL program on the SYSTEMB that executes a Receive Message (RCVMSG) command against the message queue of the user profile you created in step 1. Use the WAIT parameter value of *MAX to cause the RCVMSG command to wait continually. If a message is received, receive the network file (RCVNETF) and perform a compile. If the compile is successful, send the object back to SYSTEMA. (To send the object, you have to save it in a save file with the Save Object [SAVOBJ] command and then send the save file to SYSTEMA with the SNDNETF command.)
5. On SYSTEMA, receive the save file sent by SYSTEMB with the RCV-NETF command and then restore the object with the Restore Object (RSTOBJ) command. You could create a never-ending CL program to automatically perform this step, using the RCVMSG WAIT(*MAX) technique explained in step 4.