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

SCCVPOST.m

Go to the documentation of this file.
  1. SCCVPOST ;ALB/MJK - Patch SD*5.3*201 Post-Install Routine ; 11/5/97
  1. ;;5.3;Scheduling;**211**,Aug 13, 1993
  1. ;
  1. EN ; --- main entry point
  1. S U="^"
  1. D BMES^XPDUTL("Post-Install Started...")
  1. ;
  1. ; -- main driver calls
  1. D RES,LOGDATA
  1. ;
  1. D BMES^XPDUTL("Post-Install Finished.")
  1. Q
  1. ;
  1. RES ; -- set up resource device
  1. N NAME,SLOTS,DESC
  1. D BMES^XPDUTL(" >>> SCCV RESOURCE device setup...")
  1. S NAME="SCCV RESOURCE"
  1. S SLOTS=1
  1. S DESC="Scheduling Conversion Resource Device"
  1. ;
  1. ; -- check to see if device already exists
  1. IF $D(^%ZIS(1,"B",NAME)) D G RESQ
  1. . D MES^XPDUTL(" ...Device already exists.")
  1. ;
  1. ; -- create device
  1. IF $$RES^XUDHSET(NAME,,SLOTS,DESC)>0 D G RESQ
  1. . D MES^XPDUTL(" ...Resource device successfully created.")
  1. ;
  1. ; -- indicate device creation failed
  1. D MES^XPDUTL(" ...Unable to create resource device!")
  1. RESQ Q
  1. ;
  1. LOGDATA ; -- queue job to transfer 'edited by' & 'date entry made' data
  1. N SDUZ,ZTRTN,ZTIO,ZTDESC,ZTDTH,ZTSAVE,ZTSK
  1. ;
  1. ; -- quit if pre-test
  1. IF '$$OK^SCCVU(0) Q
  1. ;
  1. S SDUZ=$G(DUZ)
  1. D BMES^XPDUTL(" >>> Queuing task to transfer log data from Scheduling Visits file")
  1. ;
  1. ; -- following line in for interactive testing
  1. ;D LOGQUE Q
  1. ;
  1. ; -- has data already been xfer'd
  1. IF $P($G(^SD(404.91,1,"CNV")),U,8) D G LOGDATAQ
  1. . D MES^XPDUTL(" o Data already has been transferred.")
  1. . D MES^XPDUTL(" (No task queued.)")
  1. . D MES^XPDUTL(" >>> Done.")
  1. ;
  1. ; -- queue task
  1. S ZTIO=""
  1. S ZTRTN="LOGQUE^SCCVPOST"
  1. S ZTDESC="Transferring log data from Scheduling Visits file"
  1. S ZTDTH=$$NOW^XLFDT()
  1. F X="SDUZ" S ZTSAVE(X)=""
  1. D ^%ZTLOAD
  1. D:$D(ZTSK) MES^XPDUTL(" -> Task: #"_ZTSK)
  1. D MES^XPDUTL(" >>> Done.")
  1. LOGDATAQ Q
  1. ;
  1. LOGQUE ; -- TaskMan entry point to queue log data transfer
  1. ;
  1. N SDATE,SDOE,DR,DA,DIE,SDSTOP,SDTOT,SDBEG,SDEND,SDDR,SDFIN
  1. ;
  1. ; -- quit if pre-test
  1. IF '$$OK^SCCVU(0) Q
  1. ;
  1. S SDTOT=0
  1. S SDBEG=$$NOW^XLFDT()
  1. ;
  1. ; -- get date ACRP started on target system ; use as loop start date
  1. S SDATE=$P($G(^SD(404.91,1,"AMB")),U,2)
  1. ;
  1. ; -- get date of last a/e ; use as finish date
  1. S SDFIN=$P($O(^SDV("A"),-1),".")_".24"
  1. ;
  1. ; -- scan ^SCE records
  1. F S SDATE=$O(^SCE("B",SDATE)) Q:'SDATE!(SDATE>SDFIN) D S SDSTOP=$$S^%ZTLOAD Q:SDSTOP
  1. . S SDOE=0 F S SDOE=$O(^SCE("B",SDATE,SDOE)) Q:'SDOE D
  1. . . S SDDR=$$BUILDR(.SDOE)
  1. . . IF SDDR]"" D
  1. . . . S DIE="^SCE(",DA=SDOE,DR=SDDR D ^DIE
  1. . . . S SDTOT=SDTOT+1
  1. ;
  1. S SDEND=$$NOW^XLFDT()
  1. ;
  1. ; -- send bulletin
  1. D BULL
  1. ;
  1. ; -- set completion flag
  1. S DA=1,DR="908////"_SDEND,DIE="^SD(404.91," D ^DIE
  1. ;
  1. Q
  1. ;
  1. BUILDR(SDOE) ; -- build DR string
  1. ;
  1. N SDDR
  1. N SDOE0,SDOECNV,SDOEUSER,SDORG,SCEUSR,SCECRE,DFN
  1. N SDT,SDCS,SDCS0,SDVUSR,SDVCRE,SDVOE
  1. S SDDR=""
  1. ;
  1. ; -- get sce data
  1. S SDOE0=$G(^SCE(SDOE,0))
  1. S SDOECNV=$G(^SCE(SDOE,"CNV"))
  1. S SDOEUSER=$G(^SCE(SDOE,"USER"))
  1. S SDORG=+$P(SDOE0,U,8)
  1. S SCEUSR=+SDOEUSER
  1. S SCECRE=+$P(SDOECNV,U,2)
  1. ;
  1. ; -- quit if not an add/edit
  1. IF SDORG'=2 G BUILDRQ
  1. ;
  1. ; -- get sdv data
  1. S DFN=+$P(SDOE0,U,2)
  1. S SDT=$$SDVIEN^SCCVU(DFN,+SDOE0)
  1. S SDCS=$P(SDOE0,U,9)
  1. S SDCS0=$G(^SDV(+SDT,"CS",+SDCS,0))
  1. S SDVUSR=$P(SDCS0,U,2)
  1. S SDVCRE=$P(SDCS0,U,7)
  1. S SDVOE=+$P(SDCS0,U,8)
  1. ;
  1. ; -- quit if cs node not found
  1. IF SDCS0="" G BUILDRQ
  1. ;
  1. ; -- quit if ien numbers don't match
  1. IF SDOE'=SDVOE G BUILDRQ
  1. ;
  1. ; -- compare sce and sdv data and set DR string accordingly
  1. IF 'SCEUSR,SDVUSR S SDDR="101////"_SDVUSR
  1. IF 'SCECRE,SDVCRE S SDDR=SDDR_$S(SDDR]"":";",1:"")_"902////"_SDVCRE
  1. ;
  1. BUILDRQ Q SDDR
  1. ;
  1. BULL ; -- send message indicating transfer of log data complete or stopped
  1. N SDTEXT,SDCNT,XMSUB,XMN,XMTEXT,XMDUZ,XMY
  1. S SDCNT=0
  1. ;
  1. D LINE("")
  1. D LINE(" >>> Task Started: "_$$FMTE^XLFDT(SDBEG))
  1. D LINE(" Finished: "_$$FMTE^XLFDT(SDEND))
  1. D LINE("")
  1. ;
  1. ; -- build text
  1. IF SDSTOP D
  1. . D LINE(" >>> Task stopped by user. <<<")
  1. ELSE D
  1. . ; -- build text
  1. . D LINE(" >>> Task Completed.")
  1. ;
  1. D LINE("")
  1. D LINE(" >>> "_SDTOT_" Records processed.")
  1. ;
  1. ; -- set xm vars and send message
  1. S XMSUB="Transfer of Scheduling Visits Log Data - Task Information"
  1. S XMN=0
  1. S XMTEXT="SDTEXT("
  1. S XMDUZ=.5
  1. S XMY(SDUZ)=""
  1. D ^XMD
  1. Q
  1. ;
  1. LINE(TEXT) ; -- add line of text
  1. S SDCNT=SDCNT+1
  1. S SDTEXT(SDCNT)=TEXT
  1. Q
  1. ;