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

111 lines
11 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?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="Request block mode" />
<meta name="abstract" content="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." />
<meta name="description" content="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." />
<meta name="DC.Relation" scheme="URI" content="rzakircvjrnentry.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakiexitjrnentry.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/rcvjrne.htm" />
<meta name="DC.Relation" scheme="URI" content="../apis/QJORJRNE.htm" />
<meta name="DC.Relation" scheme="URI" content="rzakipointer.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="rzakirqstblckmode" />
<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>Request block mode</title>
</head>
<body id="rzakirqstblckmode"><a name="rzakirqstblckmode"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Request block mode</h1>
<div><p>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.</p>
<p>When you request block mode, the system sends more than one journal entry to the exit program at a time. You can request block mode at any time. There are two ways that you can request block mode:</p>
<ul><li>Specify the BLKLEN parameter on the Receive Journal Entry (RCVJRNE) command</li>
<li>Specify <samp class="codeph">8</samp> for the value of the first byte of the second parameter of the exit program</li>
</ul>
<div class="section"><h4 class="sectiontitle">BLKLEN parameter of the RCVJRNE command</h4><p>When you specify the BLKLEN parameter of the RCVJRNE command you can select one of three values:</p>
<dl><dt class="dlterm">*NONE</dt>
<dd>At most one journal entry will be sent to the exit program.</dd>
<dt class="dlterm">*CALC</dt>
<dd> One or more journal entries will be passed to the exit program in a block. The length of the block passed (the first parameter passed to the exit program) is determined by the system and will be optimal.</dd>
<dt class="dlterm">block-length</dt>
<dd>Specify the length in kilobytes of the buffer passed to the exit program (EXITPGM parameter). Valid values range from 32 to 4000</dd>
</dl>
<p>If you specify BLKLEN(*CALC) or BLKLEN(block-length), specifying <samp class="codeph">8</samp> in the first byte of the second parameter will have no impact and the first 5 bytes of the first parameter
will be ignored.</p>
</div>
<div class="section"><h4 class="sectiontitle">Specify <samp class="codeph">8</samp> for the value of the first byte of the second parameter of the exit program</h4><p>When you specify <samp class="codeph">8</samp> for the value of the first byte of the
second parameter, you must specify the block length in the first 5 bytes of the first parameter as a zoned decimal (Zoned (5,0)) field. 99999 bytes is the maximum block size. After you have requested block
mode, the system remains in block mode until the RCVJRNE processing is ended.</p>
<p>If you request block mode and the system is already using block mode, your request is ignored. You cannot change the size
of the block from the size you specified when you first requested block mode.</p>
<p>Even if BLKLEN(*NONE) is specified, if you specify <samp class="codeph">8</samp> for the value of the first byte of the second parameter,
the system will use block mode.</p>
</div>
<div class="section" id="rzakirqstblckmode__HDRP1FMT"><a name="rzakirqstblckmode__HDRP1FMT"><!-- --></a><h4 class="sectiontitle">Format of the first Parameter</h4><p>If the specified entry format is not *TYPEPTR or *JRNENTFMT, and if you are using single-entry mode, the format of the first parameter
looks like the following figure:</p>
<p id="rzakirqstblckmode__FIGFPSEM"><a name="rzakirqstblckmode__FIGFPSEM"><!-- --></a><strong>First parameter of RCVJRNE command: Single-entry mode</strong></p>
<br /><img src="rzaki503.gif" longdesc="rzakidesc_5.htm" alt="Single-entry mode" /><br /><p><img src="c.gif" alt="Image description" /> </p>
<p>The first 5 bytes contains the length of the entry. The last 5 bytes contains all zeroes. The length of the entry does not include the 5 bytes of zeroes at
the end of the record.</p>
<p>If the specified entry format is not *TYPEPTR or *JRNENTFMT, and if you are using block mode, the format of the first parameter looks like the following figure:</p>
<p id="rzakirqstblckmode__FIGFPBM"><a name="rzakirqstblckmode__FIGFPBM"><!-- --></a><strong>First
parameter of RCVJRNE command: Block mode</strong></p>
<br /><img src="rzaki504.gif" longdesc="rzakidesc_6.htm" alt="Blockmode" /><br /><p><img src="c.gif" alt="Image description" /> </p>
<p>The first
5 bytes contains the total length of the block. This length includes the 5 bytes for the total block length, the 5 bytes of the End of Record field at the end of the block, and all of the length and data
fields in between. If no entry is being passed, this Block Length field contains zeroes. The block always ends with a 5-byte End of Record field containing zeroes.</p>
<p>If you specify BLKLEN(*NONE), then
the system fills the block with as many complete entries as it can fit within the block size that you specified. The system does not send a partial entry to fill the block size. If the specified entry format
is not *TYPEPTR or *JRNENTFMT, the maximum number of bytes that are available for the journal entries is 99989 bytes. 10 bytes in each block are reserved for the Block Length field and for the End of Record
field. If the specified entry format is *TYPEPTR or *JRNENTFMT, the maximum number of bytes that are available is 99999 bytes.</p>
<p>If you specify a block size that is not valid, the system begins block
mode but it sends only one journal entry per block. The system sends message CPD7095 to indicate that you have specified a block size that is not valid. If you specify a block size that is not valid or
too small for a single journal entry, the system still returns at least one journal entry to the exit program. If the specified entry format is *TYPEPTR or *JRNENTFMT, the block size must be at least 13
bytes to be considered valid.</p>
</div>
<div class="section" id="rzakirqstblckmode__HDRSNDREC"><a name="rzakirqstblckmode__HDRSNDREC"><!-- --></a><h4 class="sectiontitle">When the System Sends a Record</h4><p>When block mode is in effect, the system uses the following rules to determine when to call the exit program:</p>
<ul><li>If the block does not contain any entries but the next entry would exceed the maximum size for the block, then the entry is placed into the block. The exit program is called. The system always passes
at least one complete journal entry to the exit program.</li>
<li>If the next entry to be put into the block would exceed the maximum size for the block and the current block has entries in it, then the current block of entries is passed to the exit program.</li>
<li>If the current block has one or more entries in it and no additional entries in the journal meet the selection criteria, the current block of entries is passed to the exit program.</li>
</ul>
<p>When in block mode, the specification for the DELAY parameter is used only when the current block is empty and no entries are currently available to be returned to the exit program.</p>
</div>
<div class="section" id="rzakirqstblckmode__useentfmttypercvjrne"><a name="rzakirqstblckmode__useentfmttypercvjrne"><!-- --></a><h4 class="sectiontitle">Use ENTFMT(*TYPEPTR) or ENTFMT(*JRNENTFMT) with the RCVJRNE command</h4><p>If the specified entry format is *TYPEPTR or *JRNENTFMT, the layout of the journal
entry data is the same as the layout that is described in the QjoRetrieveJournalEntries API interface. The layout is the same for both single entry and block entry mode when you specify *TYPEPTR or *JRNENTFMT.</p>
<p>If
you specify *TYPEPTR, the format will be the same as the RJNE0100 format of the QjoRetrieveJournalEntries API.</p>
<p>When you specify *TYPEPTR or *JRNENTFMT, the journal entry data may have pointers that
will point to additional entry-specific data. See Work with pointers in journal entries for more information.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakircvjrnentry.htm" title="You can write a program to receive journal entries as they are written to the journal receiver.">Receive journal entries in an exit program</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rzakiexitjrnentry.htm" title="Use the parameters in this topic to determine how the exit program will receive journal entries.">Exit program to receive journal entries</a></div>
<div><a href="rzakipointer.htm" title="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.">Work with pointers in journal entries</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../cl/rcvjrne.htm">Receive Journal Entry (RCVJRNE) command</a></div>
<div><a href="../apis/QJORJRNE.htm">Retrieve Journal Entries (QjoRetrieveJournalEntries) API</a></div>
</div>
</div>
</body>
</html>