Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ASUL19IT

ASUL19IT.m

Go to the documentation of this file.
  1. ASUL19IT ; IHS/ITSC/LMH -INPUT TRANSFORM USER TABLE 19 ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;This routine is the File Man Input transform for SAMS table 19 -
  1. ;User Code table
  1. I $G(DA)?6N D USR^ASULDIRR(DA) Q:$D(ASUL(19))
  1. I '$D(DUZ(2)) K X W !?10,"DUZ(2) must be set so Area Accounting Point can be determined" Q
  1. I '$D(ASUL(1,"AR","AP")) D SETAREA^ASULARST
  1. I $D(DIC(0)) S DIC(0)=$TR(DIC(0),"Q") S:DIC(0)'["A" DIC(0)="A"_DIC(0)
  1. S X=$G(DIX)
  1. N DIC,DIE
  1. EN2 ;EP; DIC ALREADY SET
  1. N DIK,DIR,DR
  1. S X=$G(X)
  1. I X']"" D ASUL19RC G:$D(DIRUT) X G:'$D(X) X I Y>0 S DA=+Y,X=ASUL(19,"USR","NM") G X
  1. I $D(DA) I $D(^ASUL(19,+DA,0)) I DA?6N,$E(DA,1,2)=ASUL(1,"AR","AP") D NMIT Q
  1. I $D(ASUL(19,"USR","E#")) I ASUL(19,"USR","E#")?6N S X=ASUL(19,"USR","E#")
  1. I X?2N.1AN D
  1. .S DA=X,ASUL(19,"USR")=X D USR^ASULALGO(.DA) Q:DA'?4N
  1. .S (ASUL(19,"USR","E#"),X,DA)=ASUL(1,"AR","AP")_DA Q
  1. I X?4N D
  1. .S DA=X,(ASUL(19,"USR","E#"),X,DA)=ASUL(1,"AR","AP")_DA Q
  1. I X?6N D Q:$D(X) G:$D(DTOUT) ERR G:$D(DUOUT) ERR G X
  1. .S DA=X
  1. .I '$G(^ASUL(22,+($E(X,3,4)),0)) D Q
  1. ..W !?10,$E(DA,3,4)," Is not a valid Program - first 2 characters of USER CODE must be valid Program"
  1. ..D HELP D ERR
  1. .I $E(DA,1,2)'=ASUL(1,"AR","AP") D Q
  1. ..W !?10,$E(DA,1,2)," Is not Accounting Point you are signed on as, which is: ",ASUL(1,"AR","AP")
  1. ..D HELP D ERR
  1. .I $D(^ASUL(19,DA,0)) D Q ;Record found for DA
  1. ..S ASUL(19,"USR","E#")=DA,ASUL(19,"USR","NM")=$P(^ASUL(19,DA,0),U),ASUL(19,"USR")=$P(^ASUL(19,DA,1),U)
  1. .S ASUL(19,"USR","E#")=DA
  1. .I '$G(ASUL(19,"USR")) D Q:'$D(X)
  1. ..S ASUL19=$E(DA,3,5) D IEN^ASULALGO(.ASUL19)
  1. ..I Y<0 W !?10,"Can't compute USER code for IEN:",DA D ERR Q
  1. ..S ASUL(19,"USR")=ASUL19 K ASUL19 ;Convert IEN back to USER code
  1. .D NAME ;Read a name for USER code
  1. .Q:'$D(X) Q:$D(DTOUT) Q:$D(DUOUT)
  1. .D FILE
  1. E D
  1. .I X'?1A.ANP D ERR Q
  1. .S ASUL(19,"USR","NM")=X,ASUL(19,"USR","E#")=""
  1. .F S ASUL(19,"USR","E#")=$O(^ASUL(19,"B",ASUL(19,"USR","NM"),ASUL(19,"USR","E#"))) Q:$E(ASUL(19,"USR","E#"),1,2)=ASUL(1,"AR","AP") Q:ASUL(19,"USR","E#")']""
  1. .Q:ASUL(19,"USR","E#")]"" ;USER name found
  1. .S DIR(0)="Y",DIR("A")="Do you want to add a new User "_ASUL(19,"USR","NM") D ^DIR
  1. .D:$D(DIRUT) ERR D:('Y) ERR D:$D(DUOUT) ERR D:$D(DTOUT) ERR Q:'$D(X)
  1. .D ASUL19RC D:'$D(ASUL(19,"USR","E#")) ERR D:ASUL(19,"USR","E#")']"" ERR Q:'$D(X)
  1. G:$D(DIRUT) ERR G:'$D(X) ERR G:X']"" ERR G:$D(DTOUT) ERR G:$D(DUOUT) ERR G:$D(DIRUT) ERR
  1. X ;
  1. S DA=ASUL(19,"USR","E#"),X=ASUL(19,"USR","NM")
  1. I '$D(ASUL("REQ")) K ASUL(19),ASUL(22)
  1. Q
  1. NAME ;
  1. S DIR(0)="Y",DIR("A")="Do you want to add a new User "_ASUL(19,"USR") D ^DIR
  1. I $D(DIRUT)!('Y) K X Q
  1. READNAME ;EP ;READ USER NAME
  1. S DIR(0)="F^3:30",DIR("A")="ENTER "_ASUL(19,"USR")_" USER NAME",DIR("?")="Name may be 3 to 30 characters long"
  1. S:$G(ASUL(19,"USR","NM"))]"" DIR("B")=$G(ASUL(19,"USR","NM"))
  1. D ^DIR
  1. G:$D(DTOUT) ERR G:$D(DUOUT) ERR G:X']"" ERR
  1. S ASUL(19,"USR","NM")=X
  1. Q
  1. NMIT ;EP ; INPUT TRANSFORM FOR NAME (.01) FIELD
  1. K:$L(X)<3!($L(X)>40)!(X'?3AN.APN) X
  1. Q
  1. CDIT ;EP;;USER CODE INPUT TRANSFORM FOR FILEMAN
  1. N Z S Z=DA D IEN^ASULALGO(.Z) K:X'=Z X Q
  1. ARIT ;EP;;AREA POINTER INPUT TRANSFORM FOR FILEMAN
  1. N Z S Z=$E(DA,1,2) K:X'=Z X Q
  1. PGIT ;EP;;PROGRAM POINTER INPUT TRANSFORM FOR FILEMAN
  1. N Z S X=+X,Z=+($E(DA,3,4)) K:X'=Z X Q
  1. FILE ;
  1. S DIE=9002039.19
  1. W !?10,"Adding entry in User Table (19)"
  1. W !?15," CODE: ",ASUL(19,"USR")
  1. W !?15," NAME: ",ASUL(19,"USR","NM")
  1. W !?15," PROGRAM: ",ASUL(22,"PGM","NM")
  1. W !?15," AREA: ",ASUL(1,"AR","NM")
  1. S DR=".01///"_ASUL(19,"USR","NM")_";.02///"_ASUL(1,"AR","AP")_";.03///"_ASUL(22,"PGM","E#")_";1///"_ASUL(19,"USR")
  1. S $P(^ASUL(19,0),U,4)=$P(^ASUL(19,0),U,4)+1
  1. S $P(^ASUL(19,0),U,3)=ASUL(19,"USR","E#")
  1. S (DA,D0)=ASUL(19,"USR","E#") K DD D ^DIE K X
  1. Q
  1. ERR ;
  1. K X,DUOUT,DTOUT,ASUL(19),ASUL(22)
  1. Q
  1. DIC ;EP; SET DIC
  1. N DIC,DIE
  1. S (DIE,DIC)="^ASUL(19,",DIC(0)="EALM",DIC("W")="W "" "" W:$D(^(1)) "" "",,$P(^(1),U)" D EN2
  1. Q
  1. HELP ;HELP INPUT USER TABLE 19
  1. W !?5,"You may only access User table entries for the Area you are signed"
  1. W !?5,"in to SAMS with. This is determined using the setting of DUZ(2)"
  1. W !?5,"which is set when you sign in to SAMS. If you wish to change Areas,"
  1. W !?5,"you must sign out of SAMS and then sign back in to SAMS selecting the"
  1. W !?5,"appropriate DIVISION (area). If when you sign in to SAMS you are not"
  1. W !?5,"prompted for a DIVISION, then you are automatically signed on as a"
  1. W !?5,"specific Area and are restricted to that Area."
  1. W !!?5,"You will be asked for the User Code or User Name for the entry you wish"
  1. W !?5,"to Access. If an entry for that User does not exist, you will also be asked"
  1. W !?5,"for the User Name or User Code (whichever has not already been enterd)"
  1. W !?5,"so that a new entry may be added. Once an entry has been added to the"
  1. W !?5,"table, only the NAME field may be changed. To change any other field,"
  1. W !?5,"you must delete the entry and re-enter it with the changes. Deletions"
  1. W !?5,"however, may only be done by those with specific access keys."
  1. Q
  1. ASUL19RC ;EP;WITH LOCAL ARRAY KILL
  1. K ASUL(19)
  1. READUSR ;Get User to be processed
  1. N DIR
  1. S DIR(0)="FAO^2:6^K:X'?2N.1AN X"
  1. S DIR("A")=" ENTER USER CODE"
  1. I $D(ASUL(19,"USR","NM")) S DIR("A")=DIR("A")_" FOR "_ASUL(19,"USR","NM")
  1. S DIR("A")=DIR("A")_" : "
  1. S DIR("?")="^D HLPUSADD^ASUL19RC"
  1. S DIR("??")="^D HLPUSLST^ASUL19RC"
  1. D ^DIR S:$D(DUOUT) ASUL(19,"USR")="" Q:$D(DIROUT) Q:$D(DUOUT) Q:$D(DTOUT)
  1. S ASUL(19,"USR")=X
  1. D USR^ASULDIRR(.X)
  1. I Y<0 D
  1. .W !?5,"No entry in User Table (19) for Usr Code ",ASUL(19,"USR")
  1. .W " ",$G(ASUL(19,"USR","NM")),!?10," for area ",ASUL(1,"AR","NM")," - ",ASUL(1,"AR","AP")
  1. .I Y=-1 D
  1. ..K DIR S DIR(0)="Y",DIR("A")="Do you want to add one" D ^DIR
  1. ..I Y D READNAME^ASUL19IT Q:Y<0 S X=ASUL(19,"USR","E#"),X(1)=ASUL(19,"USR","NM") D USR^ASULDIRA(.X)
  1. E D
  1. .W " ",$G(ASUL(19,"USR","NM"))
  1. Q
  1. HLPUSLST ;
  1. N DIC,DIR,DO
  1. S DIC="^ASUL(19,",DIC("S")="I $P(^(0),U,2)=ASUL(1,""AR"",""E#"")"
  1. S DIC(0)="MEI",D="B",DZ="??" D DQ^DICQ
  1. S (DIR("B"),DIR(0))="Y",DIR("A")="Want to see valid Program Codes?" D ^DIR
  1. I Y D HLPPGLST
  1. Q
  1. HLPPGLST ;
  1. N DIC,DO
  1. S DIC="^ASUL(22,"
  1. S DIC(0)="MEI",D="B",DZ="??" D DQ^DICQ
  1. Q
  1. HLPUSADD ;
  1. W !,"For the User to be added, Enter either:"
  1. W !?10,"3 digit User code (first 2 must equal valid Program code)"
  1. W !?10,"?? to see a list of current entries in the User Table"
  1. W !?10,"Enter '^' or <enter> to end session of User entry update"
  1. Q