Re: [U2] Universe Triggers

2013-07-26 Thread Charles Stevenson

re. triggers  Raid,  I could not agree with Phil more.  Well said.
Come on, Rocket!

On 7/19/2013 1:32 AM, Phil Walker wrote:

Ken,

I am glad you raised the issue about debugging a program with a file which has 
a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for ages 
about fixing this pushing for the ability to be able to step into the trigger 
code, but at a VERY MINIMUM being able to debug the program and perform the 
write on the file, and in effect step over the trigger subroutine and carry on 
debugging. The issue is the trigger subroutine cannot support input, so what UV 
have done is basically say you are using the debugger so you are inputting 
debug commands so you will abort. They need to turn this restriction off for 
debugging so that either of the above two scenarios is supported.

In a Microsoft world I can debug anything through the connected world of 
web/databases etc..

Have had no feedback from UV

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
Sent: Friday, 19 July 2013 9:48 a.m.
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

Dan,
In addition to the other responses you have received, I suggest the following:
1. Have one master file trigger subroutine (globally catalogued) that calls 
subroutines (locally catalogued) tailored to individual files.  This means you 
don't have to stop and restart Universe when a new trigger is required or a 
change to an existing one.  If the master subroutine changes, you do have to 
restart Universe.
2. Use a control record that records the subroutine name and state of the 
trigger for each file having a trigger.
3. Use a program to change the state of a trigger, using the control records in 
2 above.
4. Make sure all background processes that have a file with a trigger open are 
logged out when recompiling the subroutine for that file trigger.
5. Remember that you can't do anything to a file with an active trigger whilst 
in the RAID debugger (it will crash).  Rather, if you are testing a file 
trigger subroutine, drop the trigger and use a trigger testing program that 
calls the subroutine after taking a copy of the record being changed, pausing 
whilst you change it in another session, and then resuming, calling the 
subroutine.

If you would like samples of any of the software mentioned above, let me know, 
and I can send them to you.

Regards,
Ken Ford
Universe Software Developer
t 07 3013 8605 | f 07 3002 8400
e ken.f...@firstmac.com.au | w firstmac.com.au


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


Re: [U2] Universe Triggers

2013-07-26 Thread Phil Walker
I won't be holding my breath Charles ;-)

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson
Sent: Friday, 26 July 2013 9:22 p.m.
To: U2 Users List
Subject: Re: [U2] Universe Triggers

re. triggers  Raid,  I could not agree with Phil more.  Well said.
Come on, Rocket!

On 7/19/2013 1:32 AM, Phil Walker wrote:
 Ken,

 I am glad you raised the issue about debugging a program with a file which 
 has a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for 
 ages about fixing this pushing for the ability to be able to step into the 
 trigger code, but at a VERY MINIMUM being able to debug the program and 
 perform the write on the file, and in effect step over the trigger subroutine 
 and carry on debugging. The issue is the trigger subroutine cannot support 
 input, so what UV have done is basically say you are using the debugger so 
 you are inputting debug commands so you will abort. They need to turn this 
 restriction off for debugging so that either of the above two scenarios is 
 supported.

 In a Microsoft world I can debug anything through the connected world of 
 web/databases etc..

 Have had no feedback from UV

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
 Sent: Friday, 19 July 2013 9:48 a.m.
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Universe Triggers

 Dan,
 In addition to the other responses you have received, I suggest the following:
 1. Have one master file trigger subroutine (globally catalogued) that calls 
 subroutines (locally catalogued) tailored to individual files.  This means 
 you don't have to stop and restart Universe when a new trigger is required or 
 a change to an existing one.  If the master subroutine changes, you do have 
 to restart Universe.
 2. Use a control record that records the subroutine name and state of the 
 trigger for each file having a trigger.
 3. Use a program to change the state of a trigger, using the control records 
 in 2 above.
 4. Make sure all background processes that have a file with a trigger open 
 are logged out when recompiling the subroutine for that file trigger.
 5. Remember that you can't do anything to a file with an active trigger 
 whilst in the RAID debugger (it will crash).  Rather, if you are testing a 
 file trigger subroutine, drop the trigger and use a trigger testing program 
 that calls the subroutine after taking a copy of the record being changed, 
 pausing whilst you change it in another session, and then resuming, calling 
 the subroutine.

 If you would like samples of any of the software mentioned above, let me 
 know, and I can send them to you.

 Regards,
 Ken Ford
 Universe Software Developer
 t 07 3013 8605 | f 07 3002 8400
 e ken.f...@firstmac.com.au | w firstmac.com.au

___
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] [UD] BASIC Code Failing

2013-07-26 Thread dale kelley
This is all very interesting to hear.  I have a customer who has 
occasional instances when they complain that a supply receipt has failed 
to update the last receipt fields.  This is the code:


0092: 
***

0093: 7000:* UPDATE SUPPLIES
0094: 
***

0095: SUPKEY = POLREC2
0096: GOSUB 7300   * reads suprec
0097: IF SUPREC EQ  THEN
0098:RETURN
0099: END
0100: SUPREC16,1 = SUPREC16,1 + OCONV(POLREC13,RCPSUB,MD4)
0101: NEWQTY = 0
0102: LOCCNT = DCOUNT(SUPREC15,@VM)
0103: FOR LOCSUB = 1 TO LOCCNT
0104:NEWQTY = NEWQTY + SUPREC16,LOCSUB
0105: NEXT LOCSUB
0106: SUPREC3 = NEWQTY
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0108: SUPREC = INSERT(SUPREC,11,1,0,POLREC11,RCPSUB)
0109: SUPREC = INSERT(SUPREC,12,1,0,FIELD(POLKEY,.,1))
0110: SUPREC = INSERT(SUPREC,13,1,0,VNDKEY)
0111: GOSUB 7400* writes suprec
0112: RETURN
:

I have never been able to figure out why line 106 gets executed but 107 
- 110 do not.


My customer refers to it as the lawnmower man.

dale

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


Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread Israel, John R.
It is worth noting that lines 107 - 110 are all doing an INSERT.  The lines 
before and after do not.

I'm not sure what that may or may not point to, but it is worth noting.  Any 
chance that what they are inserting is the problem (i.e. POLREC and VNDKEY are 
null or something other than what you suspect)?

JRI

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of dale kelley
Sent: Friday, July 26, 2013 9:42 AM
To: U2 Users List
Subject: Re: [U2] [UD] BASIC Code Failing

This is all very interesting to hear.  I have a customer who has occasional 
instances when they complain that a supply receipt has failed to update the 
last receipt fields.  This is the code:

0092: 
***
0093: 7000:* UPDATE SUPPLIES
0094: 
***
0095: SUPKEY = POLREC2
0096: GOSUB 7300   * reads suprec
0097: IF SUPREC EQ  THEN
0098:RETURN
0099: END
0100: SUPREC16,1 = SUPREC16,1 + OCONV(POLREC13,RCPSUB,MD4)
0101: NEWQTY = 0
0102: LOCCNT = DCOUNT(SUPREC15,@VM)
0103: FOR LOCSUB = 1 TO LOCCNT
0104:NEWQTY = NEWQTY + SUPREC16,LOCSUB
0105: NEXT LOCSUB
0106: SUPREC3 = NEWQTY
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0108: SUPREC = INSERT(SUPREC,11,1,0,POLREC11,RCPSUB)
0109: SUPREC = INSERT(SUPREC,12,1,0,FIELD(POLKEY,.,1))
0110: SUPREC = INSERT(SUPREC,13,1,0,VNDKEY)
0111: GOSUB 7400* writes suprec
0112: RETURN
:

I have never been able to figure out why line 106 gets executed but 107
- 110 do not.

My customer refers to it as the lawnmower man.

dale

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://cp.mcafee.com/d/FZsScz8scCQmhP3P3yb3NKVJ6WarZQrFCzASzt5d-Waq9EVdEThjvKztCVJ6WapEVvpood79Kl8XUz458qmDm56RLzaIundEqmDm56RLzaIundImIejthvW_8IfecnpWZOWtTCujhKUepLORQr8EGTKVOEuvkzaT0QSyrhdTdTdw0PVkDjUCvzPqrp7w0e2qKMM-l9OwXn6QOXtfzgSSCnrFYq5O5mUm-wafBitfyp-fdFJAu00CS7TbCMnWhEwdbojjdbFEwdboj3ziWq81Ag60Qid40Bl3Ph0bX8-k29KVLbCN1DxO_sIf
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread Woodward, Bob
If this occasional problem is consistently the same lines then just
validate the insert afterwards:

0106.1 MV.CNT = DCOUNT(SUPREC2,@VM)
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0107.1 IF SUPREC2,1 NE POLREC6 THEN
0107.2MV.CNT2 = DCOUNT(SUPREC2,@VM)
0107.3IF MV.CNT = MV.CNT2 THEN GOSUB REPORT.ERROR
0107.4 END

With this logic, you're verifying the value and that a new value is, in
fact, being created in the attribute.  You may want to tweak the logic a
bit to match your exact specifics, like if POLREC6 is a non-null
value, but this should give you an idea.

BobW

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of dale kelley
Sent: Friday, July 26, 2013 6:42 AM
To: U2 Users List
Subject: Re: [U2] [UD] BASIC Code Failing

This is all very interesting to hear.  I have a customer who has
occasional instances when they complain that a supply receipt has failed
to update the last receipt fields.  This is the code:

0092: 
***
0093: 7000:* UPDATE SUPPLIES
0094: 
***
0095: SUPKEY = POLREC2
0096: GOSUB 7300   * reads suprec
0097: IF SUPREC EQ  THEN
0098:RETURN
0099: END
0100: SUPREC16,1 = SUPREC16,1 + OCONV(POLREC13,RCPSUB,MD4)
0101: NEWQTY = 0
0102: LOCCNT = DCOUNT(SUPREC15,@VM)
0103: FOR LOCSUB = 1 TO LOCCNT
0104:NEWQTY = NEWQTY + SUPREC16,LOCSUB
0105: NEXT LOCSUB
0106: SUPREC3 = NEWQTY
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0108: SUPREC = INSERT(SUPREC,11,1,0,POLREC11,RCPSUB)
0109: SUPREC = INSERT(SUPREC,12,1,0,FIELD(POLKEY,.,1))
0110: SUPREC = INSERT(SUPREC,13,1,0,VNDKEY)
0111: GOSUB 7400* writes suprec
0112: RETURN
:

I have never been able to figure out why line 106 gets executed but 107
- 110 do not.

My customer refers to it as the lawnmower man.

dale

___
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] [UD] BASIC Code Failing

2013-07-26 Thread dale kelley

Thanks Bob,

I'll try that validation, maybe even write SUPREC and read it back for 
another validation.  (It's a low intensity system.)  At least that way I 
could be telling them rather than them telling me!


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


Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread David A. Green
Intermittent data issues can be one of the hardest to debug.  One way that
has helped me out is to create a log file to log the transaction
information, then verify the data and when it is incorrect, send off an
email with the log file key to investigate.

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of dale kelley
Sent: Friday, July 26, 2013 9:32 AM
To: U2 Users List
Subject: Re: [U2] [UD] BASIC Code Failing

Thanks Bob,

I'll try that validation, maybe even write SUPREC and read it back for
another validation.  (It's a low intensity system.)  At least that way I
could be telling them rather than them telling me!

dale
___
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] [UD] BASIC Code Failing

2013-07-26 Thread Tony Gravagno
 From: Woodward, Bob 
 If this occasional problem is consistently the same lines then just
 validate the insert afterwards...

Dale, don't accept that solution. (Sorry Bob)

Note, we're still not really Sure yet that this is a good definition
of the problem, just a working theory...

Overall, the problem seems to be that some statements can't be trusted
to be executed - not specific statements or functions, but random
lines of code in different systems. The problem might not be something
wrong with the statements themselves but just where they happen to be
in the program. The issues might be fixed with some extra code, or by
putting the few lines in question into an internal subroutine just to
move the bytecode to a different location. But a solution like that
is random and subject to just moving the problem to an as yet unknown
and perhaps more critical location.

When you can't trust a line of code to be executed in a linear series
of statements the reliability of everything we do comes into question.
If this is indeed the problem, fixing it by writing work around code
isn't good for anyone here.

It's tough to call in Support when the problem is so vaguely defined
but having sat in the chair as a QA Manager and Product Manager for
a related product, I can tell you the resolution starts with finding
sites that seem to have this issue, assigning someone to the task of
gathering data and scheduling tests on the target systems, getting
engineers to verify the issue, and establishing a pattern from which a
problem can be diagnosed.

I don't know who has to initiate that with Rocket Software but I'd
assume it starts with paying clients filing formal requests with
Support and committing to follow-through toward a resolution. And
while re-compilation might indeed be the correct fix, don't accept a
tier-1 techie solution intended to just get you off the phone!

HTH
T

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


[U2] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread randyleesmith
I have a proc building several SORT reports and they are all going into a
Spooler. (For later and special processing.)

I have added a different kind of report (via code), but I need to have a
page break before and after it.

Is this possible?

PCL codes don't work. When dumped to PDF they just get printed and don't
effect the output.



-
I used to be an Optimist until I knocked over the glass.
--
View this message in context: 
http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380.html
Sent from the U2 - Users mailing list archive at Nabble.com.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread George Gallen
Did you try char(12)? ^L

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of randyleesmith
Sent: Friday, July 26, 2013 2:52 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] How can I Insert a Page Break in a Printer Spooler?

I have a proc building several SORT reports and they are all going into a
Spooler. (For later and special processing.)

I have added a different kind of report (via code), but I need to have a
page break before and after it.

Is this possible?

PCL codes don't work. When dumped to PDF they just get printed and don't
effect the output.



-
I used to be an Optimist until I knocked over the glass.
--
View this message in context: 
http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380.html
Sent from the U2 - Users mailing list archive at Nabble.com.
___
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] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread Wjhonson
Char 12 is the old school formfeed which has existed long before these young 
whipper snappers created PCL.

In addition, there is the BASIC command PAGE which you could probably execute 
at the top of your report that runs in code

 

 

 

-Original Message-
From: randyleesmith randyleesm...@roadrunner.com
To: u2-users u2-users@listserver.u2ug.org
Sent: Fri, Jul 26, 2013 11:52 am
Subject: [U2] How can I Insert a Page Break in a Printer Spooler?


I have a proc building several SORT reports and they are all going into a
Spooler. (For later and special processing.)

I have added a different kind of report (via code), but I need to have a
page break before and after it.

Is this possible?

PCL codes don't work. When dumped to PDF they just get printed and don't
effect the output.



-
I used to be an Optimist until I knocked over the glass.
--
View this message in context: 
http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380.html
Sent from the U2 - Users mailing list archive at Nabble.com.
___
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] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread George Gallen
The page might output that ^H^J or some combination like that - like @(-1) does.

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Friday, July 26, 2013 3:09 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] How can I Insert a Page Break in a Printer Spooler?

Char 12 is the old school formfeed which has existed long before these young 
whipper snappers created PCL.

In addition, there is the BASIC command PAGE which you could probably execute 
at the top of your report that runs in code

 

 

 

-Original Message-
From: randyleesmith randyleesm...@roadrunner.com
To: u2-users u2-users@listserver.u2ug.org
Sent: Fri, Jul 26, 2013 11:52 am
Subject: [U2] How can I Insert a Page Break in a Printer Spooler?


I have a proc building several SORT reports and they are all going into a
Spooler. (For later and special processing.)

I have added a different kind of report (via code), but I need to have a
page break before and after it.

Is this possible?

PCL codes don't work. When dumped to PDF they just get printed and don't
effect the output.



-
I used to be an Optimist until I knocked over the glass.
--
View this message in context: 
http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380.html
Sent from the U2 - Users mailing list archive at Nabble.com.
___
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
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] [UV] Do you avoid TRIGGERS because of the difficulty using DEBUG or RAID with them? Was: Universe Triggers

2013-07-26 Thread Charles Stevenson
How many people avoid using triggers BECAUSE of the virtual 
impossibility of using RAID with Triggers?


On 7/26/2013 12:33 PM, Phil Walker wrote:

I won't be holding my breath Charles ;-)

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson
Sent: Friday, 26 July 2013 9:22 p.m.
To: U2 Users List
Subject: Re: [U2] Universe Triggers

re. triggers  Raid,  I could not agree with Phil more.  Well said.
Come on, Rocket!

On 7/19/2013 1:32 AM, Phil Walker wrote:

Ken,

I am glad you raised the issue about debugging a program with a file which has 
a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for ages 
about fixing this pushing for the ability to be able to step into the trigger 
code, but at a VERY MINIMUM being able to debug the program and perform the 
write on the file, and in effect step over the trigger subroutine and carry on 
debugging. The issue is the trigger subroutine cannot support input, so what UV 
have done is basically say you are using the debugger so you are inputting 
debug commands so you will abort. They need to turn this restriction off for 
debugging so that either of the above two scenarios is supported.

In a Microsoft world I can debug anything through the connected world of 
web/databases etc..

Have had no feedback from UV

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
Sent: Friday, 19 July 2013 9:48 a.m.
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

Dan,
In addition to the other responses you have received, I suggest the following:
1. Have one master file trigger subroutine (globally catalogued) that calls 
subroutines (locally catalogued) tailored to individual files.  This means you 
don't have to stop and restart Universe when a new trigger is required or a 
change to an existing one.  If the master subroutine changes, you do have to 
restart Universe.
2. Use a control record that records the subroutine name and state of the 
trigger for each file having a trigger.
3. Use a program to change the state of a trigger, using the control records in 
2 above.
4. Make sure all background processes that have a file with a trigger open are 
logged out when recompiling the subroutine for that file trigger.
5. Remember that you can't do anything to a file with an active trigger whilst 
in the RAID debugger (it will crash).  Rather, if you are testing a file 
trigger subroutine, drop the trigger and use a trigger testing program that 
calls the subroutine after taking a copy of the record being changed, pausing 
whilst you change it in another session, and then resuming, calling the 
subroutine.

If you would like samples of any of the software mentioned above, let me know, 
and I can send them to you.

Regards,
Ken Ford
Universe Software Developer
t 07 3013 8605 | f 07 3002 8400
e ken.f...@firstmac.com.au | w firstmac.com.au




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


Re: [U2] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread randyleesmith
I've been coding for years and don’t think I ever used PAGE before. Or it’s
more like I've never needed to, or use it for a long time and well, you know
how that is. ;)

I've just got such an unusual situation I've been fighting for a while and
this might just be the last thing I needed.

Thanks!!




-
I used to be an Optimist until I knocked over the glass.
--
View this message in context: 
http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380p41385.html
Sent from the U2 - Users mailing list archive at Nabble.com.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread Woodward, Bob
Not a problem, Tony.  I never want someone to just blindly accept a
quick fix.  It would be great if manufacturer's would commit the kind of
resources you mention when I submit an intermittent/can't
replicate/seems to only be on my system type of problem, but my
experience is with this kind of one-off, small potato client's problem,
I'm lucky if I get a first-tier, new to their helpline, fresh out of
training rookie to even give me a call to verify if I knew what I was
saying.

To me, a work-around is far more desirable to try and gather more
information in the error reporting than to leave the situation as is
with nothing to give back to the system owner besides a shoulder shrug.
If the problem changes, this is as good a piece of information as any
that it's most likely not data related and that the problem really does
need the type of resources you mentioned.

As always, Tony, you have very good, valid information that you
generously share with everyone.  We all appreciate that of you.

BobW

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno
Sent: Friday, July 26, 2013 10:13 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] [UD] BASIC Code Failing

 From: Woodward, Bob
 If this occasional problem is consistently the same lines then just 
 validate the insert afterwards...

Dale, don't accept that solution. (Sorry Bob)

Note, we're still not really Sure yet that this is a good definition of
the problem, just a working theory...

Overall, the problem seems to be that some statements can't be trusted
to be executed - not specific statements or functions, but random lines
of code in different systems. The problem might not be something wrong
with the statements themselves but just where they happen to be in the
program. The issues might be fixed with some extra code, or by putting
the few lines in question into an internal subroutine just to move the
bytecode to a different location. But a solution like that is random
and subject to just moving the problem to an as yet unknown and perhaps
more critical location.

When you can't trust a line of code to be executed in a linear series of
statements the reliability of everything we do comes into question.
If this is indeed the problem, fixing it by writing work around code
isn't good for anyone here.

It's tough to call in Support when the problem is so vaguely defined but
having sat in the chair as a QA Manager and Product Manager for a
related product, I can tell you the resolution starts with finding sites
that seem to have this issue, assigning someone to the task of gathering
data and scheduling tests on the target systems, getting engineers to
verify the issue, and establishing a pattern from which a problem can be
diagnosed.

I don't know who has to initiate that with Rocket Software but I'd
assume it starts with paying clients filing formal requests with Support
and committing to follow-through toward a resolution. And while
re-compilation might indeed be the correct fix, don't accept a
tier-1 techie solution intended to just get you off the phone!

HTH
T

___
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] [UV] Do you avoid TRIGGERS because of the difficulty using DEBUG or RAID with them? Was: Universe Triggers

2013-07-26 Thread Phil Walker
I know we use them, but whenever one of the programmers wants to debug a 
program they take them off, which causes us other problems as we have processes 
which rely on the trigger output.

This would be my biggest beef with UV at the moment.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson
Sent: Saturday, 27 July 2013 7:32 a.m.
To: U2 Users List
Subject: [U2] [UV] Do you avoid TRIGGERS because of the difficulty using DEBUG 
or RAID with them? Was: Universe Triggers

How many people avoid using triggers BECAUSE of the virtual impossibility of 
using RAID with Triggers?

On 7/26/2013 12:33 PM, Phil Walker wrote:
 I won't be holding my breath Charles ;-)

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles 
 Stevenson
 Sent: Friday, 26 July 2013 9:22 p.m.
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers

 re. triggers  Raid,  I could not agree with Phil more.  Well said.
 Come on, Rocket!

 On 7/19/2013 1:32 AM, Phil Walker wrote:
 Ken,

 I am glad you raised the issue about debugging a program with a file which 
 has a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for 
 ages about fixing this pushing for the ability to be able to step into the 
 trigger code, but at a VERY MINIMUM being able to debug the program and 
 perform the write on the file, and in effect step over the trigger 
 subroutine and carry on debugging. The issue is the trigger subroutine 
 cannot support input, so what UV have done is basically say you are using 
 the debugger so you are inputting debug commands so you will abort. They 
 need to turn this restriction off for debugging so that either of the above 
 two scenarios is supported.

 In a Microsoft world I can debug anything through the connected world of 
 web/databases etc..

 Have had no feedback from UV

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
 Sent: Friday, 19 July 2013 9:48 a.m.
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Universe Triggers

 Dan,
 In addition to the other responses you have received, I suggest the 
 following:
 1. Have one master file trigger subroutine (globally catalogued) that calls 
 subroutines (locally catalogued) tailored to individual files.  This means 
 you don't have to stop and restart Universe when a new trigger is required 
 or a change to an existing one.  If the master subroutine changes, you do 
 have to restart Universe.
 2. Use a control record that records the subroutine name and state of the 
 trigger for each file having a trigger.
 3. Use a program to change the state of a trigger, using the control records 
 in 2 above.
 4. Make sure all background processes that have a file with a trigger open 
 are logged out when recompiling the subroutine for that file trigger.
 5. Remember that you can't do anything to a file with an active trigger 
 whilst in the RAID debugger (it will crash).  Rather, if you are testing a 
 file trigger subroutine, drop the trigger and use a trigger testing program 
 that calls the subroutine after taking a copy of the record being changed, 
 pausing whilst you change it in another session, and then resuming, calling 
 the subroutine.

 If you would like samples of any of the software mentioned above, let me 
 know, and I can send them to you.

 Regards,
 Ken Ford
 Universe Software Developer
 t 07 3013 8605 | f 07 3002 8400
 e ken.f...@firstmac.com.au | w firstmac.com.au


___
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] [UD] BASIC Code Failing

2013-07-26 Thread dale kelley
Tony made a key qualification in his suggestion, paying customer.  In 
this case, the system has been unupgraded for 7 and unsupported for 6 
years.  (With this exception UniVerse is just so dependable!)  I've 
noticed that hard to track problems just become albatrosses around the 
customer service persons neck and smells worse and worse as the ticket 
ages on their supervisors daily report.   The customer is just a small 
county highway department.  I'm going to do 2 things; put in the 
validation(s) and build a little repair screen that lets them take their 
exception report and correct the last info.  This is the first time 
I've even had any plan for it except a log file which has reflected nothing.


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


Re: [U2] How can I Insert a Page Break in a Printer Spooler?

2013-07-26 Thread Jo Lester
If you use the SETPTR command you can use STARTPAGE and EJECT as options 
to add a form-feed before and after a report.

SETPTR ,, STARTPAGE 2, EJECT

set it back to your standard when finished with the unusual situation.

SETPTR ,, STARTPAGE 0, NEJECT



 Date: Fri, 26 Jul 2013 12:36:43 -0700
 From: randyleesm...@roadrunner.com
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] How can I Insert a Page Break in a Printer Spooler?
 
 I've been coding for years and don’t think I ever used PAGE before. Or it’s
 more like I've never needed to, or use it for a long time and well, you know
 how that is. ;)
 
 I've just got such an unusual situation I've been fighting for a while and
 this might just be the last thing I needed.
 
 Thanks!!
 
 
 
 
 -
 I used to be an Optimist until I knocked over the glass.
 --
 View this message in context: 
 http://u2-universe-unidata.1073795.n5.nabble.com/How-can-I-Insert-a-Page-Break-in-a-Printer-Spooler-tp41380p41385.html
 Sent from the U2 - Users mailing list archive at Nabble.com.
 ___
 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] [UD] BASIC Code Failing

2013-07-26 Thread Charlie Noah

Tony,

I think Bob may have a good troubleshooting technique here. It would be 
simple to eliminate causes. Line 107 has a couple of potential problems:


0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)

I have seen these 3 situations in more than 1 MV implementation/flavor -

1. If POLREC6 is null, an empty value won't be inserted, throwing 
associated values out of sync. Fix by prefixing or suffixing POLREC6 
with a character that won't be in the data, then converting it out later.


2. INSERT sometimes doesn't like delimited source. Fix by moving 
POLREC6 to a variable and inserting that.


3. If POLREC6 has multivalues itself, that presents a whole different 
problem. Check it first.


All these things can be checked in a little test program in just a few 
minutes, and a safer coding technique used.


Charlie

If this occasional problem is consistently the same lines then just
validate the insert afterwards:

0106.1 MV.CNT = DCOUNT(SUPREC2,@VM)
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0107.1 IF SUPREC2,1 NE POLREC6 THEN
0107.2MV.CNT2 = DCOUNT(SUPREC2,@VM)
0107.3IF MV.CNT = MV.CNT2 THEN GOSUB REPORT.ERROR
0107.4 END

With this logic, you're verifying the value and that a new value is, in
fact, being created in the attribute.  You may want to tweak the logic a
bit to match your exact specifics, like if POLREC6 is a non-null
value, but this should give you an idea.


Tiny Bear's Wild Bird Store
Home of Safety Net Shipping
http://www.TinyBearWildBirdStore.com
Toll Free: 1-855-TinyBear (855-846-9232)

On 07-26-2013 12:13 PM, Tony Gravagno wrote:

From: Woodward, Bob
If this occasional problem is consistently the same lines then just
validate the insert afterwards...

Dale, don't accept that solution. (Sorry Bob)

Note, we're still not really Sure yet that this is a good definition
of the problem, just a working theory...

Overall, the problem seems to be that some statements can't be trusted
to be executed - not specific statements or functions, but random
lines of code in different systems. The problem might not be something
wrong with the statements themselves but just where they happen to be
in the program. The issues might be fixed with some extra code, or by
putting the few lines in question into an internal subroutine just to
move the bytecode to a different location. But a solution like that
is random and subject to just moving the problem to an as yet unknown
and perhaps more critical location.

When you can't trust a line of code to be executed in a linear series
of statements the reliability of everything we do comes into question.
If this is indeed the problem, fixing it by writing work around code
isn't good for anyone here.

It's tough to call in Support when the problem is so vaguely defined
but having sat in the chair as a QA Manager and Product Manager for
a related product, I can tell you the resolution starts with finding
sites that seem to have this issue, assigning someone to the task of
gathering data and scheduling tests on the target systems, getting
engineers to verify the issue, and establishing a pattern from which a
problem can be diagnosed.

I don't know who has to initiate that with Rocket Software but I'd
assume it starts with paying clients filing formal requests with
Support and committing to follow-through toward a resolution. And
while re-compilation might indeed be the correct fix, don't accept a
tier-1 techie solution intended to just get you off the phone!

HTH
T

___
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] [UD] BASIC Code Failing

2013-07-26 Thread dale kelley

On 07/26/2013 04:37 PM, Charlie Noah wrote:

Tony,

I think Bob may have a good troubleshooting technique here. It would 
be simple to eliminate causes. Line 107 has a couple of potential 
problems:


0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)

I have seen these 3 situations in more than 1 MV implementation/flavor -

1. If POLREC6 is null, an empty value won't be inserted, throwing 
associated values out of sync. Fix by prefixing or suffixing POLREC6 
with a character that won't be in the data, then converting it out later.
POLREC6 is the unit price of the line item.  When it was entered 
earlier or just now on the fly, my input routine required numeric and I 
filter for unprintables.  So they can't get to receiving without a 
numeric price, though it could be zero.


2. INSERT sometimes doesn't like delimited source. Fix by moving 
POLREC6 to a variable and inserting that.

I can try this.  The intermittence is still troubling.


3. If POLREC6 has multivalues itself, that presents a whole 
different problem. Check it first.


Should not be possible unless I've stepped on it through miscoding in 
some other programs.


All these things can be checked in a little test program in just a few 
minutes, and a safer coding technique used.


Charlie


Thanks

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


Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread Robert
Could you post the entire program in case there are the frame boundary 
issues that Tony talked about?


Thanks,

Robert Norman
ROBERT NORMAN AND ASSOCIATES
23441 Golden Springs Dr., #289, Diamond Bar, CA 91765
(951) 541-1668
i...@keyway.net mailto:i...@keyway.net
http://users.keyway.net/~ice/ http://users.keyway.net/%7Eice/
Affordable UNIVERSE programming services for PICK/BASIC, DATA/BASIC, 
UniVerse

Basic, UniBasic, R/BASIC, jBC.

On 7/26/2013 6:41 AM, dale kelley wrote:
This is all very interesting to hear.  I have a customer who has 
occasional instances when they complain that a supply receipt has 
failed to update the last receipt fields. This is the code:


0092: 
***

0093: 7000:* UPDATE SUPPLIES
0094: 
***

0095: SUPKEY = POLREC2
0096: GOSUB 7300   * reads suprec
0097: IF SUPREC EQ  THEN
0098:RETURN
0099: END
0100: SUPREC16,1 = SUPREC16,1 + OCONV(POLREC13,RCPSUB,MD4)
0101: NEWQTY = 0
0102: LOCCNT = DCOUNT(SUPREC15,@VM)
0103: FOR LOCSUB = 1 TO LOCCNT
0104:NEWQTY = NEWQTY + SUPREC16,LOCSUB
0105: NEXT LOCSUB
0106: SUPREC3 = NEWQTY
0107: SUPREC = INSERT(SUPREC,2,1,0,POLREC6)
0108: SUPREC = INSERT(SUPREC,11,1,0,POLREC11,RCPSUB)
0109: SUPREC = INSERT(SUPREC,12,1,0,FIELD(POLKEY,.,1))
0110: SUPREC = INSERT(SUPREC,13,1,0,VNDKEY)
0111: GOSUB 7400* writes suprec
0112: RETURN
:

I have never been able to figure out why line 106 gets executed but 
107 - 110 do not.


My customer refers to it as the lawnmower man.

dale

___
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