EXECPROCEAGRTPRC Compiled REXX 3.0 25 Dec 1999 19:08:03 CMS REXXC370 4.00 27 Oct 1994 LVL PN83402 STEMPROS SREXX Z1  ٰ}^&uj&֏& j &Q0&S0i00&y}銏j 醠i h-0{\0 &&& q} -H & -} h }}Y4 8 hy } Y d\ "  }} %hqyy0 -{{&}؆N0{\0Q֠N0A\00{4\0N4h0{\00{\00{4\0 i dǠN0{\0 h0{\00{\00{4\0QOy0A\0&0N P0A\0&0NNN 0A\0\j إ*0{\0o }&&}N jؗإb0{\0Oy0A\0PO0A\0{Q*&N&Qh&N) with the data of that cell. (This is now the FN of a file that contains this info, w/ ft=RESPON) EXAMPLE: CELLDATA = 'Name;15-Date;8-Notes;100' HTMLDATA = 'Name $(NAME)
' , 'Date $(DATE)
' , 'Notes $(NOTES)
' 'CALLPIPE sql SELECT * FROM MYDB | ', 'stempros 'CELLDATA'%&%'HTMLDATA' |:*' */parse arg CELL PAD /* Multistage to seperate cellpad from htmldata, then parse cellpad * into the tmp stem for later translation */'CALLPIPE (name stempros01 endchar ?)' , 'var CELLPAD | split string /%&%/ | a: drop 1' , '| var FNHTMLDATA', '?', 'a: | tokenize /-/ | nlocate /-/ | stem tmp.'/* Would you like some... D E A T H with your MULTISTREAM PIPELINE!? AHAHAHAHAHAHAHAHAHAHAH */ "CALLPIPE (name stempros02) <" fnhtmldata "RESPON |" , "join * | var htmldata" /* Parse the celldata into nme and len */len.0 = tmp.0 /* each stem item describes a field */do z = 1 to tmp.0 /* See, isn't parse var cool? Everyone say 'Thank You Mr. Faust!' */ /* THAAANNNKKK YOUU MISTTEERRR FAUUUSSSTT! */ parse var tmp.z nme.z ';' len.z ynme.z = '$('||nme.z||')' xnme.z = 'X' || c2x(ynme.z)end /* tmp.0 */ /* Calc the actual offsets */off.1 = 1do i = 2 to len.0 x = i-1 off.i = off.x+len.xend /* do while */ /* Get our data from the SQL CGI call */do Forever 'READTO RAWDATA' if (rc ^= 0) then leave do i = 1 to len.0 parsed.i = strip(substr(rawdata, off.i, len.i)) xparsed.i = 'X' || c2x(parsed.i) end /* do len */ parsed.0 = len.0/* LOCHTMLDATA = HTMLDATA do i = 1 to len.0 'CALLPIPE (name stempros02)' , 'var LOCHTMLDATA |' , 'change 'xnme.i xparsed.i '|' , 'var LOCHTMLDATA' If rc <> 0 Then do Say 'rc=' rc 'i=' i say 'nme' nme.i 'parsed('parsed.i')' end /* rc */ end /* Changeloop */*/ LOCHTMLDATA = HTMLDATA do i = 1 to len.0 p = pos(ynme.i,lochtmldata) do while p > 0 Parse var lochtmldata first (ynme.i) second lochtmldata = first || parsed.i || second If second = '' Then do Say 'Empty' i nme.i tmp.i lochtmldata = first end p = pos(ynme.i,lochtmldata) end /* while */ end /* Changeloop */ 'OUTPUT' lochtmldata end /* do forever */ exitq% @   HQY88    *  d m y D 0    & -   صY    { } U8 8 8 } h * *h}  d} q% & {% M&q %q } Y D }YYY