Version 3, last updated by tlwiechmann at May 15, 2009 12:00 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.