ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaki_5.4.0.1/rzakipointer.htm

137 lines
9.3 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Work with pointers in journal entries" />
<meta name="abstract" content="Under certain conditions, not all of the journal entry data will be immediately retrievable from a journal entry. Instead, part of the journal entry information will include pointers to additional journal entry-specific data." />
<meta name="description" content="Under certain conditions, not all of the journal entry data will be immediately retrievable from a journal entry. Instead, part of the journal entry information will include pointers to additional journal entry-specific data." />
<meta name="DC.Relation" scheme="URI" content="rzakiwrkjrninfo.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakirqstblckmode.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakirtvjrnentry.htm" />
<meta name="DC.Relation" scheme="URI" content="../apis/QJORJRNE.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/rcvjrne.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakifinder.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/dltjrnrcv.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakideletercv.htm" />
<meta name="DC.Relation" scheme="URI" content="../apis/QJODLTPH.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzakipointer" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Work with pointers in journal entries</title>
</head>
<body id="rzakipointer"><a name="rzakipointer"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Work with pointers in journal entries</h1>
<div><p>Under certain conditions, not all of the journal entry data will
be immediately retrievable from a journal entry. Instead, part of the journal
entry information will include pointers to additional journal entry-specific
data.</p>
<p>These pointers will only be retrieved if you use following:</p>
<ul><li><span class="apiname">Retrieve Journal Entries (QjoRetrieveJournalEntries)</span> API</li>
<li>The *TYPEPTR format on the <span class="cmdname">Receive Journal Entry (RCVJRNE)</span> command</li>
<li>The *JRNENTFMT format on the <span class="cmdname">RCVJRNE</span> command (you must
also specify the RTNPTR parameter for the RCVJRNE command)</li>
</ul>
<p>In all other retrievals of journal entry data, *POINTER would be in the
field where a pointer could exist. An incomplete data indicator has been added
to indicate if the journal entry-specific data has data missing which can
only be retrieved through a pointer</p>
<p>If the <span class="apiname">QjoRetrieveJournalEntries</span> API or the *TYPEPTR
or *JRNENTFMT format on <span class="cmdname">RCVJRNE</span> command is used and the
incomplete data indicator field is 1, the journal entry-specific data will
contain pointers. For all other interfaces, if the incomplete data indicator
is 1, the journal entry-specific data will have the character string *POINTER
in the field where an actual pointer would be placed if the API or *TYPEPTR
or *JRNENTFMT interfaces were used. The incomplete data indicator field could
be set to 1 if the journal entry-specific data exceeds 32766 bytes, or if
the journal entry is associated with a database file which has one or more
fields of data type BLOB (binary large object), CLOB (character large object),
or DBCLOB (double-byte character large object). Use the Journal entry information
finder to find which journal entry types can set the incomplete data indicator
on.</p>
<p>These pointers can only be used with the V4R4M0 and later versions of the
following languages:</p>
<ul><li>ILE/COBOL</li>
<li>ILE/RPG</li>
<li>ILE/C if the TERASPACE parameter is used when compiling the program. See <a href="../books/sc092712.pdf" target="_blank">WebSphere<sup>®</sup> Development
Studio ILE C/C++ Programmer's Guide</a> for information about using the
TERASPACE parameter.</li>
</ul>
<p>There are some considerations you need to be aware of when using the pointer
data:</p>
<ul><li>The pointer can only be used by the process or job which retrieved or
received the journal entry which contained the pointer. The pointer cannot
be passed on to another job, nor can it be stored to use at a later date by
a different job or process.</li>
<li>The pointer will only give you read access to the additional data. Write
operations to that pointer are not allowed.</li>
<li>The data that is being pointed to actually resides in the journal receiver.
Therefore, ensure that you protect the journal receiver from deletion until
you use the data. To prevent a journal receiver from being deleted before
the data is used, you can register an exit point for the <span class="cmdname">Delete Journal
Receiver (DLTJRNRCV)</span> command.</li>
<li>For files with fields of data type BLOB (binary large object), CLOB (character),
or DBCLOB (double-byte character large object), use SQL to update the files.
</li>
</ul>
<p>If any journal entries are returned with pointers, the journal entry will
also contain a pointer handle. This pointer handle must be used to free up
any allocations associated with the pointer data once the pointer data has
been used. The considerations for this pointer handle are as follows:</p>
<ul><li>Using the pointer data means any of the following: <ul><li>Addressing the information and copying the addressed data to another object</li>
<li>Using the journal entry-specific data directly to modify another object.
For example, using the data to update a database file with the journal entry
which represents a database record update for a file which included LOBs.</li>
<li>Ignoring the additional data that is pointed to</li>
</ul>
</li>
<li>If you used the <span class="apiname">QjoRetrieveJournalEntries</span> API, use
the <span class="apiname">Delete Pointer Handle (QjoDeletePointerHandle)</span> API
to delete the pointer handle when you are done using it.</li>
<li>If you use the <span class="cmdname">RCVJRNE</span> command with the RTNPTR(*SYSMNG)
parameter, you must use the associated pointer prior to returning control
from the exit program. The system will delete all pointer handles after the
return from the exit program call.</li>
<li>If you use the <span class="cmdname">RCVJRNE</span> command with the RTNPTR(*USRMNG)
parameter, then it is your responsibility to use the <span class="apiname">Delete Pointer
Handle (QjoDeletePointerHandle)</span> API to delete the pointer handle
when you are done using it.</li>
</ul>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakiwrkjrninfo.htm" title="Provides ways that you can display, retrieve, and receive journal entries.">Work with journal entry information</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakirqstblckmode.htm" title="Use block mode to specify whether the system will be sending one or more journal entries to the exit program and specifies the block length of the buffer passed to the exit program.">Request block mode</a></div>
<div><a href="rzakirtvjrnentry.htm" title="Use the Retrieve Journal Entry (RTVJRNE) command or the Retrieve Journal Entries (QjoRetrieveJournalEntries) API in a program to retrieve a journal entry and place it in a variable in the program.">Retrieve journal entries in a program</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="rzakideletercv.htm" title="Journal receivers can quickly use a lot of auxiliary storage space. Therefore an important journal management task is to delete journal receivers after you no longer need them.">Delete journal receivers</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../apis/QJORJRNE.htm">Retrieve Journal Entries (QjoRetrieveJournalEntries) API</a></div>
<div><a href="../cl/rcvjrne.htm">Receive Journal Entry (RCVJRNE) command</a></div>
<div><a href="../cl/dltjrnrcv.htm">Delete Journal Receiver (DLTJRNRCV) command</a></div>
<div><a href="../apis/QJODLTPH.htm">Delete Pointer Handle (QjoDeletePointerHandle) API</a></div>
</div>
<div class="relinfo"><strong>Related information</strong><br />
<div><a href="rzakifinder.htm">Journal entry information finder</a></div>
</div>
</div>
</body>
</html>