TMGHRPC1 ;TMG/elh/Support Functions for GUI_Config ;10/20/09
         ;;1.0;TMG-LIB;**1**;10/20/09
 ;
 ;"TMG Function to change Access/Verify Code
 ;"When either an IEN, Access Code, or Name is Supplied
 ;"The IEN or name can be passed directly, the Access Code should be preceeded 
 ;"by an underscore.
 ;
 ;"Eddie Hagood
 ;"GNU Lessor General Public License (LGPL) applies
 ;"10/20/09
 ;
 ;"=======================================================================
 ;" RPC -- Public Functions.
 ;"=======================================================================
 ;" <none>
 ;"=======================================================================
 ;"PRIVATE API FUNCTIONS
 ;"=======================================================================
 ;"CHANGEAVCODE(TMGOUT,TMGDATA) -- Post Changes to database via Fileman
 ;
 ;"=======================================================================
 ;"Dependencies:
 ;"  TMGRPC3* only
 ;
 ;"=======================================================================
 ;
CHANGEAVCODE(TMGUSER,TMGNEWAC,TMGNEWVC) 
        ;"Post new access and verify codes to database via Fileman
        ;"Input: TMGUSER -- User name, IEN, or Access Code (preceeded by an underscore)
        ;"       TMGNEWAC -- New Access Code, Sent By User
        ;"       TMGNEWVC -- New Verify Code, Sent By User
        ;"Results: none
 ;
   NEW TMGAVC SET TMGAVC=0  ;"TMGAVC=AccessVerifyCode. Default to no change.
   NEW TMGINACTUSER,TMGREACTUSER
   NEW TMGI SET TMGI=""
   NEW TMGFDA,TMGNEWFDA,TMGMSG,TMGIEN,DIC
 ;
   SET TMGUSER=$TRANSLATE(TMGUSER,"""","")
   ;WRITE TMGUSER,!
   IF +$GET(TMGUSER)>0 SET Y=+TMGUSER GOTO L2
   ;WRITE TMGUSER,!
   SET TMGUSER=$$UP^XLFSTR(TMGUSER)
   ;WRITE TMGUSER,!
   IF $EXTRACT(TMGUSER,1)="_" DO  GOTO L1
   . ;WRITE TMGUSER,!
   . SET TMGUSER=$EXTRACT(TMGUSER,2,999)
   . ;WRITE TMGUSER,!
   . SET TMGUSER=$$EN^XUSHSH(TMGUSER)   ;Hash Access Code
   . ;WRITE TMGUSER,!
   . SET Y=$ORDER(^VA(200,"A",TMGUSER,""))
   . ;WRITE "("_Y_")"
 ;   
   ;WRITE TMGUSER,!
   SET Y=+$ORDER(^VA(200,"B",TMGUSER,""))
 ;
L1 ;  
	IF Y'>0 WRITE "CAN'T FIND THAT USER ("_TMGUSER_"-"_Y_")" QUIT
L2 ;
	;"SET TMGOLDAC=$$EN^XUSHSH(TMGOLDAC)   ;Hash Access Code
	SET TMGNEWAC=$$UP^XLFSTR(TMGNEWAC)   ;Access Code Must Be Uppercase
	SET TMGNEWAC=$$EN^XUSHSH(TMGNEWAC)   ;Hash Access Code
 ;		
   SET TMGNEWVC=$$UP^XLFSTR(TMGNEWVC) ;"verify code must be upper case   elh
   SET TMGNEWVC=$$EN^XUSHSH(TMGNEWVC)  ;"verify code is supposed to be hashed first
   SET TMGOLDAC=$PIECE(^VA(200,Y,0),"^",3)
   SET $PIECE(^VA(200,Y,0),"^",3)=TMGNEWAC
   KILL ^VA(200,"A",TMGOLDAC)
   SET ^VA(200,"A",TMGNEWAC,Y)=+$H
	SET $PIECE(^VA(200,Y,.1),"^",2)=TMGNEWVC
 ;	
	QUIT
  