I have a very simple exec that has a pipe that, reduced to its simplest form, looks like this:
/* TEST EXEC */ ipaserver = 'IPSERV' say 'IPSERV returned' getip() exit getip: 'CP SET MSG IUCV' arg ipaddr . 'PIPE (end \ name GetIPA)', '\ starmsg *msgall cp smsg' ipaserver 'GETIP' ipaddr, '| pick substr w1 of 9-* == /'ipaserver'/', '| take 1', '| spec 17-* 1', '| b: beat 15 /-99 Timeout waiting for the IP Address server./', '| fi: faninany', '| take 1', '| var ipresp', '| pipestop', '\ b:', '| copy', '| fi:' parse var ipresp iprc ipresp if iprc ¬= 0 then call exit iprc, ipresp return ipresp exit: parse arg myrc, msg if msg ¬= '' then say msg exit myrc If this EXEC is executed from the command line, the IP Address is returned as expected. It is also returned if called by another simple exec. If another exec is inserted into the mix, there is always an error that consists of the message from IPSERV being displayed on the console and, some seconds later, a timeout message from the above EXEC. The two other EXECs do nothing other than call the next in line. Thus, TEST1 consists of a 'EXEC TEST' command'; TEST2 consists of a 'EXEC TEST1' command. The 3 cases are: 1. TEST command entered from the command line. (works - message trapped by the pipe) 2. TEST1 entered from the command line. (works) 3. TEST2 entered from the command line. (message is not trapped and a timeout occurs approximately 15 seconds after the message is displayed) Is this normal? Or even explainable? pipe q FPLINX086I CMS/TSO Pipelines, 5741-A05/5655-A17 1.0110 (Version.Release/Mod) - Generated 11 Oct 2005 at 12:04:21 q cmslevel CMS Level 22, Service Level 701 Regards, Richard Schuh