Listing of file='ASK?327D' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 229, program filename = 'ASK?327D'
0010 REM ASK?327D 01/22/86
: GOTO 1500
: ON AGOTO 2010,2030
1490 REM %Prompt screen 1
1500 B$=" "
: P0=11
: SELECT @PART"3270UNIV"
: Z$=@Z$
1501 DIM A1$1
: BIN(A1$)=#TERM+48
1502 DIM Y$(4)62
: MAT REDIM Y$(4)62
: A=VAL(STR(@C$,24))-65
: DATA LOAD DC OPEN T#0,"3270CALL"
: IF A<1OR A>14THEN 1504
: DSKIP #0,A
1504 DATA LOAD DC #0,Y$()
: MAT REDIM Y$(15)16
1510 STR(Z$,12,7)="1111111"
: REM Initialize prompts
1512 FOR C=1TO 12
: $TRAN(STR(Y$(C),9,8)," .")R
: IF STR(Y$(C),9,8)=" "THEN STR(Y$(C),9,1)=A1$
: NEXT C
1514 FOR C=1TO VAL(STR(Z$,33))-48
: IF POS(STR(Y$(C),9,8)=A1$)>0THEN STR(Z$,15,1)=BIN(C+48)
: NEXT C
1516 FOR C=1TO VAL(STR(Z$,34))-48
: IF POS(STR(Y$(C+8),9,8)=A1$)>0THEN STR(Z$,16,1)=BIN(C+48)
: NEXT C
1520 P=1
: GOSUB '33
: GOSUB 2560
1600 COM CLEAR B$
: LOAD DC T#0,"START"
1990 REM %..ASKAPARM - 3270 question interface
2000 REM ...3270 Ask Parameters
2010 ON P GOSUB 2070
: RETURN
2030 ON P GOSUB 2050
: RETURN
2040 REM %^ ...QUESTIONS
2050 D$="3 2 7 0 D e t a c h m e n t"
: P=1
: P9=6
2060 IF STR(Z$,34,1)>="0"THEN 2070
: P9=3
2070 INIT(20)D$()
: ON A GOTO 2240,2280,2294,2310,2450,2530
2080 REM . A$ - DESCRIPTION
2090 REM . D$( DESCRIPTION OF VALUE
2100 REM .@A$ Attachment data
2110 REM .@C$ Configuration data
2120 REM . Z$ Configuration data
2130 REM .01 02 .. 04 05 .. 07 08 .. 10 11 Printers
2140 REM .20 21 Printer Timing 00-99
2150 REM .24 25 .. 27 28 Printers
2160 REM .29 30 Cluster controller
2170 REM .31 3270 Emulation
2180 REM .33 ?2 No. Stations
2190 REM .34 ?3 No. Printers
2200 REM .35 36 37 38 (reserved for proper display)
2210 REM .41 42 .. 44 45 .. 47 48 .. 50 51 Stations 1-4
2220 REM .53 54 .. 56 57 .. 59 60 .. 62 63 Stations 5-8
2230 REM .? 1
2240 A$="DETACH DEVICE"
2250 IF STR(Z$,34,1)="0"THEN 2260
: D$(3)="Printer"
2260 D$(1)="No"
: D$(2)="Station"
: RETURN
2270 REM .Line 2 No prompt
2280 A$=STR(Z$,33)
: STR(A$,2)=" STATIONS CONFIGURED"
: E=-1
2290 D$(1)=STR(Z$,41,((VAL(A$)-48)*3)-1)
: RETURN
2292 REM .Line 3 No prompt
2294 A$=STR(Z$,34)
: STR(A$,2)=" PRINTERS CONFIGURED"
: E=-1
2296 IF STR(A$,1,1)>"0"THEN 2298
: D$(1)="None"
: RETURN
2298 D$(1)=STR(Z$,1,((VAL(A$)-48)*3)-1)
: RETURN
2300 REM .? 4
2310 E=VAL(STR(Z$,33))-48
: IF C$(1)<>HEX(02)THEN 110
2320 REM .Pick up station data from Z$ 41 on
2330 FOR C=1 TO E
: D$(C)=STR(Z$,C*3+38,2)
: IF STR(@A$,C*3+38,1)=" "THEN 2340
: STR(D$(C),4)="Term.="&STR(@A$,24+C,1)&" Part.="&STR(@A$,12+C,1)&" "&STR(
Y$(),C*16-15,8)
2340 NEXT C
2350 A$="DETACH STATION"
: E=-1
: RETURN
2440 REM .? 5
2450 IF C$(1)<>HEX(03)THEN 110
2460 IF STR(Z$,34,1)="0"THEN 2510
2470 REM .Pick up printer data from Z$ 1 on
2480 FOR C=1 TO VAL(STR(Z$,34))-48
: D$(C)=STR(Z$,C*3-2,2)
2490 IF STR(@A$,C*3-2,1)=" "THEN 2500
: STR(D$(C),4)="Attached"
2500 STR(D$(C),13)=STR(@P$(C),15,3)&" "&STR(Y$(),C*16+113,8)
: NEXT C
2510 A$="DETACH PRINTER"
: E=-1
: RETURN
2522 REM .Line 6 No prompt
2530 A$="YOU ARE"
: E=-1
: D$(1)="on Term.=# Part.=#"
: BIN(STR(D$(1),10,1))=#TERM+48
: BIN(STR(D$(1),18,1))=#PART+48
: RETURN
2550 REM %^.Perform Detachment
2560 A$="Detached from Cluster -- "
: ON VAL(C$(1))GOSUB 100,8510,8410
2570 REM .............. No, Term,Printer
2580 COM CLEAR A
: LOAD DC T#0,N$(1)
8400 REM %.Detach Printer from Cluster
8410 E=VAL(C$(5))
: IF STR(@P$(5),24,6)="Delete"THEN IF STR(@P$(E),6,1)="D"THEN 8460
: A=3*E-2
: E=E+8
8415 A$=A$&" Printer "&STR(@A$,A,3)
8416 IF STR(@A$,12+E,1)<"4"THEN 8525
: STR(@D$(E),2)=HEX(20)
: GOTO 8520
8460 GOSUB '99(9,"Delete in Progress")
: RETURN CLEAR
: GOTO 1520
8500 REM %.Detach terminal from Cluster
8510 E=VAL(C$(4))
: A=3*E+38
: A$=A$&" Station "&STR(@A$,A,3)
8515 STR(@D$(E),2)=HEX(00)
: REM /.Set device status flag unattached.
8520 @T$(E)=HEX(03)
: REM /.Set transfer flag to status update pending
8525 $BREAK10
: STR(@A$,24+E,1),STR(@A$,12+E,1),STR(@A$,A,3)=" "
: REM /.Clear attachment data
8528 IF E>8THEN STR(@P$(E-8),24,10)="Detached"
8530 GOSUB '99(8,A$)
8550 RETURN
9320 REM %/'99 Box display
9390 DEFFN'99(A,A$)
: SELECT PRINT 005
: REM /.Box display
9400 PRINT HEX(03);BOX(5,79);HEX(0A0A0E);TAB(40-LEN(A$)/2);A$
9410 FOR A=ATO 0STEP -1
: PRINT A;HEX(0C)
: $GIO (75FF,A$)
: NEXT A
: RETURN
9450 COM CLEAR A
: LOAD DC T#0,N$(1)