XUINCON ;SF/XAK - BUILDS ACCESSIBLE FILE MULTIPLE ;2/9/95 09:44 ;;8.0;KERNEL;;Jul 10, 1995 G A:'$D(^VA(200,"AFOF")) W !,"You currently have the 'AFOF' X-ref that shows you are",!,"using the accessible file." W !,"If you need to re-run the conversion please kill the '^VA(200,""AFOF"")' X-ref first." Q A W !!,"Version 7 of the Kernel defined a new multiple-valued field" W !,"in the New Person File called Accessible File. This conversion" W !,"will store file access in this multiple in the following manner:" W !!,"Those Users who have a FileMan Access Code (DUZ(0)) which" W !,"is not null, i.e., contains some character string," W !,"will have their access string matched to the protection" W !,"currently on your files. For each match between the file" W !,"and the user, the file will be listed in the user's" W !,"Accessible File multiple as will the type of access" W !,"(dictionary, delete, laygo, read, write, audit)." W !!,"NOTE: Files with no protection will NOT be assigned to any user.",! AGN S %=2,U="^" W !!,"Would you like to run the conversion now " D YN^DICN G GO:%=1 I %=2!(%<0) W !!,"To run this conversion, D ^XUINCON." G KIL W !!,"If you are uncertain about your current file protection, it would" W !,"be wiser to examine them before running this." W !,"If you are not on the CPU which holds the user file, it would" W !,"be better to run this conversion on that CPU." W !,"If you are short for time, it would be wiser to run this later." G AGN GO W !,$H,!,"Build table." I '$D(DT) S DT=$$HTFM^XLFDT($H)\1 K ^TMP($J) S X="DD^DEL^LAYGO^RD^WR^$$$" K XU F I=1.99:0 S I=$O(^DIC(I)) Q:I'>0 F J=1:1:6 I $D(^DIC(I,0,$P(X,U,J))),"@"'[^($P(X,U,J)) S %=^($P(X,U,J)) F K=1:1:$L(%) S ^TMP($J,$E(%,K),I,J+1)="" W !,"Convert Users." F I=0:0 S I=$O(^VA(200,I)) Q:I'>0 S X=$G(^(I,0)),%=$P(X,U,11) I $S(%:%'