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

ASUMXDIO.m

Go to the documentation of this file.
  1. ASUMXDIO ; IHS/ASDST/WAR -INDEX MASTER I/O ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;;4.2T1;SUPPLY ACCOUNTING MGMT SYSTEM;;JAN 28, 2000
  1. ;;This routine is a utility routine which provides an entry point to
  1. ;;read (retreve) data from the SAMS Index Master file.
  1. ;;(in global ^ASUMX & VA Fileman file ASUMST INDEX)
  1. READ ;EP; TO SET INDEX MASTER FIELDS
  1. ;ASUMX("E#","IDX") (INDEX) MUST BE SET
  1. Q:'$D(ASUMX("E#","IDX"))
  1. I ASUMX("E#","IDX")'?8N S X=ASUMX("E#","IDX") D DIX^ASUMDIRM(.X) Q:Y<0
  1. S ASUMX(0)=$G(^ASUMX(ASUMX("E#","IDX"),0))
  1. S ASUMX(2)=$G(^ASUMX(ASUMX("E#","IDX"),2))
  1. S ASUMX("IDX")=$P(ASUMX(0),U)
  1. ; ** LMH 6/13/00 NXT. LN. QUITS IF DELETED MSTR. INDEX ITEM **
  1. Q:ASUMX("IDX")=""
  1. I ASUMX("IDX")']"" D
  1. .S ASUF("NOMST")=1,ASUMX("DESC")=""
  1. E D
  1. .I ASUMX("IDX")[999999!(ASUMX("IDX")="") D
  1. ..S ASUF("DLIDX")=1
  1. ..S ASUMX("DESC")=""
  1. .E D
  1. ..S ASUMX("DESC")=$P(ASUMX(0),U,2)
  1. ..I ASUMX("IDX")'=$E(ASUMX("E#","IDX"),3,8) D
  1. ...W *7,!!,"***** PANIC -INDEX MASTER IS CORRUPTED !! -CAN NOT CONTINUE ******",!!!,"******** CALL YOUR SITE MANAGER TO HAVE CORRECTIVE ACTION PERFORMED ********"
  1. ...S ASUP("HLT")=1
  1. S ASUMX("DESC",1)=$E(ASUMX("DESC"),1,30)
  1. S ASUMX("DESC",2)=$E(ASUMX("DESC"),31,62)
  1. S ASUMX("AR U/I")=$P(ASUMX(0),U,4)
  1. S ASUMX("BCD")=$P(ASUMX(0),U,3)
  1. S ASUMX("NSN")=$P(ASUMX(0),U,5)
  1. N X D
  1. .S (X,ASUMX("ACC"))=$P(ASUMX(0),U,6) D ACC^ASULDIRF(X)
  1. .S (X,ASUMX("SOBJ"))=$P(ASUMX(0),U,7) D SSO^ASULDIRF(X)
  1. .S (X,ASUMX("CAT"))=$P(ASUMX(0),U,8) D CAT^ASULDIRF(X)
  1. S ASUMX("ESTB")=$P(ASUMX(0),U,9)
  1. S ASUMX("DELIX")=$P(ASUMX(2),U)
  1. S ASUMX("DELDS")=$P(ASUMX(2),U,2)
  1. S ASUMX("DELDT")=$P(ASUMX(2),U,3)
  1. Q
  1. XK ;EP; TO KILL INDEX MASTER FIELDS
  1. K ASUMX("E#","IDX")
  1. XKF ;EP; TO KILL INDEX MASTER DATA FIELDS ONLY
  1. K ASUMX
  1. Q
  1. IDX(X) ;EP ;WITH PARAMATER
  1. S ASUMX("E#","IDX")=X
  1. G READ
  1. WRITE ;EP; WRITE INDEX MASTER
  1. I ASUT("TRCD")="4A" D
  1. .S ASUMX("IDX")=$E(ASUT("IXA","IDX","PT"),3,8)
  1. .S ASUMX("E#","IDX")=ASUT("IXA","IDX","PT")
  1. .S ASUMX("DESC")=ASUT("IXA","DESC")
  1. .S ASUMX("AR U/I")=ASUT("IXA","AR U/I")
  1. .S ASUMX("BCD")=ASUT("IXA","BCD")
  1. .S ASUMX("NSN")=ASUT("IXA","NSN")
  1. .S ASUMX("ACC")=ASUT("IXA","ACC")
  1. .S ASUMX("SOBJ")=ASUT("IXA","SOBJ")
  1. .S ASUMX("CAT")=ASUT("IXA","CAT")
  1. .S ASUMX("ESTB")=ASUT("IXA","DTE")
  1. .S (ASUMX("DELIX"),ASUMX("DELDS"),ASUMX("DELDT"))=""
  1. Q:'$D(ASUMX("E#","IDX"))
  1. S $P(ASUMX(0),U)=ASUMX("IDX")
  1. S $P(ASUMX(0),U,2)=$G(ASUMX("DESC"))
  1. S $P(ASUMX(0),U,4)=ASUMX("AR U/I")
  1. S $P(ASUMX(0),U,3)=ASUMX("BCD")
  1. S $P(ASUMX(0),U,5)=ASUMX("NSN")
  1. S $P(ASUMX(0),U,6)=ASUMX("ACC")
  1. S $P(ASUMX(0),U,7)=ASUMX("SOBJ")
  1. S $P(ASUMX(0),U,8)=ASUMX("CAT")
  1. S $P(ASUMX(0),U,9)=ASUMX("ESTB")
  1. S $P(ASUMX(0),U,11)=$E(ASUMX("E#","IDX"),1,2)
  1. S $P(ASUMX(2),U)=ASUMX("DELIX")
  1. S $P(ASUMX(2),U,2)=ASUMX("DELDS")
  1. S $P(ASUMX(2),U,3)=ASUMX("DELDT")
  1. U ;EP ; WRITE INDEX MASTER
  1. S ^ASUMX(ASUMX("E#","IDX"),0)=ASUMX(0)
  1. S ^ASUMX(ASUMX("E#","IDX"),2)=ASUMX(2)
  1. S DA=ASUMX("E#","IDX"),DIK="^ASUMX(" D IX^DIK
  1. Q