- RMPR29L2 ;HOIFO/SPS - WORK ORDER HRS/RATE GRID OWL PROGRAM ;11/8/05 07:12
- ;;3.0;PROSTHETICS;**75**;Feb 09, 1996;Build 25
- ;
- ;
- A1(RMPR6642) ;entry point for testing
- D A2
- Q
- EN(RESULT,RMPR6642) ; -- Broker callback to get list to display
- A2 ;
- S DATE=2010101,CNT=0
- K ^TMP($J)
- I '$D(^RMPR(664.2,RMPR6642,0)) Q
- S RM660=$P(^RMPR(664.2,RMPR6642,0),U,2)
- I +RM660'>0 S RESULTS=1_"No Appliance/Repair record for this work order" Q
- D REC
- G EXIT
- Q
- K DATE,RESULTS,RM660,RMDTE
- REC ;records to grid
- ;
- ;
- N DIC,DIQ,DR,STOPDT
- ;
- ;Get Work Order Labor Data and add to array
- S RMIE3="",RMIE33=0
- F S RMIE3=$O(^RMPR(664.3,"C",RM660,RMIE3)) Q:RMIE3="" D
- . Q:'$D(^RMPR(664.3,RMIE3,0))
- . S RMDT=$P(^RMPR(664.3,RMIE3,0),U)
- . S RMDTE=$$DAT2^RMPRUTL1(RMDT)
- . S CNT=0
- . F S RMIE33=$O(^RMPR(664.3,RMIE3,1,RMIE33)) Q:RMIE33="" D
- .. Q:'$D(^RMPR(664.3,RMIE3,1,RMIE33,0))
- .. S RMPAI=$P(^RMPR(664.3,RMIE3,1,RMIE33,0),U,1)
- .. S RMPAE=$$EXTERNAL^DILFD(664.33,.01,"",RMPAI)
- .. S RMHR=$P(^RMPR(664.3,RMIE3,1,RMIE33,0),U,2),RMRT=$P(^(0),U,3)
- .. S CNT=CNT+1
- .. S ^TMP($J,"RMLH",RMDT,CNT)=0_U_RMDTE_U_RMPAE_U_RMHR_U_RMRT_U_RMPR6642_U_RMPAI_U_RMIE3_U_RMIE33
- K CNT,RMIE3,RMIE33,RMDT,RMPAI,RMPAE,RMHR,RMRT
- ;PUT RESULTS IN GLOBAL!!
- Q
- EXIT ;common exit point
- S RESULT=$NA(^TMP($J))
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPR29L2 1320 printed Apr 23, 2025@18:46:44 Page 2
- RMPR29L2 ;HOIFO/SPS - WORK ORDER HRS/RATE GRID OWL PROGRAM ;11/8/05 07:12
- +1 ;;3.0;PROSTHETICS;**75**;Feb 09, 1996;Build 25
- +2 ;
- +3 ;
- A1(RMPR6642) ;entry point for testing
- +1 DO A2
- +2 QUIT
- EN(RESULT,RMPR6642) ; -- Broker callback to get list to display
- A2 ;
- +1 SET DATE=2010101
- SET CNT=0
- +2 KILL ^TMP($JOB)
- +3 IF '$DATA(^RMPR(664.2,RMPR6642,0))
- QUIT
- +4 SET RM660=$PIECE(^RMPR(664.2,RMPR6642,0),U,2)
- +5 IF +RM660'>0
- SET RESULTS=1_"No Appliance/Repair record for this work order"
- QUIT
- +6 DO REC
- +7 GOTO EXIT
- +8 QUIT
- +9 KILL DATE,RESULTS,RM660,RMDTE
- REC ;records to grid
- +1 ;
- +2 ;
- +3 NEW DIC,DIQ,DR,STOPDT
- +4 ;
- +5 ;Get Work Order Labor Data and add to array
- +6 SET RMIE3=""
- SET RMIE33=0
- +7 FOR
- SET RMIE3=$ORDER(^RMPR(664.3,"C",RM660,RMIE3))
- if RMIE3=""
- QUIT
- Begin DoDot:1
- +8 if '$DATA(^RMPR(664.3,RMIE3,0))
- QUIT
- +9 SET RMDT=$PIECE(^RMPR(664.3,RMIE3,0),U)
- +10 SET RMDTE=$$DAT2^RMPRUTL1(RMDT)
- +11 SET CNT=0
- +12 FOR
- SET RMIE33=$ORDER(^RMPR(664.3,RMIE3,1,RMIE33))
- if RMIE33=""
- QUIT
- Begin DoDot:2
- +13 if '$DATA(^RMPR(664.3,RMIE3,1,RMIE33,0))
- QUIT
- +14 SET RMPAI=$PIECE(^RMPR(664.3,RMIE3,1,RMIE33,0),U,1)
- +15 SET RMPAE=$$EXTERNAL^DILFD(664.33,.01,"",RMPAI)
- +16 SET RMHR=$PIECE(^RMPR(664.3,RMIE3,1,RMIE33,0),U,2)
- SET RMRT=$PIECE(^(0),U,3)
- +17 SET CNT=CNT+1
- +18 SET ^TMP($JOB,"RMLH",RMDT,CNT)=0_U_RMDTE_U_RMPAE_U_RMHR_U_RMRT_U_RMPR6642_U_RMPAI_U_RMIE3_U_RMIE33
- End DoDot:2
- End DoDot:1
- +19 KILL CNT,RMIE3,RMIE33,RMDT,RMPAI,RMPAE,RMHR,RMRT
- +20 ;PUT RESULTS IN GLOBAL!!
- +21 QUIT
- EXIT ;common exit point
- +1 SET RESULT=$NAME(^TMP($JOB))
- +2 QUIT