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
***** ***** 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?