Figure 116 is a modification of the FILEA operator instruction sample program, and uses the same mapset named DFH$AGA.
This application is only intended to demonstrate how to code the keywords associated with the MAPPINGDEV facility, and as a means of testing this function. It is not offered as a recommended design for applications that make use of the MAPPINGDEV facility.
DFH$AMNX CSECT
*
DFHREGS
DFHEISTG DSECT
OUTAREA DS 0CL512
DS CL8
OUTLEN DS H
DS H
OUTDATA DS CL500
INLEN DS H
INAREA DS CL256
PROOF DS CL60
COPY DFH$AGA
COPY DFHBMSCA
DFH$AMNU CSECT
EXEC CICS HANDLE AID PF3(PF3_ROUTINE)
*
XC DFH$AGAS(DFH$AGAL),DFH$AGAS
MVC MSGO(L'APPLMSG),APPLMSG
EXEC CICS SEND MAP('DFH$$AGA') FROM(DFH$AGAO) ERASE
MAPPINGDEV(EIBTRMID) SET(R6)
MVC OUTAREA(256),0(R6)
MVC OUTAREA+256(256),256(R6)
EXEC CICS SEND TEXT MAPPED FROM(OUTDATA) LENGTH(OUTLEN)
*
EXEC CICS RECEIVE INTO(INAREA) LENGTH(INLEN)
MAXLENGTH(MAXLEN)
*
EXEC CICS RECEIVE MAP('DFH$AGA') SET(R7) LENGTH(INLEN)
MAPPINGDEV(EIBTRMID) FROM(INAREA)
CURSOR(820) AID(=C'3')
*
XC PROOF,PROOF
MVC PROOF(25),=C'You just keyed in number '
MVC PROOF+25(6),KEYI-DFH$$AGAI(R7)
FINISH DS 0H
EXEC CICS SEND TEXT FROM(PROOF) LENGTH(60) ERASE FREEKB
TM MSGF-DFH$AGAI(R7),X'02'
BNO RETURN
XC PROOF,PROOF
MVC PROOF(33),=C'Input cursor located in MSG field'
EXEC CICS SEND TEXT FROM(PROOF) LENGTH(60) ERASE FREEKB
*
* THE RETURN COMMAND ENDS THE PROGRAM.
*
RETURN DS 0H
EXEC CICS RETURN
*
PF3_ROUTINE DS 0H
XC PROOF,PROOF
MVC PROOF(30),=C'RECEIVE MAP specified AID(PF3)'
B FINISH
MAXLEN DC H'256'
APPLMSG DC C'This is a MAPPINGDEV application'
END