code: public void processJobChangeDataFile(String fileName,
                                           String falloutFileName, Date validDate) throws Exception
      {
          
  		BufferedWriter writer = null;
  
  		try {
  
              env.info().log("Reading file: " + fileName );
  
              FileInputStream fstream = new FileInputStream(fileName);
              BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
  
              String strLine;
  
              while ((strLine = br.readLine()) != null)   {
                  processLine( strLine, writer );
              }
  
              br.close();
  			
  			
  		} catch (IOException e) {
              env.error().log( "Error while reading from the input data file: " + e );
  			throw e;
          }
      }
docs: Processes the specified JobChange data file obtained from Webphone. Each line is
  read and processed and any fallout is written to the specified fallout file.
  If fallout file already exists it is deleted and a new one is created. A
  comparison of the supervisor id in the job data file is done against the one returned
  by the authz service and if the supervisor Id has changed then the record is updated
  using the authz service. An email is sent to the new supervisor to approve the roles
  assigned to the user.
  
  @param fileName - name of the file to process including its path
  @param falloutFileName - the file where the fallout entries have to be written
  @param validDate - the valid effective date when the user had moved to the new supervisor
  @throws Exception