Re:Get storage

Discussion created by ca.portal.admin on Jul 22, 2009
Thanks to Tommy's and Peter's suggestion, I am now getting a clean
But I don't seem to be getting a valid pointer back at run time. Can
any= one provide a way to convert the pointer to a displayable format?
Or bette= r yet, some sample code that uses the pointer parameter for
""get scratch""?

I wish the storage interface had separate ""get"" and ""put"" commands, like
th= e scratch and queue interfaces do. I am having some difficulty
determining= which parameters apply to which situation.
IDMS 3rd-party providers forum


Re: Get storage
I cannot think of any thing but an assembler routine. If the only thing =
that varies is the length then it is pretty straight forward.
This sounds like a DAR to me.=20
Good Luck


From: IDMS Public Discussion Forum on behalf of Rozeboom, Kay [DAS]
Sent: Thu 23/07/2009 16:24
Subject: Re: Get storage

It may come to that. I'm not sure my assembler skills are up to it =
though. :-)

We have a situation here where user programs need to pass XML to and =
from some common routines. The size of the XML can vary from a few =
hundred bytes to infininitely large. We are currently using a work =
record for this purpose, which is the defined as the 32K (the maximum =
work record size). This is unsatisfactory for a couple of reasons:
- All of the user programs have to allocate the 32K in their working =
storage which wastes a lot of space in many cases.
- 32K is not enough in other cases. Some XML documents are so large =
that it's not practical to try to fit them into pre-defined program =

The XML parse and generate commands need to work on the entire XML =
document at once. So we can't break it up into pieces, which rules out =
scratch and queue records. Plus we need to keep it fairly simple, so as =
not put an undue burden on the programmers.

With a pointer and a length, you can define the storage field as one =
byte in the linkage section, and manipulate the data using offsets. =
This works great with the XML parse command. I have done something =
similar in CICS, but I had access to the pointer and length values =
there. I don't here.

I think an assembler program may be the only option. Other suggestions =
will be more than welcome!