Designing MFS Screens

IBM's hierarchical database management system with a Database Manager (IMS DB) and a Transaction Manager(IMS DC)

Designing MFS Screens

Postby Quasar » Sun Feb 27, 2011 5:31 pm

Hello -

I am trying to build an MFS Screen, by creating the DIF, DOF, MID and MOD Format Sets. I wrote the following code, to create a sample screen. Apologize for the long post.

*********************************************************************** 00010000
*****                                                             ***** 00020000
*****                  MFS SOURCE FOR                  (GRAP734B) ***** 00030000
*********************************************************************** 00040000
*****                                                             ***** 00050000
*****                  DIF/DOF - GRP734                           ***** 00060000
*****                      MID - GRP734MI                         ***** 00070000
*****                      MOD - GRP734MO                         ***** 00080000
*********************************************************************** 00090000
         PRINT NOGEN                                                    00100000
GRP734   FMT                                                            00110000
         DEV   TYPE=(3270,2),                                          X00120000
               FEAT=IGNORE,                                            X00130000
               SYSMSG=ERRMSG,                                          X00140000
               DSCA=X'00A0'                                             00150000
         DIV   TYPE=INOUT                                               00160000
         DPAGE CURSOR=((3,12)),                                        X00170000
               FILL=PT                                                  00180000
         DFLD  'DISPLAY INVOICE SUMMARY',                              X00190000
               POS=(1,2),                                              X00200000
               ATTR=(HI,PROT)                                           00210000
         DFLD  'DATE:',                                                X00220000
               POS=(1,65),                                             X00230000
               ATTR=(HI,PROT)                                           00240000
CURRDATE DFLD  POS=(1,72),                                             X00250000
               LTH=8,                                                  X00260000
               ATTR=(HI,PROT)                                           00270000
         DFLD  'INVOICE',                                              X00271000
               POS=(3,2),                                              X00272000
               ATTR=(HI,PROT)                                           00273000
INVNO    DFLD  POS=(3,12),                                             X00274000
               LTH=6,                                                  X00275000
               ATTR=(NUM)                                               00276000
         DFLD  'DATE:',                                                X00277000
               POS=(3,21),                                             X00278000
               ATTR=(HI,PROT)                                           00279000
INVDATE  DFLD  POS=(3,28),                                             X00279100
               LTH=8,                                                  X00279200
               ATTR=(PROT)                                              00279300
         DFLD  'SUBTOTAL:',                                            X00279700
               POS=(3,41),                                             X00279800
               ATTR=(HI,PROT)                                           00279900
SUBTOTAL DFLD  POS=(3,55),                                             X00280000
               LTH=9,                                                  X00281000
               ATTR=(PROT)                                              00282000
         DFLD  'DISCOUNT:',                                            X00283000
               POS=(4,41),                                             X00284000
               ATTR=(HI,PROT)                                           00285000
DISCOUNT DFLD  POS=(4,55),                                             X00286000
               LTH=9,                                                  X00287000
               ATTR=(PROT)                                              00288000
         DFLD  'SALES TAX:',                                           X00289000
               POS=(5,41),                                             X00289100
               ATTR=(HI,PROT)                                           00289200
SALESTAX DFLD  POS=(5,55),                                             X00289300
               LTH=9,                                                  X00289400
               ATTR=(PROT)                                              00289500
         DFLD  'FREIGHT:',                                             X00289600
               POS=(6,41),                                             X00290000
               ATTR=(HI,PROT)                                           00300000
FREIGHT  DFLD  POS=(6,55),                                             X00310000
               LTH=9,                                                  X00320000
               ATTR=(PROT)                                              00330000
         DFLD  '----------',                                           X00340000
               POS=(7,55),                                             X00350000
               ATTR=(HI,PROT)                                           00360000
         DFLD  'BILLING:',                                             X00370000
               POS=(8,41),                                             X00380000
               ATTR=(HI,PROT)                                           00390000
BILLING  DFLD  POS=(8,55),                                             X00400000
               LTH=9,                                                  X00410000
               ATTR=(PROT)                                              00420000
         DFLD  'PMTS/ADJS:',                                           X00430000
               POS=(9,41),                                             X00440000
               ATTR=(HI,PROT)                                           00450000
PMTADJS  DFLD  POS=(9,55),                                             X00460000
               LTH=9,                                                  X00470000
               ATTR=(PROT)                                              00480000
         DFLD  '---------',                                            X00490000
               POS=(10,55),                                            X00500000
               ATTR=(HI,PROT)                                           00510000
         DFLD  'DUE:',                                                 X00520000
               POS=(11,41),                                            X00530000
               ATTR=(HI,PROT)                                           00540000
DUE      DFLD  POS=(11,55),                                            X00550000
               LTH=9,                                                  X00560000
               ATTR=(PROT)                                              00570000
ERRMSG   DFLD  POS=(23,2),                                             X00580000
               LTH=79,                                                 X00590000
               ATTR=(PROT)                                              00600000
         FMTEND                                                         00610000
*********************************************************************** 00611000
GRP734MI MSG   TYPE=INPUT,                                             X00620000
               SOR=(GRP734,IGNORE),                                    X00630000
               NXT=GRP734MO                                             00640000
         SEG                                                            00650000
         MFLD  'GRAP734B',                                             X00660000
               LTH=8                                                    00670000
         MFLD  INVNO,                                                  X00680000
               LTH=6,                                                  X00690000
               JUST=R,                                                 X00700000
               FILL=C'0'                                                00710000
         MSGEND                                                         00720000
*********************************************************************** 00730000
GRP734MO MSG   TYPE=OUTPUT,                                            X00740000
               SOR=(GRP734,IGNORE),                                    X00750000
               NXT=GRP734MI                                             00760000
         SEG                                                            00770000
         MFLD  (CURDATE,DATE2)                                          00780000
         MFLD  (INVNO,'______'),LTH=6                                   00790001
         MFLD  INVDATE,LTH=8                                            00800000
         MFLD  SUBTOTAL,LTH=9                                           00810000
         MFLD  DISCOUNT,LTH=9                                           00820000
         MFLD  SALESTAX,LTH=9                                           00830000
         MFLD  FREIGHT,LTH=9                                            00840000
         MFLD  BILLING,LTH=9                                            00850000
         MFLD  PMTADJS,LTH=9                                            00860000
         MFLD  DUE,LTH=9                                                00870000
         MFLD  ERRMSG,LTH=79                                            00880000
         MSGEND                                                         00890000
*********************************************************************** 00891000
         END                                                            00900000

Here's, what the screen looks like on the IMS Terminal, when I hit /TEST MFS, followed by /FORMAT GRP734MO.

My Questions
How do I get Underscores(_) to display in the Variable Fields[Data-Entry Fields]? Do I need to explicitly code/specify a literal '___' on the MFLD Macro, as I did for the INVNO Data-entry field? I am curious to know this, because at my shop, the DC Screens don't have the literal '____' (Underscores) coded on the MFLD Macros, of the Data-Entry fields, and yet the data-entry fields contain underscores. Is there any other way, to get it done?
Quasar Chunawala,
Software Engineer, Lives at Borivali, Mumbai
User avatar
Posts: 102
Joined: Wed Nov 10, 2010 7:11 pm
Location: Borivali, Mumbai
Has thanked: 13 times
Been thanked: 2 times

Re: Designing MFS Screens

Postby mickeywhite » Tue Mar 01, 2011 7:53 pm

The attribute parameter for the two fields have HI,PROT they need to have the same attributes as the Inoice, NUM or AlPHA (sic)
Posts: 11
Joined: Tue Nov 02, 2010 8:04 pm
Has thanked: 0 time
Been thanked: 0 time

Return to IMS DB/DC