Setting up and using a Telon Field Edit for a Telon Screen Definition.
Example: How to setup and use the Telon Field Edit DB2DATE?
This involves Telon Design Facility, Telon Field Edits, and the Telon Maclib.
Telon Application Generator, release 5.1
The TLNIIS macro documents this regarding DB2DATE:
.* DB2DATE=(###,'DATE-FORMAT')
.* ### - USA -- MM/DD/YYYY (DEFAULT)
.* - EUR -- DD.MM.YYYY
.* - ISO -- YYYY-MM-DD
.* - JIS -- YYYY-MM-DD
.* - LOC -- LOCALLY DEFINED
.* DATE-FORMAT - REQUIRED ONLY FOR LOCALLY DEFINED FORMATS
.* - DETERMINES LENGTH AND INITIALIZATION
.* VALUE FOR DB2 DATE DATA TYPE
SETSYS ABTMODE=ABEND,ALARM=N,BRCSRCK=N,COB88LV=MULTIPLE, C
CONFCPY=NONE,DB2DATE=USA,DB2TIME=USA,DRIVSSA=N,EOFKEY=Y, C DB2DATE is set to USA for all environments
FEATURE=(ABNORMALT,3,FULLDLI,Y,MFSPSWD,1,PGMSTRUCT,3), C
INTDATE=U,LANG=COB,LINEOPT=1,OUTATTR=Y,OUTIFIL=SPACE, C
PCBCODE=Y,PGMCUST=NONE,REFRESH=Y,SPNMCPY=NONE,TRCSRCK=N
-------------------
This is set in the Telon Design Facility when updating a Panel Definition
I used the sample program of TRCC2A (Cobol, CICS DB2). DB2DATE is put under the FLDTYPE of the referenced NAME.
In this case I used Date of Birth.(DOB)
TRCC2A.PD UPDATE PANEL FIELDS ******* ****************************************
COMMAND ==> PAGE 01
OPTIONS ==> ATTRS _ HELPMSG _ MAPOUT _
LINE 001 COL 002 SIZE 024 08
---- ---+----1----+----2----+----3----+----4----+----5----+----6----+----7----
0001 >>>>>>>> T E L O N S A M P L E S O L U T I O N
0002 EMPLOYEE >>>>>>
0003
---- -------------------------------------------------------------------------
U LN COL LTH USE **NAME** *FLDTYPE* ******* DBNAME OR TEXT ******** REQ MORE
01 003 008 OU DATE DATE XFER-TODAYS-DATE
02 038 006 OU TITLE
04 040 006 OI ID XFER-EMPL-ID + +
07 027 025 OI NAME EMPL-NAME Y +
08 027 025 OI STREET EMPL-STREET +
09 027 025 OI CITY EMPL-CITY +
10 027 002 OI STATE ALPHA + EMPL-STATE Y +
11 027 005 OI ZIP EMPL-ZIP +
12 027 012 OI PHONE EMPL-PHONE +
13 027 001 OI SEX EMPL-SEX +
14 027 008 OI DOB DB2DATE EMPL-DOB Y +
15 027 003 OI DEPT EMPL-DEPARTMENT +
16 027 008 OI DOE DATE EMPL-DOE Y +
17 027 006 OI RATE NUMERIC + EMPL-HOURLY-RATE +
18 027 004 OI HOURS FLOAT EMPL-HOURS +
22 002 079 OU ERRMSG1 NONE
Then the TLNIIS macro is picked up in the Generator step.
In the proc I have:
// TLNMAC='highlevelqualifier.CAWLMAC', ON MACRO LIB
000148 //GEN EXEC PGM=&PGMASM,PARM='NOOBJECT,DECK',
000149 // REGION=1024K,
000150 // COND=(0,LT,CONTROL)
000151 //SYSIN DD DSN=&&SCRNDEF,DISP=(OLD,PASS)
000154 //SYSLIB DD DSN=&TLNMAC,DISP=SHR IF TESTBLKSIZE > 6160) <==== Telon maclib
000155 //SYSLIN DD DUMMY
000156 //SYSPRINT DD SYSOUT=*,DCB=(LRECL=121,BLKSIZE=1210)
000157 //SYSPUNCH DD DSN=&&TEMP,DISP=(OLD,PASS)
000158 //SYSUT1 DD UNIT=&SCRUNIT,SPACE=(1700,(700,200)),DSN=&&SYSUT1
000159 //SYSUT2 DD UNIT=&SCRUNIT,SPACE=(1700,(700,200)),DSN=&&SYSUT2
000160 //SYSUT3 DD UNIT=&SCRUNIT,SPACE=(1700,(700,200)),DSN=&&SYSUT3
Then since I defined it as Input/output, Telon will generate
CALL DYN-ODB2DATE USING TPO-DOB
TPO-DOB-LTH
EMPL-DOB.
-and-
CALL DYN-IDB2DATE USING FIELD-EDIT-ERROR
TPI-DOB-LTH
TPI-DOB
WORKFLD-ALPHA +