$FunSkip: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (UL Interface becomes SOUL Interface)
 
(11 intermediate revisions by 4 users not shown)
Line 2: Line 2:
<span class="pageSubtitle">Skip to next output record for $FunImg, $FunsStr</span>
<span class="pageSubtitle">Skip to next output record for $FunImg, $FunsStr</span>


This skips the current ''[[Fast/Unload]]'' output record for a request so that subsequent [[$FunImg]] and [[$FunsStr]] calls will operate on the next record.  
This skips the current <var class="product">[[Fast/Unload]]</var> output record for a request, so subsequent <var>[[$FunImg]]</var> and <var>[[$FunsStr]]</var> calls operate on the next record.  


The <var>$FunSkip</var> function accepts one argument and returns a numeric result.  
The <var>$FunSkip</var> function accepts one argument and returns a numeric result.  
==Syntax==
<p class="syntax"><span class="term">%result</span> = <span class="literal">$FunSkip</span>(<span class="term">req_num</span>)</p>


The only argument is the request identifier returned by <var>$FunLoad</var> for the request from which data is to be retrieved. This is a required argument.
The only argument is the request identifier returned by <var>$FunLoad</var> for the request from which data is to be retrieved. This is a required argument.
==Syntax==
<p class="syntax"><section begin="syntax" />%result = $FunSkip(req_num)
<section end="syntax" /></p>
<p>
<p>
</p>
<var class="term">%result</var> is set to either of these:</p>
<p class="caption">%result is set to 1, or it is set to an error code if there is no record to skip.</p>
<ul>
<p class="code">  
<li>1</li>
  1 - Record skipped
 
  0 - Fast/Unload completed with return code 0; no more data
<li>An error code, if there is no record to skip:
  -1 - Request not found
<p class="code"> 1 &mdash; Record skipped
<-1 - Fast/Unload completed with non-zero return code, value
  0 &mdash; Fast/Unload completed with return code 0; no more data
        returned is negative of return code; no more data
-1 &mdash; Request not found
</p>
<-1 &mdash; Fast/Unload completed with non-zero return code, value
<p class="caption">$FunSkip Error Codes
      returned is negative of return code; no more data </p></li>
</p>
</ul>


If ''[[Fast/Unload]]'' has not unloaded any records yet, <var>$FunSkip</var> will wait for the first record. If <var>$FunSkip</var> returns a value less than or equal to 0, the request has completed.  
==Usage notes==
<ul>
<li>If <var class="product">Fast/Unload</var> has not unloaded any records yet, <var>$FunSkip</var> waits for the first record. If <var>$FunSkip</var> returns a value less than or equal to 0, the request has completed. </li>


<var>$FunSkips</var> can be mixed with [[$FunsStr]] and [[$FunImg]] calls for the same request. In addition, multiple unloads can be performed simultaneously with <var>$FunSkip</var> calls for the different requests mixed freely.  
<li><var>$FunSkips</var> can be mixed with <var>$FunsStr</var> and <var>$FunImg</var> calls for the same request. In addition, multiple unloads can be performed simultaneously with <var>$FunSkip</var> calls for the different requests mixed freely. </li>
</ul>


The following example compares the first two bytes of each unloaded record with 'XX'. If they are equal, the record is copied into image 'IMAGE' and then processed; otherwise the record is simply skipped.
==Example==
<p class="code"> %REQ = $FunLoad('DATA', , , '*')
The following example compares the first two bytes of each unloaded record with <code>XX</code>. If they are equal, the record is copied into image <code>IMAGE</code> and then processed; otherwise the record is simply skipped.
IF %REQ LE 0 THEN
<p class="code">%REQ = $FunLoad('DATA', , , '*')
STOP
IF %REQ LE 0 THEN
END IF
STOP
END IF
%RC = 1
REPEAT WHILE %RC > 0
%TEST = $FunsStr( %REQ, 1, 2)
IF %TEST EQ 'XX' THEN
%RC = $FunImg( %REQ, %IMAGE:ITEM )
CALL PROCESS
ELSE
%RC = $FunSkip
END IF
END REPEAT
   
   
%RC = 1
REPEAT WHILE %RC > 0
%TEST = $FunsStr( %REQ, 1, 2)
IF %TEST EQ 'XX' THEN
%RC = $FunImg( %REQ, %IMAGE:ITEM )
CALL PROCESS
ELSE
%RC = $FunSkip
END IF
END REPEAT
</p>
</p>
<p class="code">


<h2>Products authorizing {{PAGENAMEE}}</h2><ul class="smallAndTightList">
==Products authorizing {{PAGENAMEE}}==
<li>[[Fast/Unload User Language Interface]]
<ul class="smallAndTightList">
<li>[[Fast/Unload SOUL Interface]]
</ul>
</ul>
</p>
<p>
</p>


[[Category:$Functions|$FunSkip]]
[[Category:$Functions|$FunSkip]]
[[Category:Fast/Unload User Language Interface]]
[[Category:Fast/Unload SOUL Interface]]

Latest revision as of 20:17, 16 March 2015

Skip to next output record for $FunImg, $FunsStr

This skips the current Fast/Unload output record for a request, so subsequent $FunImg and $FunsStr calls operate on the next record.

The $FunSkip function accepts one argument and returns a numeric result.

Syntax

%result = $FunSkip(req_num)

The only argument is the request identifier returned by $FunLoad for the request from which data is to be retrieved. This is a required argument.

%result is set to either of these:

  • 1
  • An error code, if there is no record to skip:

    1 — Record skipped 0 — Fast/Unload completed with return code 0; no more data -1 — Request not found <-1 — Fast/Unload completed with non-zero return code, value returned is negative of return code; no more data

Usage notes

  • If Fast/Unload has not unloaded any records yet, $FunSkip waits for the first record. If $FunSkip returns a value less than or equal to 0, the request has completed.
  • $FunSkips can be mixed with $FunsStr and $FunImg calls for the same request. In addition, multiple unloads can be performed simultaneously with $FunSkip calls for the different requests mixed freely.

Example

The following example compares the first two bytes of each unloaded record with XX. If they are equal, the record is copied into image IMAGE and then processed; otherwise the record is simply skipped.

%REQ = $FunLoad('DATA', , , '*') IF %REQ LE 0 THEN STOP END IF %RC = 1 REPEAT WHILE %RC > 0 %TEST = $FunsStr( %REQ, 1, 2) IF %TEST EQ 'XX' THEN %RC = $FunImg( %REQ, %IMAGE:ITEM ) CALL PROCESS ELSE %RC = $FunSkip END IF END REPEAT

Products authorizing $FunSkip