Procedure DAC Follows When Interacting With Informatica
The procedure DAC follows when interacting with Informatica is as follows.- At the beginning of the ETL process, DAC executes the pmrep command "connect" (CONNECT_REP_SERVER section) and the pmcmd command "pingserver" (PING_SERVER section) to the Repository Service entry and also to all the Informatica Integration Services.
Any non-zero return codes indicate an error occurred when connecting to the Informatica Integration Services, resulting in failure of the ETL process. The outputs are captured in pmrepCommand.log and ping.log in the appropriate log directory for the run.
- The following steps are followed when a workflow is executed:
- The list of sessions associated with the workflow are identified. This is done by invoking the pmrep "listobjectdependencies" command (GET_SESSIONS section in the infa_command.xml). The output of the command is parsed to get the list of sessions. This list is then used for composing a parameter file where the parameter name-value pairs are repeated for each session under the workflow. The output is captured in <WF_NAME>_SESSIONS.log.
- The workflow execution is triggered in a polling mode for ENU environments, and with -WAIT mode for the non-ENU environments, using the pmcmd "startworkflow" command (START_WORKFLOW section).
For ENU environments, the exit code for the pmcmd command to start the workflow indicates whether the request to start the workflow succeeded. The output of this command is captured in <WFNAME>.log. Once the workflow starts to execute, DAC tries to poll the status of the workflow every 30 seconds using pmcmd "getworkflowdetails" command (GET_WORKFLOW_DETAILS section). As long as the status is "Running," DAC waits. If the workflow return code is 0 and the status is "Succeeded," then the workflow is considered to have completed without errors. DAC looks for both workflow return code and also the status to make a decision. The output of the command is also written to WF_NAME.log file.
For non-ENU environments, the exit code of the pmcmd command to start the workflow indicates whether the workflow completed successfully. Also, some of the strings that DAC looks for in the output files are localized. In such cases, you need to find the equivalent strings from the respective outputs and populate them in the infa_commands.xml file under "Informatica Internationalization" section. This step is essential for DAC to interpret the output provided by the pmcmd and pmrep utilities. For example, DAC interprets a workflow to be successful if the workflow status is listed by the pmcmd command "getworkflowdetails," with the tag "Workflow Run Status," and a value of "Succeeded." These strings in a non-ENU environment could appear in localized strings. For DAC to be able to understand and interpret this, you need to fill in the equivalent localized strings in the body. - For each of the sessions under the workflow, DAC also tries to get the session statistics by executing the pmcmd "getSessionStatistics" command (GET_SESSION_STATISTICS section). The output of the command is written to the file <SESSION_NAME>_DETAIL.log.
Thank you so much for throwing light and covering various aspects about Informatica and other tools and procedures where many things get reduced and solved.
ReplyDeleteInformatica Read JSON