Failed "GET" in POSTFIND
Heasman, David
david.heasman@schroders.com
Fri, 30 May 2003 14:07:47 +0100
Hi there. This is HP3000 PH version 6.09, but I think it obtains everywhere.
I have a screen, called by another screen which passes a TEMP item, that's
the key to
the Primary file in the lower screen. It's called in MODE F
Now sometimes the Primary file has associated with it a file describing how
the
primary has been "split" into a number of sub-items that aren't on the
primary file.
Actually the TEMP item that keys the primary file defines the split ID too;
the
primary file is identified by the first 8 bytes, the split by the rest
It's required to retrieve the split details if they're there, but not if
they're not.
Here's the code : -
screen blah...
activities find...
Receiving &
T-STP-DEAL-ID
temp T-STP-DEAL-ID char * 14 reset at startup
define D-STP-DEAL-ID character size 8 = T-STP-DEAL-ID[1:8]
; here's the main file : -
file D-STP-ERROR-DEAL primary occurs 6 close open 1
access via STP-DEAL-ID using D-STP-DEAL-ID
;here's the "split" file : -
file SDC6000B designer occurs with D-STP-ERROR-DEAL
access via DEAL-ID-SPLIT using T-STP-DEAL-ID
select if STP-TRADE-DATE of SDC6000B = STP-TRADE-DATE of D-STP-ERROR-DEAL
So far so good.
When it comes to picking up split records and their values, I do this : -
procedure POSTFIND
begin
for D-STP-ERROR-DEAL
begin
get SDC6000B optional
if accessok
then begin
let T-CLT-ALLOC-QTY = CLT-ALLOC-QTY of SDC6000B
let T-CLT-NET-SETT-AMT = CLT-NET-SETT-AMT of SDC6000B
end
else begin
let T-CLT-ALLOC-QTY = &
CLT-ALLOC-QTY of D-STP-ERROR-DEAL
let T-CLT-NET-SETT-AMT = &
CLT-NET-SETT-AMT of D-STP-ERROR-DEAL
end
Now this works fine for splits; the correct fields display and everything.
However, when there *isn't* a split, and record SDC6000B isn't present the
retrieval of the Primary file doesn't happen : -
"No records were found matching index/selection values"
This is that old chestnut, where the GET for the designer file is in the
POSTFIND procedure,
and when ACCESS isn't OK the flag is set to say that the FIND has failed.
My problem is that this retrieval is required for the initial display on the
screen, those temps should show up
as the screen is entered. How on earth can I get this retrieval to work??
Dave, puzzled in Cheapside.
__________________________________________________________________
This message might contain confidential information. If it has been sent to you in error please do not forward it or copy it or act upon its contents, but report it to postmaster@schroders.com
Schroders has the right lawfully to record, monitor and inspect messages between its employees and any third party. Your messages shall be subject to such lawful supervision as Schroders deems to be necessary in order to protect its information, its interests and its reputation.
Schroders prohibits and takes steps to prevent its information systems from being used to view, store or forward offensive or discriminatory material. If this message contains such material please report it to abuse@schroders.com
Schroders does not normally accept or offer business instructions via email. Any action that you might take upon this message might be at your own risk.
Schroder Investment Management Limited
31 Gresham Street
London EC2V 7QA
Authorised and regulated by the Financial Services Authority. Schroder Investment Management Limited is entered on the FSA register under the following register number: 119348
Registered Office
31 Gresham Street
London EC2V 7QA
Registered number 1893220
VAT registration number 243 8687 30