This program will prompt the userfor the name of the server and the file to display. The file must exist and contain records. Each record in the file will be displayed to System.out.
[ Next part ]
Use the following as an example for your program.
//////////////////////////////////////////////////////////////////////////////////
//
// Record level access example. This program will prompt the user
// for the name of the server and the file to display. The file must exist
// and contain records. Each record in the file will be displayed
// to System.out.
//
// Calling syntax: java RLSequentialAccessExample
//
// This source is an example of IBM Toolbox for Java "RecordLevelAccess"
//
//////////////////////////////////////////////////////////////////////////////////
import java.io.*;
import java.util.*;
import com.ibm.as400.access.*;
public class RLSequentialAccessExample
{
public static void main(String[] parameters)
{
BufferedReader inputStream = new BufferedReader(new InputStreamReader(System.in),1);
String systemName = "";
String library = "";
String file = "";
String member = "";
System.out.println();
try
{
System.out.print("System name: ");
systemName = inputStream.readLine();
System.out.print("Library in which the file exists: ");
library = inputStream.readLine();
System.out.print("File name: ");
file = inputStream.readLine();
System.out.print("Member name (press enter for first member): ");
member = inputStream.readLine();
if (member.equals(""))
{
member = "*FIRST";
}
System.out.println();
}
catch (Exception e)
{
System.out.println("Error obtaining user input.");
e.printStackTrace();
System.exit(0);
}
AS400 system = new AS400(systemName); Note 1
try
{
system.connectService(AS400.RECORDACCESS);
}
catch(Exception e)
{
System.out.println("Unable to connect for record level access.");
System.out.println("Check the programmer's guide setup file for
special instructions regarding record level access");
e.printStackTrace();
System.exit(0);
}
QSYSObjectPathName filePathName = new QSYSObjectPathName(library, file, member, "MBR"); Note 2
SequentialFile theFile = new SequentialFile(system, filePathName.getPath()); Note 3
AS400FileRecordDescription recordDescription =
new AS400FileRecordDescription(system, filePathName.getPath());
try
{
RecordFormat[] format = recordDescription.retrieveRecordFormat(); Note 4
theFile.setRecordFormat(format[0]); Note 5
theFile.open(AS400File.READ_ONLY, 100, AS400File.COMMIT_LOCK_LEVEL_NONE); Note 6
System.out.println("Displaying file " + library.toUpperCase() + "/" +
file.toUpperCase() + "(" + theFile.getMemberName().trim() + "):");
Record record = theFile.readNext(); Note 7
while (record != null)
{
System.out.println(record);
record = theFile.readNext();
}
System.out.println();
theFile.close(); Note 8
system.disconnectService(AS400.RECORDACCESS); Note 9
}
catch (Exception e)
{
System.out.println("Error occurred attempting to display the file.");
e.printStackTrace();
try
{
// Close the file
theFile.close();
}
catch(Exception x)
{
}
system.disconnectService(AS400.RECORDACCESS);
System.exit(0);
}
// Make sure that the application ends; see readme for details
System.exit(0);
}
}
[ Next part ]