Sample assembler MAPPINGDEV application

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.

Figure 116. ASM example of a MAPPINGDEV application
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
[[ Contents Previous Page | Next Page Index ]]