*DECK HCHGICT USETEXT ACB USETEXT ACNB USETEXT ACNT USETEXT NCNB USETEXT NIPDEF USETEXT APPSTAT USETEXT AWLNTRY USETEXT DEQCOM USETEXT OVERLAY USETEXT PARAMS USETEXT SUPMSG PRGM HCHGICT; # CHANGE INPUT CHARACTER TYPE FOR ACNB # STARTIMS; # *1DC HCHGICT * * 1. PROC NAME AUTHOR DATE * HCHGICT A. M. PRATT 75/10/10 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE IS RESPONSIBLE FOR CHANGING A ACNB-S INPUT * CHARACTER TYPE. PROCESS A DC/CICT. * * 3. METHOD USED. * LOCATE THE ACNB. IF NOT FOUND, THEN ISSUE ERR/LGL. * ELSE LOCATE THE NCNB. VALIDATE THE APPLICATON * CHARACTER TYPE. * DT = 5 (INTRA-HOST) ACT = 1,2,3 * DT = 6 (INTER-HOST) ACT =2,3 * DT = 0 (T-A) ACT = 2,3,4 * SET THE INPUT CHARACTER TYPE, SYNCHRONOUS COMMAND IN * ASCII12 FLAG AND NO TRANSPARENT DATA FLAG * IN NCNB. * * 4. ENTRY PARAMETERS. * DCACN (DATA CONTROL) APP CONNECTION NUMBER * DCACT (DATA CONTROL) APP CHARACTER TYPE * ACBADDR CURRENT APPLICATION"S ACB * WLADDR CURRENT WORKLIST ENTRY * * 5. EXIT PARAMETER. * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * ACB ACNB ACNT APPSTAT NCNB * NIPDEF OPSIZE OVERLAY PARAMS SUPMSG * * 7. ROUTINES CALLED. * HLGLERR OVL REJECT MSG AND SEND LGL/ERR TO APPL * OVLCALL LOAD AND EXECUTE OVERLAY * XTRACE TRACES CALLS * * 8. DAYFILE MESSAGES. NONE * * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE OVLCALL. * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN * TO RETURN TO THE CALLING PROGRAM. * * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY OVERLAY *CALL OPSIZE * * THIS OVERLAY IS CALLED BY HPPUT. * # STOPIMS; # EXTERNAL VARIABLES # XREF PROC OVLCALL; # LOAD AND EXECUTE OVERLAY # XREF PROC XTRACE; XREF LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL # # INTERNAL VARIABLES # #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1 ; XTRACE("HCHGI") ; CONTROL FI; P = WLADDR + HDRSIZE; # TEXT ADDRESS # # LOCATE THE ACNB # P = ACBADDR; P = ACBACNT[0]; P = ACNTACNB[DCACN[0] + ACNTHSIZE - ACNTMINACN[0]]; IF P NQ 0 THEN BEGIN P = ACNBNCNB[0]; # NCNB ADDRESS # IF P NQ 0 AND (DCACT[0] LS CT60TRANS OR DCACT[0] GQ ACTMAX OR (NCNBDT[0] EQ DT$INTE AND NOT (DCACT[0] EQ CT8ASCII OR DCACT[0] EQ CT12ASCII)) OR (NCNBDT[0] EQ DT$INTA AND DCACT EQ CT6DISPLAY) OR (NCNBID[0] EQ NCNBIDVALUE AND NOT NCNBAA[0] AND DCACT[0] EQ CT60TRANS)) THEN # DT = 5 INTRA HOST ACT MUST BE 1,2 OR 3 DT = 6 INTER HOST ACT MUST BE 2 OR 3 T-A CONNECTION ACT MUST BE 2,3 OR 4 # BEGIN PARAMS1 = RLG"IA"; # ILLEGAL ACT # GOTO ERREXIT; END # STORE NEW ACT IN ACNB # ACNBICT = DCACT[0]; # NEW INPUT CHARACTER TYPE # ACNBSCT[0] = DCSCT[0] ; # SYN. CHAR TYPE # ACNBNXP[0] = DCNXP[0] ; # NO TRANS. DATA INDICATOR # GOTO RJMAIN; # RETURN TO CALLING PROGRAM # END ELSE PARAMS1 = RLG"ACN"; # REASON CODE - BAD ACN # ERREXIT: OVLNAME = HLGLERRP; # SEND LOGICAL ERROR MSG TO APPL # OVLCALL; GOTO RJMAIN; # RETURN TO CALLING PROGRAM # END TERM