ibm-information-center/dist/eclipse/plugins/i5OS.ic.dbp_5.4.0.1/rbafoqrymapf.htm

100 lines
5.6 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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="reference" />
<meta name="DC.Title" content="Example 7: Select records using the Open Query File (OPNQRYF) command" />
<meta name="abstract" content="This example shows how to map fields for packed numeric data fields using the Open Query File (OPNQRYF) command." />
<meta name="description" content="This example shows how to map fields for packed numeric data fields using the Open Query File (OPNQRYF) command." />
<meta name="DC.Relation" scheme="URI" content="rbafodynsrsex.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rbafoqrymapf" />
<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>Example 7: Select records using the Open Query File (OPNQRYF) command</title>
</head>
<body id="rbafoqrymapf"><a name="rbafoqrymapf"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Example 7: Select records using the Open Query File (OPNQRYF) command</h1>
<div><p>This example shows how to map fields for packed numeric data fields
using the Open Query File (OPNQRYF) command. </p>
<div class="section"><p>Assume that you have a packed decimal <em>Date</em> field in the
format MMDDYY and you want to select all the records for the year 1988. You
cannot select records directly from a portion of a packed decimal field, but
you can use the MAPFLD parameter on the OPNQRYF command to create a new field
that you can then use for selecting part of the field.</p>
</div>
<div class="section"><p>The format of each mapped field definition is:</p>
</div>
<div class="section"><p>(result field 'expression' attributes)</p>
</div>
<div class="section"><div class="p">where: <dl><dt class="dlterm">result field</dt>
<dd>The name of the result field.</dd>
<dt class="dlterm">expression</dt>
<dd>How the result field should be derived. The expression can include substring,
other built-in functions, or mathematical statements.</dd>
<dt class="dlterm">attributes</dt>
<dd>The optional attributes of the result field. If no attributes are given
(or the field is not defined in a file), the OPNQRYF command calculates a
field attribute determined by the fields in the expression.</dd>
</dl>
</div>
</div>
<div class="example"> <pre>OVRDBF FILE(FILEA) SHARE(*YES)
OPNQRYF FILE(FILEA) QRYSLT('YEAR *EQ "88" ') +
MAPFLD((CHAR6 '%DIGITS(DATE)') +
(YEAR '%SST(CHAR6 5 2)' *CHAR 2))
CALL PGM(PGMC)
CLOF OPNID(FILEA)
DLTOVR FILE(FILEA)</pre>
</div>
<div class="section"><div class="p">In this example, if DATE was a date data type, it can be specified
as follows: <pre>OPNQRYF FILE(FILEA) +
QRYSLT ('YEAR *EQ 88') +
MAPFLD((YEAR '%YEAR(DATE)'))</pre>
</div>
</div>
<div class="section"><p>The first mapped field definition specifies that the <em>Char6</em> field
be created from the packed decimal <em>Date</em> field. The %DIGITS function
converts from packed decimal to character and ignores any decimal definitions
(that is, 1234.56 is converted to '123456'). Because no definition of the <em>Char6</em> field
is specified, the system assigns a length of 6. The second mapped field defines
the <em>Year</em> field as type *CHAR (character) and length 2. The expression
uses the substring function to map the last 2 characters of the <em>Char6</em> field
into the <em>Year</em> field.</p>
</div>
<div class="section"><div class="p">Note that the mapped field definitions are processed in the order
in which they are specified. In this example, the <em>Date</em> field was converted
to character and assigned to the <em>Char6</em> field. Then, the last two digits
of the <em>Char6</em> field (the year) were assigned to the <em>Year</em> field.
Any changes to this order would have produced an incorrect result.<div class="note"><span class="notetitle">Note:</span> Mapped
field definitions are always processed before the QRYSLT parameter is evaluated.</div>
</div>
</div>
<div class="section"><div class="p">You can accomplish the same result by specifying the substring
on the QRYSLT parameter and dropping one of the mapped field definitions as
follows:<pre>OPNQRYF FILE(FILEA) +
QRYSLT('%SST(CHAR6 5 2) *EQ "88" ') +
MAPFLD((CHAR6 '%DIGITS(DATE)'))</pre>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbafodynsrsex.htm" title="These topics provide examples of selecting records using the Open Query File (OPNQRYF) command.">Select records using the Open Query File (OPNQRYF) command</a></div>
</div>
</div>
</body>
</html>