*DECK ORDCH 
USETEXT COMCBEG 
USETEXT COMRDSD 
PROC ORDCH(TYPE); 
# TITLE - ORDCH - ORDINAL CHANGE #
  
      BEGIN  # ORDCH #
  
# 
**    ORDCH - ORDINAL CHANGE
* 
*     CHANGE ORDINAL SPECIFIED OF CURRENT DISPLAY BASED ON
*     TYPE(TRUE=ENABLE,FALSE=DISABLE) 
* 
*     PROC ORDCH(TYPE)
* 
*     ENTRY      - TYPE(TRUE=ENABLE,FALSE=DISABLE)
*                  DSD COMMAND BUFFER 
* 
*     EXIT       - ORDINAL CHANGED OR ERROR MESSAGE DISPLAYED 
* 
*     PROCESSING -
*         CALL GETPAR TO GET ORDINAL
*         CALL DISOCT TO CONVERT ORDINAL TO OCTAL 
*         IF ORDINAL LE 0 
*         THEN
*           CALL ERROR
*         ELSE
*           DEPENDING ON CURRENT DISPLAY
*           CASE(CURRENT DISPLAY,APPL) CALL APPLDISEN 
*           CASE(CURRENT DISPLAY,ID) CALL IDDISEN 
*           CASE(CURRENT DISPLAY,PATH) CALL PATHDISEN 
*         RETURN
# 
  
      ITEM TYPE B;        # TYPE OF CALL, TRUE=ENABLE,FALSE=DISABLE # 
  
# 
****  PROC ORDCH XREF LIST BEGIN. 
# 
      XREF
        BEGIN 
        PROC APPLDISEN; 
        FUNC DDTOBIN I; 
        PROC ERROR; 
        PROC GETPAR;
        PROC IDDISEN; 
        PROC PATHDISEN; 
        END 
# 
****  PROC ORDCH XREF LIST END. 
# 
  
  
      ARRAY PAR [0:0] S(2); 
        BEGIN 
        ITEM PAR$WD0    U(00,00,60); # REFERENCE WORD 1 # 
        ITEM PAR$EOC    B(00,54,01); # END OF COMMAND FLAG #
        ITEM PAR$WD1    U(01,00,60); # REFERENCE WORD 2 # 
        ITEM PAR$ORD    U(01,00,42); # REFERENCE ORDINAL #
        ITEM PAR$ORDC   C(01,00,07); # ORDINAL #
        END 
  
      SWITCH DISEN APPL,ID,PATH;
  
      ITEM ORD I; 
CONTROL EJECT;
  
      PAR$WD0[0] = 0; 
      PAR$WD1[0] = 0; 
      GETPAR(PAR);
      ORD=DDTOBIN(PAR$ORDC[0],7,CONVERR); 
      IF CONVERR LS 0 
        OR NOT PAR$EOC
      THEN
        BEGIN 
        ERROR;
        END 
      ELSE
        BEGIN 
# 
*     PROCESS ENABLE/DISABLE THRU SIMULATED CASE STATEMENT
# 
        GOTO DISEN[LBUF$CURD[0]]; 
  
  
APPL: 
      APPLDISEN(ORD,TYPE);
      GOTO ENDCASE; 
  
ID: 
      IDDISEN(ORD,TYPE);
      GOTO ENDCASE; 
  
PATH: 
      PATHDISEN(ORD,TYPE);
      GOTO ENDCASE; 
  
# 
*     END OF SIMULATED CASE STATEMENT 
# 
ENDCASE:  
        END 
      RETURN; 
      END 
  
      TERM
