[796] | 1 | TMGDIT0 ;SFISC/XAK-PREPARE TO XFR ;09:21 AM Jul 19, 1988
|
---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;"Copied from FM, for customization
|
---|
| 5 |
|
---|
| 6 | K Y,DIC
|
---|
| 7 | S DIT=DDF(1)
|
---|
| 8 | S DIC=L
|
---|
| 9 | S DIC(0)="EQLAM"
|
---|
| 10 | S X="DATA INTO WHICH "
|
---|
| 11 | D LK ;"--> ^DIC Asks for destination record, and creates new if needed. Y=destination record
|
---|
| 12 | G Q:Y<0 ;"abort if requested
|
---|
| 13 | S DFR=+Y
|
---|
| 14 | S DTO(1)=DIC_+Y_"," ;"DTO is DESTINATION info array
|
---|
| 15 | ;"At this point we have:
|
---|
| 16 | ;" DTO=^VA(200,
|
---|
| 17 | ;" DTO(1) = ^VA(200,166,
|
---|
| 18 | S DIC(0)="EQAM",X="FROM ",DIC("S")="I Y-"_+Y
|
---|
| 19 | D LK ;"--> ^DIC Asks for source record.
|
---|
| 20 | G Q:Y<0 ;"abort if requested
|
---|
| 21 | S S %=2 ;"default to NO delete
|
---|
| 22 | ;"//ktW !," WANT TO DELETE THIS ENTRY AFTER IT'S TRANSFERRED"
|
---|
| 23 | ;"//ktD YN^DICN ;"%=1 for YES, %=2 for NO
|
---|
| 24 | G Q:%<0 ;"abort if requested
|
---|
| 25 | S DH=2-% ;"DH=1 for delete, DH=0 for NO delete
|
---|
| 26 | I '% do goto S ;"loop back
|
---|
| 27 | . do F^TMGDIT
|
---|
| 28 | S ^UTILITY("DIT",$J,+Y)=DFR_";"_$E(DIC,2,999)
|
---|
| 29 | S DTO=0
|
---|
| 30 | S (D0,DA)=+Y
|
---|
| 31 | S DIK=DIC
|
---|
| 32 | S DFR(1)=DIC_DA_","
|
---|
| 33 | K DIC
|
---|
| 34 | D WAIT^DICD ;"Let me put you on hold...
|
---|
| 35 | GO D GO^DITR ;"Find fields to XRef
|
---|
| 36 | S DIT=DH
|
---|
| 37 | D KL^TMGDIT
|
---|
| 38 | D ^DIK:DH ;"kill record if prev requested (I think)
|
---|
| 39 | S DA=DFR
|
---|
| 40 | K DFR
|
---|
| 41 | D IX1^DIK
|
---|
| 42 |
|
---|
| 43 | S DH=DIT
|
---|
| 44 | set %=2 ;"//kt added
|
---|
| 45 | ;"//ktD ASK^DITP ;"Ask, redirect pointers? %: 1=yes, 2=no
|
---|
| 46 | ;"//ktD PTS^DITP:%=1
|
---|
| 47 | Q G Q^TMGDIT
|
---|
| 48 | ;
|
---|
| 49 | LK S DIC("A")="TRANSFER "_X_DFL
|
---|
| 50 | G ^DIC
|
---|
| 51 | ;
|
---|
| 52 | EN ; PROGRAMMER CALL
|
---|
| 53 | ; DIT("F") = GLOBAL ROOT OR FILE # OF FILE TO TRANSFER FROM
|
---|
| 54 | ; DIT("T") = GLOBAL ROOT OR FILE # OF FILE TO TRANSFER TO
|
---|
| 55 | ; DA("F") = ENTRY # IN FILE TO TRANSFER FROM
|
---|
| 56 | ; DA("T") = ENTRY # IN FILE TO TRANSFER TO
|
---|
| 57 | ;" //kt: Note: this does not delete the FROM record
|
---|
| 58 | ;
|
---|
| 59 | I '$D(DIT("F"))!'$D(DIT("T"))!'$D(DA("F"))!'$D(DA("T")) G FIN
|
---|
| 60 | S DDF(1)=DIT("F")
|
---|
| 61 | S DDT(0)=DIT("T")
|
---|
| 62 | I 'DDF(1) do goto FIN:'DDF(1)
|
---|
| 63 | . set DDF(1)=$piece($get(@(DDF(1)_"0")),"^",2)
|
---|
| 64 | . if DDF(1)="" set DDF(1)=0
|
---|
| 65 | . ;"S DDF(1)=$S($D(@(DDF(1)_"0)"))#2:+$P(^(0),U,2),1:0)
|
---|
| 66 | . Q:'DDF(1)
|
---|
| 67 | . S DFR(1)=DIT("F")
|
---|
| 68 | I 'DDT(0) do G FIN:'DDT(0) goto C
|
---|
| 69 | . S DDT(0)=$S($D(@(DDT(0)_"0)"))#2:+$P(^(0),U,2),1:0)
|
---|
| 70 | . quit:'DDT(0)
|
---|
| 71 | . S DTO(1)=DIT("T")
|
---|
| 72 | G FIN:'$D(^DIC(+DDF(1),0,"GL"))
|
---|
| 73 | S DFR(1)=^("GL")
|
---|
| 74 | G FIN:'$D(^DIC(+DDT(0),0,"GL"))
|
---|
| 75 | S DTO(1)=^("GL")
|
---|
| 76 | C S DB=DA("F")
|
---|
| 77 | S (DB1,DFR)=DA("T")
|
---|
| 78 | S DIK=DTO(1)
|
---|
| 79 | I $D(DA(1)) F I=1:1 G:'$D(DA(I)) SET do
|
---|
| 80 | . S DRF(I)=$P(DA(I),",",1)_",1,"
|
---|
| 81 | . S DOT(I)=$P(DA(I),",",2)_",1,"
|
---|
| 82 |
|
---|
| 83 | DON K DRF,DOT
|
---|
| 84 | S DFR(1)=DFR(1)_DB_","
|
---|
| 85 | S DTO(1)=DTO(1)_DB1_","
|
---|
| 86 | S DKP=1,DMRG=1,DTO=0,DH=0
|
---|
| 87 | G GO
|
---|
| 88 |
|
---|
| 89 | SET F I=I-1:-1 G:I'>0 DON do
|
---|
| 90 | . S DFR(1)=DFR(1)_DRF(I)
|
---|
| 91 | . S DTO(1)=DTO(1)_DOT(I)
|
---|
| 92 | FIN ;
|
---|
| 93 | K DDF,DFR,DDT,DTO
|
---|
| 94 | Q
|
---|