*DECK DUDI
USETEXT COMCBEG 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQFIL 
USETEXT COMQCAF 
    PROC DUDI;
      BEGIN # DUDI #
# 
**    DUDI - DECIDE UPON DD - INITIATOR.
* 
*     ENTRY FILEOTY = OD$PB IF THIS IS A BINARY PUNCH FILE. 
*                   = OD$P8 IF THIS IS AN 80COL BINARY
*                     PUNCH FILE. 
*                   = OD$SP IF THIS IS A PLOT FILE. 
*           FILEICS = FILE/S INTERNAL CHARACTERISTICS.
*           FILEDDC = USER SPECIFIED DD, IF ANY, ELSE = "  ". 
* 
*     EXIT  FILEDDC = RFT-DD IF ANY, ELSE = "  ". 
* 
*     PROCESS 
* 
*     IF USER-SPECIFIED DD (I.E., MFQUEUE)
*     THEN: RFT-DD = USER SPECIFIED DD
*     ELSE: CASE IC VALUE OF: 
*             DIS 
*               IF DC=P8 OR PB OR PL OR PT
*                 THEN: RFT-DD = US 
*                 ELSE: RFT-DD = DEFAULT (ABSENT) 
*             ASCII 
*               RFT-DD = C8 
*             BIN, TRANS: 
*               RFT-DD = US 
* 
*     NOTE: IF WE DO NOT SET A DD HERE, WE (HOPEFULLY)
*     END UP USING THE RPOS-DD MODIFIER. (SEE RCM01). 
*     IF NO RPOS-DD MODIFIER IS SENT, AND WE SET NO 
*     DD HERE, WE USE C6. (SEE RCM01 AGAIN).
# 
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC NAME;
        END 
# 
****  XREF END
# 
  
  
      SWITCH ICS   DISX 
                  ,ASCIIX 
                  ,BINX 
                  ,TRANSX 
                  ; 
  
        $BEGIN
        NAME("DUDI"); 
        $END
  
      IF FILEDDC EQ "  "           # IF NO USER SPECIFIED DD #
      THEN
        BEGIN 
        GOTO ICS[FILEICS];
  
DISX: 
        IF    ( FILEOTY EQ OD$P8 )
           OR ( FILEOTY EQ OD$PB )
           OR ( FILEOTY EQ OD$SP )
        THEN
          BEGIN 
          FILEDDC = DD$US;
          END;
  
        GOTO ICCASEEND; # END OF CASE # 
  
ASCIIX: 
        FILEDDC = DD$C8;
        GOTO ICCASEEND;   # END OF CASE # 
  
BINX: 
TRANSX: 
        FILEDDC = DD$US;
        GOTO ICCASEEND;  # END OF CASE #
  
ICCASEEND:     # END OF CASE #
  
        END; # END IF NO USER SPCIFIED DD # 
  
      END # DUDI #
  
TERM
