/*********************************************************************/
/* */
/* $SEG(CBRHSG) COMP(OSMC) PROD(OAM): */
/* */
/* OAM Sample Storage Group ACS Routine */
/* */
/* FUNCTION: SUPPLY A STORAGE GROUP FOR OAM OBJECTS */
/* */
/* OPERATION: Select a storage group based upon the collection name */
/* specified */
/* */
/* NOTES: In this implementation, the collection name is used as */
/* the basis for determining whether explicit values will */
/* be considered. This approach and all of the processing */
/* indicated below is one of many differing possibilities */
/* and is only for purposes of illustration to demonstrate*/
/* the types of processing that can be accomplished in an */
/* ACS routine. Actual implementations will vary. */
/* */
/* ASSUMPTIONS: */
/* Collection name format */
/* CLLCT0mn */
/* where m = 0 or 1 (0 indicates that explicit values will be */
/* ignored, 1 indicates that explicit values */
/* are considered in some cases and may */
/* result in an override) */
/* where n = 0 - 9 */
/* Valid storage groups: */
/* SGROUP00 - SGROUP09 */
/* */
/* CHANGE ACTIVITY: */
/* $L0=JDP3227 320 890601 TUCKSG: Initial Release */
/* $L1=JDP3331 331 910614 TUCKSG: Added sample definitions */
/* */
/*********************************************************************/
/* S T O R A G E G R O U P D E F I N I T I O N S */
/* */
/*Relevant */
/*Fields SGROUP00 SGROUP01 SGROUP02 SGROUP03 SGROUP04 SGROUP05 */
/*--------- -------- -------- -------- -------- -------- -------- */
/*SG */
/*TYPE OBJECT OBJECT OBJECT OBJECT OBJECT OBJECT */
/* */
/*QUALIFIER GROUP00 GROUP01 GROUP02 GROUP03 GROUP04 GROUP05 */
/* */
/*CYCLE */
/*START 00 01 02 03 04 05 */
/* */
/*CYCLE */
/*END 03 04 05 06 07 08 */
/* */
/*LIBRARY */
/*NAMES LIB1 LIB1 LIB1 LIB1 LIB1 LIB1 */
/* LIB2 LIB3 LIB2 LIB2 */
/* LIB3 LIB3 */
/* */
/*VOLUME */
/*FULL 32 32 32 32 32 32 */
/* */
/*DRIVE */
/*START 099 099 099 099 099 099 */
/* */
/*WRITE */
/*ERROR YES YES YES YES YES YES */
/* */
/* */
/* */
/*Relevant */
/*Fields SGROUP06 SGROUP07 SGROUP08 SGROUP09 */
/*--------- -------- -------- -------- -------- */
/*SG */
/*TYPE OBJECT OBJECT OBJECT OBJECT */
/* */
/* */
/*QUALIFIER GROUP06 GROUP07 GROUP08 GROUP09 */
/* */
/*CYCLE */
/*START 06 07 08 09 */
/* */
/*CYCLE */
/*END 09 10 11 12 */
/* */
/*LIBRARY */
/*NAMES LIB1 LIB1 LIB1 LIB1 */
/* LIB2 LIB2 LIB2 LIB2 */
/* LIB3 LIB3 LIB3 LIB3 */
/* */
/*VOLUME */
/*FULL 32 32 32 32 */
/* */
/*DRIVE */
/*START 099 099 099 099 */
/* */
/*WRITE */
/*ERROR YES YES YES YES */
/* */
/*********************************************************************/
PROC STORGRP
FILTLIST DSN_NAMES INCLUDE(CLLCT0%%)
IF &DSN = &DSN_NAMES THEN /* If the first 6 characters of
the collection name are
valid */
IF &DSN ¬= ' ' THEN /* If the collection name is
not blank (this test will
always pass, but allows for
the apparent assignment of
the 'POOL' storage group
which is a requirement of
a storage group ACS
routine) */
/*********************************************************************/
/* Map the collection name to a storage group, where the last digit */
/* in the collection name corresponds to the last digit of the */
/* storage group. */
/*********************************************************************/
SELECT
WHEN (&DSN = 'CLLCT000' | &DSN = 'CLLCT010')
SET &STORGRP = 'SGROUP00'
WHEN (&DSN = 'CLLCT001' | &DSN = 'CLLCT011')
SET &STORGRP = 'SGROUP01'
WHEN (&DSN = 'CLLCT002' | &DSN = 'CLLCT012')
SET &STORGRP = 'SGROUP02'
WHEN (&DSN = 'CLLCT003' | &DSN = 'CLLCT013')
SET &STORGRP = 'SGROUP03'
WHEN (&DSN = 'CLLCT004' | &DSN = 'CLLCT014')
SET &STORGRP = 'SGROUP04'
WHEN (&DSN = 'CLLCT005' | &DSN = 'CLLCT015')
SET &STORGRP = 'SGROUP05'
WHEN (&DSN = 'CLLCT006' | &DSN = 'CLLCT016')
SET &STORGRP = 'SGROUP06'
WHEN (&DSN = 'CLLCT007' | &DSN = 'CLLCT017')
SET &STORGRP = 'SGROUP07'
WHEN (&DSN = 'CLLCT008' | &DSN = 'CLLCT018')
SET &STORGRP = 'SGROUP08'
WHEN (&DSN = 'CLLCT009' | &DSN = 'CLLCT019')
SET &STORGRP = 'SGROUP09'
OTHERWISE
EXIT CODE(30)
END
ELSE
DO
SET &STORGRP = 'POOL'
EXIT CODE(31)
END
ELSE
EXIT CODE(32)
END