Migration | << | >> |
---|
This section guides you through the process of installing the MEMO Source Extractor. You will need to perform each of the following steps, which are explained in the sections that follow.
The MEMO Source Extractor will only operate with MEMO/MVS, not MEMO for other operating systems. The MEMO Source Extractor requires MEMO V3.2.1 (or later version), MEMO/API V1.4.0 (or later version), and VS/COBOL II Run Time Library Release 3.0 (or later version).
Before installing the MEMO Source Extractor, you must install Microsoft Exchange Server and a PC-TSO file transfer program, which will transfer mail between MEMO and Microsoft Exchange Server. This file transfer program must convert the text of mail messages from EBCDIC to ASCII.
You may decide to migrate all MEMO users at one time (single-phase migration) or in multiple steps (multi-phase migration). If you choose multi-phase migration, you also need to install a connection between MEMO and Microsoft Exchange Server.
The MEMO Source Extractor migrates only mail messages, not binary files. The following maximums are also imposed on the migrated data:
If you need to migrate more than 10,000 items in a user's maillog, you can re-run the migration process for that user, as explained in the "Troubleshooting the MEMO Source Extractor" section.
The MEMO Source Extractor is supplied in a PC-readable format, which consists of two sequential files:
File | Dataset Name (DSN) | Descriptions |
---|---|---|
1 | MEMOJCL.PDS | JCL library for MEMO Source Extractor |
2 | MEMOLOAD.PDS | Load library for MEMO Source Extractor |
To unload the MEMO Source Extractor, follow these steps for both of the sequential files
The MEMO Source Extractor set-up job creates the dataset MIGACCT and copies a sample record into it. The sample record will help you understand the format of MIGACCT records. The set-up job also creates generation data group indexes required by MIGUSERL, MIGPRIM1, MIGPRIM2, MIGPACK, MIGPACK2, and MIGSEC.
Start set-up by submitting the JCL job MIGSET in the MEMO Source Extractor JCL library.
To run the JCL job MIGSET
Error messages from the MEMO Source Extractor are held in the VSAM file MIGCUST. To create MIGCUST, you need to run the JCL job MIGCUST in the MEMO Source Extractor library.
To run the JCL job MIGCUST
Note The error messages produced by the MEMO Source Extractor can be customized. Refer to the "Customize the Error Messages" section, later in this chapter.
To install the MEMO Source Extractor, you submit two JCL jobs: MIGGENU (UserList) and MIGMIGU (Migrate Users). Sample JCL for these jobs can be found in the MEMO Source Extractor JCL library.
Both jobs are supplied with dummy job card and library definitions. You must update the sample JCL before running the jobs. For information about running these functions, see the "Performing the Migration" section, later in this chapter.
Start the UserList function by submitting the MVS batch job MIGGENU from the MEMO Source Extractor JCL library. Refer to Figure 2.4 and follow these steps:
To update the UserList sample JCL job MIGGENU
MODE
Specify M to create mailboxes, or specify R to create remote addresses. You create mailboxes for all users to be migrated to Microsoft Exchange Server. You create remote addresses for users who will continue to use MEMO but want to communicate with Microsoft Exchange Server users.
PRIMARY
Specify the PC file name for MIGPRIM1, the extracted information file produced by the MEMO Source Extractor. This name must correspond to the name to be used during PC-TSO file transfer. For example: primary.pri.
GCID
Specify the Graphic Character Identification (GCID) code-page that will hold the extracted information on the PC. Its standard value will be 850, which is the multilingual code-page. This value should correspond to the code-page to which your PC-TSO file transfer program will convert when converting from EBCDIC to ASCII. For example: gcidcodepage.
//JOBNAME JOB (ACCOUNT),'PROGNAME',
// CLASS=0,MSGCLASS=A,NOTIFY=XXXXXXX,COND=(0,NE)
//*ROUTE PRINT RMT188
//*********************************************************************
//* *
//* MEMO SOURCE EXTRACTOR *
//* *
//* This process can be run in two modes: *
//* *
//* a) Generate list of Memo users to be created as Microsoft Exchange Server users. *
//* *
//* b) Generate list of Memo users to be created as Microsoft Exchange Server mailboxes. *
//* *
//* *
//* Held in library - MEMOMIG.JCL(MIGGENU) *
//* Created - 19/09/95 by IMI *
//* Last Updated - *
//* *
//* Steps - STEP010 PGM HLPERUD1 Generate a file of all current *
//* Memo users. *
//* STEP020 PGM MIGGENU Generate a file containing a list *
//* of users to be downloaded and a *
//* packing list containing the file *
//* names used. *
//*********************************************************************
//****************************************************
//**** Create file of ALL MEMO users ****
//****************************************************
//*
//STEP010 EXEC PGM=HLPERUD1,PARM='GMT+0'
//*
//STEPLIB DD DSN=MEMO.MEMO32.LOAD,DISP=SHR
//CATBASE DD DSN=MEMO.MEMO32.CATBASEP,DISP=SHR
//CATCHG DD DSN=MEMO.MEMO32.CATCHGP,DISP=SHR
//CHKPT DD DSN=MEMO.MEMO32.CHKPT,DISP=SHR
//CATSEQI DD DUMMY
//CATSEQO DD DUMMY
//CATSEQU DD DSN=&&CATSEQU,DISP=(NEW,PASS,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(RECFM=VB,LRECL=467,BLKSIZE=23000)
//WTOLOG DD DSN=MEMO.MEMO32.DIRUPD.WTOLOG,DISP=SHR
//*
//SORT EXEC PGM=SORT,REGION=512K
//SORTIN DD DSN=&&CATSEQU,DISP=(OLD,PASS)
//SORTOUT DD DSN=MEMOMIG.MIGUSRL(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=VB,LRECL=467,BLKSIZE=23000)
//SORTWK01 DD DSN=&UT1,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SORTWK02 DD DSN=&UT2,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SORTWK03 DD DSN=&UT3,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SYSIN DD DSN=MEMO.MEMO32.MAINT(RDIRSORT),DISP=SHR
//SYSOUT DD SYSOUT=*
//*
//****************************************************
//**** Generate UserList ****
//****************************************************
//*
//STEP020 EXEC PGM=MIGGENU
//*
//STEPLIB DD DISP=SHR,DSN=MEMOMIG.LOAD
//* COBOL 2 LIBRARY
// DD DISP=SHR,DSN=SYS1.COB2LIB
//MIGUSRL DD DISP=SHR,DSN=MEMOMIG.MIGUSRL(+1)
//MIGACCT DD DISP=SHR,DSN=MEMOMIG.MIGACCT
//MIGCUST DD DISP=SHR,DSN=MEMOMIG.VSAM.MIGCUST
//MIGPRIM1 DD DSN=MEMOMIG.MIGPRIM1(+1),
// DISP=(NEW,CATLG,CATLG),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=FB,LRECL=255,BLKSIZE=22950)
//MIGPACK DD DSN=MEMOMIG.MIGPACK(+1),
// DISP=(NEW,CATLG,CATLG),
// UNIT=DASD,SPACE(TRK,(5,5),RLSE),
// DCB=(RECFM=FB,LRECL=255,BLKSIZE=22950)
//MIGPARM1 DD *
MODE R
PRIMARY PRIM1.PRI
GCID 850
/*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
Figure 2.4 Supplied JCL to run UserList MIGGENU
This process will migrate all mail items for a specified list of MEMO users to Microsoft Exchange Server. Start the process by submitting the MVS batch job MIGMIGU from the MEMO Source Extractor JCL library. Refer to the sample JCL in Figure 2.5 and follow these steps.
To update the Migrate Users sample JCL job MIGMIGU
Note CATSEQI must be defined as a dummy dataset to ensure that MIGUSRL contains all users currently defined to MEMO.
PRIMARY
Specify the PC file name for MIGPRIM2, the file with the extracted memo header information produced by the MEMO Source Extractor. This name must correspond to the name to be used during PC-TSO file transfer. For example: primary.pri.
SECONDARY
Specify the PC file name for MIGSEC, the file with the extracted memo text produced by the MEMO Source Extractor. This name must correspond to the name to be used during PC-TSO file transfer. For example: secondary.sec.
GCID
Specify the Graphic Character Identification (GCID) code-page that will hold the extracted information on the PC. Its standard value will be 850, which is the multilingual code-page. This value should correspond to the code-page to which your PC-TSO file transfer program will convert when converting from EBCDIC to ASCII. For example: gcidcodepage.
//JOBNAME JOB (ACCOUNT),'PROGNAME',
// CLASS=0,MSGCLASS=A,NOTIFY=XXXXXXX
//*********************************************************************
//* *
//* MEMO SOURCE EXTRACTOR *
//* *
//* Held in library - MEMOMIG.JCL(MIGMIGU) *
//* Created - 25/09/95 by IMI *
//* Last Updated - *
//* *
//* Steps - STEP010 PGM HLPERUD1 Generate a file of all current *
//* Memo users. *
//* Steps - STEP020 PGM IDCAMS Create a VSAM user file *
//* STEP030 PGM IDCAMS Copy file of all current Memo *
//* users onto the VSAM file *
//* STEP040 PGM MIGMIGU Generate a file containing all *
//* mail items from the mail logs of *
//* all the specified users. *
//* *
//*********************************************************************
//****************************************************
//**** Create file of ALL MEMO users ****
//****************************************************
//*
//STEP010 EXEC PGM=HLPERUD1,PARM='GMT+0'
//*
//STEPLIB DD DSN=MEMO.MEMO32.LOAD,DISP=SHR
//CATBASE DD DSN=MEMO.MEMO32.CATBASEP,DISP=SHR
//CATCHG DD DSN=MEMO.MEMO32.CATCHGP,DISP=SHR
//CHKPT DD DSN=MEMO.MEMO32.CHKPT,DISP=SHR
//CATSEQI DD DUMMY
//CATSEQO DD DUMMY
//CATSEQU DD DSN=&&CATSEQU,DISP=(NEW,PASS,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(RECFM=VB,LRECL=467,BLKSIZE=23000)
//WTOLOG DD DSN=MEMO.MEMO32.DIRUPD.WTOLOG,DISP=SHR
//*
//SORT EXEC PGM=SORT,REGION=512K
//SORTIN DD DSN=&&CATSEQU,DISP=(OLD,PASS)
//SORTOUT DD DSN=MEMOMIG.MIGUSRL(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=VB,LRECL=467,BLKSIZE=23000)
//SORTWK01 DD DSN=&UT1,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SORTWK02 DD DSN=&UT2,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SORTWK03 DD DSN=&UT3,UNIT=3380,SPACE=(CYL,(9),,CONTIG)
//SYSIN DD DSN=MEMO.MEMO32.MAINT(RDIRSORT),DISP=SHR
//SYSOUT DD SYSOUT=*
//*
//STEP20 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD UNIT=DASD,
// VOL=SER=PRM001,DISP=SHR
//SYSIN DD *
DELETE MEMOMIG.MIGUSRV
DEFINE CLUSTER (NAME(MEMOMIG.MIGUSRV) -
VOL(PRM001) -
FILE(DD1) -
UNIQUE -
CYL(1 1) -
SHAREOPTIONS(2 3)) -
DATA (NAME(MEMOMIG.MIGUSRV.DATA) -
RECORDSIZE(463 463) -
KEYS(20 12)) -
INDEX (NAME(MEMOMIG.MIGUSRV.INDEX) -
IMBED -
REPLICATE)
/*
//****************************************************************
//* COPY DATA OVER FROM THE ORIGINAL MIGUSRL TO THE COPY *
//****************************************************************
//*
//STEP30 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INPUT DD DISP=SHR,DSN=MEMOMIG.MIGUSRL(0)
//OUTPUT DD DISP=SHR,DSN=MEMOMIG.MIGUSRV
//SYSIN DD *
REPRO INFILE(INPUT) OUTFILE(OUTPUT)
//*********************************************************************
//* *
//* STEP40: GENERATE FILE CONTAINING LIST OF MAIL ITEMS FOR ALL *
//* SUPPLIED USERS. *
//* *
//*********************************************************************
//*
//STEP40 EXEC PGM=MIGMIGU
//STEPLIB DD DSN=MEMOMIG.LOAD,DISP=SHR
//* COBOL 2 LIBRARY
// DD DSN=SYS1.COB2LIB,DISP=SHR
// DD DSN=MEMO.MEMO32.API14.LOAD,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//APIPARM DD DSN=MEMO.MEMO32.API14.PARMLIB,DISP=SHR
//MIGCUST DD DSN=MEMOMIG.VSAM.MIGCUST,DISP=SHR
//MIGPRIM2 DD DSN=MEMOMIG.MIGPRIM2(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=FB,LRECL=255,BLKSIZE=22950)
//MIGSEC DD DSN=MEMOMIG.MIGSEC(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,SPACE=(CYL,(1,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=FB,LRECL=255,BLKSIZE=25500)
//MIGPACK2 DD DSN=MEMOMIG.MIGPACK2(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,SPACE=(TRK,(5,5),RLSE),
// DCB=(MODEL.DSCB,RECFM=FB,LRECL=255,BLKSIZE=25500)
//MIGUSER DD *
USER PASSWORDDISTGRP
/*
//*
//MIGPARM2 DD *
PRIMARY PRIM.PRI
SECONDARY SECOND.SEC
GCID 850
/*
Figure 2.5 Supplied JCL to run Migrate Users MIGMIGU
The MEMO Source Extractor uses the Call Type (L2) Interface to access the data in MEMO. To extract the mail items of a MEMO user to be migrated, the MEMO Source Extractor will log on to MEMO by using the memo-ID of the user.
To use the L2 Interface, you must define each user to be migrated as a MEMO/API user and specify their password in the MEMO Source Extractor migration file. The user must not be logged on to MEMO during the migration of their account.
Note The MEMO API PARMLIB contains the SPLITSIZ field, which holds the value of the maximum memo size. You should set SPLITSIZ to at least the maximum size supported by your MEMO system. A larger document is split into separate documents and remains split after migration.
To prepare to migrate each group of users
The MEMO Source Extractor lets you customize error messages. The text of all the error messages produced by the MEMO Source Extractor is held on a TSO dataset to allow customization.
After the error messages are customized, you must copy them onto the control file MIGCUST. You start by submitting the MVS batch job MIGCUST, as follows:
Input files | ||
---|---|---|
MIGDCUS1 | Low values header | Sequential (fixed length) |
MIGDCUS2 | Control source file | Sequential (fixed length) | Output files |
MIGCUST | Control file | VSAM |
The dataset MIGDCUS2 in the MEMO Source Extractor JCL library contains a sample set of control records that generate the VSAM error message file MIGCUST. MIGDCUS2 contains groups of three records. Each group defines one error message, formatted as follows :
/M
ID =nnnn
TEXT01 =Text for message code nnnn
Only the message text can be customized. The error message definition and number records must not be changed.
To customize an error message
The following table lists the error messages that you may write to the job output with the MEMO Source Extractor.
Number | Message |
---|---|
0100 | MIGGENU0100E Invalid mode type |
0101 | MIGGENU0101E No records on MIGACCT |
0102 | MIGGENU0102E Not all required fields specified in MIGACCT |
0103 | MIGGENU0103E Mode field missing from MIGPARM1 |
0104 | MIGGENU0104E Mode field blank in MIGPARM1 |
0105 | MIGGENU0105E Primary field missing from MIGPARM1 |
0106 | MIGGENU0106E Primary field blank in MIGPARM1 |
0107 | MIGGENU0107E Container field blank in MIGPARM1 |
0108 | MIGGENU0108E No records on MIGPARM1 |
0109 | MIGGENU0109W No users found to migrate |
0200 | MIGMIGU0200E No records on MIGPARM2 |
0201 | MIGMIGU0201E Primary field missing from MIGPARM2 |
0202 | MIGMIGU0202E Primary field blank in MIGPARM2 |
0203 | MIGMIGU0203E Secondary field missing from MIGPARM2 |
0204 | MIGMIGU0204E Secondary field blank in MIGPARM2 |
0205 | MIGMIGU0205E No users on MIGUSER |
0206 | MIGMIGU0206E Error calling MEMO/API |
0207 | MIGMIGU0207E Error signing user onto MEMO--processing continues onto next user |
0208 | MIGMIGU0208W User has more than 10,000 mail items in maillog |
0209 | MIGMIGU0209W Mail item has more than 70 recipients |
0210 | MIGGENU0210W Mail item is too large |
Figure 2.6 MEMO Source Extractor Error Messages
You transfer the formatted files produced by the UserList and Migrate Users functions to Microsoft Exchange Server. UserList will create MIGPRIM1 and MIGPACK. Migrate Users will create MIGPRIM2, MIGSEC, and MIGPACK2. Transfer these datasets to a PC on your Microsoft Exchange LAN by using a PC-TSO file transfer program and the Migration Wizard.
Note The PC-TSO file transfer program must be able to convert message text from EBCDIC to ASCII.
To test the installation, run both the MIGGENU and MIGMIGU sample JCL jobs. Because you are only testing the installation, not performing migration, the files created should not be downloaded to Microsoft Exchange Server. Check the formatted files produced by the MEMO Source Extractor and make sure that they're not forwarded to the Microsoft Exchange Server Migration Assistant.
To test the UserList function MIGGENU
To test the Migrate Users function MIGMIGU