MAP设计

本文介绍了CICS系统中MAP界面设计的基本概念,包括物理MAP和符号MAP,以及MAPSET和BMS的作用。通过一个具体的MAP示例,解析了汇编宏指令的含义,并提到了SDFII工具在MAP设计中的应用。

随着项目的推进,我们开始着手设计我们系统的MAP界面了。经过两天的学习,大致了解了MAP的基本概念和设计的基本原理,现将所学的内容记录下来以供日后查阅。

 

一、MAP的基本概念

      MAP是形成基于CICS程序的界面的一个实体,主要由BMS(Basic Mapping Support)提供支持。MAP存放于MAPSET中,一个MAPSET中可以存放一到多个MAP。通常情况下,一个MAPSET中仅存放一个MAP。因此,有时也可以使用MAP指代其所在的MAPSET。

      同时,MAP实际上分为两种类型的。其中一种类型为物理MAP,另外一种类型为符号MAP。物理MAP主要用于在屏幕上显示界面信息。其中BMS使用物理MAP既进行输入操作,也进行输出操作。

      我们可以通过一个例子来了解一下MAP的模样,假设一个MAP的名称为“TESTMA”,所存放的MAPSET的名称为“MAPSETA”。则该MAP所对应的源代码为:

      MAPSETA         DFHMSD      TYPE=&SYSPARM,MODE=INOUT,TERM=ALL,

                                                LANG=COBOL,TIOAPFX=YES,CTRL=(FREEKB)

      TESTMA           DFHMDI       SIZE=(24,80),LINE=1,COLUMN=1

                             DFHMDF      POS=(1,1), LENGTH=4, INITIAL='TSMP', ATTRB=ASKIP

                             DFHMDF      POS=(2,30),LENGTH=12,INITIAL='TEST SYSTEM', ATTRB=ASKIP

                             DFHMDF      POS=(4,2) , LENGTH=12,INITIAL='TEST CODE:', ATTRB=ASKIP

      CODE              DFHMDF      POS=(4,15),LENGTH=10,ATTRB=(UNPORT,NUM,IC)

                             DFHMDF      POS=(4,26),LENGTH=1,ATTRB=PROT

                             DFHMDF      POS=(5,2) , LENGTH=10, INITIAL='TEST NAME:', ATTRB=ASKIP

      NAME              DFHMDF      POS=(5,13), LENGTH=20,ATTRB=UNPORT

                             DFHMDF      POS=(5,34),LENGTH=1,ATTRB=PORT

      MSG                DFHMDF      POS=(24,1),LENGTH=75,ATTRB=ASKIP

                             DFHMSD     TYPE=FINAL

                             END

 

上面这段代码实际上是一段汇编宏代码。通过查阅相关MAP资料,下面总结一下汇编宏指令的含义。

1、DFHMSD:指定MAPSET。

2、DFHMDI:指定MAP。

3、DFHMDF:指定物理MAP中的常量和变量。其中每行前面有标号的对应MAP中的变量,没有标号的对应MAP中的常量。常量仅用于输出,其属性和内容不可改变。变量既可以用于输出,也可以用于输入,其属性和内容可以改变。

4、DFHMSD:表明该MAP定义结束。

 

     此外,符号MAP为一组COBOL数据,用于在COBOL程序中进行处理。例如,对于以上定义的MAP,可在COBOL程序中使用"COPY MAPSETA"将符号MAP拷贝进来。该命令被编译后,将得到如下符号MAP。

 

COPY  MAPSETA.

01   TESTMAI.

       02   FILLER               PIC                 X(12).

       02   CODEL               COMP       PIC       S9(4).

       02   CODEF               PICTURE        X.

       02   FILLER               REDEFINES    CODEF.

           03     CODEA     PICTURE      X.

       02   CODEI               PIC                 X(10).

       02   NAMEL               COMP       PIC         S9(4).

       02   NAMEF               PICTURE   X.

       02   FILLER               REDEFINES     NAMEF.

           03     NAMEA      PICTURE     X.

       02   NAMEI               PIC           X(20).

       02   MSGL                COMP        PIC    S9(4).

       02   MSGF              PICTURE     X.

       02   FILLER               REDEFINES     MSGF.

           03     MSGA        PICTURE     X.

       02   MSGI               PIC             X(75).

01   TESTMAO     REDEFINES     TESTMAI.

       02   FILLER                 PIC                   X(12).

       02   FILLER                 PICTURE           X(3).

       02   CODEO                PIC                   X(10).

       02   FILLER                 PICTURE           X(3).

       02   NAMEO                PIC                   X(20).

       02   FILLER                 PICTURE           X(3).

       02   MSGO                  PIC                   X(75).

 

关于符号MAP中各变量的后缀,简要说明如下。

1、后缀“L”:半字边界区域,用于保存输入数据的长度。

2、后缀“F”:当遇到EOF(Erase to end of Field key)情况时,该区域内容为十六进制数“80”。此时后缀为"L"的区域内容将为0。

3、后缀“I”:保存实际输入的数据。

4、后缀“A”:包含数据的属性,可以对其进行更改;其中常用的属性有:DFHBMUNP(可输入)、DFHBMPRO(不可输入)、DFHBMBRY(高亮显示)、DFHBMDAR(不显示).

5、后缀"O":保存实际要输出的数据.

 

二.MAP设计的工具

    当前MAP主要是通过SDFII(Screen Define Facility II)工具所创建的.SDFII工具是z/OS上的一个可选产品.该产品自动生成MAP的源代码,实现对于MAP所编即所见的功能.当然,在没有提供SDFII工具的情况下,也可以手工编写源代码生成MAP.我们系统的MAP编写主要使用后者进行开发.

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值