Re: [U2] RECORDLOCKED statement

2009-12-16 Thread Baker Hughes
Thank you Raul.  We don't use shared locks so started at -2, but it won't hurt 
to get them all. Changed made.

Thank you.
-Baker
x3598


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of 
raul_doming...@neimanmarcus.com
Sent: Tuesday, December 15, 2009 5:27 PM
To: U2 Users List
Subject: Re: [U2] RECORDLOCKED statement

The only consideration is that your second case statement picks up at -2
instead of -1.

I think you are going for
 CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READL which is the -1 return
value. At least according to the UniVerse documentation.

Regards,
Raul Dominguez
raul_doming...@neimanmarcus.com
972-401-6502



Baker Hughes baker.hug...@mouser.com
Sent by: u2-users-boun...@listserver.u2ug.org
12/15/2009 05:17 PM
Please respond to
U2 Users List u2-users@listserver.u2ug.org


To
'U2 Users List' u2-users@listserver.u2ug.org
cc

Subject
[U2] RECORDLOCKED statement






I admit I have never used this little jewel of a [UV] statement, so
although the code runs and works as designed, before I load it to
production, someone please tell me if there are any nuances that would
improve the design/operation.

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$MY.READU
* This user/process already has a lock on the record, and we DO NOT
* WANT to clear the lock if process is ORDER.UPDATE so check the stack.
 IF INDEX(SYSTEM(9001),ORDER.UPDATE,1) THEN
WRITEVU  ON PICH.TX, SO, 37
 END ELSE
WRITEV  ON PICH.TX, SO, 37
RELEASE PICH.TX, SO
 END
 CLEARED.CCA.HOLD = TRUE

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READU
* Another User has the record locked, we cannot update at this time
 ERR.NUM = 'C043'
 ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD
HOLD'
 DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
 GOSUB SEND.ERROR

  CASE RECORDLOCKED(PICH.TX, SO) =  LOCK$NO.LOCK
* There is no lock on this record presently, free and clear
 READVU HOLD.RSN FROM PICH.TX, SO, 37 LOCKED
* ...but that could change in 1 ms so still handle the locked condition.
ERR.NUM = 'C043'
ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT
CARD HOLD'
DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
GOSUB SEND.ERROR
RELEASE PICH.TX, SO
 END THEN WRITEV  ON PICH.TX, SO, 37
 CLEARED.CCA.HOLD = TRUE
   END CASE


Thank you.
-Baker



This communication, its contents and any file attachments transmitted with it 
are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the sender 
is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, distribute 
or use the contents, attachments or information in any way.  Please destroy it 
and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] RECORDLOCKED statement

2009-12-16 Thread Baker Hughes
Thank you Gregor. Good efficiency. Change made.

Thank you.
-Baker
x3598


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gregor Scott
Sent: Tuesday, December 15, 2009 7:40 PM
To: 'U2 Users List'
Subject: Re: [U2] RECORDLOCKED statement

The other consideration is that each case statement uses the same
RECORDLOCKED(PICH.TX, SO) function reference, meaning it runs the function 3
times (according to your snippet).

I would normally assign the function result to a variable and test the
variable in the case statements:

stat.LOCK = RECORDLOCKED(PICH.TX, SO)

CASE stat.LOCK = 
CASE stat.LOCK = ...

Gregor Scott



This communication, its contents and any file attachments transmitted with it 
are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the sender 
is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, distribute 
or use the contents, attachments or information in any way.  Please destroy it 
and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] RECORDLOCKED statement

2009-12-16 Thread Baker Hughes
Thanks Brad, good catch.

Thank you.
-Baker



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of BraDav
Sent: Tuesday, December 15, 2009 9:48 PM
To: gregor.sc...@pentanasolutions.com; U2 Users List
Subject: Re: [U2] RECORDLOCKED statement

Assign the result to a variable: that reduces the i/o to the lock manager by
60%+

Brad


This communication, its contents and any file attachments transmitted with it 
are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the sender 
is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, distribute 
or use the contents, attachments or information in any way.  Please destroy it 
and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] RECORDLOCKED statement

2009-12-15 Thread Baker Hughes
I admit I have never used this little jewel of a [UV] statement, so although 
the code runs and works as designed, before I load it to production, someone 
please tell me if there are any nuances that would improve the design/operation.

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$MY.READU
* This user/process already has a lock on the record, and we DO NOT
* WANT to clear the lock if process is ORDER.UPDATE so check the stack.
 IF INDEX(SYSTEM(9001),ORDER.UPDATE,1) THEN
WRITEVU  ON PICH.TX, SO, 37
 END ELSE
WRITEV  ON PICH.TX, SO, 37
RELEASE PICH.TX, SO
 END
 CLEARED.CCA.HOLD = TRUE

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READU
* Another User has the record locked, we cannot update at this time
 ERR.NUM = 'C043'
 ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD HOLD'
 DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
 GOSUB SEND.ERROR

  CASE RECORDLOCKED(PICH.TX, SO) =  LOCK$NO.LOCK
* There is no lock on this record presently, free and clear
 READVU HOLD.RSN FROM PICH.TX, SO, 37 LOCKED
* ...but that could change in 1 ms so still handle the locked condition.
ERR.NUM = 'C043'
ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD 
HOLD'
DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
GOSUB SEND.ERROR
RELEASE PICH.TX, SO
 END THEN WRITEV  ON PICH.TX, SO, 37
 CLEARED.CCA.HOLD = TRUE
   END CASE


Thank you.
-Baker


This communication, its contents and any file attachments transmitted with it 
are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the sender 
is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, distribute 
or use the contents, attachments or information in any way.  Please destroy it 
and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] RECORDLOCKED statement

2009-12-15 Thread Raul_Dominguez
The only consideration is that your second case statement picks up at -2 
instead of -1.

I think you are going for 
 CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READL which is the -1 return 
value. At least according to the UniVerse documentation.

Regards,
Raul Dominguez
raul_doming...@neimanmarcus.com
972-401-6502



Baker Hughes baker.hug...@mouser.com 
Sent by: u2-users-boun...@listserver.u2ug.org
12/15/2009 05:17 PM
Please respond to
U2 Users List u2-users@listserver.u2ug.org


To
'U2 Users List' u2-users@listserver.u2ug.org
cc

Subject
[U2] RECORDLOCKED statement






I admit I have never used this little jewel of a [UV] statement, so 
although the code runs and works as designed, before I load it to 
production, someone please tell me if there are any nuances that would 
improve the design/operation.

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$MY.READU
* This user/process already has a lock on the record, and we DO NOT
* WANT to clear the lock if process is ORDER.UPDATE so check the stack.
 IF INDEX(SYSTEM(9001),ORDER.UPDATE,1) THEN
WRITEVU  ON PICH.TX, SO, 37
 END ELSE
WRITEV  ON PICH.TX, SO, 37
RELEASE PICH.TX, SO
 END
 CLEARED.CCA.HOLD = TRUE

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READU
* Another User has the record locked, we cannot update at this time
 ERR.NUM = 'C043'
 ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD 
HOLD'
 DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
 GOSUB SEND.ERROR

  CASE RECORDLOCKED(PICH.TX, SO) =  LOCK$NO.LOCK
* There is no lock on this record presently, free and clear
 READVU HOLD.RSN FROM PICH.TX, SO, 37 LOCKED
* ...but that could change in 1 ms so still handle the locked condition.
ERR.NUM = 'C043'
ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT 
CARD HOLD'
DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
GOSUB SEND.ERROR
RELEASE PICH.TX, SO
 END THEN WRITEV  ON PICH.TX, SO, 37
 CLEARED.CCA.HOLD = TRUE
   END CASE


Thank you.
-Baker


This communication, its contents and any file attachments transmitted with 
it are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the 
sender is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, 
distribute or use the contents, attachments or information in any way. 
Please destroy it and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] RECORDLOCKED statement

2009-12-15 Thread Gregor Scott
The other consideration is that each case statement uses the same
RECORDLOCKED(PICH.TX, SO) function reference, meaning it runs the function 3
times (according to your snippet).

I would normally assign the function result to a variable and test the
variable in the case statements:

stat.LOCK = RECORDLOCKED(PICH.TX, SO)

CASE stat.LOCK = 
CASE stat.LOCK = ...

Gregor Scott

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
raul_doming...@neimanmarcus.com
Sent: Wednesday, 16 December 2009 10:27 AM
To: U2 Users List
Subject: Re: [U2] RECORDLOCKED statement

The only consideration is that your second case statement picks up at -2 
instead of -1.

I think you are going for 
 CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READL which is the -1 return 
value. At least according to the UniVerse documentation.

Regards,
Raul Dominguez
raul_doming...@neimanmarcus.com
972-401-6502



Baker Hughes baker.hug...@mouser.com 
Sent by: u2-users-boun...@listserver.u2ug.org
12/15/2009 05:17 PM
Please respond to
U2 Users List u2-users@listserver.u2ug.org


To
'U2 Users List' u2-users@listserver.u2ug.org
cc

Subject
[U2] RECORDLOCKED statement






I admit I have never used this little jewel of a [UV] statement, so 
although the code runs and works as designed, before I load it to 
production, someone please tell me if there are any nuances that would 
improve the design/operation.

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$MY.READU
* This user/process already has a lock on the record, and we DO NOT
* WANT to clear the lock if process is ORDER.UPDATE so check the stack.
 IF INDEX(SYSTEM(9001),ORDER.UPDATE,1) THEN
WRITEVU  ON PICH.TX, SO, 37
 END ELSE
WRITEV  ON PICH.TX, SO, 37
RELEASE PICH.TX, SO
 END
 CLEARED.CCA.HOLD = TRUE

  CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READU
* Another User has the record locked, we cannot update at this time
 ERR.NUM = 'C043'
 ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD 
HOLD'
 DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
 GOSUB SEND.ERROR

  CASE RECORDLOCKED(PICH.TX, SO) =  LOCK$NO.LOCK
* There is no lock on this record presently, free and clear
 READVU HOLD.RSN FROM PICH.TX, SO, 37 LOCKED
* ...but that could change in 1 ms so still handle the locked condition.
ERR.NUM = 'C043'
ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT 
CARD HOLD'
DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
GOSUB SEND.ERROR
RELEASE PICH.TX, SO
 END THEN WRITEV  ON PICH.TX, SO, 37
 CLEARED.CCA.HOLD = TRUE
   END CASE


Thank you.
-Baker


This communication, its contents and any file attachments transmitted with 
it are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the 
sender is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy, 
distribute or use the contents, attachments or information in any way. 
Please destroy it and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-- 
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and content
filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1yT6IW24xN/50V5hqHqZ3Up5ajJTQzChu/3


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] RECORDLOCKED statement

2009-12-15 Thread BraDav
Assign the result to a variable: that reduces the i/o to the lock manager by 
60%+


Brad


- Original Message - 
From: Gregor Scott gregor.sc...@pentanasolutions.com

To: 'U2 Users List' u2-users@listserver.u2ug.org
Sent: Tuesday, December 15, 2009 8:39 PM
Subject: Re: [U2] RECORDLOCKED statement



The other consideration is that each case statement uses the same
RECORDLOCKED(PICH.TX, SO) function reference, meaning it runs the function 
3

times (according to your snippet).

I would normally assign the function result to a variable and test the
variable in the case statements:

stat.LOCK = RECORDLOCKED(PICH.TX, SO)

CASE stat.LOCK = 
CASE stat.LOCK = ...

Gregor Scott

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
raul_doming...@neimanmarcus.com
Sent: Wednesday, 16 December 2009 10:27 AM
To: U2 Users List
Subject: Re: [U2] RECORDLOCKED statement

The only consideration is that your second case statement picks up at -2
instead of -1.

I think you are going for
CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READL which is the -1 return
value. At least according to the UniVerse documentation.

Regards,
Raul Dominguez
raul_doming...@neimanmarcus.com
972-401-6502



Baker Hughes baker.hug...@mouser.com
Sent by: u2-users-boun...@listserver.u2ug.org
12/15/2009 05:17 PM
Please respond to
U2 Users List u2-users@listserver.u2ug.org


To
'U2 Users List' u2-users@listserver.u2ug.org
cc

Subject
[U2] RECORDLOCKED statement






I admit I have never used this little jewel of a [UV] statement, so
although the code runs and works as designed, before I load it to
production, someone please tell me if there are any nuances that would
improve the design/operation.

 CASE RECORDLOCKED(PICH.TX, SO) = LOCK$MY.READU
* This user/process already has a lock on the record, and we DO NOT
* WANT to clear the lock if process is ORDER.UPDATE so check the stack.
IF INDEX(SYSTEM(9001),ORDER.UPDATE,1) THEN
   WRITEVU  ON PICH.TX, SO, 37
END ELSE
   WRITEV  ON PICH.TX, SO, 37
   RELEASE PICH.TX, SO
END
CLEARED.CCA.HOLD = TRUE

 CASE RECORDLOCKED(PICH.TX, SO) = LOCK$OTHER.READU
* Another User has the record locked, we cannot update at this time
ERR.NUM = 'C043'
ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT CARD
HOLD'
DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
GOSUB SEND.ERROR

 CASE RECORDLOCKED(PICH.TX, SO) =  LOCK$NO.LOCK
* There is no lock on this record presently, free and clear
READVU HOLD.RSN FROM PICH.TX, SO, 37 LOCKED
* ...but that could change in 1 ms so still handle the locked condition.
   ERR.NUM = 'C043'
   ERR.MSG = 'PICH.TX RECORD IS LOCKED, TRYING TO CLEAR CREDIT
CARD HOLD'
   DOC.NUM = SO ; DOC.TYP = 'ORDER' ; FILE.NM = 'PICH.TX'
   GOSUB SEND.ERROR
   RELEASE PICH.TX, SO
END THEN WRITEV  ON PICH.TX, SO, 37
CLEARED.CCA.HOLD = TRUE
  END CASE


Thank you.
-Baker


This communication, its contents and any file attachments transmitted with
it are intended solely for the addressee(s) and may contain confidential
proprietary information.
Access by any other party without the express written permission of the
sender is STRICTLY PROHIBITED.
If you have received this communication in error you may not copy,
distribute or use the contents, attachments or information in any way.
Please destroy it and contact the sender.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
--
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and 
content

filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1yT6IW24xN/50V5hqHqZ3Up5ajJTQzChu/3


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users