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)