&DL      PROC
XJRNREL  NAME  X
JRNREL   NAME  0
*                                                               *
*   THIS AND ALL RELATED PROGRAMS ARE THE PROPERTY OF SPERRY    *
*   UNIVAC CONTAINING ITS CONFIDENTIAL INFORMATION.             *
*                                                               *
* THIS PROC CALLS THE JOURNAL RECORD CONTROL ROUTINE TO OUTPUT A
*        NETWORK RELEASE RECORD AND CLOSE ALL OUTPUT FILE. IT REGAINS
*        CONTROL FROM THE JOURNAL RECORD CONTROL ROUTINE AND YIELDS
*        SO THE SUBTASK CAN RUN. FINALLY THE SUBTASK AWAKES THIS
*        ROUTINE TO RETURN CONTROL TO DUST.
R0$      EQU   0
R1$      EQU   1
R2$      EQU   2
R3$      EQU   3
R4$      EQU   4
R5$      EQU   5
R6$      EQU   6
R7$      EQU   7
R8$      EQU   8
R9$      EQU   9
RA$      EQU   10
RB$      EQU   11
RC$      EQU   12
RD$      EQU   13
RE$      EQU   14
RF$      EQU   15
         VTOC  SAT=YES,PCA=YES
         TJ#DSECT
         ENTRY TJ#REXIT
         EXTRN TU#LRTRN
         EXTRN TJ#JOURN
         USING TN#CNTRL,R2$               COVER  CCA
         USING TN#GEN,R3$                 COVER  GENERAL TABLE
TJ#RJREL BALR  RF$,0                     SET-UP RF$ AS BASE
         USING *,RF$
TJ#R     STM   R0$,RF$,TJ#RSAV           SAVE  CALLERS REGISTERS
         L     R6$,TN#CFDTF              R1 = ADD OF JRN TBL IN CCA
         L     RB$,TN#CARPT             ADD OF ARP POOL
         L     RF$,TN#GBPAF             ADD OF BUFF MNGT ROUTINE
         BALR  RE$,RF$                    GET ARP
         USING *,RE$
         LTR   RC$,RC$                    RC = ARP = 0
         BNZ   TJ#RSET                  . ARP WAS RETURNED,TJ#RSET      00004800
         MVI   TJ#RERRF,C'B'            . INDICATE ARP NOT AVAILABLE    00004900
         B     TJ#REXIT                 . BYPASS CLOSE, GO TO EXIT      00005000
         USING TJ#YARP,RC$                YARP
TJ#RSET  MVC   TJ#YENTR(4),=A(TJ#JOURN)      PUT JRN ENTRY ADD IN ARP   00005200
         MVC   TJ#YCMPL(4),=A(TJ#RJRET)      PUT RETURN    ADD IN ARP
         MVC   TJ#YDTF,TN#CFDTF         . ADDRESS FIRST DTF TO ARP
         MVI   TJ#YJEC,TJ#ENET            JRN CODE = NETWORK RELEASE    00005500
         LR    R1$,RC$                    R1 = ARP ADD
         L     RF$,=A(TJ#JOURN)
         BALR  RE$,RF$                    GOTO JOURNAL ROUTINE TO CLOSE
         USING *,RE$
         N     RF$,=F'4'                . STAGE ERROR SET?              00005910
         BZ    TJ#RJRET                 . NO,NORMAL RETURN              00005930
         MVI   TJ#RERRF,C'C'            . INDICATE STAGE ERR ON NETREL  00005950
         B     TJ#REXIT                 . BYPASS RELEASE TO SUBTASK     00005970
TJ#RJRET DS    0H
         RELEASE
TJ#REXIT BALR  RF$,0                    . SET TEMP BASE REG             00006300
         USING *,RF$                                                    00006400
         LM    R0$,RF$,TJ#RSAV          . RESTORE USER REGISTERS
         XR    R0$,R0$                  . CLEAR ERROR FIELD
         IC    R0$,TJ#RERRF             . PICK UP ERROR SETTING
         L     R1$,TU#LDARP              R1 = ADD OF ARD
         L     RF$,=A(TU#LRTRN)          RF = RETURN ADD
         BR    RF$                       RETURN TO CALLER
TJ#RERRF EQU   TN#CJECM+2
TJ#RSAV  DC    16F'0'
         DC    20F'0'                   PATCH AREA
         LTORG
         END
