Listing of file='LPMERG02' on disk='vmedia/701-2721C.wvd.zip'
# Sector 399, program filename = 'LPMERG02'
0100 REM % MERG EDIT DRIVER ***LPMERG02***
0110 COM L0$(7)20
: DIM A6$(4)25,A7$(13)6,A0(5)
: DIM V1$(3)82,D$(4128)1,V0$(3)82,C6$(326)1
: DIM L4$(123)2,L1$(1008)1,V4$1,L5$(116)2,L9(10)
: J3=8
: J6=1
: L0(3)=1
: L9(1)=0
: L0(4)=0
: L5$(),C6$()=ALL(20)
: I9=0
: C9=246
: D4=1
: C8=0
: D2=1
0260 GOSUB '220(A1,1,1,1,1)
: IF R1$<>HEX(00)THEN L9(8)=3
: IF R1$<>HEX(00)THEN GOSUB 1200
: I6=V0
: V4$="P"
: GOSUB '225(L8(3),1,1,1)
: IF R1$=HEX(00)THEN GOTO 270
: L9(8)=1
: GOSUB 1200
0270 L4$()=V1$()
: GOSUB '220(A1,1,2,1,1)
: IF R1$<>HEX(00)THEN L9(8)=3
: IF R1$<>HEX(00)THEN GOSUB 1200
: V4$="A"
: GOSUB '225(L8(3),1,1,1)
: IF R1$=HEX(00)THEN GOTO 300
: L9(8)=1
: GOSUB 1200
0300 MAT SEARCHL4$(),=HEX(FFFF)TO I$STEP 2
: I7=(VAL(I$,2)-1)/2-7
: J4=(VAL(I$,2)-1)/2
0330 I8=I7
: L9(1)=L9(1)+I7
: IF L9(1)>116THEN GOTO 1250
: L0(4)=L0(4)+1
: PRINT AT(18,29);"Merging Record";L0(4)
0370 IF J3=J4THEN L9(10)=I6-VAL(L4$(J3),2)+1
: ELSE L9(10)=VAL(L4$(J3+1),2)-VAL(L4$(J3),2)
: IF MOD(LEN(L5$()),2)=0THEN I=LEN(L5$())
: ELSE I=LEN(L5$())+1
: IF L0(4)=1AND I8=I7THEN L5$(1)=L4$(8)
: ELSE L5$()=STR(L5$(),1,I)&BIN(VAL(L4$(8),2)+I9,2)
: D$()=ALL(00)
: I2=1
: I8=I8-1
: FOR I=1TO L9(10)
0430 GOSUB '220(A1,1,(VAL(L4$(J3),2)+I-1),1,2)
: IF R1$=HEX(00)THEN GOTO 440
: L9(8)=3
: GOSUB 1200
0440 STR(D$(),I2)=V1$()
: I2=I2+246
: NEXT I
: Q=POS(-D$()>HEX(20))
: D8=1
0500 L9(5)=MIN(247-J6,Q-D8+1)
: L9(2)=POS(STR(D$(),D8,L9(5))=HEX(7F))
: IF L9(2)=1THEN GOTO 620
: ELSE IF L9(2)<>0THEN GOTO 610
: STR(C6$(),J6)=STR(D$(),D8,L9(5))
0540 V1$()=C6$()
: R1$=HEX(00)
: V4$="T"
: $TRAN(V1$(),HEX(8020))R
: D8=D8+L9(5)
: IF D8<=QTHEN GOTO 580
: L9(7)=POS(-V1$()<>HEX(80))
: IF L9(7)<>246THEN GOTO 579
: GOSUB '225(L8(3),1,1,1)
: IF R1$=HEX(00)THEN GOTO 572
: L9(8)=1
: GOSUB 1200
0572 I9=I9+1
: IF STR(V1$(),246,1)<>HEX(8F)THEN V1$()=HEX(8F)&ALL(20)
: ELSE V1$()=ALL(20)
: GOTO 580
0579 IF L9(7)=0THEN I=1
: ELSE IF STR(V1$(),L9(7),1)=HEX(8F)THEN I=0
: ELSE I=1
: STR(V1$(),L9(7)+I,1)=HEX(8F)
: IF L9(7)+I+1<247THEN STR(V1$(),L9(7)+I+1)=ALL(20)
0580 GOSUB '225(L8(3),1,1,1)
: IF R1$=HEX(00)THEN GOTO 595
: L9(8)=1
: GOSUB 1200
0595 I9=I9+1
: J6=1
: C6$()=" "
: IF D8<=QTHEN GOTO 500
: ELSE IF I8=0THEN GOTO 840
: J3=J3+1
: GOTO 370
0610 STR(C6$(),J6,L9(2)-1)=STR(D$(),D8,L9(2)-1)
0620 D8=D8+L9(2)-1
: J6=J6+L9(2)-1
: GOSUB '100(255)
: IF D8>QTHEN GOTO 540
: ELSE GOTO 500
0655 STR(L4$(),15,2*L0(4)*I7)=L5$()
: V1$()=L4$()
: GOSUB '221(L8(3),1,1,1,1)
: IF R1$=HEX(00)THEN GOTO 680
: L9(8)=5
: GOSUB 1200
0680 GOSUB '220(L8(3),1,2,1,1)
: IF R1$=HEX(00)THEN GOTO 690
: L9(8)=3
: GOSUB 1200
0690 $UNPACK(F=HEX(A019A0066006))V1$()TO A6$(),A7$(),A0()
: A0(3)=7+(I7*L0(4))
: A6$(1)=R5$&" SUPER DOCUMENT"
: A6$(2)="DATAMERGE"
: A7$(1)=STR(L0$(4),12,4)&STR(L0$(4),10,1)
: $PACK(F=HEX(A019A0066006))V1$()FROMA6$(),A7$(),A0()
: V4$="A"
: GOSUB '221(L8(3),1,2,1,1)
: IF R1$=HEX(00)THEN GOTO 720
: L9(8)=5
: GOSUB 1200
0720 R5$=A7$(1)
: DATA SAVE DA T(L8(5))L8(),L0()
: DATA SAVE DA T(L8(5)+1)L0$()
: COM CLEAR C1$
: LOAD T"LPEDTCOM"
0840 L1$()=ALL(HEX(80))
: GOSUB '112
: $TRAN(L1$(),HEX(8020))R
: $TRAN(L1$(),HEX(8000))R
: J3=8
: IF POS(L1$()<HEX(80))=0THEN GOTO 655
: ELSE GOTO 330
1000 DEFFN'102
: V1$()=STR(C6$(),1,246)
: GOSUB '225(L8(3),1,1,1)
: IF R1$=HEX(00)THEN GOTO 1037
: L9(8)=1
: GOSUB 1200
1037 C6$()=STR(C6$(),247)
: J6=J6-C9
: I9=I9+1
: L9(4)=L9(4)+246
: RETURN
1200 IF R1$=HEX(28)THEN RETURN
: A5$="START"
: ON L9(8)GOTO 1210,,1230,,1240
1210 IF R1$<>HEX(01)THEN GOTO 1220
: L0$=BIN(11)
: STR(L0$,2)=B9$
: LOAD T"LPERROR"
1220 L0$=BIN(13)
: STR(L0$,2)="Opened"
: LOAD T"LPERROR"
1230 L0$=BIN(13)
: STR(L0$,2)="Read"
: LOAD T"LPERROR"
1240 L0$=BIN(13)
: STR(L0$,2)="Completed"
: LOAD T"LPERROR"
1250 A5$="START"
: L0$=BIN(16)
: LOAD T"LPERROR"
1310 DEFFN'35
1320 DEFFN'36
: RETURN
9100 DEFFN'0"SCRATCH T ";HEX(22);"LPMERG02";HEX(22);HEX(3A);"SAVE T () ";HEX(2
2);"LPMERG02";HEX(22)