GETPC 
.PROC,GETPC*I,\ 
PCDECK  ' DECK NAME FOR PC MODSETS             '=(*N=,*A),
PCPL    ' NAME OF PL WITH PC CODE              '=(*N=,*F),
PC      ' ADD PERMANENT CODE          (NO/YES) '=(*N=NO,NO,YES),
CC      ' ADD CORRECTIVE CODE         (NO/YES) '=(*N=NO,NO,YES),
. 
*CALL    PSRLEV 
* GETPC - GET #PC AND #CC TYPE CODE FROM PCPL.
  
.****   GETPC 
.*
.*      OBTAINS PC AND CC TYPE CODE FROM PCPL(CPRD/CNSP)
  
.**     ENTRY 
.*
.*             PC     - YES   OBTAIN FROM PCPL ALL MODSETS ASSOCIATED 
.*                            WITH A THE PRODUCT IDENTIFIED BY PCDECK.
  
.*                    -  NO   BATCH CORRECTIVE CODE IS NOT OBTAINED.
.*
.*             CC     - YES   OBTAIN FROM PCPL ALL MODSETS ASSOCIATED 
.*                            WITH A PRODUCT IDENTIFIED BY C_PCDECK.
.*
.*             PCDECK -       MOD DECK TO BE RETRIEVED OFF THE PCPL.
.*                            PCDECK'S CONTAIN  '/CALL COMDECKNAME' 
.*                            FOR EACH MODSET TO BE PICKED UP.
.*                            THE SAME METHOD IS USED TO PICK UP
.*                            CORRECTIVE CODE FOR THE PRODUCT.  IN THIS 
.*                            THE DECK NAME IS  'C_PCDECK'. 
.*
.*             PCPL   -       CPRD OR CNSP PROGRAM LIBRARIES IN UPDATE
.*                            FORMAT, OPTAINED FROM REL0.  THEY CONTAIN 
.*                            PC AND CC TYPE CODE.
.*
.**            EXIT   - FILE USER CONTAINS THE CORRECTIVE CODE.  IF ON
.*                      INPUT FILE USER CONTAINED SITE CODE THEN IT 
.*                      FOLLOWS THE CORRECTIVE CODE.  THE CALLER OF 
.*                      GETPC WILL PACK FILE USER IF NECESSARY. 
.*
.*                      BATCH CORRECTIVE CODE WILL BE ON FILE *MODS*. 
.*
.*                      FILES *USER* AND *MODS* WILL EXIST IF AND ONLY
.*                      THEY CONTAIN CODE.
  
***************** G E T P C **********************
RETURN(MODS,CMODS,CODEPL) 
IFE($PCPL$.EQ.$CPRD$.OR.$PCPL$.EQ.$CNSP$,L00000)
ATTACH(CODEPL/NA) 
ELSE(L00000)
ATTACH(CODEPL=PCPL/NA)
ENDIF(L00000) 
  
IF, FILE(CODEPL,AS) ,GETPC1.
  
IFE($CC$.EQ.$YES$,L00001) 
  NOTE(IN);/C,C_PCDECK
  UPDATE(P=CODEPL,Q,D,8,*=/,K=CMODS,I=IN) 
  IFE(FILE(CMODS,AS),L00001)
    IFE(.NOT.FILE(USER,AS),L00002)
      RENAME(USER=CMODS)
    ELSE(L00002)
      REWIND(USER)
      SKIPEI(CMODS) 
      COPYEI(USER,CMODS)
      RENAME(USER=CMODS)
    ENDIF(L00002) 
ENDIF(L00001) 
  
IFE($PC$.EQ.$YES$,L00003) 
  NOTE(IN);/COMPILE,PCDECK
  UPDATE(P=CODEPL,Q,D,8,*=/,K=MODS,I=IN)
ENDIF(L00003) 
  
UNLOAD(CODEPL)
  
ENDIF(GETPC1) 
  
REVERT. GETPC ************************************
EXIT. GETPC 
REVERT(ABORT) GETPC ******************************
*WEOR 
