Losing a Read Chain pointer in a While Retrieving
Penney, John
resolutebay at yahoo.com
Fri Feb 26 14:53:29 CST 2010
Listers:
Challenge solved.
Removed GENERIC USING "@" from ACCESS statement
created a temp T_PAT_RET CHAR*10
Added LET T_PAT_RET = "@" before the While retrieving
Modified the While retrieving to "VIA PATIENT ID using T_PAT_RET"
And that is all I needed. I also move the COMMITs from the individual Put procedures to the calling routine just before the "return" statement when exiting to the calling program.
Thanks to all for suggestions and ideas.
Sincerely,
John M Penney
1532 Fern Street SW
Olympia, WA 98502
(360)789-8159
----- Original Message -----
From: Penney, John
To: power-l
Sent: Friday, February 26, 2010 12:20 AM
Subject: Losing a Read Chain pointer in a While Retrieving
Dear Listers:
I am losing somehow a read chain within a while-retrieving loop- the first row gets processed, I do some updates, then it's off to la-la land and the program exits, while there are more records on the input table to process.. Doh!
Will freely admit that I cribbed a whole whack of code because of the need to get this out....And also state that the "TRANSACTION" and some of the syntax is not exactly a familiar path.
I have the following code:
SCREEN EXE:CTS_XXXXXXX &
NOMODE FROM 22,1 TO 24,80 &
ACTION LABEL &
"CTS_XXXXXXX Error. Press [PF4]/[PgUp] to Continue" &
AT 3,10 &
TRANSACTION MODEL CONCURRENCY
TRANSACTION READ_ONLY READ ONLY READ COMMITTED
FILE ESPS_XXXX IN GLBL_DATABASE DESIGNER &
TRANSACTION READ_ONLY FOR QUERY,PROCESS,UPDATE
ACCESS VIA PATIENT_ID GENERIC USING "@"
FILE ESPS_YYYY_ERRORS DESIGNER &
TRANSACTION TRANS_WRITE FOR UPDATE
FILE ZZZZ IN GLBL_DATABASE PRIMARY &
TRANSACTION UPDATE FOR QUERY,PROCESS,UPDATE
ACCESS VIA PATIENT_ID
FILE AAAA_EVAL_DATA_HEMO IN GLBL_DATABASE SECONDARY NOITEMS &
TRANSACTION UPDATE FOR QUERY,PROCESS,UPDATE
ACCESS VIA PATIENT_ID USING PATIENT_ID OF ZZZZ
FILE ZZZZ_HST IN GLBL_DATABASE ALIAS HST_PAT_NEW SECONDARY &
TRANSACTION UPDATE FOR QUERY,PROCESS,UPDATE
Procedure code is:
PROCEDURE INITIALIZE
BEGIN
ROLLBACK TRANSACTION QUERY
ROLLBACK TRANSACTION UPDATE
WHILE RETRIEVING ESPS_XXXX
BEGIN
LET T_RECINP = T_RECINP + 1
DO INTERNAL PROCESS_PART_ROWS
END
;;
;; Output Program Statistics:
;;
;; This Procedure writes a Statistics report of rows read from ESPS_XXXX
;; Table and processed/rejected:
;;
Everything works like the proverbial charm for the first row- all updates and commits take place in INTERNAL PROCESS_PART_ROWS, everybody's apparently happy, but using DEBUG it just goes to sleep after retrieving that first row on ESPS_XXXX....I do 3 "PUT's" and a commit, and zzzzzz. Exit to OS.
Box=HP Alpha
PH=QDESIGN710G
Rdb:Oracle Rdb SQL V7.2-351
I can think of workarounds, but this shouldn't be rocket science, eh?
Tell me it ain't so..
Go Canada Go!
John M Penney
1532 Fern Street SW
Olympia, WA 98502
(360)789-8159
--
= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Mailing list: powerh-l at lists.sowder.com
Subscribe: 'subscribe' in message body to powerh-l-request at lists.sowder.com
Unsubscribe: 'unsubscribe <password>' in message body to powerh-l-request at lists.sowder.com
http://lists.sowder.com/mailman/listinfo/powerh-l
This list is closed, thus to post to the list you must be a subscriber.
Add 'site:lists.sowder.com powerh-l' to your search terms to search the list archive at Google.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sowder.com/pipermail/powerh-l/attachments/20100226/044f576f/attachment.htm
More information about the powerh-l
mailing list