Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

2013-08-28 Thread Charles Stevenson

Thanks, Troy.
I was going to write that after I got to 11.1.
(The upgrade was scheduled for Q3, but I hear rumours it got bumped 
because salesmen just sold something we can't do - yet.  It pays the bills.)


Troy, I want to borrow your code,  but I want to include proper 
attribution in the program header.


Chuck

On 8/27/2013 7:02 PM, Buss, Troy (Contractor, Logitek Systems) wrote:

Regarding the recent discussion of using indexes as triggers, I use the 
following to update timestamps of record changes to a master item stats file 
that we use for controlling updates to a business warehouse (BW).   Without 
modifying hundreds of legacy programs to support proper timestamps in the 
primary records, I added the following indexed Idescriptors to files I need to 
track.   We are on universe 11.1.1 and this has been working well for over a 
year.

DICT AR-INVOICE INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F0,)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 216 bytes

In this example, we have a AR-INVOICE header record and a related ARLI line item file.   
For our purposes to keep in sync with the BW, we want to timestamp the corresponding 
header record whenever a line item is updated so the ARLI dict item also updates 
AR-INVOICE header ZITEMSTATS with an I indirect update flag.

DICT ARLI INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, ARLI!:F0,):SUBR(ZIDESC.ITEMSTATS.UPDATE, 
AR-INVOICE!:F1,I)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 264 bytes

Alternate Key Index Summary for file ARLI
File... ARLI
Indices 3 (0 A-type, 0 C-type, 0 D-type, 3 I-type, 0 SQL, 0 S-type)
Index Updates.. Enabled, No updates pending

Index name  Type  BuildNulls  In DICT  S/M  Just Unique Field num/I-type
INDEX..MODIFIEDZ INot Reqd  No Yes  SL NSUBR(ZIDESC.ITE
 MSTATS.UPDATE,
 
ARLI!:F0,):S
 
UBR(ZIDESC.ITEM
 STATS.UPDATE, 

 
AR-INVOICE!:F1,
 I)


Subroutine ZIDESC.ITEMSTATS.UPDATE:

0001 SUB (RETURN.VALUE, ZITEMSTATS.ID, OPTIONS)
0002 * updates zitemstats with timestamps; create, modified, deleted
0003 *
0004 * Revision history:
0005 *
0006 * tdb.1190 2012-04-22_1602 new
0007 *
0008 *
0009 * input:  ZITEMSTATS.ID item id to use for ZITEMSTATS file
0010 * OPTIONS
0011 *I  update attb 5 with I for indirect 
reference
0012 *
0013 * output: RETURN.VALUE  NULL
0014 *
0015 * common vars: /ZITEMSTATS/
0016 *
0017 * called by:  INDEX..MODIFIEDZ dictionary items
0018 * calls:
0019 *
0020 * notes:
0021 *
0022 *
0023 $OPTIONS TIME.MILLISECOND
0024 *
0025 * @idx.iotype = 0 - Not being used from an index;
0026 * 1 - INSERT (new) record;
0027 * 2 - DELETE record;
0028 * 3 - Derive old index value;
0029 * 4 - Derive new index value;
0030 *
0031 COMMON /ZITEMSTATS/ F.ZITEMSTATS, ZITEMSTATS.FLAG.OPEN, ZITEMSTATS.WHO
0032 *
0033 EQU NUL TO 
0034 *
0035 RETURN.VALUE = NUL
0036 *
0037 * the following handles initial call and logto commands
0038 *
0039 IF NOT(ZITEMSTATS.FLAG.OPEN) OR (@WHO # ZITEMSTATS.WHO) THEN
0040   OPEN ZITEMSTATS TO F.ZITEMSTATS ELSE
0041 RETURN ;*  to caller.
0042   END
0043 *
0044   ZITEMSTATS.FLAG.OPEN = 1
0045   ZITEMSTATS.WHO   = @WHO
0046 END
0047 *
0048 LOG.TYPE = NUL
0049 *
0050 BEGIN CASE
0051   CASE @IDX.IOTYPE = 0
0052 *
0053   CASE @IDX.IOTYPE = 1
0054 LOG.TYPE = C ;* new - created - easier to see than 'N' new
0055 *
0056   CASE @IDX.IOTYPE = 2
0057 LOG.TYPE = D ;* delete
0058 *
0059   CASE @IDX.IOTYPE = 3
0060 *
0061   CASE @IDX.IOTYPE = 4
0062 LOG.TYPE = M ;* modified
0063 *
0064 END CASE
0065 *
0066 IF LOG.TYPE # NUL THEN
0067 *
0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()
0070 *
0071 * handle instance of midnight between date/time functions
0072 *
0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()
0074 *
0075   TIMESTAMP = DATE.NOW * 86400 + TIME.NOW
0076 *
0077   READU ZITEMSTATS$ FROM F.ZITEMSTATS, ZITEMSTATS.ID ELSE ZITEMSTATS$ = NUL
0078 *
0079   INDIRECT.FLAG = COUNT(OPTIONS, I)
0080 *
0081   IF INDIRECT.FLAG THEN
0082 ZITEMSTATS$1 = M ;* modified
0083   END ELSE
0084 ZITEMSTATS$1 = LOG.TYPE
0085   END
0086 *
0087 * created
0088 *
0089   IF INDIRECT.FLAG ELSE
0090 IF LOG.TYPE = C THEN
0091   ZITEMSTATS$2 = TIMESTAMP
0092 END
0093   END
0094 *
0095 * modified
0096 *
0097   ZITEMSTATS$3 = TIMESTAMP
0098 *
0099 * deleted
0100 *
0101 

[U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

2013-08-27 Thread Buss, Troy (Contractor, Logitek Systems)
Regarding the recent discussion of using indexes as triggers, I use the 
following to update timestamps of record changes to a master item stats file 
that we use for controlling updates to a business warehouse (BW).   Without 
modifying hundreds of legacy programs to support proper timestamps in the 
primary records, I added the following indexed Idescriptors to files I need to 
track.   We are on universe 11.1.1 and this has been working well for over a 
year.

DICT AR-INVOICE INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F0,)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 216 bytes

In this example, we have a AR-INVOICE header record and a related ARLI line 
item file.   For our purposes to keep in sync with the BW, we want to timestamp 
the corresponding header record whenever a line item is updated so the ARLI 
dict item also updates AR-INVOICE header ZITEMSTATS with an I indirect update 
flag.

DICT ARLI INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, 
ARLI!:F0,):SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F1,I)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 264 bytes

Alternate Key Index Summary for file ARLI
File... ARLI
Indices 3 (0 A-type, 0 C-type, 0 D-type, 3 I-type, 0 SQL, 0 S-type)
Index Updates.. Enabled, No updates pending

Index name  Type  BuildNulls  In DICT  S/M  Just Unique Field num/I-type
INDEX..MODIFIEDZ INot Reqd  No Yes  SL NSUBR(ZIDESC.ITE
MSTATS.UPDATE,
ARLI!:F0,):S
UBR(ZIDESC.ITEM
STATS.UPDATE, 
AR-INVOICE!:F1,
I)


Subroutine ZIDESC.ITEMSTATS.UPDATE:

0001 SUB (RETURN.VALUE, ZITEMSTATS.ID, OPTIONS)
0002 * updates zitemstats with timestamps; create, modified, deleted
0003 *
0004 * Revision history:
0005 *
0006 * tdb.1190 2012-04-22_1602 new
0007 *
0008 *
0009 * input:  ZITEMSTATS.ID item id to use for ZITEMSTATS file
0010 * OPTIONS
0011 *I  update attb 5 with I for indirect 
reference
0012 *
0013 * output: RETURN.VALUE  NULL
0014 *
0015 * common vars: /ZITEMSTATS/
0016 *
0017 * called by:  INDEX..MODIFIEDZ dictionary items
0018 * calls:
0019 *
0020 * notes:
0021 *
0022 *
0023 $OPTIONS TIME.MILLISECOND
0024 *
0025 * @idx.iotype = 0 - Not being used from an index;
0026 * 1 - INSERT (new) record;
0027 * 2 - DELETE record;
0028 * 3 - Derive old index value;
0029 * 4 - Derive new index value;
0030 *
0031 COMMON /ZITEMSTATS/ F.ZITEMSTATS, ZITEMSTATS.FLAG.OPEN, ZITEMSTATS.WHO
0032 *
0033 EQU NUL TO 
0034 *
0035 RETURN.VALUE = NUL
0036 *
0037 * the following handles initial call and logto commands
0038 *
0039 IF NOT(ZITEMSTATS.FLAG.OPEN) OR (@WHO # ZITEMSTATS.WHO) THEN
0040   OPEN ZITEMSTATS TO F.ZITEMSTATS ELSE
0041 RETURN ;*  to caller.
0042   END
0043 *
0044   ZITEMSTATS.FLAG.OPEN = 1
0045   ZITEMSTATS.WHO   = @WHO
0046 END
0047 *
0048 LOG.TYPE = NUL
0049 *
0050 BEGIN CASE
0051   CASE @IDX.IOTYPE = 0
0052 *
0053   CASE @IDX.IOTYPE = 1
0054 LOG.TYPE = C ;* new - created - easier to see than 'N' new
0055 *
0056   CASE @IDX.IOTYPE = 2
0057 LOG.TYPE = D ;* delete
0058 *
0059   CASE @IDX.IOTYPE = 3
0060 *
0061   CASE @IDX.IOTYPE = 4
0062 LOG.TYPE = M ;* modified
0063 *
0064 END CASE
0065 *
0066 IF LOG.TYPE # NUL THEN
0067 *
0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()
0070 *
0071 * handle instance of midnight between date/time functions
0072 *
0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()
0074 *
0075   TIMESTAMP = DATE.NOW * 86400 + TIME.NOW
0076 *
0077   READU ZITEMSTATS$ FROM F.ZITEMSTATS, ZITEMSTATS.ID ELSE ZITEMSTATS$ = NUL
0078 *
0079   INDIRECT.FLAG = COUNT(OPTIONS, I)
0080 *
0081   IF INDIRECT.FLAG THEN
0082 ZITEMSTATS$1 = M ;* modified
0083   END ELSE
0084 ZITEMSTATS$1 = LOG.TYPE
0085   END
0086 *
0087 * created
0088 *
0089   IF INDIRECT.FLAG ELSE
0090 IF LOG.TYPE = C THEN
0091   ZITEMSTATS$2 = TIMESTAMP
0092 END
0093   END
0094 *
0095 * modified
0096 *
0097   ZITEMSTATS$3 = TIMESTAMP
0098 *
0099 * deleted
0100 *
0101   IF INDIRECT.FLAG ELSE
0102 IF LOG.TYPE = D THEN
0103   ZITEMSTATS$4 = TIMESTAMP
0104 END ELSE
0105   ZITEMSTATS$4 = NUL
0106 END
0107   END
0108 *
0109   IF INDIRECT.FLAG THEN
0110 ZITEMSTATS$5 = I ;* indirect update flag
0111   END ELSE
0112 ZITEMSTATS$5 = EREPLACE(ZITEMSTATS$5, I, ) ;* remove indirect 
update flag
0113   END
0114 *
0115   WRITE ZITEMSTATS$ ON 

Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

2013-08-27 Thread Perry Taylor
That is awesome information Troy!  Thanks for that!

(Now if I could just get my production environment upgrade to 11.1x :D )

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy 
(Contractor, Logitek Systems)
Sent: Tuesday, August 27, 2013 10:03 AM
To: U2 Users List
Subject: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

Regarding the recent discussion of using indexes as triggers, I use the 
following to update timestamps of record changes to a master item stats file 
that we use for controlling updates to a business warehouse (BW).   Without 
modifying hundreds of legacy programs to support proper timestamps in the 
primary records, I added the following indexed Idescriptors to files I need to 
track.   We are on universe 11.1.1 and this has been working well for over a 
year.

DICT AR-INVOICE INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F0,)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 216 bytes

In this example, we have a AR-INVOICE header record and a related ARLI line 
item file.   For our purposes to keep in sync with the BW, we want to timestamp 
the corresponding header record whenever a line item is updated so the ARLI 
dict item also updates AR-INVOICE header ZITEMSTATS with an I indirect update 
flag.

DICT ARLI INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, 
ARLI!:F0,):SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F1,I)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword
EOI 264 bytes

Alternate Key Index Summary for file ARLI
File... ARLI
Indices 3 (0 A-type, 0 C-type, 0 D-type, 3 I-type, 0 SQL, 0 S-type)
Index Updates.. Enabled, No updates pending

Index name  Type  BuildNulls  In DICT  S/M  Just Unique Field num/I-type
INDEX..MODIFIEDZ INot Reqd  No Yes  SL NSUBR(ZIDESC.ITE
MSTATS.UPDATE,
ARLI!:F0,):S
UBR(ZIDESC.ITEM
STATS.UPDATE, 
AR-INVOICE!:F1,
I)


Subroutine ZIDESC.ITEMSTATS.UPDATE:

0001 SUB (RETURN.VALUE, ZITEMSTATS.ID, OPTIONS)
0002 * updates zitemstats with timestamps; create, modified, deleted
0003 *
0004 * Revision history:
0005 *
0006 * tdb.1190 2012-04-22_1602 new
0007 *
0008 *
0009 * input:  ZITEMSTATS.ID item id to use for ZITEMSTATS file
0010 * OPTIONS
0011 *I  update attb 5 with I for indirect 
reference
0012 *
0013 * output: RETURN.VALUE  NULL
0014 *
0015 * common vars: /ZITEMSTATS/
0016 *
0017 * called by:  INDEX..MODIFIEDZ dictionary items
0018 * calls:
0019 *
0020 * notes:
0021 *
0022 *
0023 $OPTIONS TIME.MILLISECOND
0024 *
0025 * @idx.iotype = 0 - Not being used from an index;
0026 * 1 - INSERT (new) record;
0027 * 2 - DELETE record;
0028 * 3 - Derive old index value;
0029 * 4 - Derive new index value;
0030 *
0031 COMMON /ZITEMSTATS/ F.ZITEMSTATS, ZITEMSTATS.FLAG.OPEN, ZITEMSTATS.WHO
0032 *
0033 EQU NUL TO 
0034 *
0035 RETURN.VALUE = NUL
0036 *
0037 * the following handles initial call and logto commands
0038 *
0039 IF NOT(ZITEMSTATS.FLAG.OPEN) OR (@WHO # ZITEMSTATS.WHO) THEN
0040   OPEN ZITEMSTATS TO F.ZITEMSTATS ELSE
0041 RETURN ;*  to caller.
0042   END
0043 *
0044   ZITEMSTATS.FLAG.OPEN = 1
0045   ZITEMSTATS.WHO   = @WHO
0046 END
0047 *
0048 LOG.TYPE = NUL
0049 *
0050 BEGIN CASE
0051   CASE @IDX.IOTYPE = 0
0052 *
0053   CASE @IDX.IOTYPE = 1
0054 LOG.TYPE = C ;* new - created - easier to see than 'N' new
0055 *
0056   CASE @IDX.IOTYPE = 2
0057 LOG.TYPE = D ;* delete
0058 *
0059   CASE @IDX.IOTYPE = 3
0060 *
0061   CASE @IDX.IOTYPE = 4
0062 LOG.TYPE = M ;* modified
0063 *
0064 END CASE
0065 *
0066 IF LOG.TYPE # NUL THEN
0067 *
0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()
0070 *
0071 * handle instance of midnight between date/time functions
0072 *
0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()
0074 *
0075   TIMESTAMP = DATE.NOW * 86400 + TIME.NOW
0076 *
0077   READU ZITEMSTATS$ FROM F.ZITEMSTATS, ZITEMSTATS.ID ELSE ZITEMSTATS$ = NUL
0078 *
0079   INDIRECT.FLAG = COUNT(OPTIONS, I)
0080 *
0081   IF INDIRECT.FLAG THEN
0082 ZITEMSTATS$1 = M ;* modified
0083   END ELSE
0084 ZITEMSTATS$1 = LOG.TYPE
0085   END
0086 *
0087 * created
0088 *
0089   IF INDIRECT.FLAG ELSE
0090 IF LOG.TYPE = C THEN
0091   ZITEMSTATS$2 = TIMESTAMP
0092 END
0093   END
0094 *
0095 * modified
0096 *
0097   ZITEMSTATS$3 = TIMESTAMP

Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

2013-08-27 Thread Phil Walker
Should line 73 of your program be  rather than  for the time as when the date 
has changed, the time will be less than the time of the date - 1 which you have 
just set.


0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()

0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()

Example:

DATE.NOW = 16789
TIME.NOW = 83999

DATE() = 16790
TIME() = 1

Might be wrong



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Wednesday, 28 August 2013 4:26 a.m.
To: U2 Users List
Subject: Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

That is awesome information Troy!  Thanks for that!

(Now if I could just get my production environment upgrade to 11.1x :D )

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy 
(Contractor, Logitek Systems)
Sent: Tuesday, August 27, 2013 10:03 AM
To: U2 Users List
Subject: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

Regarding the recent discussion of using indexes as triggers, I use the 
following to update timestamps of record changes to a master item stats file 
that we use for controlling updates to a business warehouse (BW).   Without 
modifying hundreds of legacy programs to support proper timestamps in the 
primary records, I added the following indexed Idescriptors to files I need to 
track.   We are on universe 11.1.1 and this has been working well for over a 
year.

DICT AR-INVOICE INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F0,)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword EOI 216 bytes

In this example, we have a AR-INVOICE header record and a related ARLI line 
item file.   For our purposes to keep in sync with the BW, we want to timestamp 
the corresponding header record whenever a line item is updated so the ARLI 
dict item also updates AR-INVOICE header ZITEMSTATS with an I indirect update 
flag.

DICT ARLI INDEX..MODIFIEDZ
0001 I
0002 SUBR(ZIDESC.ITEMSTATS.UPDATE, 
ARLI!:F0,):SUBR(ZIDESC.ITEMSTATS.UPDATE, AR-INVOICE!:F1,I)
0004 \
0005 1L
0006 S
0049 used to create item created, modified, delete in zitemstats file - create 
index with this and no.nulls keyword EOI 264 bytes

Alternate Key Index Summary for file ARLI File... ARLI Indices 
3 (0 A-type, 0 C-type, 0 D-type, 3 I-type, 0 SQL, 0 S-type) Index Updates.. 
Enabled, No updates pending

Index name  Type  BuildNulls  In DICT  S/M  Just Unique Field num/I-type
INDEX..MODIFIEDZ INot Reqd  No Yes  SL NSUBR(ZIDESC.ITE
MSTATS.UPDATE,
ARLI!:F0,):S
UBR(ZIDESC.ITEM
STATS.UPDATE, 
AR-INVOICE!:F1,
I)


Subroutine ZIDESC.ITEMSTATS.UPDATE:

0001 SUB (RETURN.VALUE, ZITEMSTATS.ID, OPTIONS)
0002 * updates zitemstats with timestamps; create, modified, deleted
0003 *
0004 * Revision history:
0005 *
0006 * tdb.1190 2012-04-22_1602 new
0007 *
0008 *
0009 * input:  ZITEMSTATS.ID item id to use for ZITEMSTATS file
0010 * OPTIONS
0011 *I  update attb 5 with I for indirect 
reference
0012 *
0013 * output: RETURN.VALUE  NULL
0014 *
0015 * common vars: /ZITEMSTATS/
0016 *
0017 * called by:  INDEX..MODIFIEDZ dictionary items
0018 * calls:
0019 *
0020 * notes:
0021 *
0022 *
0023 $OPTIONS TIME.MILLISECOND
0024 *
0025 * @idx.iotype = 0 - Not being used from an index;
0026 * 1 - INSERT (new) record;
0027 * 2 - DELETE record;
0028 * 3 - Derive old index value;
0029 * 4 - Derive new index value;
0030 *
0031 COMMON /ZITEMSTATS/ F.ZITEMSTATS, ZITEMSTATS.FLAG.OPEN, ZITEMSTATS.WHO
0032 *
0033 EQU NUL TO 
0034 *
0035 RETURN.VALUE = NUL
0036 *
0037 * the following handles initial call and logto commands
0038 *
0039 IF NOT(ZITEMSTATS.FLAG.OPEN) OR (@WHO # ZITEMSTATS.WHO) THEN
0040   OPEN ZITEMSTATS TO F.ZITEMSTATS ELSE
0041 RETURN ;*  to caller.
0042   END
0043 *
0044   ZITEMSTATS.FLAG.OPEN = 1
0045   ZITEMSTATS.WHO   = @WHO
0046 END
0047 *
0048 LOG.TYPE = NUL
0049 *
0050 BEGIN CASE
0051   CASE @IDX.IOTYPE = 0
0052 *
0053   CASE @IDX.IOTYPE = 1
0054 LOG.TYPE = C ;* new - created - easier to see than 'N' new
0055 *
0056   CASE @IDX.IOTYPE = 2
0057 LOG.TYPE = D ;* delete
0058 *
0059   CASE @IDX.IOTYPE = 3
0060 *
0061   CASE @IDX.IOTYPE = 4
0062 LOG.TYPE = M ;* modified
0063 *
0064 END CASE
0065 *
0066 IF LOG.TYPE # NUL THEN
0067 *
0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()
0070 *
0071

Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

2013-08-27 Thread Buss, Troy (Contractor, Logitek Systems)
Phil,  

Ahh, good catch, I believe you are correct.   Thankfully, this should be a very 
very rare occurrence.  Thanks!

Should be:
0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Phil Walker
Sent: Tuesday, August 27, 2013 11:51 AM
To: U2 Users List
Subject: Re: [U2] universe 11.1 triggers via indexing and @IDX.IOTYPE sample

Should line 73 of your program be  rather than  for the time as when the date 
has changed, the time will be less than the time of the date - 1 which you have 
just set.


0068   DATE.NOW = DATE()
0069   TIME.NOW = TIME()

0073   IF DATE.NOW # DATE() AND TIME()  TIME.NOW THEN DATE.NOW = DATE()

Example:

DATE.NOW = 16789
TIME.NOW = 83999

DATE() = 16790
TIME() = 1

Might be wrong

_
Scanned by IBM Email Security Management Services powered by MessageLabs. For 
more information please visit http://www.ers.ibm.com

This email is intended only for the use of the party to which it is addressed 
and may contain information that is privileged, confidential, or protected by 
law.  If you are not the intended recipient you are hereby notified that any 
dissemination, copying or distribution of the email or its contents is strictly 
prohibited.  If you have received this message in error, please notify us 
immediately, by replying to the message and deleting it from your computer.

WARNING: Internet communications are not assured to be secure or clear of 
inaccuracies as information could be intercepted, corrupted, lost, destroyed, 
arrive late or incomplete, or contain viruses.  Therefore, we do not accept 
responsibility for any errors or omissions that are present in this email, or 
any attachment, that have arisen as a result of e-mail transmission.
_
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users