<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=IFEFCC_%28HLI_function%29</id>
	<title>IFEFCC (HLI function) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=IFEFCC_%28HLI_function%29"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;action=history"/>
	<updated>2026-04-24T09:10:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=89157&amp;oldid=prev</id>
		<title>ELowell at 22:14, 12 July 2016</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=89157&amp;oldid=prev"/>
		<updated>2016-07-12T22:14:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:14, 12 July 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The conventions used on this page are described in [[HLI: Function &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;call list&lt;/del&gt;#Function call notation conventions|Function call notation conventions]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The conventions used on this page are described in [[HLI: Function &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;summary&lt;/ins&gt;#Function call notation conventions|Function call notation conventions]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=88536&amp;oldid=prev</id>
		<title>ELowell at 21:18, 11 July 2016</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=88536&amp;oldid=prev"/>
		<updated>2016-07-11T21:18:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:18, 11 July 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The conventions used on this page are described in [[HLI: Function call list#Function call notation conventions|Function call notation conventions]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Summary==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=86889&amp;oldid=prev</id>
		<title>ELowell: Created page with &quot; ==Summary== &lt;dl&gt; &lt;dt&gt;Description&lt;/dt&gt; &lt;dd&gt;The IFEFCC call (EXAMINE FIELD CONSTRAINT CONFLICT) returns specific information about field values or record numbers that cause a f...&quot;</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=IFEFCC_(HLI_function)&amp;diff=86889&amp;oldid=prev"/>
		<updated>2016-07-06T22:04:19Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; ==Summary== &amp;lt;dl&amp;gt; &amp;lt;dt&amp;gt;Description&amp;lt;/dt&amp;gt; &amp;lt;dd&amp;gt;The IFEFCC call (EXAMINE FIELD CONSTRAINT CONFLICT) returns specific information about field values or record numbers that cause a f...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Description&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;The IFEFCC call (EXAMINE FIELD CONSTRAINT CONFLICT) returns specific information about field values or record numbers that cause a field constraint conflict using the IFSTOR, IFUPDT, or IFPUT HLI calls.&lt;br /&gt;
&amp;lt;p&amp;gt;IFEFCC is similar to the SOUL ON FCC statement and its related $functions.&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Thread type&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;multiple cursor IFSTRT, single cursor IFSTRT &amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;IFCALL function number&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;139&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;IFEFCC(RETCODE,FIELDNAME,VALUE,RECNUM,STATEMENT,OLD-VALUE,OLD-RECNUM,FILENAME)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Compile-only form&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;Not available&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Execute-only syntax&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;Not available&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specify the parameters in the syntax order shown above.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RETCODE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,i,r] The Model 204 return code is the required output parameter. The code is a binary integer value.&lt;br /&gt;
&amp;lt;p&amp;gt;If no field constraint conflict is found, IFEFCC returns an error code of 15.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;FIELDNAM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The field name is an optional output parameter that returns the name of the field in which the constraint violation occurred. In SOUL this name is available through $UPDFLD. The name is a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;VALUE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The value is an optional output parameter that returns the field value causing the constraint violation. In SOUL this value is available through $UPDVAL. The value is returned as a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RECNUM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The record number is an optional output parameter that returns the internal number of the record whose update causes the conflict. In SOUL this name is available through $UPDREC. This parameter is a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;STATEMENT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The statement is an optional output parameter that returns the type of update operation causing the conflict. In SOUL it is available through $UPDSTMT.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The possible values are:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Use&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;STORE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;For IFSTOR call&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ADD&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;When the field name(*) form is used in the IFUPDT call&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;INSERT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;When the field name(+&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt;) form is used in the IFUPDT call&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;CHANGE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;When the field name or field name(&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt;) form is used in the IFUPDT call&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter is a character string.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OLD-VALUE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The old value is an optional output parameter that, in the case of an AT-MOST-ONE violation, returns the value of the original field occurrence causing the constraint violation. Otherwise, it returns a blank. In SOUL this value is available through $UPDOVAL. The value is returned as a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OLD-RECNUM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The old record number is an optional output parameter that, in the case of a uniqueness violation, returns the internal record number of the record already containing the field=value pair. Otherwise, it returns a -1. In SOUL this name is available through $UNQREC. This parameter is a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;FILENAME&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[O,c,o] The file name is an optional output parameter that returns the name of the file in which the constraint violation occurred. In SOUL this name is available through $UPDFILE. The name is a character string.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use the IFEFCC call to determine the exact cause of a field constraint conflict when updating or storing data. Field constraint conflicts are caused when fields within a file violate either the UNIQUE or AT-MOST-ONE Model 204 field-level attribute.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A uniqueness conflict (return code 200) occurs when you try to store a non-unique field value (such as a duplicate telephone number) into a &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;. An AT-MOST-ONE conflict (return code 202) occurs when you try to store a second occurrence of a field into a &amp;lt;i&amp;gt;record&amp;lt;/i&amp;gt; (such as a HEIGHT or EYE_COLOR field).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about uniqueness and AT-MOST-ONE violations, see [[Field design#AT-MOST-ONE, REPEATABLE, and EXACTLY-ONE attributes|AT-MOST-ONE, REPEATABLE, and EXACTLY-ONE attributes]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Coding example (COBOL)==&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;WORKING-STORAGE SECTION.&lt;br /&gt;
01  CALL-ARGS.&lt;br /&gt;
    05  RETCODE     PIC 9(5) COMP SYNC.&lt;br /&gt;
    05  FIELDNAM    PIC X(255).&lt;br /&gt;
    05  VALUE       PIC X(255).&lt;br /&gt;
    05  RECNUM      PIC X(11).&lt;br /&gt;
    05  STATEMENT   PIC X(6).&lt;br /&gt;
    05  OLD-VALUE   PIC X(255).&lt;br /&gt;
    05  OLD-RECNUM  PIC X(11).&lt;br /&gt;
    05  FILENAME    PIC X(8) VALUE &amp;quot;FN1;&amp;quot;.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
PROCEDURE DIVISION.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
  CALL &amp;quot;IFEFCC&amp;quot; USING RETCODE, FIELDNAM, VALUE, RECNUM, STATEMENT, OLD-VALUE, OLD-RECNUM, FILENAME.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: HLI functions]]&lt;/div&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
</feed>