<   GENERATEDINFO   ignoreCase = "true"   freeFormatting =   true   >


<TEXT><  TAG   name  =  "Package declaration" >package progs;<  /  TAG  >

<tag name="Import declarations">import data.*;</tag>

<Tag name="Program MyFirstBatchProgram"><Tag name="Program declaration">Program MyFirstBatchProgram Type BasicProgram</Tag>

	<Tag name="Files rows declarations"><Tag name="Current InFile1 row def">InFile1CurrentRow InFile1;</Tag>
	<Tag name="Current InFile2 row def">InFile2CurrentRow InFile2;</Tag>
	<Tag name="Current OutFile1 row def">OutFile1CurrentRow OutFile1;</Tag></Tag>

	<Tag name="Declarations for files selection"><Tag name="High value constant">const level1HighValue char(10) =</Tag> <  Tag   name  =  "High value"   ignoreCase  =  false  freeFormatting=  false  >&quot;ZZZZZZZZZZ&quot;<  /  Tag  ><Tag name="High value constant end">;</Tag></Tag>
	<Tag name="InFile1 select flag 1">isInFile1Level1Selected char(1);</Tag>
	<Tag name="InFile2 select flag 1">isInFile2Level1Selected char(1);</Tag></Tag>

	<Tag name="Main">function main()
		initialize();
		while ( endOfInput() != &quot;Y&quot; )
			processCurrentInput();
			fetchNextInput();
		end
		closeFiles();
	end</Tag>


	<Tag name="Initialize files">function initialize()
		<Tag name="Initializations"><Tag name="Initialize InFile1">initializeInFile1();</Tag>
		<Tag name="Initialize InFile2">initializeInFile2();</Tag></Tag>
	end</Tag>


	<Tag name="Initialize InFile1 function">function initializeInFile1()
		get next InFile1CurrentRow;
	end</Tag>


	<Tag name="Initialize InFile2 function">function initializeInFile2()
		get next InFile2CurrentRow;
	end</Tag>


	<Tag name="End of input">function endOfInput() returns (char(1))
		if ( <Tag name="EOF condition"><Tag name="Check InFile1 EOF">InFile1CurrentRow is endOfFile</Tag>
				<Tag name="Check InFile2 EOF">&amp;&amp; InFile2CurrentRow is endOfFile</Tag></Tag> )
			<Tag name="The end">return (&quot;Y&quot;);</Tag>
		else
			return (&quot;N&quot;);
		end
	end</Tag>


	<Tag name="Process Input">function processCurrentInput()
		<Tag name="Compute selections">calculateLevel1SelectedFlags();</Tag>
	end</Tag>


	<Tag name="Calculate selected flags 1">function calculateLevel1SelectedFlags()
		minLevel1 char(10) = calculateMinForLevel1();

		<Tag name="Set selected flag InFile1 1">if ( InFile1CurrentRow is endOfFile &amp;&amp; InFile1CurrentRow.custId == minLevel1 )
			<Tag name="Select InFile1 1">isInFile1Level1Selected = &quot;Y&quot;;</Tag>
		else
			<Tag name="Unselect InFile1 1">isInFile1Level1Selected = &quot;N&quot;;</Tag>
		end</Tag>

		<Tag name="Set selected flag InFile2 1">if ( InFile2CurrentRow is endOfFile &amp;&amp; InFile2CurrentRow.custId == minLevel1 )
			<Tag name="Select InFile2 1">isInFile2Level1Selected = &quot;Y&quot;;</Tag>
		else
			<Tag name="Unselect InFile2 1">isInFile2Level1Selected = &quot;N&quot;;</Tag>
		end</Tag>
	end</Tag>


	<Tag name="Calculate min 1">function calculateMinForLevel1()
		minLevel1 char(10) = level1HighValue;

		<Tag name="Check min InFile1 1">if ( InFile1CurrentRow is endOfFile &amp;&amp; InFile1CurrentRow.custId &lt; minLevel1 )
			minLevel1 = InFile1CurrentRow.custId;
		end</Tag>

		<Tag name="Check min InFile2 1">if ( InFile2CurrentRow is endOfFile &amp;&amp; InFile2CurrentRow.custId &lt; minLevel1 )
			minLevel1 = InFile2CurrentRow.custId;
		end</Tag>
	end</Tag>


	<Tag name="Fetch next input rows">function fetchNextInput()
		<Tag name="Fetch next for all input files"><Tag name="Fetch next selected InFile1">if ( isInFile1Level1Selected == &quot;Y&quot; )
			<Tag name="Call fetch next InFile1">fetchNextForInFile1();</Tag>
		end</Tag>

		<Tag name="Fetch next selected InFile2">if ( isInFile2Level1Selected == &quot;Y&quot; )
			<Tag name="Call fetch next InFile2">fetchNextForInFile2();</Tag>
		end</Tag></Tag>
	end</Tag>


	<Tag name="FetchNext for InFile1">function fetchNextForInFile1()
		get next InFile1CurrentRow;
	end</Tag>


	<Tag name="FetchNext for InFile2">function fetchNextForInFile2()
		get next InFile2CurrentRow;
	end</Tag>


	<Tag name="Close files">function closeFiles()
		<Tag name="Close for all files"><Tag name="CloseFile InFile1">close InFile1CurrentRow;</Tag>
		<Tag name="CloseFile InFile2">close InFile2CurrentRow;</Tag>
		<Tag name="CloseFile OutFile1">close OutFile1CurrentRow;</Tag></Tag><Tag name="Program end">end</Tag></Tag>

<  /  TeXt  >


<  /  GeNeRaTeDiNfO  >