*DECK SETPLTA                      03MAR81
USETEXT COMCBEG 
USETEXT COMQDEF 
USETEXT COMQPID 
    PROC SETPLTA ((PID)); 
      BEGIN    # SETPLTA #
# 
**    SETPLTA    SET PLT ENTRY ADDRESS. 
* 
*     SETPLTA SETS THE PLT ENTRY ADDRESS (BASED ARRAY) TO THE ENTRY WITH
*     A PID MATCHING THE PID SUPPLIED.
* 
*     PROC SETPLTA ((PID))
* 
*     ENTRY      PID = PID TO MATCH.
*                PLTFWA = FWA OF PLT. 
* 
*     EXIT       P<PLTHDR> = ADDR OF MATCHING ENTRY.
*                PLTWD1 = 0, IF PID ENTRY NOT FOUND.
* 
*     PROCESS    SEARCH PLT FOR PID MATCHING FILECPD
*                IF PID FOUND:  
*                  PLT POINTER = ADDRESS OF ENTRY.
*                ELSE:  
*                  POINT TO DUMMY PLT HEADER. 
# 
  
      ITEM PID       U;            # PID TO FIND #
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC NAME;                 # DEBUG CODE # 
        END 
# 
****  XREF END
# 
  
      ARRAY DUMPLTHDR S(PLTHDRL); 
        BEGIN 
        ITEM DUMPLTHDRW  U(00,00,60); 
        END 
  
  
      $BEGIN
      NAME("SETPLTA");             # DEBUG CODE # 
      $END
  
      P<PLTHDR> = PIDLPID;         # SET ADDR TO LAST ENTRY USED #
      ASLONGAS (PLTPID NE PID)
           AND (P<PLTHDR> NE 0) 
      DO
        BEGIN                      # SEARCH PLT FOR MATCHING PID #
        IF PLTNXTPID EQ PIDLPID    # IF ALL ENTRIES TRIED # 
        THEN
          BEGIN 
          P<PLTHDR> = LOC(DUMPLTHDR); 
          PLTNXTPID = P<PLTHDR>;
          PLTWD0 = 0; 
          PLTWD1 = 0; 
          PLTPID = PID; 
          PLTSCINUSE = 0; 
          PLTDISTIME = 0; 
          PLTDISLDT = TRUE; 
          END 
  
        ELSE
          BEGIN 
          P<PLTHDR> = PLTNXTPID;   # RESET ENTRY ADDR # 
          END 
  
        END 
  
      END    # SETPLTA #
    TERM
