- FSCRS ;SLC/STAFF-NOIS Report Special ;1/13/98 16:54
- ;;1.1;NOIS;;Sep 06, 1998
- ;
- SUMMARY ; executed from NOIS FORMAT file
- N FORMAT K FORMAT ; CALLNUM,LATLINE,LISTNUM,STYLE,TYPE available for use
- S FORMAT(1)="",FORMAT(1,1)="",FORMAT(1,2)=" This is simply a test to show a format for call # "_CALLNUM
- I TYPE["VIEW" D VIEW^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE) Q
- D SETUP^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- Q
- ;
- STATHIST ;
- N CNT,DATETIME,DIFF,FORMAT,LINE,LINECNT,LINECNT1,SEQ,START,STATUS,STOP K FORMAT,SEQ
- S FORMAT(1)=""
- S (SEQ,LINECNT)=0 F S LINECNT=$O(^FSCD("CALL",CALLNUM,110,LINECNT)) Q:LINECNT<1 S LINE=^(LINECNT,0) D
- .S SEQ=SEQ+1
- .D INFO(LINE,.STATUS,.DATETIME)
- .S SEQ(SEQ)=STATUS_U_DATETIME
- .S LINECNT1=$O(^FSCD("CALL",CALLNUM,110,LINECNT)) I LINECNT1'<1 S LINE=$G(^(LINECNT1,0))
- .I LINECNT1<1 D
- ..S SEQ(SEQ)=SEQ(SEQ)_U_$$FMTE^XLFDT($$NOW^XLFDT)
- .E D
- ..D INFO(LINE,.STATUS,.DATETIME)
- ..S SEQ(SEQ)=SEQ(SEQ)_U_DATETIME
- S (CNT,SEQ)=0 F S SEQ=$O(SEQ(SEQ)) Q:SEQ<1 D
- .S LINE=SEQ(SEQ),STATUS=$P(LINE,U),START=$P(LINE,U,2),STOP=$P(LINE,U,3)
- .S START=$$EXTFM(START),STOP=$$EXTFM(STOP),DIFF=$$FMDIFF^XLFDT(STOP,START,3)
- .I '$L(DIFF) S DIFF="00:00:00"
- .S CNT=CNT+1,FORMAT(1,CNT)=STATUS_": "_DIFF
- I TYPE["VIEW" D VIEW^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE) Q
- D SETUP^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- Q
- ;
- INFO(LINE,STATUS,DATETIME) ;
- S STATUS=$P(LINE," on ")
- I STATUS["Changed from" S STATUS=$P(STATUS," to ",2)
- I $E(STATUS,1,2)=" " S STATUS=$E(STATUS,3,99)
- S DATETIME=$P(LINE," on ",2),DATETIME=$P(DATETIME," by ")
- Q
- ;
- EXTFM(DATETIME) ; $$(external date@time) -> fmdate.time
- N DATE,MON,NEW,TIME
- S DATE=$P(DATETIME,"@"),TIME=$P(DATETIME,"@",2)
- S NEW=$P(DATE," ",3)-1700
- S MON=$P(DATE," "),MON=$S(MON="Jan":"01",MON="Feb":"02",MON="Mar":"03",MON="Apr":"04",MON="May":"05",MON="Jun":"06",MON="Jul":"07",MON="Aug":"08",MON="Sep":"09",MON="Oct":"10",MON="Nov":"11",1:"12")
- S NEW=NEW_MON_$P($P(DATE," ",2),",")
- I $L(TIME) S NEW=NEW_"."_$TR(TIME,":","")
- Q NEW
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFSCRS 2114 printed Mar 13, 2025@21:25:04 Page 2
- FSCRS ;SLC/STAFF-NOIS Report Special ;1/13/98 16:54
- +1 ;;1.1;NOIS;;Sep 06, 1998
- +2 ;
- SUMMARY ; executed from NOIS FORMAT file
- +1 ; CALLNUM,LATLINE,LISTNUM,STYLE,TYPE available for use
- NEW FORMAT
- KILL FORMAT
- +2 SET FORMAT(1)=""
- SET FORMAT(1,1)=""
- SET FORMAT(1,2)=" This is simply a test to show a format for call # "_CALLNUM
- +3 IF TYPE["VIEW"
- DO VIEW^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- QUIT
- +4 DO SETUP^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- +5 QUIT
- +6 ;
- STATHIST ;
- +1 NEW CNT,DATETIME,DIFF,FORMAT,LINE,LINECNT,LINECNT1,SEQ,START,STATUS,STOP
- KILL FORMAT,SEQ
- +2 SET FORMAT(1)=""
- +3 SET (SEQ,LINECNT)=0
- FOR
- SET LINECNT=$ORDER(^FSCD("CALL",CALLNUM,110,LINECNT))
- if LINECNT<1
- QUIT
- SET LINE=^(LINECNT,0)
- Begin DoDot:1
- +4 SET SEQ=SEQ+1
- +5 DO INFO(LINE,.STATUS,.DATETIME)
- +6 SET SEQ(SEQ)=STATUS_U_DATETIME
- +7 SET LINECNT1=$ORDER(^FSCD("CALL",CALLNUM,110,LINECNT))
- IF LINECNT1'<1
- SET LINE=$GET(^(LINECNT1,0))
- +8 IF LINECNT1<1
- Begin DoDot:2
- +9 SET SEQ(SEQ)=SEQ(SEQ)_U_$$FMTE^XLFDT($$NOW^XLFDT)
- End DoDot:2
- +10 IF '$TEST
- Begin DoDot:2
- +11 DO INFO(LINE,.STATUS,.DATETIME)
- +12 SET SEQ(SEQ)=SEQ(SEQ)_U_DATETIME
- End DoDot:2
- End DoDot:1
- +13 SET (CNT,SEQ)=0
- FOR
- SET SEQ=$ORDER(SEQ(SEQ))
- if SEQ<1
- QUIT
- Begin DoDot:1
- +14 SET LINE=SEQ(SEQ)
- SET STATUS=$PIECE(LINE,U)
- SET START=$PIECE(LINE,U,2)
- SET STOP=$PIECE(LINE,U,3)
- +15 SET START=$$EXTFM(START)
- SET STOP=$$EXTFM(STOP)
- SET DIFF=$$FMDIFF^XLFDT(STOP,START,3)
- +16 IF '$LENGTH(DIFF)
- SET DIFF="00:00:00"
- +17 SET CNT=CNT+1
- SET FORMAT(1,CNT)=STATUS_": "_DIFF
- End DoDot:1
- +18 IF TYPE["VIEW"
- DO VIEW^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- QUIT
- +19 DO SETUP^FSCFORMU(LISTNUM,CALLNUM,.FORMAT,STYLE,.LASTLINE,TYPE)
- +20 QUIT
- +21 ;
- INFO(LINE,STATUS,DATETIME) ;
- +1 SET STATUS=$PIECE(LINE," on ")
- +2 IF STATUS["Changed from"
- SET STATUS=$PIECE(STATUS," to ",2)
- +3 IF $EXTRACT(STATUS,1,2)=" "
- SET STATUS=$EXTRACT(STATUS,3,99)
- +4 SET DATETIME=$PIECE(LINE," on ",2)
- SET DATETIME=$PIECE(DATETIME," by ")
- +5 QUIT
- +6 ;
- EXTFM(DATETIME) ; $$(external date@time) -> fmdate.time
- +1 NEW DATE,MON,NEW,TIME
- +2 SET DATE=$PIECE(DATETIME,"@")
- SET TIME=$PIECE(DATETIME,"@",2)
- +3 SET NEW=$PIECE(DATE," ",3)-1700
- +4 SET MON=$PIECE(DATE," ")
- SET MON=$SELECT(MON="Jan":"01",MON="Feb":"02",MON="Mar":"03",MON="Apr":"04",MON="May":"05",MON="Jun":"06",MON="Jul":"07",MON="Aug":"08",MON="Sep":"09",MON="Oct":"10",MON="Nov":"11",1:"12")
- +5 SET NEW=NEW_MON_$PIECE($PIECE(DATE," ",2),",")
- +6 IF $LENGTH(TIME)
- SET NEW=NEW_"."_$TRANSLATE(TIME,":","")
- +7 QUIT NEW