| 1 | LBR25P9V ;ALB/MRY - Patch #9 Old 440 vendor conversion ;[08/30/02 14:38 pm ]
 | 
|---|
| 2 |  ;;2.5;Library;**9**.Mar 11,  1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; This routine will assist sites in converting their pre CoreFLS
 | 
|---|
| 5 |  ; vendor names over to the new CoreFLS vendor fields.  Its purpose
 | 
|---|
| 6 |  ; is to pull a list of old vendor names from the free text vendor 
 | 
|---|
| 7 |  ; (440) file, allow the user to assign a CoreFLS equivalient from
 | 
|---|
| 8 |  ; local (CoreFLS) vendor (392.31) file.  Once the temporary file 
 | 
|---|
| 9 |  ; is built, populating the entries will place the values in the CoreFLS
 | 
|---|
| 10 |  ; fields.  Review the documentation found in patch LBR*2.5*9.  The
 | 
|---|
| 11 |  ; temporary file is only retained for 90 days.  All tasks are intended
 | 
|---|
| 12 |  ; to be completed within the 90 day timeframe.
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  N LBRSTOP D INTRO I $G(LBRSTOP) Q
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | TOP S OPT=$$ASK
 | 
|---|
| 17 |  I OPT="P" S %=$$PULL
 | 
|---|
| 18 |  I OPT="A" S %=$$ASSOC
 | 
|---|
| 19 |  I OPT="C" S %=$$POP
 | 
|---|
| 20 |  I OPT="L" S %=$$LIST
 | 
|---|
| 21 |  I OPT="Q" G TOP
 | 
|---|
| 22 |  G END
 | 
|---|
| 23 | ASK() ;
 | 
|---|
| 24 |  N DIR,Y,DIRUT
 | 
|---|
| 25 |  S DIR(0)="SOM^P:PULL LIST OF OLD LIBRARY (440) VENDORS;L:DISPLAY PULL LIST;A:ASSOCIATE OLD LIBRARY (440) VENDORS TO COREFLS VENDORS;C:POPULATE COREFLS VENDOR FIELDS;Q:QUIT"
 | 
|---|
| 26 |  S DIR("?",1)="  Enter 'P' to generate a list of 440 vendors entered in the Library files."
 | 
|---|
| 27 |  S DIR("?",2)="  Enter 'L' to Display Pull List."
 | 
|---|
| 28 |  S DIR("?",3)="  Enter 'A' to associate a 440 Vendor name to a CoreFLS Vendor name."
 | 
|---|
| 29 |  S DIR("?",4)="  Enter 'C' to populate to CoreFLS Vendor fields."
 | 
|---|
| 30 |  S DIR("?",5)="  Enter 'Q' to quit."
 | 
|---|
| 31 |  D ^DIR K DIR I $D(DIRUT)!'$D(Y) Q -1
 | 
|---|
| 32 |  Q Y
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | INTRO ;
 | 
|---|
| 35 |  N X
 | 
|---|
| 36 |  S X="CSLVQ" X ^%ZOSF("TEST") I '$T D  S LBRSTOP=1 Q
 | 
|---|
| 37 |  . W !,"** COMMUNICATIONS SERVICE LIBRARY (CSL) PACKAGE NOT INSTALLED **"
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 | PULL() ;
 | 
|---|
| 41 |  N LBRIEN,X
 | 
|---|
| 42 |  I $D(^XTMP("LBR25P9")) W !!,"^XTMP('LBR25P9') already pulled!" Q 1
 | 
|---|
| 43 |  S ^XTMP("LBR25P9",0)=$$FMADD^XLFDT(DT,90)_"^"_DT
 | 
|---|
| 44 |  W !!,"Looking through ^LBRY(680)..."
 | 
|---|
| 45 |  S LBRIEN=0 F  S LBRIEN=$O(^LBRY(680,LBRIEN)) Q:'LBRIEN  D
 | 
|---|
| 46 |  . S X=$P($G(^LBRY(680,LBRIEN,2)),"^",5)
 | 
|---|
| 47 |  . I X'="" S ^XTMP("LBR25P9",1,X)="",^(X,680,LBRIEN)=""
 | 
|---|
| 48 |  W !,"Looking through ^LBRY(681)..."
 | 
|---|
| 49 |  S LBRIEN=0 F  S LBRIEN=$O(^LBRY(681,LBRIEN)) Q:'LBRIEN  D
 | 
|---|
| 50 |  . S X=$P($G(^LBRY(681,LBRIEN,1)),"^",5)
 | 
|---|
| 51 |  . I X'="" S ^XTMP("LBR25P9",1,X)="",^(X,681,LBRIEN)=""
 | 
|---|
| 52 |  Q 1
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 | ASSOC() ;
 | 
|---|
| 55 |  N LBR440,DTOUT,DUOUT,ANS,LBRNEW,DIC,X
 | 
|---|
| 56 |  I '$D(^XTMP("LBR25P9")) W !!,"Pull List not created!" Q 1
 | 
|---|
| 57 |  S LBR440=0 F  S LBR440=$O(^XTMP("LBR25P9",1,LBR440)) Q:LBR440=""  D AS1 Q:$D(DTOUT)!$D(DUOUT)!(ANS=-1)
 | 
|---|
| 58 |  Q 1
 | 
|---|
| 59 | AS1 W !!,"OLD VENDOR (440) NAME: ",LBR440
 | 
|---|
| 60 |  S (LBRNEW,ANS)=0 I ^XTMP("LBR25P9",1,LBR440)="" D  Q:$D(DTOUT)!($D(DUOUT))
 | 
|---|
| 61 |  . S DIC="^DGBT(392.31,",DIC(0)="QEAMZ"
 | 
|---|
| 62 |  . D ^DIC Q:$D(DTOUT)!$D(DUOUT)!(Y=-1)
 | 
|---|
| 63 |  . S ^XTMP("LBR25P9",1,LBR440)=Y(0,0)_"^"_+Y,LBRNEW=1
 | 
|---|
| 64 |  S X=^XTMP("LBR25P9",1,LBR440)
 | 
|---|
| 65 |  W:LBRNEW !,"OLD VENDOR (440) NAME: ",LBR440
 | 
|---|
| 66 |  W !,"NEW COREFLS VENDOR NAME: ",$P(X,"^")
 | 
|---|
| 67 |  I X'="" S ANS=$$ACCEPT Q:ANS=-1  I 'ANS S ^XTMP("LBR25P9",1,LBR440)="" G AS1
 | 
|---|
| 68 |  Q
 | 
|---|
| 69 | ACCEPT() ;
 | 
|---|
| 70 |  N DIR,ACCEPT,Y,DTOUT,DUOUT
 | 
|---|
| 71 |  S DIR(0)="SB^A:ACCEPT;R:REMOVE",DIR("A")="ACCEPT, OR REMOVE?",DIR("B")="A"
 | 
|---|
| 72 |  D ^DIR S ACCEPT=$S(Y="A":1,$D(DUOUT)!($D(DTOUT)):-1,1:0)
 | 
|---|
| 73 |  Q ACCEPT
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | POP() ;
 | 
|---|
| 76 |  I '$D(^XTMP("LBR25P9")) W !!,"Pull List not created!" Q
 | 
|---|
| 77 |  W !!,"Adding CoreFLS Vendor names to ^LBRY(680), and ^LBRY(681)..."
 | 
|---|
| 78 |  S LBR440=0
 | 
|---|
| 79 |  F  S LBR440=$O(^XTMP("LBR25P9",1,LBR440)) Q:LBR440=""  S X=^XTMP("LBR25P9",1,LBR440) I X'="" D
 | 
|---|
| 80 |  . S FLSNAM=$P(X,"^"),FLSIEN=$P(X,"^",2)
 | 
|---|
| 81 |  . I $P($G(^DGBT(392.31,FLSIEN,0)),"^")'=FLSNAM Q
 | 
|---|
| 82 |  . S LBRFILE="" F  S LBRFILE=$O(^XTMP("LBR25P9",1,LBR440,LBRFILE)) Q:'LBRFILE  D
 | 
|---|
| 83 |  . . S LBRIEN="" F  S LBRIEN=$O(^XTMP("LBR25P9",1,LBR440,LBRFILE,LBRIEN)) Q:'LBRIEN  D
 | 
|---|
| 84 |  . . . S LBRIENS=LBRIEN_"," K FDATA
 | 
|---|
| 85 |  . . . I LBRFILE=680 S FDATA(680,LBRIENS,2.6)=FLSIEN
 | 
|---|
| 86 |  . . . I LBRFILE=681 S FDATA(681,LBRIENS,3.01)=FLSIEN
 | 
|---|
| 87 |  . . . I $D(FDATA) D FILE^DIE("","FDATA","ERROR")
 | 
|---|
| 88 |  Q 1
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | LIST() ;
 | 
|---|
| 91 |  I '$D(^XTMP("LBR25P9")) W !!,"Pull List not created!" Q 1
 | 
|---|
| 92 |  N %ZIS,ZTRN,ZTDESC
 | 
|---|
| 93 |  S %ZIS="QM" D ^%ZIS G:POP END
 | 
|---|
| 94 |  I $D(IO("Q")) S ZTRTN="PRINT^LBR25P9V",ZTDESC="LBR25P9V VENDOR LIST" D ^%ZTLOAD
 | 
|---|
| 95 |  K ZTSK,IO("Q") D HOME^%ZIS
 | 
|---|
| 96 |  U IO
 | 
|---|
| 97 |  ;
 | 
|---|
| 98 | PRINT ;
 | 
|---|
| 99 |  N PAG,HDR,HDR1,HDR2,LBR440,FLSDATA,FLSNAM,DIRUT
 | 
|---|
| 100 |  S PAG=0,HDR="OLD VENDORS (440) AND CORRESPONDING CoreFLS VENDORS LIST"
 | 
|---|
| 101 |  S HDR1="OLD VENDOR NAME",HDR2="NEW CoreFLS VENDOR NAME"
 | 
|---|
| 102 |  S LBR440="" F  S LBR440=$O(^XTMP("LBR25P9",1,LBR440)) Q:LBR440=""  D  Q:$D(DIRUT)
 | 
|---|
| 103 |  . S FLSNAM=$P(^XTMP("LBR25P9",1,LBR440),"^")
 | 
|---|
| 104 |  . D PLINE
 | 
|---|
| 105 |  Q 1
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | PLINE ;
 | 
|---|
| 108 |  I PAG=0 D HDR
 | 
|---|
| 109 |  W !,$E(LBR440,1,35),?40,$E(FLSNAM,1,35)
 | 
|---|
| 110 |  D CHKL Q
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 | HDR ;
 | 
|---|
| 113 |  W:$E(IOST,1,2)["C-"!(PAG>0) @IOF S PAG=PAG+1
 | 
|---|
| 114 |  W !,?(IOM-$L(HDR)/2),HDR,?(IOM-10),"PAGE ",PAG
 | 
|---|
| 115 |  W !!,HDR1,?40,HDR2
 | 
|---|
| 116 |  W !,$TR($J("",IOM)," ","-")
 | 
|---|
| 117 |  Q
 | 
|---|
| 118 |  ;
 | 
|---|
| 119 | CHKL ;
 | 
|---|
| 120 |  I IOSL<($Y+5),$E(IOST,1,2)="C-" D PAUSE^VALM1 Q:$D(DIRUT)  W @IOF D HDR Q
 | 
|---|
| 121 |  I $E(IOST,1,2)'="C",IOSL<($Y+5) D HDR
 | 
|---|
| 122 |  Q
 | 
|---|
| 123 |  ;
 | 
|---|
| 124 | END ;
 | 
|---|
| 125 |  I $D(ZTQUEUED) S ZTREQ="@" Q
 | 
|---|
| 126 |  D ^%ZISC Q
 | 
|---|
| 127 |  Q
 | 
|---|