NETVIEW: |--NETVIEW--+--------------------------------------+------------> '-(-+----------+-+---------+-+-----+-)-' '-+-CGI--+-' '-NOPANEL-' '-MOE-' '-ECHO-' >--+----------+--+-----+----------------------------------------| '- cmdtext-' '-TAG-'
The NETVIEW stage specifies to run a NetView®, MVS™, or VTAM® command. The resulting messages are placed in the pipeline. The NETVIEW stage can be placed anywhere in the pipeline specification.
When NETVIEW is not a first stage, NETVIEW invokes a command once for each message on the input stream. Each time NETVIEW receives a message on its input stream, that message becomes the current message. The current message is the message to which NetView's message information functions refer. Thus, GETMLINE, MSGORIGIN(), DSIGETDS, or other message-dependent commands and functions issued by the command invoked by the NETVIEW stage access the message that caused the command to be invoked, exactly as they are if an automation table action or a MSGREAD operation had produced the current message. Also, NetView commands such as MSGROUTE that operate on messages have access to this current message.
Unlike many other stages, the NETVIEW stage does not require an output stream. This means that NETVIEW can be a last stage. Also, if a stage following NETVIEW were to be disconnected, NETVIEW continues to process as long as it had an input stream.
The NETVIEW stage terminates when it finishes processing its output or when the input stream disconnects.
If NETVIEW is the first stage, cmdtext is required.
If NETVIEW is not the first stage, cmdtext is optional. The command is run once for each message delivered by the previous stage. Every time the command runs, the input message becomes the current message during the processing.
If cmdtext is specified, the first blank-delimited token is considered to be the command name. Any additional tokens are passed with the command and become arguments to it.
If cmdtext is not specified, the NETVIEW stage extracts the first line of a message as the command and additional lines, if any, as data to be processed by that command. Any additional messages in the input stream are treated the same way.
In all cases, the original message becomes the current message while the command runs and is then discarded.
If the command name is not a valid NetView command or if no command is found, a return code of 4 is generated and message DSI002I is inserted into the output stream.
NOPANEL has restrictions when used with the ATTACH command. See the IBM Tivoli NetView for z/OS Command Reference Volume 1 (A-N) or the NetView online help for information about ATTACH.
For example, the MSG command causes two messages, one output and one result. The DSI039I MSG FROM ... is a result. It is not trapped in the pipeline, even if sent to the same operator where the MSG command was issued. The DSI001I MESSAGE SENT TO... message is output and is trapped by the CORR=CMD parameter to the DSIMQS invocation pipeline for further processing by subsequent stages.
For more information about EMCS consoles, see the MVSPARM statement in the IBM Tivoli NetView for z/OS Administration Reference.
When using MVS to address commands to another subsystem (such as JES2), correlation depends upon that subsystem's proper use of the MVS CART message correlators and upon that subsystem's proper routing of response messages. If messages from another subsystem do not appear to be properly processed by your pipelines, contact the support representative for the subsystem being addressed to see if CART support is available on the version of the subsystem you are using.
If your command solicits data from a DST or other NetView task by sending a command to that task by the DSIMQS macro, you can add an option. This option causes a correlator to be attached to the command that is sent. When the command runs, it can return correlated messages to the originating task by issuing DSIPSS TYPE=OUTPUT.
You can use the long running command support provided by the NetView program to change asynchronous messages into synchronous ones. Use DSIPUSH to make your command an LRC. However your data is returned to the originating task, it must be made available to your resume routine. Usually, this is done by causing a command to run at the originating task which can use DSIFIND to access rstorage that is accessible to the resume routine. The resume routine then issues DSIPSS TYPE=OUTPUT and the resulting messages are considered synchronous.
The following return codes are valid only when the MOE operand is used.
Other return codes indicate either a storage failure or the return code from the command. If there is a DSI124I message at the system console for this same time frame, you can assume the storage failure caused the non-zero return code (the code depends on the processing stage where the storage failure occurred). Otherwise, the return code was returned by the command.