Version 3, last updated by tlwiechmann at May 15 11:00 2009 UTC
Creating EsiObjects MSM Volume Sets
CREATING EXPORT FILES
First you must export all the routines and globals from your Cache development environment. To do this follow the steps below:
- Make sure the EsiObjects listener serving the ESI development environment is shut down.
- Bring the Cache Terminal interface up.
- Use the ZN command to switch to the development ESI namespace that contains the software you want to kit.
- Now, execute Do MSMKit^VESOUGSV. This saves all VES* routines to the MSM_KIT_VES.RSA and the ^VESO* globals in the KIT_VESO.GSA file. They will reside in the ESI development (default) directory.
- Shut down the Terminal interface.
CREATE THE MSM CONFIGURATION
- To create a kitting and test environment for MSM, create a new MSM configuration by executing the following option:
- Do ^SYSGEN -> 2 - Create New Configuration
- The partition size must be large enough to prevent <PGMOV> errors. Set (default partition size) = 500 KB
- Do ^SYSGEN -> 3 - Edit Configuration Parameters -> 12 - Default Partition Size
- Can also be set via ^%PARTSIZ
- Set (allow routine lines greater than 255)
- Do ^SYSGEN -> 3 - Edit Configuration Parameters -> 20 - Mode Flags
- This prevents <ISYNT> errors. You may have to restart MSM to enable this flag.
- Increase the STACK and STAP to 64 KB
- Do ^SYSGEN : 9 - System Configuration Parameters : 2 - Stack and Stap Size
- This prevents <STKOV> errors when you are doing large routine restores. You have to restart MSM to enable this.
CREATE THE ESI.VOL and USER.VOL VOLUME GROUPS
- MSM Server has global translation, but no routine translation. So the two volume sets created here will contain:
- [ESI,ESI]: ESI.VOL -> VESO* globals
- VESO* routines
- VESo* routines,
- [USR,USR]: USER.VOL -> VESO* routines
- VESo* routines
- The VESo* globals are not needed, they are created automatically
- Log into MGR:XXX
- Create the ESI.VOL volume group.
- Do ^SYSGEN -> 10 Database Definition -> 1 - Create a Database Volume (50 MB)
- Mount the volume set.
- Do ^SYSGEN : 10 Database Definition : 4 - Mount a Volume Group
- Create the [ESI,ESI] UCI.
- Do ^SYSGEN -> 7 - UCI Management -> 1 - Create New UCI
- Set (max global data length) = 511
- Do ^SYSGEN ->10 Database Definition -> 9 - Edit Volume Group Characteristics
- Switch to the volume set ESI:XXX (if you shut down, remember to mount ESI.VOL again, or auto-mount it)
- Import the routines from the MSM_KIT_VES.RSA file.
- Do ^%RR
- Import the VESOUGLD.rsa routine. This routine cleans up all ^VES globals and loads all new globals from the KIT_VESO.GSA file.
- Do ^%RR
- Run this routine to insure all MSM specific lines in routines are enabled and non-MSM lines are disabled.
- Do ^VESOUXCD
- Load the VESO* globals (KIT_VESO.GSA). The VESOUGLD routine is hardcoded to look within the MSM directory for the KIT_VESO.GSA file. Make sure it is in that directory before starting.
- Do ^VESOUGLD
- If you run out of space in the volume, halt out of the ESI UCI and log into the MGR UCI and expand it. Log out and back into ESI:XXX and rerun Step 11.
- Do ^SYSGEN -> 10 - Database Definition -> 6 - Expand a Database Volume
- Now create the USR,USR volume group. Log out of ESI,ESI and into MGR:XXX
- Create the USR.VOL volume group.
- Do ^SYSGEN -> 10 Database Definition -> 1 - Create a Database Volume (26 MB)
- Mount the volume set.
- Do ^SYSGEN : 10 Database Definition : 4 - Mount a Volume Group
- Create the [USR,USR] UCI.
- Do ^SYSGEN -> 7 - UCI Management -> 1 - Create New UCI
- Set (max global data length) = 511
- Do ^SYSGEN ->10 Database Definition -> 9 - Edit Volume Group Characteristics
- Switch to the volume set USR:XXX
- Import the routines from the CACHE_KIT_VES.RSA file. The VESO* and VESo* routines must be loaded to this UCI since MSM does not support routine translation.
- Do ^%RR
- Run this routine to insure all MSM specific lines in routines are enabled and non-MSM lines are disabled.
- Do ^VESOUXCD
SET GLOBAL TRANSLATION
- Switch to manager MGR:XXX.
- Create translation table entry.
- Do ^SYSGEN -> 3 - Edit Configuration Parameters -> 13 - Translation/Replication Table Maintenance
- Enable translation.Global Translate Lock Repl Functions Coll Global
- # Name(s) From UCI To UCI Master Ind Enabled Seq encode
- ------- ---------------- ------ ---- --------- ---- ------
- 1 VESO* USR,USR ESI,ESI ESI,ESI TRANSLATION NUM 8-bit
- LOCK MASTER
- Do ^SYSGEN -> 3 - Edit Configuration Parameters -> 13 - Translation/Replication Table Maintenance -> 2 - Enable Translation
SET PROTECTION ON ESI GLOBALS
- Switch to ESI:XXX
Set protection- Do ^%GCH
- Set all globals to RW access for World.
- New Status --> System = RWD World = RWD Group = NONE User = RWD
UPDATE ROUTINES AND COMPILE LIBRARIES
- Switch to ESI:XXX.
- Run the primitive browser.
- Do ^VESOZ
- Enter your initials.
- Select the R)ecompile All option.
- Switch to USR:XXX
- Do ^VESOZ
- Select the R)ecompile All option.
- Create the User Library References
- Move to USR,USR
- Merge ^VESoL("I")=^["ESI","ESI"]VESOL("I")
- Merge ^VESoL("S")=^["ESI","ESI"]VESOL("S")
- Log out of MSM and shut it down. The ESI.VOL and USR.VOL are now ready to kit.