/* REXX SHIP ...a dataset to another user */ arg argline /* pro-forma quick-start */ address TSO arg parms "((" opts opts = Strip(opts,"T",")") parse var opts "TRACE" tv . parse value tv "N" with tv . rc = Trace("O"); rc = Trace(tv) if parms = "" then call HELP /* -*/ parse var parms target dsname mbrlist if target = "?" then call HELP /* -*/ if mbrlist ^= "" then, tail = "Memb("Space(mbrlist,1)")" else tail = "" localnode = MVSVAR("SYSNAME") if Pos(".",target) = 0 then target = localnode"."target address TSO "TRANSMIT" target "DS("dsname")" tail "nol non nop noe" exit /*@ SHIP */ /* . ----------------------------------------------------------------- */ HELP: /*@ */ address TSO;"CLEAR" say parse source sys_id how_invokt exec_name . ex_nam = Left(exec_name,8) /* predictable size */ say " SHIP ...data to another location " say " " say " Syntax: SHIP (Required) " say " (Required) " say " " say " " say " BOTH target and dsname are required. 'mbrlist' is " say " optional. " say " " say " If is of the form: node.userid, that target will" say " be used unchanged; otherwise, the local node will be " say " prefixed to the caller's userid. " "NEWSTACK"; pull ; "CLEAR" ; "DELSTACK" say " Debugging tools provided include: " say " " say " TRACE tv: will use value following TRACE to place the " say " execution in REXX TRACE Mode. " say " " say " Debugging tools can be accessed in the following manner: " say " " say " TSO "ex_nam" parameters (( debug-options " say " " say " For example: " say " " say " TSO "ex_nam" (( TRACE ?R " exit /*@ HELP */