140 likes | 242 Vues
NorCal FUSE - June 11, 1999. .EVAL & Y2K. George Chin Wells Fargo & Company George.Chin@WellsFargo.com 415.396.2618. Introduction. 10 minute preview of September presentation. Corporate Y2K Standard. 100 years sliding window Pivot on 1950. FOCPARM ERRORS.
E N D
NorCal FUSE - June 11, 1999 .EVAL & Y2K George Chin Wells Fargo & Company George.Chin@WellsFargo.com 415.396.2618
Introduction • 10 minute preview of September presentation
Corporate Y2K Standard • 100 years sliding window • Pivot on 1950
FOCPARM ERRORS • -*------------------------------------------------------------------ • -* THIS SECTION CONSISTS SOLELY OF SET COMMANDS, USED TO CUSTOMIZE • -* THE BEHAVIOR OF FOCUS AT YOUR SITE. PLEASE NOTE THAT ONLY SET • -* COMMANDS ARE SUPPORTED, AND THAT ANY OTHER FOCUS COMMANDS ARE • -* NOT PERMITTED AND WILL FORCE YOU OUT OF FOCUS. THIS MEMBER MAY • -* NOT BE USED AS A PROFILE EXCEPT FOR SET COMMANDS. • -*------------------------------------------------------------------ • SET DEFCENT=19 • SET YRTHRESH=50
Results • ------------------------------------------------------ • Date #1: December 1999 • ------------------------------------------------------ • ASOFDT : 1299 • ASOFDT_MYY : 121999 • ASOFDT_YYM : 199912 • ------------------------------------------------------ • Date #2: January 2000 • ------------------------------------------------------ • NXTDATE : 0100 • NXTDATE_MYY : 012000 • NXTDATE_YYM : 200001 • ------------------------------------------------------ • FOCUS date routine: AYM (add 1 month to 1999/12) • ------------------------------------------------------ • AYM_YYM : 200001 • AYM_YM : 1 (Problem here)
Test Program (Part 1) • -TYPE -------------------------------------------------- • -TYPE Date #1: December 1999 • -TYPE -------------------------------------------------- • -SET &ASOFDT = 1299 ; • -SET &FLD = ASOFDT ; • -INCLUDE DSY2MY • -TYPE &FLD : &.&FLD • -TYPE &FLD.EVAL_MYY : &ASOFDT_MYY • -TYPE &FLD.EVAL_YYM : &ASOFDT_YYM
Test Program (Part 2) • -TYPE ------------------------------------------------- • -TYPE Date #2: January 2000 • -TYPE ------------------------------------------------- • -SET &NXTDATE = 0100 ; • -SET &FLD = NXTDATE ; • -INCLUDE DSY2MY • -TYPE &FLD : &.&FLD • -TYPE &FLD.EVAL_MYY : &NXTDATE_MYY • -TYPE &FLD.EVAL_YYM : &NXTDATE_YYM
Test Program (Part 3) • -TYPE ---------------------------------------------------- • -TYPE FOCUS date UWS: AYM (add 1 month to YYM) • -TYPE ---------------------------------------------------- • -SET &NEXT_YYM = AYM(&ASOFDT_YYM,1,'YYM'); • -SET &NEXT_YM = AYM(&ASOFDT_YYM,1,'YM'); • -TYPE AYM_YYM : &NEXT_YYM • -TYPE AYM_YM : &NEXT_YM
DSY2MY FOCEXEC • Input : MY (4 digits) • Output: MYY • YYM
DSY2MY FOCEXEC • -* ------------------------------------------------- • -* Get current session Y2k settings: • -* ------------------------------------------------- • 01 -? SET DEFCENT &DEFCENT • 02 -? SET YRTHRESH &YRTHRESH
DSY2MY FOCEXEC • -* ------------------------------------------------------------- • -* Check input field name length. Max = 7. • -* ------------------------------------------------------------- • 03 -$RCHMY • 04 -IF &FLD.LENGTH LE 7 GOTO $START ; • 05 -TYPE ERROR in &FOCFOCEXEC invoking &FOCINCLUDE FOCEXEC: • 06 -PROMPT &FLD. &FLD.EVAL GT 7 chars, reenter &FLD or enter QUIT):. • 07 -GOTO $RCHMY • 08 -$START
DSY2MY FOCEXEC • -* ------------------------------------------------- • -* Get century and window it: • -* ------------------------------------------------- • 09 -SET &_C = IF (EDIT(&.&FLD,'$$99') LT &YRTHRESH) • 10 - THEN &DEFCENT + 1 ELSE &DEFCENT ;
DSY2MY FOCEXEC • -* ------------------------------------------------------- • -* Create &FLD_MYY output field • -* ------------------------------------------------------- • 11 -SET &FLD2 = '&' | &FLD ; • 12 -SET &SUFFIX = '_MYY'; • 13 -SET &FLD2.EVAL.&SUFFIX = EDIT(&.&FLD,'99$$') | &_C | • 14 - EDIT(&.&FLD,'$$99');
DSY2MY FOCEXEC • -* ------------------------------------------------------- • -* Create &FLD_YYM output field • -* ------------------------------------------------------- • 16 -SET &SUFFIX = '_YYM'; • 17 -SET &FLD2.EVAL.&SUFFIX = &_C | EDIT(&.&FLD,'$$99') | • 18 - EDIT(&.&FLD,'99$$') ;