Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LRIGCOPY

LRIGCOPY.m

Go to the documentation of this file.
  1. LRIGCOPY ;COPIES DD(63.04) TO TEMP AND BACK
  1. ;;5.2;LR;;NOV 01, 1997
  1. ;
  1. S S1="`",S2="~",S3="!",S4="|",CM=",",QT=""""
  1. F Q=0:0 D CTL Q:GLO=""
  1. K SUBS,SUBS1,NN,GLO,OGLO
  1. Q
  1. ;
  1. CTL ;
  1. R !,"COPY GLOBAL ",GLO Q:GLO=""
  1. R !," TO GLOBAL ",GLO1 Q:GLO1=""
  1. W !,"COPYING GLOBAL ",GLO," TO ",GLO1,!
  1. ENT S OGLO=GLO S:$E(OGLO)'="^" OGLO="^"_OGLO S OGLO=$P(OGLO,"(")_"("
  1. S SUBS1="",SUBS=$P($P(GLO,"(",2),")") S:$E(SUBS,$L(SUBS))=CM SUBS=$E(SUBS,1,$L(SUBS)-1)
  1. S MXL=0,NSUBS=$L(SUBS,CM)+1,SUBS1="N1" S:SUBS="" NSUBS=1 I NSUBS>1 S SUBS1="" F N=1:1:NSUBS S @("N"_N)=$TR($P(SUBS,CM,N),"""","") S:N>1 SUBS1=SUBS1_CM S SUBS1=SUBS1_"N"_N
  1. S LEV=NSUBS,MXL=LEV,@("N"_LEV)=""
  1. S NGLO=GLO1 S:$E(NGLO)'="^" NGLO="^"_NGLO S NGLO=$P(NGLO,"(")_"("
  1. S SUBS2="",SUBS=$P($P(GLO1,"(",2),")") S:$E(SUBS,$L(SUBS))=CM SUBS=$E(SUBS,1,$L(SUBS)-1)
  1. S MXL1=0,NSUBS1=$L(SUBS,CM)+1,SUBS2="SS1" S:SUBS="" NSUBS1=1 I NSUBS1>1 S SUBS2="" F N=1:1:NSUBS1 S @("SS"_N)=$TR($P(SUBS,CM,N),"""","") S:N>1 SUBS2=SUBS2_CM S SUBS2=SUBS2_"SS"_N
  1. S LEV1=NSUBS1,MXL1=LEV1,@("SS"_LEV1)=""
  1. S DCK=0,X=$G(@$S(LEV=1:$P(OGLO,"("),1:OGLO_$P(SUBS1,CM,1,LEV-1)_")"))
  1. S:X="" DCK=$D(@$S(LEV=1:$P(OGLO,"("),1:OGLO_$P(SUBS1,CM,1,LEV-1)_")"))
  1. I X'=""!(DCK#10) S @$S(LEV1=1:$P(NGLO,"("),1:NGLO_$P(SUBS2,CM,1,LEV1-1)_")")=X
  1. D SRH K @SUBS1,@SUBS2
  1. Q
  1. ;
  1. SRH ;
  1. S:MXL<LEV MXL=LEV,SUBS1=SUBS1_CM_"N"_LEV,SUBS2=SUBS2_CM_"SS"_LEV1
  1. S NN="N"_LEV,SS="SS"_LEV1,GLO=OGLO,@NN=$O(@(GLO_$P(SUBS1,CM,1,LEV)_")")),@SS=@NN
  1. I @NN="" Q:LEV=NSUBS S LEV=LEV-1,LEV1=LEV1-1 G SRH
  1. S DCK=0,X=$G(^(@NN)) S:X="" DCK=$D(^(@NN)) I X'=""!(DCK#10) S @(NGLO_$P(SUBS2,CM,1,LEV1)_")")=X
  1. S LEV=LEV+1,LEV1=LEV1+1,@("N"_LEV)=""
  1. G SRH
  1. ;
  1. DSP ;
  1. S P=0,LX=$L(X) F Q=0:0 S P=$F(X,STR,P) Q:'P W !,$ZR,!,ATOFF,$E(X,1,P-LNG-1),RV,$E(X,P-LNG,P-1),ATOFF,$E(X,P,999),ATOFF W:LX#80 $J("",LX\80+1*80-LX) R !,R Q:R="*"
  1. Q