- DDMOD ;SFISC/MKO-DD MODIFICATION APIS ;1:45 PM 11 Dec 2001 [ 12/09/2003 4:43 PM ]
- ;;22.0;VA FileMan;**12,53,95,1002**;Mar 30, 1999
- ;Per VHA Directive 10-93-142, this routine should not be modified.
- ;
- DELIX(DIFIL,DIFLD,DIXR,DIFLG,DIKDOUT,DIKDMSG) ;Delete traditional xref
- G DELIXX^DIKD
- ;
- DELIXN(DIFIL,DIXR,DIFLG,DIKDOUT,DIKDMSG) ;Delete new-style index
- G DELIXNX^DIKD2
- ;
- CREIXN(DIKCXREF,DIFLG,DIXR,DIKCOUT,DIKCMSG) ;Create new-style index
- G CREIXNX^DIKCR
- ;
- FILESEC(DIFIL,DISEC,DIMSGA) ;Set File Security Codes
- ; DIFIL = File Number
- ; .DISEC = Is the array for each security node
- ; DIMSGA = If passed where the error message is placed
- I (('$D(^DIC(+$G(DIFIL),0))#2)!(+$G(DIFIL)<2)) D Q
- . D CLEAN^DILF
- . I $G(DIMSGA)'="" D BLD^DIALOG(401,+$G(DIFIL),,DIMSGA,"F") Q
- . D BLD^DIALOG(401,+$G(DIFIL))
- I '$D(DISEC) Q
- N I
- ; DIC(DIFIL,0,"DD") 'Data Dictionary' Security
- ; DIC(DIFIL,0,"RD") 'Read' Security
- ; DIC(DIFIL,0,"WR") 'Write' Security
- ; DIC(DIFIL,0,"DEL") 'Delete' Security
- ; DIC(DIFIL,0,"LAYGO") 'Laygo' Security
- ; DIC(DIFIL,0,"AUDIT") 'Audit Security
- F I="DD","RD","WR","DEL","LAYGO","AUDIT" I $D(DISEC(I))#2 S ^DIC(DIFIL,0,I)=DISEC(I)
- Q
- DDMOD ;SFISC/MKO-DD MODIFICATION APIS ;1:45 PM 11 Dec 2001 [ 12/09/2003 4:43 PM ]
- +1 ;;22.0;VA FileMan;**12,53,95,1002**;Mar 30, 1999
- +2 ;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 ;
- DELIX(DIFIL,DIFLD,DIXR,DIFLG,DIKDOUT,DIKDMSG) ;Delete traditional xref
- +1 GOTO DELIXX^DIKD
- +2 ;
- DELIXN(DIFIL,DIXR,DIFLG,DIKDOUT,DIKDMSG) ;Delete new-style index
- +1 GOTO DELIXNX^DIKD2
- +2 ;
- CREIXN(DIKCXREF,DIFLG,DIXR,DIKCOUT,DIKCMSG) ;Create new-style index
- +1 GOTO CREIXNX^DIKCR
- +2 ;
- FILESEC(DIFIL,DISEC,DIMSGA) ;Set File Security Codes
- +1 ; DIFIL = File Number
- +2 ; .DISEC = Is the array for each security node
- +3 ; DIMSGA = If passed where the error message is placed
- +4 IF (('$DATA(^DIC(+$GET(DIFIL),0))#2)!(+$GET(DIFIL)<2))
- Begin DoDot:1
- +5 DO CLEAN^DILF
- +6 IF $GET(DIMSGA)'=""
- DO BLD^DIALOG(401,+$GET(DIFIL),,DIMSGA,"F")
- QUIT
- +7 DO BLD^DIALOG(401,+$GET(DIFIL))
- End DoDot:1
- QUIT
- +8 IF '$DATA(DISEC)
- QUIT
- +9 NEW I
- +10 ; DIC(DIFIL,0,"DD") 'Data Dictionary' Security
- +11 ; DIC(DIFIL,0,"RD") 'Read' Security
- +12 ; DIC(DIFIL,0,"WR") 'Write' Security
- +13 ; DIC(DIFIL,0,"DEL") 'Delete' Security
- +14 ; DIC(DIFIL,0,"LAYGO") 'Laygo' Security
- +15 ; DIC(DIFIL,0,"AUDIT") 'Audit Security
- +16 FOR I="DD","RD","WR","DEL","LAYGO","AUDIT"
- IF $DATA(DISEC(I))#2
- SET ^DIC(DIFIL,0,I)=DISEC(I)
- +17 QUIT