Configuring ChangeMan ZDD for a New User
To simplify the setup of ChangeMan ZDD for multiple desktops, you can write a script to automate many of the configuration tasks. Then, a new user can configure ChangeMan ZDD for their own desktop simply by executing the script.
The following scripts illustrate how the configuration tasks can be performed.
C# Example
...
/**********************************************************************
* C# Example
*
* File Name: NewConfig.cs
*
* Description: Sample for creating a new configuration.
*
* Usage: NewConfig <userid>
*
* Copyright ©2003-2011, Serena Software. Licensed material. All rights reserved.
**********************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using ZosApi;
namespace NewConfig
{
class Program
{
static void Main(string[] args)
{
try
{
//////////////////////////////
// Get command line arguments
//////////////////////////////
if (args.Length < 1)
{
Console.WriteLine("Usage: NewConfig <userid>");
Environment.Exit(1);
}
String userID = args[0];
/////////////////////////////
// Update network properties
/////////////////////////////
ZosNetwork network = new ZosNetwork();
network.CacheFolder = "C:\\Temp";
network.CacheDays = 3;
network.NotifyPort = 8000;
network.NotifyJobStep = true;
network.NotifyMessageBox = true;
///////////////////////
// Add the new servers
///////////////////////
ZosServers servers = network.Servers;
servers.Add("Server1", "172.20.20.1", 5000, 1140, "Description1");
servers.Add("Server2", "172.20.20.2", 5000, 1140, "Description2");
servers.Add("Server3", "172.20.20.3", 5000, 1140, "Description3");
...
...
/////////////////////////////////////////
// Update the properties for each server
/////////////////////////////////////////
foreach (ZosServer server in servers)
{
int index;
////////////////////////////////////////
// Add the data set file format entries
////////////////////////////////////////
ZosFileFormatMappings dsFileFormats =
server.DataSetFileFormatMappings;
dsFileFormats.Add(-1, "**.ASCII.TEXT", ZosFileFormat.AsciiText);
dsFileFormats.Add(-1, "**.ASCII.DATA", ZosFileFormat.AsciiData);
dsFileFormats.Add(-1, "**.UNICODE.TEXT",
ZosFileFormat.UnicodeText);
dsFileFormats.Add(-1, "**.EBCDIC.TEXT",
ZosFileFormat.EbcdicText);
dsFileFormats.Add(-1, "**.EBCDIC.DATA",
ZosFileFormat.EbcdicData);
dsFileFormats.Add(-1, "**.BINARY",
ZosFileFormat.BinaryCRLF);
///////////////////////////////////////////////////////////////
// The following illustrates a faster way to do the same thing
///////////////////////////////////////////////////////////////
ZosFileFormatMapping[] fileFormatArray = new
ZosFileFormatMapping[]
{
new ZosFileFormatMapping("**.ASCII.TEXT",
ZosFileFormat.AsciiText),
new ZosFileFormatMapping("**.ASCII.DATA",
ZosFileFormat.AsciiData),
new ZosFileFormatMapping("**.UNICODE.TEXT",
ZosFileFormat.UnicodeText),
new ZosFileFormatMapping("**.EBCDIC.TEXT",
ZosFileFormat.EbcdicText),
new ZosFileFormatMapping("**.EBCDIC.DATA",
ZosFileFormat.EbcdicData),
new ZosFileFormatMapping("**.BINARY",
ZosFileFormat.BinaryCRLF)
};
dsFileFormats.FromArray(fileFormatArray);
////////////////////////////////////
// Add the Unix file format entries
////////////////////////////////////
ZosFileFormatMappings uFileFormats =
server.UnixFileFormatMappings;
uFileFormats.Add(-1, "*.TEXT", ZosFileFormat.AsciiText);
uFileFormats.Add(-1, "*.UTEXT", ZosFileFormat.UnicodeText);
uFileFormats.Add(-1, "*.BIN", ZosFileFormat.Binary);
////////////////////////////////
// Add the library type entries
////////////////////////////////
ZosLibTypeMappings libTypes = server.LibTypeMappings;
libTypes.Add(-1, "**.LIBRARY", ZosLibType.Lib);
libTypes.Add(-1, "**.PANVALET", ZosLibType.Pan);
///////////////////////////////////////////////////////////////
// The following illustrates a faster way to do the same thing
///////////////////////////////////////////////////////////////
ZosLibTypeMapping[] libTypeArray = new ZosLibTypeMapping[]
{
new ZosLibTypeMapping("**.LIBRARY", ZosLibType.Lib),
new ZosLibTypeMapping("**.PANVALET", ZosLibType.Pan)
};
libTypes.FromArray(libTypeArray);
//////////////////////////////////
// Add the file extension entries
//////////////////////////////////
ZosFileExtensionMappings fileExtensions = server.FileExtensionMappings;
fileExtensions.Add(-1, "**.CNTL", "jcl");
fileExtensions.Add(-1, "**.COBOL", "cbl");
fileExtensions.Add(-1, "**.LIST", "txt");
fileExtensions.Add(-1, "**.WORD", "doc");
fileExtensions.Add(-1, "**.EXCEL", "xls");
///////////////////////////////////////////////////////////////
// The following illustrates a faster way to do the same thing
///////////////////////////////////////////////////////////////
ZosFileExtensionMapping[] fileExtArray = new ZosFileExtensionMapping[]
{
new ZosFileExtensionMapping("**.CNTL", "jcl"),
new ZosFileExtensionMapping("**.COBOL", "cbl"),
new ZosFileExtensionMapping("**.LIST", "txt"),
new ZosFileExtensionMapping("**.WORD", "doc"),
new ZosFileExtensionMapping("**.EXCEL", "xls")
};
fileExtensions.FromArray(fileExtArray);
//////////////////////////////////////
// Add the profiles for new data sets
//////////////////////////////////////
ZosDataSetProfiles dsProfiles = server.DataSetProfiles;
dsProfiles.Add(-1, "**.DATA", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS1", "STORCLS1", "MGMTCLS1",
ZosSpaceUnit.Trk, 2, 1, 5, "SYSDA", "VOL001");
dsProfiles.Add(-1, "**.TEMP", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS2", "STORCLS2", "MGMTCLS2",
ZosSpaceUnit.Cyl, 2, 1, 5, "SYSDA", "VOL002");
dsProfiles.Add(-1, "**.LIST", ZosDataSetType.Seq,
ZosRecordFormat.VB, 80, 0, "", "", "", ZosSpaceUnit.Blk,
500, 50, 5, "SYSDA", "");
///////////////////////////////////////////////////////////////
// The following illustrates a faster way to do the same thing
///////////////////////////////////////////////////////////////
ZosDataSetProfile[] dsProfileArray = new ZosDataSetProfile[]
{
new ZosDataSetProfile("**.DATA", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS1", "STORCLS1", "MGMTCLS1",
ZosSpaceUnit.Trk, 2, 1, 5, "SYSDA", "VOL001"),
new ZosDataSetProfile("**.TEMP", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS2", "STORCLS2", "MGMTCLS2",
ZosSpaceUnit.Cyl, 2, 1, 5, "SYSDA", "VOL002"),
new ZosDataSetProfile("**.LIST", ZosDataSetType.Seq,
ZosRecordFormat.VB, 80, 0, "", "", "", ZosSpaceUnit.Blk,
500, 50, 5, "SYSDA", "")
};
dsProfiles.FromArray(dsProfileArray);
////////////////////////
// Add data set folders
////////////////////////
ZosDataSetFolders dsfolders = server.DataSetFolders;
ZosDataSetFolder dsfolder;
ZosNameFilters filters;
ZosPrefixMappings prefixes;
/////////////////////////////////////////////////
// "My DataSets" folder for all user's data sets
/////////////////////////////////////////////////
index = dsfolders.Add("My DataSets");
dsfolder = dsfolders[index];
filters = dsfolder.Filters;
prefixes = dsfolder.PrefixMappings;
filters.Add(userID + ".**");
prefixes.Add(-1, "**", userID);
//////////////////////////////////////////////////
// "My Source" folder for user's source libraries
//////////////////////////////////////////////////
index = dsfolders.Add("Source");
dsfolder = dsfolders[index];
filters = dsfolder.Filters;
prefixes = dsfolder.PrefixMappings;
filters.Add(userID + ".**.COBOL");
filters.Add(userID + ".**.ASM");
prefixes.Add(-1, "**.MOUSE", "MICKEY");
prefixes.Add(-1, "**", userID);
///////////////////////////////////////////////////////////////
// The following illustrates a faster way to do the same thing
///////////////////////////////////////////////////////////////
String[] filterArray = new String[]
{
userID + ".**.COBOL",
userID + ".**.ASM"
};
filters.FromArray(filterArray);
ZosPrefixMapping[] prefixArray = new ZosPrefixMapping[]
{
new ZosPrefixMapping("**.MOUSE", "MICKEY"),
new ZosPrefixMapping("**", userID)
};
prefixes.FromArray(prefixArray);
///////////////////
// Add job folders
///////////////////
ZosJobFolders jobfolders = server.JobFolders;
ZosJobFolder jobfolder;
///////////////////////////////////////////
// "My Jobs" folder for jobs owned by user
///////////////////////////////////////////
index = jobfolders.Add("My Jobs", ZosJobQueryType.QueueOwner, userID);
jobfolder = jobfolders[index];
////////////////////////////////////////////////////////
// "ChangeMan" folder for job names prefixed with "CMN"
////////////////////////////////////////////////////////
index = jobfolders.Add("ChangeMan", ZosJobQueryType.QueueJobname,
"CMN*");
jobfolder = jobfolders[index];
///////////////////////////////////////
// "Active" folder for all active jobs
///////////////////////////////////////
index = jobfolders.Add("Active", ZosJobQueryType.ActiveAll);
jobfolder = jobfolders[index];
/////////////////////////
// Add ChangeMan instances
/////////////////////////
ZosChangeManInstances instances = server.ChangeManInstances;
instances.Add("ChangeMan-Prod", 3000, "Production ChangeMan");
instances.Add("ChangeMan-Test", 3001, "Test ChangeMan");
foreach (ZosChangeManInstance instance in instances)
{
/////////////////////////////////////////
// Add the ChangeMan file format entries
/////////////////////////////////////////
ZosFileFormatMappings fileFormats = instance.FileFormatMappings;
fileFormats.Add(-1, "SRC", ZosFileFormat.AsciiText);
fileFormats.Add(-1, "DOC", ZosFileFormat.UnicodeText);
fileFormats.Add(-1, "BIN", ZosFileFormat.Binary);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.TargetSite);
}
}
}
}
Visual Basic Example
...
'**********************************************************************
' Visual Basic Example
'
' File Name: NewConfig.vb
'
' Description: Sample for creating a new configuration.
'
' Usage: NewConfig <userid>
'
' Copyright ©2003-2011, Serena Software. Licensed material. All rights reserved.
'**********************************************************************
Imports System
Imports ZosApi
Module NewConfig
Sub Main()
Try
'----------------------------
' Get command line arguments
'----------------------------
Dim args As String() = Environment.GetCommandLineArgs()
If args.Length < 2
Console.WriteLine("Usage: NewConfig <userid>")
Environment.Exit(1)
End If
Dim userID As String = args(1)
Dim network As ZosNetwork = new ZosNetwork()
network.CacheFolder = "C:\Temp"
network.CacheDays = 3
network.NotifyPort = 8000
network.NotifyJobStep = True
network.NotifyMessageBox = True
'----------------------
' Add the new servers
'----------------------
Dim servers As ZosServers = network.Servers
servers.Add("Server1", "172.20.20.1", 5000, 1140, "Description1")
servers.Add("Server2", "172.20.20.2", 5000, 1140, "Description2")
servers.Add("Server3", "172.20.20.3", 5000, 1140, "Description3")
...
...
'----------------------------------------
' Update the properties for each server
'----------------------------------------
Dim server As ZosServer
For Each server In servers
Dim index As Integer
'-------------------------------------
' Add the data set file format entries
'-------------------------------------
Dim dsFileFormats As ZosFileFormatMappings =
server.DataSetFileFormatMappings
dsFileFormats.Add(-1, "**.ASCII.TEXT", ZosFileFormat.AsciiText)
dsFileFormats.Add(-1, "**.ASCII.DATA", ZosFileFormat.AsciiData)
dsFileFormats.Add(-1, "**.UNICODE.TEXT", ZosFileFormat.UnicodeText)
dsFileFormats.Add(-1, "**.EBCDIC.TEXT", ZosFileFormat.EbcdicText)
dsFileFormats.Add(-1, "**.EBCDIC.DATA", ZosFileFormat.EbcdicData)
dsFileFormats.Add(-1, "**.BINARY", ZosFileFormat.BinaryCRLF)
'-------------------------------------------------------------
' The following illustrates a faster way to do the same thing
'-------------------------------------------------------------
Dim fileFormatArray() As ZosFileFormatMapping = _
{ _
New ZosFileFormatMapping("**.ASCII.TEXT",
ZosFileFormat.AsciiText), _
New ZosFileFormatMapping("**.ASCII.DATA",
ZosFileFormat.AsciiData), _
New ZosFileFormatMapping("**.UNICODE.TEXT",
ZosFileFormat.UnicodeText), _
New ZosFileFormatMapping("**.EBCDIC.TEXT",
ZosFileFormat.EbcdicText), _
New ZosFileFormatMapping("**.EBCDIC.DATA",
ZosFileFormat.EbcdicData), _
New ZosFileFormatMapping("**.BINARY", ZosFileFormat.Binary) _
}
dsFileFormats.FromArray(fileFormatArray)
'---------------------------------
' Add the Unix file format entries
'---------------------------------
Dim uFileFormats As ZosFileFormatMappings =
server.UnixFileFormatMappings
uFileFormats.Add(-1, "*.TEXT", ZosFileFormat.AsciiText)
uFileFormats.Add(-1, "*.UTEXT", ZosFileFormat.UnicodeText)
uFileFormats.Add(-1, "*.BIN", ZosFileFormat.Binary)
'-------------------------------
' Add the library type entries
'-------------------------------
Dim libTypes As ZosLibTypeMappings = server.LibTypeMappings
libTypes.Add(-1, "**.LIBRARY", ZosLibType.Lib)
libTypes.Add(-1, "**.PANVALET", ZosLibType.Pan)
'-------------------------------------------------------------
' The following illustrates a faster way to do the same thing
'-------------------------------------------------------------
Dim libTypeArray() As ZosLibTypeMapping = _
{ _
New ZosLibTypeMapping("**.LIBRARY", ZosLibType.Lib), _
New ZosLibTypeMapping("**.PANVALET", ZosLibType.Pan) _
}
libTypes.FromArray(libTypeArray)
'---------------------------------
' Add the file extension entries
'---------------------------------
Dim fileExtensions As ZosFileExtensionMappings =
server.FileExtensionMappings
fileExtensions.Add(-1, "**.CNTL", "jcl")
fileExtensions.Add(-1, "**.COBOL", "cbl")
fileExtensions.Add(-1, "**.LIST", "txt")
fileExtensions.Add(-1, "**.WORD", "doc")
fileExtensions.Add(-1, "**.EXCEL", "xls")
'-------------------------------------------------------------
' The following illustrates a faster way to do the same thing
'-------------------------------------------------------------
Dim fileExtArray() As ZosFileExtensionMapping = _
{ _
New ZosFileExtensionMapping("**.CNTL", "jcl"), _
New ZosFileExtensionMapping("**.COBOL", "cbl"), _
New ZosFileExtensionMapping("**.LIST", "txt"), _
New ZosFileExtensionMapping("**.WORD", "doc"), _
New ZosFileExtensionMapping("**.EXCEL", "xls") _
}
fileExtensions.FromArray(fileExtArray)
'-------------------------------------
' Add the profiles for new data sets
'-------------------------------------
Dim dsProfiles As ZosDataSetProfiles = server.DataSetProfiles
dsProfiles.Add(-1, "**.DATA", ZosDataSetType.Seq, ZosRecordFormat.FB,
80, 0, "DATACLS1", "STORCLS1", "MGMTCLS1", ZosSpaceUnit.Trk, 2, 1, 5,
"SYSDA", "VOL001")
dsProfiles.Add(-1, "**.TEMP", ZosDataSetType.Seq, ZosRecordFormat.FB,
80, 0, "DATACLS2", "STORCLS2", "MGMTCLS2", ZosSpaceUnit.Cyl, 2, 1, 5,
"SYSDA", "VOL002")
dsProfiles.Add(-1, "**.LIST", ZosDataSetType.Seq, ZosRecordFormat.VB,
80, 0, "", "", "", ZosSpaceUnit.Blk, 500, 50, 5, "SYSDA",
"")
'-------------------------------------------------------------
' The following illustrates a faster way to do the same thing
'-------------------------------------------------------------
Dim dsProfileArray() As ZosDataSetProfile =
_
{
_
New ZosDataSetProfile("**.DATA", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS1", "STORCLS1", "MGMTCLS1",
ZosSpaceUnit.Trk, 2, 1, 5, "SYSDA", "VOL001"), _
New ZosDataSetProfile("**.TEMP", ZosDataSetType.Seq,
ZosRecordFormat.FB, 80, 0, "DATACLS2", "STORCLS2", "MGMTCLS2",
ZosSpaceUnit.Cyl, 2, 1, 5, "SYSDA", "VOL002"), _
New ZosDataSetProfile("**.LIST", ZosDataSetType.Seq,
ZosRecordFormat.VB, 80, 0, "", "", "", ZosSpaceUnit.Blk,
500, 50, 5, "SYSDA", "") _
}
dsProfiles.FromArray(dsProfileArray)
'-----------------------
' Add data set folders
'-----------------------
Dim dsfolders As ZosDataSetFolders = server.DataSetFolders
Dim dsfolder As ZosDataSetFolder
Dim filters As ZosNameFilters
Dim prefixes As ZosPrefixMappings
'------------------------------------------------
' "My DataSets" folder for all user's data sets
'------------------------------------------------
index = dsfolders.Add("My DataSets")
dsfolder = dsfolders(index)
filters = dsfolder.Filters
prefixes = dsfolder.PrefixMappings
filters.Add(userID + ".**")
prefixes.Add(-1, "**", userID)
'-------------------------------------------------
' "My Source" folder for user's source libraries
'-------------------------------------------------
index = dsfolders.Add("Source")
dsfolder = dsfolders(index)
filters = dsfolder.Filters
prefixes = dsfolder.PrefixMappings
filters.Add(userID + ".**.COBOL")
filters.Add(userID + ".**.ASM")
prefixes.Add(-1, "**.MOUSE", "MICKEY")
prefixes.Add(-1, "**", userID)
'-------------------------------------------------------------
' The following illustrates a faster way to do the same thing
'-------------------------------------------------------------
Dim filterArray() As String = _
{ _
userID + ".**.COBOL", _
userID + ".**.ASM" _
}
filters.FromArray(filterArray)
Dim prefixArray() As ZosPrefixMapping = _
{ _
New ZosPrefixMapping("**.MOUSE", "MICKEY"), _
New ZosPrefixMapping("**", userID) _
}
prefixes.FromArray(prefixArray)
'------------------
' Add job folders
'------------------
Dim jobfolders As ZosJobFolders = server.JobFolders
Dim jobfolder As ZosJobFolder
'------------------------------------------
' "My Jobs" folder for jobs owned by user
'------------------------------------------
index = jobfolders.Add("My Jobs", ZosJobQueryType.QueueOwner, userID)
jobfolder = jobfolders(index)
'-------------------------------------------------------
' "ChangeMan" folder for job names prefixed with "CMN"
'-------------------------------------------------------
index = jobfolders.Add("ChangeMan", ZosJobQueryType.QueueJobname, "CMN*")
jobfolder = jobfolders(index)
'--------------------------------------
' "Active" folder for all active jobs
'--------------------------------------
index = jobfolders.Add("Active", ZosJobQueryType.ActiveAll)
jobfolder = jobfolders(index)
'------------------------
' Add ChangeMan instances
'------------------------
Dim instances As ZosChangeManInstances = server.ChangeManInstances
instances.Add("ChangeMan-Prod", 3000, "Production ChangeMan")
instances.Add("ChangeMan-Test", 3001, "Test ChangeMan")
Dim instance As ZosChangeManInstance
For Each instance In instances
'--------------------------------------
' Add the ChangeMan file format entries
'--------------------------------------
Dim fileFormats As ZosFileFormatMappings =
instance.FileFormatMappings
fileFormats.Add(-1, "SRC", ZosFileFormat.AsciiText)
fileFormats.Add(-1, "DOC", ZosFileFormat.UnicodeText)
fileFormats.Add(-1, "BIN", ZosFileFormat.BinaryCRLF)
Next
Next
Catch e As Exception
Console.WriteLine(e.Message)
Console.WriteLine(e.StackTrace)
End Try
End Sub
End Module
JScript Example
...
/**********************************************************************
* JScript Example
*
* File Name: NewConfig.js
*
* Description: Sample for creating a new configuration.
*
* Usage: NewConfig.js <userid>
*
* Copyright ©2003-2011, Serena Software. Licensed material. All rights reserved.
**********************************************************************/
var userID;
var network;
var servers;
var server;
var fileFormats;
var libTypes;
var fileExtensions;
var dsProfiles;
var folders;
var folder;
var subfolders;
var subfolder;
var filters;
var prefixes;
var enumerator;
//////////////////////////////
// Get command line arguments
//////////////////////////////
if (WScript.Arguments.Count() < 1)
{
WScript.Echo("Usage: NewConfig.js <userid>");
WScript.Quit(1);
}
userID = WScript.Arguments(0);
...
...
/////////////////////////////
// Update network properties
/////////////////////////////
network = new ActiveXObject
("ZosShell.ZosNetwork");
network.CacheFolder = "C:\\Temp";
network.CacheDays = 3;
network.NotifyPort = 8000;
network.NotifyJobStep = true;
network.NotifyMessageBox = true;
///////////////////////
// Add the new servers
///////////////////////
servers = network.Servers;
servers.Add("Server1", "172.20.20.1", 5000, 1140, "Description1");
servers.Add("Server2", "172.20.20.2", 5000, 1140, "Description2");
servers.Add("Server3", "172.20.20.3", 5000, 1140, "Description3");
/////////////////////////////////////////
// Update the properties for each server
/////////////////////////////////////////
serverEnum = new Enumerator(servers);
for (; !serverEnum.atEnd(); serverEnum.moveNext())
{
server = serverEnum.item();
////////////////////////////////////////
// Add the data set file format entries
////////////////////////////////////////
fileFormats = server.DataSetFileFormats;
fileFormats.Add(-1, "**.ASCII.TEXT", "AT");
fileFormats.Add(-1, "**.ASCII.DATA", "AD");
fileFormats.Add(-1, "**.UNICODE.TEXT", "UT");
fileFormats.Add(-1, "**.EBCDIC.TEXT", "ET");
fileFormats.Add(-1, "**.EBCDIC.DATA", "ED");
fileFormats.Add(-1, "**.BINARY", "BT");
////////////////////////////////////
// Add the Unix file format entries
////////////////////////////////////
fileFormats = server.UnixFileFormats;
fileFormats.Add(-1, "*.TEXT", "AT");
fileFormats.Add(-1, "*.UTEXT", "UT");
fileFormats.Add(-1, "*.BIN", "B" );
////////////////////////////////
// Add the library type entries
////////////////////////////////
libTypes = server.LibTypes;
libTypes.Add(-1, "**.LIBRARY", "L");
libTypes.Add(-1, "**.PANVALET", "P");
//////////////////////////////////
// Add the file extension entries
//////////////////////////////////
fileExtensions = server.FileExtensions;
fileExtensions.Add(-1, "**.CNTL", "jcl");
fileExtensions.Add(-1, "**.COBOL", "cbl");
fileExtensions.Add(-1, "**.LIST", "txt");
fileExtensions.Add(-1, "**.WORD", "doc");
fileExtensions.Add(-1, "**.EXCEL", "xls");
//////////////////////////////////////
// Add the profiles for new data sets
//////////////////////////////////////
dsProfiles = server.DataSetProfiles;
dsProfiles.Add(-1, "**.DATA", "SEQ", "FB", 80, 0, "DATACLS1", "STORCLS1",
"MGMTCLS1", "TRK", 2, 1, 5, "SYSDA", "VOL001");
dsProfiles.Add(-1, "**.TEMP", "SEQ", "FB", 80, 0, "DATACLS2", "STORCLS2",
"MGMTCLS2", "CYL", 2, 1, 5, "SYSDA", "VOL002");
dsProfiles.Add(-1, "**.LIST", "SEQ", "VB", 80, 0, "", "", "",
"BLK", 500, 50, 5, "SYSDA", "");
////////////////////////
// Add data set folders
////////////////////////
folder = server.DataSetFolder;
subfolders = folder.Subfolders;
/////////////////////////////////////////////////
// "My DataSets" folder for all user's data sets
/////////////////////////////////////////////////
subfolder = subfolders.Add("My DataSets");
filters = subfolder.Filters;
prefixes = subfolder.Prefixes;
filters.Add(userID + ".**");
prefixes.Add(-1, "**", userID);
//////////////////////////////////////////////////
// "My Source" folder for user's source libraries
//////////////////////////////////////////////////
subfolder = subfolders.Add("Source");
filters = subfolder.Filters;
prefixes = subfolder.Prefixes;
filters.Add(userID + ".**.COBOL");
filters.Add(userID + ".**.ASM");
prefixes.Add(-1, "**", userID);
///////////////////
// Add job folders
///////////////////
folder = server.JobFolder;
subfolders = folder.Subfolders;
///////////////////////////////////////////
// "My Jobs" folder for jobs owned by user
///////////////////////////////////////////
subfolder = subfolders.Add("My Jobs", "QU", userID);
////////////////////////////////////////////////////////
// "ChangeMan" folder for job names prefixed with "CMN"
////////////////////////////////////////////////////////
subfolder = subfolders.Add("ChangeMan", "QN", "CMN*");
///////////////////////////////////////
// "Active" folder for all active jobs
///////////////////////////////////////
subfolder = subfolders.Add("Active", "A");
/////////////////////////
// Add ChangeMan folders
/////////////////////////
folders = server.ChangeManFolders;
folders.Add("ChangeMan-Prod", 3000, "Production ChangeMan");
folders.Add("ChangeMan-Test", 3001, "Test ChangeMan");
folderEnum = new Enumerator(folders);
for (; !folderEnum.atEnd(); folderEnum.moveNext())
{
folder = folderEnum.item();
/////////////////////////////////////////
// Add the ChangeMan file format entries
/////////////////////////////////////////
fileFormats = folder.FileFormats;
fileFormats.Add(-1, "SRC", "AT");
fileFormats.Add(-1, "DOC", "UT");
fileFormats.Add(-1, "BIN", "B");
}
}