SDEC20 ;ALB/SAT - VISTA SCHEDULING RPCS ;APR 08, 2016
 ;;5.3;Scheduling;**627,642**;Aug 13, 1993;Build 23
 ;
 Q
 ;
DELRGI(SDECY,SDECIEN,SDECIEN1) ;Deletes entry SDECIEN1 from entry SDECIEN in the SDEC RESOURCE GROUP file
 ;DELRGI(SDECY,SDECIEN,SDECIEN1)  external parameter tag is in SDEC
 ;Return recordset containing error message or "" if no error
 ;SDECIEN  - Resource Group Id - Pointer to SDEC RESOURCE GROUP file
 ;SDECIEN1 - Resource ID - Pointer to SDEC RESOURCE file
 ;Called by SDEC DELETE RES GROUP ITEM
 ;
 N SDECI,SDFDA,DA
 S SDECI=0
 S SDECY="^TMP(""SDEC20"","_$J_",""DELRGI"")"
 K @SDECY
 S @SDECY@(0)="I00020RESOURCEGROUPID^I00020ERRORID"_$C(30)
 I '+SDECIEN D ERR(SDECI,SDECIEN,70) Q
 I '+SDECIEN1 D ERR(SDECI,SDECIEN,70) Q
 S DA=$O(^SDEC(409.832,SDECIEN,1,"B",SDECIEN1,0))
 G:DA="" XIT
 I '$D(^SDEC(409.832,SDECIEN,1,DA,0)) D ERR(SDECI,SDECIEN,70) Q
 ;
 ;Delete entry SDECIEN1
 S SDFDA(409.8321,DA_","_SDECIEN_",",.01)="@"
 D UPDATE^DIE("","SDFDA")
XIT ;
 S SDECI=SDECI+1
 S @SDECY@(SDECI)=SDECIEN_"^"_"0"_$C(30)_$C(31)
 Q
 ;
ADDRGI(SDECY,SDECIEN,SDECIEN1) ;Adds RESOURCEID to RESOURCE GROUP entry SDECIEN
 ;ADDRGI(SDECY,SDECIEN,SDECIEN1)  external parameter tag is in SDEC
 ;INPUT:
 ; SDECIEN  - (required) Resource Group ID - pointer to the SDEC RESOURCE GROUP file
 ; SDECIEN1 - (required) Resource ID - pointer to the SDEC RESOURCE file
 ;RETURN:
 ; Recordset containing added subentry number error message or "" if no error
 ;
 N SDECI,SDECIENS,SDECMSG,SDECFDA
 S SDECI=0
 S SDECY="^TMP(""SDEC"","_$J_")"
 K @SDECY
 S ^TMP("SDEC",$J,0)="I00020RESOURCEGROUPITEMID^I00020ERRORID"_$C(30)
 I '+SDECIEN D ERR(SDECI,SDECIEN,70) Q
 I '+SDECIEN1 D ERR(SDECI,SDECIEN,70) Q
 I '$D(^SDEC(409.832,SDECIEN,0)) D ERR(SDECI,SDECIEN,70) Q
 I '$D(^SDEC(409.831,SDECIEN1,0)) D ERR(SDECI,SDECIEN1,70) Q
 I $D(^SDEC(409.832,SDECIEN,1,"B",SDECIEN1)) D ERR(SDECI,0,0) Q
 ;^SDEC(409.832,3,1,"B",3,1)=
 ;
 S SDECIENS="+1,"_SDECIEN_","
 S SDECFDA(409.8321,SDECIENS,.01)=SDECIEN1 ;RESOURCEID
 K SDECIEN
 D UPDATE^DIE("","SDECFDA","SDECIEN","SDECMSG")
 S SDECI=SDECI+1
 S ^TMP("SDEC",$J,SDECI)=+$G(SDECIEN(1))_"^"_"-1"_$C(30)_$C(31)
 Q
 ;
ERR(SDECI,SDECID,SDECERR) ;Error processing
 S SDECI=SDECI+1
 S ^TMP("SDEC",$J,SDECI)=SDECID_"^"_SDECERR_$C(30)
 S SDECI=SDECI+1
 S ^TMP("SDEC",$J,SDECI)=$C(31)
 Q
 ;
ETRAP ;EP Error trap entry
 I '$D(SDECI) N SDECI S SDECI=999
 S SDECI=SDECI+1
 D ERR(SDECI,99,70)
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDEC20   2475     printed  Sep 23, 2025@20:26:39                                                                                                                                                                                                      Page 2
SDEC20    ;ALB/SAT - VISTA SCHEDULING RPCS ;APR 08, 2016
 +1       ;;5.3;Scheduling;**627,642**;Aug 13, 1993;Build 23
 +2       ;
 +3        QUIT 
 +4       ;
DELRGI(SDECY,SDECIEN,SDECIEN1) ;Deletes entry SDECIEN1 from entry SDECIEN in the SDEC RESOURCE GROUP file
 +1       ;DELRGI(SDECY,SDECIEN,SDECIEN1)  external parameter tag is in SDEC
 +2       ;Return recordset containing error message or "" if no error
 +3       ;SDECIEN  - Resource Group Id - Pointer to SDEC RESOURCE GROUP file
 +4       ;SDECIEN1 - Resource ID - Pointer to SDEC RESOURCE file
 +5       ;Called by SDEC DELETE RES GROUP ITEM
 +6       ;
 +7        NEW SDECI,SDFDA,DA
 +8        SET SDECI=0
 +9        SET SDECY="^TMP(""SDEC20"","_$JOB_",""DELRGI"")"
 +10       KILL @SDECY
 +11       SET @SDECY@(0)="I00020RESOURCEGROUPID^I00020ERRORID"_$CHAR(30)
 +12       IF '+SDECIEN
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +13       IF '+SDECIEN1
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +14       SET DA=$ORDER(^SDEC(409.832,SDECIEN,1,"B",SDECIEN1,0))
 +15       if DA=""
               GOTO XIT
 +16       IF '$DATA(^SDEC(409.832,SDECIEN,1,DA,0))
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +17      ;
 +18      ;Delete entry SDECIEN1
 +19       SET SDFDA(409.8321,DA_","_SDECIEN_",",.01)="@"
 +20       DO UPDATE^DIE("","SDFDA")
XIT       ;
 +1        SET SDECI=SDECI+1
 +2        SET @SDECY@(SDECI)=SDECIEN_"^"_"0"_$CHAR(30)_$CHAR(31)
 +3        QUIT 
 +4       ;
ADDRGI(SDECY,SDECIEN,SDECIEN1) ;Adds RESOURCEID to RESOURCE GROUP entry SDECIEN
 +1       ;ADDRGI(SDECY,SDECIEN,SDECIEN1)  external parameter tag is in SDEC
 +2       ;INPUT:
 +3       ; SDECIEN  - (required) Resource Group ID - pointer to the SDEC RESOURCE GROUP file
 +4       ; SDECIEN1 - (required) Resource ID - pointer to the SDEC RESOURCE file
 +5       ;RETURN:
 +6       ; Recordset containing added subentry number error message or "" if no error
 +7       ;
 +8        NEW SDECI,SDECIENS,SDECMSG,SDECFDA
 +9        SET SDECI=0
 +10       SET SDECY="^TMP(""SDEC"","_$JOB_")"
 +11       KILL @SDECY
 +12       SET ^TMP("SDEC",$JOB,0)="I00020RESOURCEGROUPITEMID^I00020ERRORID"_$CHAR(30)
 +13       IF '+SDECIEN
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +14       IF '+SDECIEN1
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +15       IF '$DATA(^SDEC(409.832,SDECIEN,0))
               DO ERR(SDECI,SDECIEN,70)
               QUIT 
 +16       IF '$DATA(^SDEC(409.831,SDECIEN1,0))
               DO ERR(SDECI,SDECIEN1,70)
               QUIT 
 +17       IF $DATA(^SDEC(409.832,SDECIEN,1,"B",SDECIEN1))
               DO ERR(SDECI,0,0)
               QUIT 
 +18      ;^SDEC(409.832,3,1,"B",3,1)=
 +19      ;
 +20       SET SDECIENS="+1,"_SDECIEN_","
 +21      ;RESOURCEID
           SET SDECFDA(409.8321,SDECIENS,.01)=SDECIEN1
 +22       KILL SDECIEN
 +23       DO UPDATE^DIE("","SDECFDA","SDECIEN","SDECMSG")
 +24       SET SDECI=SDECI+1
 +25       SET ^TMP("SDEC",$JOB,SDECI)=+$GET(SDECIEN(1))_"^"_"-1"_$CHAR(30)_$CHAR(31)
 +26       QUIT 
 +27      ;
ERR(SDECI,SDECID,SDECERR) ;Error processing
 +1        SET SDECI=SDECI+1
 +2        SET ^TMP("SDEC",$JOB,SDECI)=SDECID_"^"_SDECERR_$CHAR(30)
 +3        SET SDECI=SDECI+1
 +4        SET ^TMP("SDEC",$JOB,SDECI)=$CHAR(31)
 +5        QUIT 
 +6       ;
ETRAP     ;EP Error trap entry
 +1        IF '$DATA(SDECI)
               NEW SDECI
               SET SDECI=999
 +2        SET SDECI=SDECI+1
 +3        DO ERR(SDECI,99,70)
 +4        QUIT