The CAPTURE command captures a representation of the current aXes Terminal Server screen and returns it in the list provided.
CAPTURE --------- RTNSIG ---------- field-name ----------------->
>-- RTNSCREEN ------- field-name -----------------|
You must provide a list definition containing at least one alphanumeric field in which the captured screen lines are returned. The service command will fill the list with an entry for each screen line captured. The captured screen text will be placed in the first field in the list, which is the only field used.
The name of a field exchanged between your client program and the JSM that will receive the screen signature of the screen that is present.
The name of a field exchanged between your client program and the JSM that will receive the name of the screen that is present. The screen name is the user-defined name if an aXes project name was specified on the CONNECT command and a name was assigned to the screen. Otherwise the screen signature is returned.
DEFINE FIELD(#MYSCREEN) REFFLD(#STD_TEXT)
DEFINE FIELD(#SCRNLINE) TYPE(*CHAR) LENGTH(80)
DEF_LIST NAME(#CAPTURE) FIELDS(#SCRNLINE) TYPE(*WORKING)
CHANGE FIELD(#JSMCMD) TO('CAPTURE RTNSCREEN(MYSCREEN) SERVICE_EXCHANGE(*FIELD)'
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #CAPTURE)
define field(#myscreen) reffld(#std_text)
define field(#scrnline) type(*char) length(80)
def_list name(#capture) fields(#scrnline) type(*working)
#jsmcommand := 'CAPTURE RTNSCREEN(MYSCREEN) SERVICE_EXCHANGE(*FIELD)'
use builtin(jsmx_command) with_args(#jsmhandle #jsmcommand) to_get(#jsmstatus #jsmmessage #capture)