90. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 11/9/2018 12:33:53 AM Central Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

90.1 Files compared

# Location File Last Modified
1 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHMCRX02.m Mon Nov 5 16:41:25 2018 UTC
2 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHMCRX02.m Mon Nov 5 17:43:07 2018 UTC

90.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 4 722
Changed 3 6
Inserted 0 0
Removed 0 0

90.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

90.4 Active regular expressions

No regular expressions were active.

90.5 Comparison detail

  1   CHMCRX02 ; HAC/JAH,CE P,AEB-CRM  2.0 Projec t Remote P rocedures; 5/7/2018
  2    ;;1.3;CHA MPVA;**489 4**;JUNE 2 017;Build  54
  3    Q
  4    ; UTILITY  ROUTINE T O SUPPORT  BULK ACCES S ASSIGNME NT FOR REM OTE PROCED URES OF CR M 3.0
  5    ;
  6    ; This ut ility read s names fr om an inpu t host fil e and atte mpts to fi nd those n ames
  7    ; in file  200.  If  the name i s found th en seconda ry menu op tion or ot her access  can
  8    ; be assi gned to th at found u ser.  Name s that are  not found  are used  as a defau lt to
  9    ; optiona lly try to  look thos e names up  in 200 in  interacti ve mode.   There are  3
  10    ; indices  that are  built duri ng process ing:
  11    ;      -  The AF ind ex is a so rted list  of all inp ut names t hat were f ound in 20 0.
  12    ;      -  The AN ind ex is a so rted list  of all inp ut names t hat were n ot found i n 200.
  13    ;      -  a B index  to sort en tries by I NPUT NAME.
  14    ;
  15    ; the XTM P global i s used to  store the  results of  the host  file proce ssing run  for 7 days
  16    ; and has  the follo wing form:
  17    ;
  18    ; ^XTMP(C HN,%,0)= x tmp Expira tion date^  xtmp crea te date ^  DESCRIPTIO N ^ entry  counter
  19    ; ^XTMP(C HN,%,1,0)=  INPUT NAM E C ^ DUZ  ^ RESOLVED  NAME ^ AS SIGNED SEC ONDARY 1=T RUE, 0=FAL SE ^ ASSGN  DT 
  20    ; ^XTMP(C HN,%,2,0)=  INPUT NAM E B^ DUZ ^   NULL           ^  A SSIGNED SE CONDARY 1= TRUE, 0=FA LSE ^ ASSG N DT 
  21    ; ^XTMP(C HN,%,3,0)=  INPUT NAM E D^ DUZ ^  RESOLVED  NAME  ^ AS SIGNED SEC ONDARY 1=T RUE,0=FALS E ^ ASSGN  DT 
  22    ; ^XTMP(C HN,%,4,0)=  INPUT NAM E A^  0  ^   null           ^ AS SIGNED SEC ONDARY 1=T RUE,0=FALS E ^ null
  23    ;
  24    ; ^XTMP(C HN,%,"AF", RESOLVED N AME A,4)
  25    ; ^XTMP(C HN,%,"AF", RESOLVED N AME D,3)
  26    ;
  27    ; ^XTMP(C HN,%,"AN", INPUT NAME  B,2)
  28    ; ^XTMP(C HN,%,"AN", INPUT NAME  A,4)
  29    ;
  30    ; ^XTMP(C HN,%,"B",I NPUT NAME  A,4)
  31    ; ^XTMP(C HN,%,"B",I NPUT NAME  B,2)
  32    ; ^XTMP(C HN,%,"B",I NPUT NAME  C 1)
  33    ; ^XTMP(C HN,%,"B",I NPUT NAME  D,3)
  34    ;
  35    ;
  36   RPCACC(CLE AN) ;
  37    N %
  38    I $G(CLEA N) D
  39    .   S CLE AN=$$CLEAN ASK()
  40    E  D
  41    .   S CLE AN=0
  42    Q:$G(CLEA N)="^"
  43    W @IOF,!! !,"You can  either ad d secondar y menu for  RPC acces s or remov e the menu ."
  44    W !,"WARN ING: Remov al is norm ally for t esting pur poses only ."
  45    S ADDFLAG =$$ADDREM( )
  46    Q:ADDFLAG =""
  47    I ADDFLAG ="R" D
  48    .   I $G( CLEAN) W ! !,"OKAY. W e'll clean  up ^XTMP  after you  remove the  secondary  menu."
  49    .   D REV ERSE
  50    .   I $G( CLEAN) K ^ XTMP("CHMC R X02")
  51    E  D
  52    .   I CLE AN D
  53    ..      W  !!,"^XTMP  cleaned u p."
  54    ..      K  ^XTMP("CH MCR X02")
  55    .   D NOW ^%DTC
  56    .   S CHN AMES=$NA(^ XTMP("CHMC R X02",%))
  57    .;
  58    .;TODO: m ust use fi leman date  function  to add 7 d ays to tod ay
  59    .   S @CH NAMES@(0)= %+7_U_%_U_ "CRM 3.0-- Bulk User  Access Rem ote Proced ures (rpcs )--2ndary  Menu Optio n"
  60    .   D ACC GROUP(.CHN AMES,ADDFL AG)
  61    Q
  62   REVERSE ;  lookup a b ulk run fr om XTMP an d remove t he 2ndary  menu optio n that was  added dur ing that r un
  63    ; THIS IS  SIMPLY TO  AID IN TE STING upda tes--i.e.,  you can r everse a t est run
  64    ;
  65    N RUNID,N AME,I,DATA NODE,REMOV E
  66    S CHNAMES =$NA(^XTMP ("CHMCR X0 2"))
  67    S RUNID=$ $PICKRUN()
  68    I RUNID=0  W !!,"The re are no  historical  bulk acce ss asssigm ents on fi le." Q
  69    I RUNID<0  W !!,"Opt ion aborte d." Q
  70    ;
  71    S NAME=""
  72    F  S NAME =$O(@CHNAM ES@(RUNID, "AF",NAME) ) Q:NAME=" "  D
  73    .  S I=0
  74    .  F  S I =$O(@CHNAM ES@(RUNID, "AF",NAME, I)) Q:I'>0   D
  75    ..   S DA TANODE=$G( @CHNAMES@( RUNID,I,0) )
  76    ..   S AD UZ=$P(DATA NODE,U,2)
  77    ..   S RE MOVE=$$TAK E2ND(ADUZ)
  78    ..   I RE MOVE D
  79    ...     W  !,?5,"REM OVED SUCCE SSFULLY!!! "
  80    ..   E  D
  81    ...     W  !,?5,"REM OVAL FAILE D..."
  82    ..   W "f or user ", $P(DATANOD E,U,3)," w /DUZ ",$P( DATANODE,U ,2)
  83    ;
  84    ;
  85   ACCGROUP(C HNAMES,ADD FLAG) ;
  86    ;
  87    ;pick a d irectory J ohn or Cha d or enter  one
  88    N HFSDIR, FILENAME,P OP,ERRORS, INPUTNAM,V AIEN
  89    ;S HFSDIR =$$DEFDIR^ %ZISH()
  90    ;
  91    S HFSDIR= $$GETHFDIR ()
  92    ;
  93    N DEFAULT F
  94    S DEFAULT F="CHVAACC ESSNAMELIS T.TXT"
  95    S FILENAM E=$$GETFIL E(DEFAULTF )
  96    ;
  97    ; Read fi le 
  98    ;
  99    K POP
  100    X "D $SYS TEM.Proces s.SetZEOF( 1)"
  101    D OPEN^%Z ISH("READF ILE",HFSDI R,FILENAME ,"R")
  102    ;
  103    ;If can't  open file  for writi ne get xml  error mes sage and q uit
  104    ;
  105    D CHKPOP^ CHMCRUT1(. ERRORS,POP ,"R")
  106    ;
  107    I +$G(ERR ORS(0))>0  D  Q
  108    .  D CLOS E^%ZISH("R EADFILE")
  109    .  D CLEA N^CHMCRC10 (FILENAME, HFSDIR)
  110    .  S I=""  F  S I=$O (ERRORS(I) ) Q:I'>0   D
  111    ..    W ! ,ERRORS(I)
  112    ;
  113    N I,X
  114    X "D $SYS TEM.Proces s.SetZEOF( 1)"
  115    U IO F I= 1:1 R X:DT IME Q:$$ST ATUS^%ZISH ()  D
  116    .  S @CHN AMES@(I,0) =X
  117    .  S @CHN AMES@("B", X,I)=""
  118    D CLOSE^% ZISH("READ FILE")
  119    S $P(@CHN AMES@(0),U ,4)=I-1
  120    Q:$$ASK^P RSLIB00(1)
  121    W @IOF,!! !,"ACCESS  PROCESSING "
  122    S I=0
  123    F  S I=$O (@CHNAMES@ (I)) Q:I'> 0  D
  124    .  S INPU TNAM=@CHNA MES@(I,0)
  125    .; try to  find user  non inter actively l ooking up  in 200 fro m host fil e name lis t
  126    .  S VAIE N=$$GETUSE R(INPUTNAM )
  127    .  W !!," =========S TART= ",+V AIEN,": ", INPUTNAM,"  ========= ==="
  128    .;
  129    .;  input  name was  resolved S AVE duz an d name pie c 2^3
  130    .  I VAIE N>0 D
  131    ..    S $ P(@CHNAMES @(I,0),U,2 )=VAIEN
  132    ..    S @ CHNAMES@(" AF",$P(VAI EN,U,2),I) =""
  133    .  E  D
  134    ..;    us e input li st name as  default f or lookup
  135    ..;    we  could not  resolve w ith input  name
  136    ..;    so  prompt us er for loo kup to res olve
  137    ..    S V AIEN=$$GET USERI(INPU TNAM)
  138    ..    I V AIEN>0 D
  139    ...        S $P(@CHN AMES@(I,0) ,U,2)=VAIE N
  140    ...        S @CHNAME S@("AF",$P (VAIEN,U,2 ),I)=""
  141    ..    E   D
  142    ...       ; COULD NO T RESOLVE  USER NAME
  143    ...       S $P(@CHNA MES@(I,0), U,2)=0
  144    ...       S @CHNAMES @("AN",INP UTNAM,I)=" "
  145    .;
  146    .;FINALLY  AWARD THE  SECONDARY  MENU FOR  CRM REMOTE  PROCS
  147    .;
  148    .   Q:(+V AIEN'>0)
  149    .;
  150    .     D G IV2ND(+VAI EN,.CHNAME S,I)
  151    .     W ! ,"======== ====END "_ VAIEN_" == ========== =====",!
  152    ;
  153    ;K @CHNAM ES
  154    ;
  155    Q
  156    ;
  157   GIV2ND(ADU Z,CHNAMES, CHINCR) ;
  158    N CHMCRIE N,FDA,DIE, HAS2ND,ERR
  159    Q:+$G(ADU Z)'>0
  160    S HAS2ND= $$CHK2ND(A DUZ)
  161    D REPCHMC R(HAS2ND)
  162    ;DON'T PR OCEED WITH  ADDING IF  THEY ALRE ADY HAVE I T...
  163    I HAS2ND  S $P(@CHNA MES@(CHINC R,0),U,4)= 1 Q
  164    S CHMCRIE N=$$CHMCRI EN()
  165    ;TODO: co nsider loc king at th e subfile  level.
  166    L +^VA(20 0,ADUZ,0): 5 I '$T D   Q
  167    .  S $P(@ CHNAMES@(C HINCR,0),U ,5)="New P erson reco rd locked"
  168    .  W !,"S ORRY FILE  IS LOCKED  TRY LATER"  H 2 Q
  169    S FDA(200 .03,"+1,"_ ADUZ_",",. 01)=CHMCRI EN
  170    D UPDATE^ DIE("","FD A","")
  171    W !!,"*** ********** ******",!, ?4,"CHMCRI EN: ",CHMC RIEN,!,?4, "ADUZ: ",A DUZ
  172    D MSG^DIA LOG()
  173    L -^VA(20 0,ADUZ,0)
  174    Q
  175    ;
  176   TAKE2ND(AD UZ) ;
  177    N CHMCRIE N,FDA,DIE, HAS2ND,ERR
  178    Q:+$G(ADU Z)'>0
  179    S HAS2ND= $$CHK2ND(A DUZ)
  180    D REPCHMC R(HAS2ND)
  181    ;DON'T PR OCEED WITH  REMOVAL I F THEY DON 'T ALREADY  HAVE IT.. .
  182    I 'HAS2ND  Q 0
  183    S CHMCRIE N=$$CHMCRI EN()
  184    L +^VA(20 0,ADUZ,0): 5 I '$T D   Q 0
  185    .  W !,"S ORRY FILE  IS LOCKED  TRY LATER"  H 2 Q
  186    S FDA(200 .03,HAS2ND _","_ADUZ_ ",",.01)=" @"
  187    D UPDATE^ DIE("","FD A","")
  188    D MSG^DIA LOG()
  189    ;W:$D(ERR ) !,"There  was an er ror adding  the secon dary menu  option."
  190    L -^VA(20 0,ADUZ,0)
  191    Q 1
  192   CHK2ND(ADU Z)  ;
  193    N I,FOUND ,CHMCRIEN
  194    S (I,FOUN D)=0
  195    S CHMCRIE N=$$CHMCRI EN() Q:+$G (CHMCRIEN) '>0 0
  196    F  S I=$O (^VA(200,A DUZ,203,I) ) Q:((I'>0 )!(FOUND))   D
  197    .  I $G(^ VA(200,ADU Z,203,I,0) )=CHMCRIEN  S FOUND=I
  198    Q FOUND
  199   CHMCRIEN()  ;
  200    N DIC,IEN
  201    S IEN=""
  202    S IEN=$$F IND1^DIC(1 9,,"B","CH MCR CONTEX T VLINK PR OXIES")
  203    Q IEN
  204    ;
  205   REPCHMCR(H ASCHM) ;
  206    I HASCHM  D
  207    .  W !!," This user  already ha s CHMCR CO NTEXT VLIN K PROXIES  as a secon dary "
  208    .  W !,"m enu option "
  209    E  D
  210    .  W !!," This user  does not y et have CH MCR CONTEX T VLINK PR OXIES as a  "
  211    .  W !,"s econdary m enu option "
  212    Q
  213    ;
  214   GETUSER(X)  ;
  215    ;INPUT X  : LOOKUP V ALUE IN 20 0 (MOST LI KELY NAME  IN FORM LA ST,FIRST M I
  216    ;
  217    N Y,DIC
  218    S DIC="^V A(200,"
  219    S DIC(0)= "MZ"
  220    D ^DIC
  221    ;
  222    Q Y
  223   GETUSERI(X ) ;
  224    ;
  225    N Y,DIC
  226    S DIC("A" )="Enter u ser (name)  to give a ccess to:  "
  227    S DIC="^V A(200,"
  228    S DIC("B" )=X
  229    S DIC(0)= "AEQMZ"
  230    D ^DIC
  231    ;
  232    Q Y
  233   GETHFDIR()  ; prompt  for host f ile direct ory--eithe r John or  Chad or le t user typ e in
  234    N DIR,X,Y ,DIRUT
  235    S DIR("B" )="J"
  236    S DIR(0)= "S^J:HAC_C ACHE$![HAC . DN S      HEIGEJ.CRM 3];C:HAC_C ACHE$![HAC . DN S      PETERC];E: Enter Anot her HFS Di rectory"
  237    S DIR("A" )="Select  Host File  or [E] to  enter one"
  238    D ^DIR
  239    I $D(DIRU T) S RETUR N=""
  240    I Y="J" D
  241    .     S RETURN=" HAC_CACHE$ :[HAC. DN S      HEIGEJ.CRM 3]"
  242    E  D
  243    .  I Y="C " D
  244    ..      S RETURN=" HAC_CACHE$ :[HAC. DN S      PETERC]"
  245    .  E  D
  246    ..    S R ETURN=$$TY PHFDIR()
  247    Q RETURN
  248   ADDREM() ;  prompt wh ether you' re adding  or removin g Secondar y Menu for  Host File  list of u sers
  249    ; removal  is presum ably for t esting pur poses
  250    N DIR,X,Y ,DIRUT
  251    S DIR("B" )="A"
  252    S DIR(0)= "S^A:Add A ccess;R:Re move Acces s"
  253    S DIR("A" )="Are you  adding or  removing  RPC 2ndary  menu"
  254    D ^DIR
  255    I $D(DIRU T) D
  256    .  S RETU RN=""
  257    E  D
  258    .  S RETU RN=Y
  259    Q RETURN
  260   TYPHFDIR()   ;
  261    N DIR,X,Y ,DIRUT,RET URN,LEAD
  262    W !,"Comp lete the H FS spec wi th directo ry and sub  directori es separat ed by [.]"
  263    S LEAD="H AC_CACHE$: [HAC."
  264    W !,"HFS  SPEC: "_LE AD
  265    S DIR(0)= "FAr^10:79 ^K:'((X?.A N)!(X?.AN1 ""."".AN))  X"
  266    S DIR("A" )="Enter D IRs: "
  267    D ^DIR
  268    I $D(DIRU T) Q ""
  269    S RETURN= LEAD_Y_"]"
  270    Q RETURN
  271   GETFILE(DE FAULT) ;
  272    N DIR,X,Y ,DIRUT,RET URN
  273    S DIR("B" )=DEFAULT
  274    S DIR(0)= "FAr^2:79^ K:'((X?.AN )!(X?.AN1" "."".AN))  X"
  275    S DIR("A" )="Enter F ilename: "
  276    D ^DIR
  277    I $D(DIRU T) Q ""
  278    S RETURN= Y
  279    Q RETURN
  280   REPORTS ;  Reporting  for bulk a ccess assi gnment or  removal of  2ndary me nu option
  281    ;
  282    N CHNAMES ,RUNID
  283    S CHNAMES =$NA(^XTMP ("CHMCR X0 2"))
  284    S RUNID=$ $PICKRUN()
  285    Q:RUNID'> 0
  286    W !!," YO U PICKED " ,RUNID
  287    D ACCREP( RUNID)
  288    Q
  289   ACCREP(ID)  ;
  290    ;
  291    ;Successf ul Updates
  292    D HDR("SU CCESSFULLY  FOUND NAM ES")
  293    S NAME=""
  294    F  S NAME =$O(@CHNAM ES@(ID,"AF ",NAME)) Q :NAME=""   D
  295    .  S I=0
  296    .  F  S I =$O(@CHNAM ES@(ID,"AF ",NAME,I))  Q:I'>0  D
  297    ..   S DA TANODE=$G( @CHNAMES@( ID,I,0))
  298    ..   W !, ?4,$P(DATA NODE,U),?3 2,$P(DATAN ODE,U,2),? 42,$P(DATA NODE,U,4)
  299    ..   W !, ?4,$P(DATA NODE,U,3), !
  300    ;
  301    ;Unsucces sful Updat es
  302    W !!
  303    Q:$$ASK()
  304    D HDR("FA IL TO FIND  NAMES")
  305    S NAME=""
  306    F  S NAME =$O(@CHNAM ES@(ID,"AN ",NAME)) Q :NAME=""   D
  307    .  S I=0
  308    .  F  S I =$O(@CHNAM ES@(ID,"AN ",NAME,I))  Q:I'>0  D
  309    ..   W !, $G(@CHNAME S@(ID,I,0) )
  310    Q
  311   PICKRUN()  ; Return:
  312    ;           0:  no r uns on fil e
  313    ;          -1:  no r un selecte d
  314    ;  date@t ime:  sele cted run u nique id
  315    ;
  316    N RUNID,I ,DIR,X,Y,D IRUT,RETUR N,RUNIX
  317    S (I,RUNI D)=0
  318    F  S RUNI D=$O(@CHNA MES@(RUNID )) Q:RUNID '>0  D
  319    .  S I=I+ 1
  320    .  S RUNI X(I,RUNID) =""
  321    .  W !!,? 4,$J(I,3), ".  ",RUNI D
  322    ;
  323    I I>0 D 
  324    .  S DIR( 0)="N^1:"_ I
  325    .  S DIR( "A")="Sele ct Run #:  "
  326    .  D ^DIR
  327    .  I $D(D IRUT) S RU NID=-1 Q
  328    .  S RUNI D=$O(RUNIX (+Y,0))
  329    E  D
  330    .  S RUNI D=0
  331    Q RUNID
  332    ;
  333   HDR(MSG) ;
  334    W @IOF,!! !,"REPORT  OF BULK AC CESS REMOV AL OR ADDI TION "_MSG ,!
  335    Q
  336   ASK(HOLD)  ;ask user  2 continue  function
  337    ;return t rue (1) if  user want 's 2 stop,  false (0)  2 continu e.
  338    ;If HOLD  defined, u se prompt  2 hold dis play until  user hits  return.
  339    ;If not t erminal th en, do not hing, retu rn FALSE.
  340    ;
  341    N STOP
  342    S STOP=0
  343    I $E(IOST ,1,2)="C-"  D
  344    .N RESP,D IR S RESP= 0
  345    .I $G(HOL D) S DIR(0 )="EA",DIR ("A")="Ent er return  to continu e. "
  346    .E  S DIR (0)="E"
  347    .D ^DIR I  Y="" S ST OP=0
  348    .I $D(DIR UT) S STOP =1
  349    Q STOP
  350    ;======== ========== ========== ========== ========== ========== ========== =
  351   CLEANASK()  ; Ask use r if they  want to cl ean out ol d XTMP run s
  352    ; removal  is presum ably for t esting pur poses
  353    N DIR,X,Y ,DIRUT
  354    S DIR("B" )="N"
  355    S DIR(0)= "YA"
  356    S DIR("A" )="Are you  sure? Cle an up old  ^XTMP runs ? "
  357    S DIR("?" )="CAUTION :  deletin g old runs  will prev ent you fr om backing  out an as signment r un."
  358    S DIR("?? ")="CHMCRX  HOSTFILE  PROCESSOR"
  359    D ^DIR
  360    I $D(DIRU T) D
  361    .  S RETU RN="^"
  362    E  D
  363    .  S RETU RN=Y
  364    Q RETURN