When an application program or user in a source server job first refers to a DDM file, several actions occur as part of processing the request on the source server.
All of these actions, as well as those required on the target server, must complete successfully before any operations (file or nonfile) requested by the source program can be done. When the DDM file is referred to:
The SDDM converts each program request for a file open or input/output operation (received by using the DDM file and ODP) into an equivalent DDM command request and then sends it to the target server.
The following figure shows the basic parts on the source iSeries™ server that are involved in accessing remote files.
After each request is handled by the target job, the DDM response from the target server is returned, converted by the SDDM into the appropriate form, and passed back to the user. The response might include data (if data was requested) or an indication of status (for other types of file access). The source program waits until the function completes and the results are received.
The following figure shows a simplified example of the interchange of data between the source and target servers for a typical request to access a remote file.
After the first DDM file that was opened in the job is closed, the DDM conversation that it used is normally kept active. This allows the same program or another program in the job to use the same conversation when opening another DDM file, or doing other DDM-related operations. (For example, in Figure 1, source job 3A has two DDM files using the same conversation.) This saves the time and resources required to establish a new conversation every time a new DDM file that uses the same remote location information is used in that job.
When a DDM file is closed, the DDM conversation remains active, but nothing happens in the conversation until the SDDM processes the next DDM-related request from a program. While it is not being used, however, the conversation can be dropped. This can occur if the DDMCNV job attribute's default value of *KEEP is changed to *DROP using the Change Job (CHGJOB) command, or if the Reclaim DDM Conversations (RCLDDMCNV) command or Reclaim Resources (RCLRSC) command is used while the job is active.