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

BSDX12.m

Go to the documentation of this file.
  1. BSDX12 ; IHS/OIT/HMW/MSC/SAT - WINDOWS SCHEDULING RPCS ;
  1. ;;3.0;IHS WINDOWS SCHEDULING;;DEC 09, 2010
  1. ;
  1. ;
  1. AVADD(BSDXY,BSDXSTART,BSDXEND,BSDXTYPID,BSDXRES,BSDXSLOTS,BSDXNOTE) ;EP
  1. ;Called by BSDX ADD NEW AVAILABILITY
  1. ;Create entry in BSDX ACCESS BLOCK
  1. ;
  1. ;BSDXRES is Resource Name
  1. ;Returns recordset having fields
  1. ; AvailabilityID and ErrorNumber
  1. ;
  1. ;Test lines:
  1. ;D AVADD^BSDX12(.RES,"1-27-2001@0900","1-27-2001@1000","1","WHITT",2,"SCRATCH AV NOTE") ZW RES
  1. ;BSDX ADD NEW AVAILABILITY^1-27-2001@0900^1-278-2001@1000^1^WHITT^2^SCRATCH AVAILABILITY NOTE
  1. ;
  1. N BSDXERR,BSDXIEN,BSDXDEP,BSDXI,BSDXAVID,BSDXI,BSDXERR,BSDXFDA,BSDXMSG,BSDXRESD
  1. K ^BSDXTMP($J)
  1. S BSDXERR=0
  1. S BSDXI=0
  1. S BSDXY="^BSDXTMP("_$J_")"
  1. S ^BSDXTMP($J,0)="I00020AVAILABILITYID^I00020ERRORID"_$C(30)
  1. ;Check input data for errors
  1. S:BSDXSTART["@0000" BSDXSTART=$P(BSDXSTART,"@")
  1. S:BSDXEND["@0000" BSDXEND=$P(BSDXEND,"@")
  1. S %DT="T",X=BSDXSTART D ^%DT S BSDXSTART=Y
  1. I BSDXSTART=-1 D ERR(70) Q
  1. S %DT="T",X=BSDXEND D ^%DT S BSDXEND=Y
  1. I BSDXEND=-1 D ERR(70) Q
  1. I $L(BSDXEND,".")=1 D ERR(70) Q
  1. I BSDXSTART>BSDXEND S BSDXTMP=BSDXEND,BSDXEND=BSDXSTART,BSDXSTART=BSDXTMP
  1. ;Validate Access Type
  1. I '+BSDXTYPID,'$D(^BSDXTYPE(BSDXTYPID,0)) D ERR(70) Q
  1. ;Validate Resource
  1. I '$D(^BSDXRES("B",BSDXRES)) S BSDXERR=70 D ERR(BSDXERR) Q
  1. S BSDXRESD=$O(^BSDXRES("B",BSDXRES,0)) I '+BSDXRESD S BSDXERR=70 D ERR(BSDXERR) Q
  1. ;
  1. ;Create entry in BSDX ACCESS BLOCK
  1. S BSDXFDA(9002018.3,"+1,",.01)=BSDXRESD
  1. S BSDXFDA(9002018.3,"+1,",.02)=BSDXSTART
  1. S BSDXFDA(9002018.3,"+1,",.03)=BSDXEND
  1. S BSDXFDA(9002018.3,"+1,",.04)=BSDXSLOTS
  1. S BSDXFDA(9002018.3,"+1,",.05)=BSDXTYPID
  1. K BSDXIEN,BSDXMSG
  1. D UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG")
  1. S BSDXAVID=+$G(BSDXIEN(1))
  1. I 'BSDXAVID D ERR(70) Q
  1. ;
  1. ;Add WP field
  1. I BSDXNOTE]"" S BSDXNOTE(.5)=BSDXNOTE,BSDXNOTE=""
  1. I $D(BSDXNOTE(0)) S BSDXNOTE(.5)=BSDXNOTE(0) K BSDXNOTE(0)
  1. I $D(BSDXNOTE(.5)) D
  1. . D WP^DIE(9002018.3,BSDXAVID_",",1,"","BSDXNOTE","BSDXMSG")
  1. ;
  1. ;Return Recordset
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=BSDXAVID_"^-1"_$C(30)
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q
  1. ;
  1. ERR(ERRNO) ;Error processing
  1. S BSDXERR=ERRNO+134234112 ;vbObjectError
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)="0^"_BSDXERR_$C(30)
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q