XUP807 ;SLC/JLA - XUXTAD Post-Installation Checks ; DEC 20, 2024@11:30
;;8.0;KERNEL;**807**;Dec 20, 2024;Build 56;
D ENVCHK
Q
;
;
; External API'S
;
; FileMan/ScreenMan API's
FIND1(AFILE,AIENS,AFLAGS,AVALUE,AINDEXES,ASCREEN,AMROOT) Q $$FIND1^DIC($G(AFILE),$G(AIENS),$G(AFLAGS),$G(AVALUE),$G(AINDEXES),$G(ASCREEN),$G(AMROOT))
GET1(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) Q $$GET1^DIQ($G(AFILE),$G(AIENS),$G(AFIELD),$G(AFLAGS),$G(ATROOT),$G(AMROOT))
GETS(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) D GETS^DIQ($G(AFILE),$G(AIENS),$G(AFIELD),$G(AFLAGS),$G(ATROOT),$G(AMROOT)) Q
GETFA(AFILE,AFIELD,AFLAGS,AATTRIBUTES,ATROOT,AMROOT) D FIELD^DID($G(AFILE),$G(AFIELD),$G(AFLAGS),$G(AATTRIBUTES),$G(ATROOT),$G(AMROOT)) Q
ADDMI(AMENUTEXT,AMENUITEMTEXT,ASYN) Q $$ADD^XPDMENU($G(AMENUTEXT),$G(AMENUITEMTEXT),$G(ASYN))
DELMI(AMENUTEXT,AMENUITEMTEXT) Q $$DELETE^XPDMENU($G(AMENUTEXT),$G(AMENUITEMTEXT))
SOOO(AMENUTEXT,AOOOTEXT) D OUT^XPDMENU($G(AMENUTEXT),$G(AOOOTEXT)) Q
FMDIK D ^DIK Q
;
;
ENVCHK ;
NEW RTNVAL
S RTNVAL=$$PREINSTALL
;W !,RTNVAL,!
Q
;
;
; The Env. Check Routine: PREINSTALL^XUP807 is called by KIDS prior to the
; install to verify the following:
; A. The FORM XUXTAD SERVICE/SECTION EDIT does NOT exists.
; B. The OPTION XUXTAD SERVICE/SECTION EDIT does NOT exists.
;
; D PREINSTALL^XUP807(1)
PREINSTALL(AVERBOSE) ;
NEW FORMNAME,FORMIEN,RTNVAL
S VERBOSE=0,ROUTINE=25
S:$L($G(AVERBOSE)) VERBOSE=$G(AVERBOSE)
; First, verify the new FORM does not exist
S FORMNAME="XUXTAD SERVICE/SECTION EDIT"
S FORMIEN=$$GETFIEN(FORMNAME)
I VERBOSE W !,"FORMIEN: ",FORMIEN
I FORMIEN D G PREINSTALLDN
. ; Abort all transport globals in the distribution and KILL them from ^XTMP
. S XPDABORT=1
. S RTNVAL="0^Form "_FORMNAME_" should NOT exist"
; Verify that the OPTION XSSE does NOT exists
NEW XSSE,XSIEN
S XSSE="XUXTAD SERVICE/SECTION EDIT"
S XSIEN=$$GETMOIEN(XSSE)
I VERBOSE W !,"XSIEN: ",XSIEN
I XSIEN D G PREINSTALLDN
. ; Abort all transport globals in the distribution and KILL them from ^XTMP
. S XPDABORT=1
. S RTNVAL="0^Menu option "_XSSE_" should NOT exist"
; If we made it here then all is well
S RTNVAL="1^Pre-Installation check is good"
PREINSTALLDN ;
I VERBOSE W !!,"PREINSTALL^XUXTADPREI returning: ",RTNVAL
D BMES^XPDUTL($P(RTNVAL,U,2))
Q RTNVAL
;
;
; The Post Install Routine: POSTINSTALL^XUP807 is called by KIDS after the
; install to verify the following:
; A. The FORM 'XUXTAD SERVICE/SECTION EDIT' exists.
; B. The OPTION 'XUXTAD SERVICE/SECTION EDIT' exists.
; C. The OPTION 'XUXTAD SERVICE/SECTION EDIT' has Field
; ROUTINE="ENTER^XUXTADSSE".
; D. If the OPTION 'R2XTAD SERVICE/SECTION EDIT' exists:
; Set OUT OF ORDER="Replaced by SSE Service/Section Edit".
; E. If the OPTION 'R2XTAD USER INFO MENU' exists:
; Add 'XUXTAD SERVICE/SECTION EDIT' as MENU ITEM OPTION.
; Delete 'R2XTAD SERVICE/SECTION EDIT' MENU ITEM OPTION if it exists.
; F. The SERVICE/SECTION NAME field attributes: "HELP-PROMPT",
; and "DESCRIPTION" have been updated.
;
; D POSTINSTALL^XUP807(1)
POSTINSTALL(AVERBOSE) ;
NEW FORMNAME,FORMIEN,RTNVAL,TROOT
S TROOT="RUIMM",VERBOSE=0,RTNVAL=-1
S:$L($G(AVERBOSE)) VERBOSE=$G(AVERBOSE)
; First, verify the new FORM 'XUXTAD SERVICE/SECTION EDIT' exists
S FORMNAME="XUXTAD SERVICE/SECTION EDIT"
S FORMIEN=$$GETFIEN(FORMNAME)
I VERBOSE W !,"FORMIEN: ",FORMIEN
I 'FORMIEN D G POSTINSTALLDN
. S RTNVAL="0^Form "_FORMNAME_" should exist"
; Verify that the OPTION 'XUXTAD SERVICE/SECTION EDIT' exists
NEW XSSE,XSIEN
S XSSE="XUXTAD SERVICE/SECTION EDIT"
S XSIEN=$$GETMOIEN(XSSE)
I VERBOSE W !,"XSIEN: ",XSIEN
I 'XSIEN D G POSTINSTALLDN
. S RTNVAL="0^Menu option "_XSSE_" should exist"
; Verify that the OPTION XSSE has Field ROUTINE="ENTER^XUXTADSSE"
NEW ROUTINEF S ROUTINEF=25
NEW XROUTINE,XSSEOR
S XSSEOR="ENTER^XUXTADSSE"
S XROUTINE=$$GETMOF(XSIEN,ROUTINEF)
I VERBOSE W !,"XROUTINE: ",XROUTINE
I $G(XROUTINE)'=XSSEOR D G POSTINSTALLDN
. S RTNVAL="0^Menu option "_XSSE_", field ROUTINE should be: "_XSSEOR
; If the OPTION RSSE exists, set it OUT OF ORDER field
NEW RSSE,RSIEN
S RSSE="R2XTAD SERVICE/SECTION EDIT"
S RSIEN=$$GETMOIEN(RSSE)
I VERBOSE W !,"RSIEN: ",RSIEN
I RSIEN D
. N OOOM S OOOM="Replaced by SSE Service/Section Edit"
. I VERBOSE W !!,"Setting Out of Order for Option: "_RSSE_" to: "_OOOM
. D SOOO(RSSE,OOOM)
; Next, verify the OPTION's
; If the OPTION RUIM exists:
; Add XSSE as MENU ITEM OPTION
; Delete RSSE MENU ITEM OPTION
NEW RUIM,RUIEN
S RUIM="R2XTAD USER INFO MENU"
S RUIEN=$$GETMOIEN(RUIM)
I VERBOSE W !,"RUIEN: ",RUIEN
I RUIEN D
. S RTNVAL=$$ADDMI(RUIM,XSSE,"SSE")
. I 'RTNVAL S RTNVAL="0^Add Child menu item: "_XSSE_" to Option: "_RUIM_" unsuccessful"
. I RTNVAL D
.. I VERBOSE W !!,"Menu Item: "_XSSE_" added to: "_RUIM
.. ; If the Menu Item exists then delete it
.. I $$FNDMI(RUIEN,RSIEN) D
... S RTNVAL=$$DELMI(RUIM,RSSE)
... I 'RTNVAL S RTNVAL="0^Delete of Child menu item: "_RSSE_" from Option: "_RUIM_" unsuccessful"
... I RTNVAL&VERBOSE W !!,"Menu Item: "_RSSE_" deleted from: "_RUIM
I 'RTNVAL G POSTINSTALLDN
; Verify the the SERVICE/SECTION NAME field attributes ("HELP-PROMPT","DESCRIPTION") have been updated
N SSNAHP,SSNAD
S SSNAHP="The NAME field must be 3-30 characters in length. It cannot contain numeric characters only, and it must not start with punctuation."
S SSNAD="This is the name given to the service or the section within a service."
S TROOT="SSNA"
D GETFA(49,.01,"","HELP-PROMPT;DESCRIPTION",TROOT)
I VERBOSE W !! ZW @TROOT
I '$D(@TROOT@("HELP-PROMPT"))!'$D(@TROOT@("DESCRIPTION")) D G POSTINSTALLDN
. S RTNVAL="0^Could not read NAME attributes: HELP-PROMPT, DESCRIPTION"
I '(@TROOT@("HELP-PROMPT")=SSNAHP)!'(@TROOT@("DESCRIPTION",1)=SSNAD) D G POSTINSTALLDN
. S RTNVAL="0^SERVICE/SECTION NAME attributes: HELP-PROMPT, DESCRIPTION were not updated"
I VERBOSE W !!,"SERVICE/SECTION NAME attributes: HELP-PROMPT, DESCRIPTION were updated"
; If we made it here then all is well
S RTNVAL="1^Post-Installation check is good"
POSTINSTALLDN ;
I $D(@TROOT)>1 K @TROOT
I VERBOSE W !!,"CHECK^XUP807 returning: ",RTNVAL
D BMES^XPDUTL($P(RTNVAL,U,2))
Q RTNVAL
;
;
; Get Form IEN
;
; S VERBOSE=0
; S AFORMNAME="XUXTAD SERVICE/SECTION EDIT"
; W $$GETFIEN^XUP807(AFORMNAME)
GETFIEN(AFORMNAME) ;
NEW FILE,FORMNAME,FIEN
S FILE=.403,FIEN=-1
S FORMNAME=$G(AFORMNAME)
I VERBOSE W !,"GETFIEN^XUP807(OPTION: ",FORMNAME,")",!
S FIEN=+$$FIND1(FILE,"","X",FORMNAME,"","","ERR")
Q FIEN
;
;
; Get Menu Option IEN
;
; S VERBOSE=0
; S MENUOP="R2XTAD USER INFO MENU"
; S MENUOP="R2XTAD SERVICE/SECTION EDIT"
; S MENUOP="XUXTAD SERVICE/SECTION EDIT"
; W $$GETMOIEN^XUP807(MENUOP)
GETMOIEN(AMO) ;
NEW FILE,MO,MOIEN
S FILE=19,MOIEN=-1
S MO=$G(AMO)
I VERBOSE W !,"GETMOIEN^XUP807(OPTION: ",MO,")",!
S MOIEN=+$$FIND1(FILE,"","X",MO,"","","ERR")
Q MOIEN
;
;
; Get Menu Option Field value
;
; S MOIEN=15173,MOF=25
; S MOIEN=15174,MOF=25
; S MOIEN=15213,MOF=25
; W $$GETMOF^XUP807(MOIEN,MOF)
GETMOF(AMOIEN,AMOF) ;
NEW FILE,MOIEN,MOF,FV
S FILE=19,FV=""
S MOIEN=+$G(AMOIEN)
S MOF=+$G(AMOF)
I VERBOSE W !,"GETMOF^XUP807(IEN: ",MOIEN,", FIELD: ",MOF,")",!
S FV=$$GET1(FILE,""_MOIEN_",",MOF)
Q FV
;
;
; Get All Menu Option multiples
;
; S MOIEN=15173,ROOT="MROOT"
; D $$GETALLM^XUP807(MOIEN,ROOT)
GETALLM(AMOIEN,ATROOT) ;
NEW FILE,MOIEN,TROOT
S FILE=19
S MOIEN=+$G(AMOIEN)
S TROOT=$G(ATROOT)
I VERBOSE W !,"GETALLM^XUP807(IEN: ",MOIEN,", TROOT: ",TROOT,")",!
D GETS(FILE,""_MOIEN_",","10*","I",TROOT)
Q
;
; S MENUOP="R2XTAD USER INFO MENU"
; S AMENUIEN=$$GETMOIEN^XUP807(MENUOP)
; S MENUOP="R2XTAD SERVICE/SECTION EDIT"
; S AMENUITEMIEN=$$GETMOIEN^XUP807(MENUOP)
; W $$FNDMI^XUP807(AMENUIEN,AMENUITEMIEN)
FNDMI(AMENUIEN,AMENUITEMIEN) ;
NEW MENUIEN,MENUITEMIEN,RTNVAL,NODE,MIIEN,TROOT,FOUNDMI
S MENUIEN=$G(AMENUIEN),MENUITEMIEN=$G(AMENUITEMIEN),FOUNDMI=0
I VERBOSE W !,"FNDMI^XUP807(AMENUIEN: ",MENUIEN,", AMENUITEMIEN: ",MENUITEMIEN,")",!
I 'MENUIEN D G FNDMIDN
. S RTNVAL="0^Menu option IEN: "_MENUIEN_" invalid"
I 'MENUITEMIEN D G FNDMIDN
. S RTNVAL="0^Menu item option IEN: "_MENUITEMIEN_" invalid"
S TROOT="RUIMM",RTNVAL="0^Menu item option: "_MENUITEMIEN_" not found"
D GETALLM(MENUIEN,TROOT)
I VERBOSE W !! ZW @TROOT
S NODE=""
F S NODE=$O(@TROOT@(19.01,NODE)) Q:'NODE!FOUNDMI D
. S MIIEN=$$GET1(19.01,NODE,.01,"I")
. I VERBOSE W !,"NODE: ",NODE,", MENU ITEM IEN: ",MIIEN
. I MIIEN=MENUITEMIEN S FOUNDMI=$P(NODE,",") I VERBOSE W !,"FOUND MENUITEMIEN: ",MENUITEMIEN,", NODE=",FOUNDMI
I FOUNDMI S RTNVAL="1^Menu item option: "_MENUITEMIEN_" found"
FNDMIDN ;
I $D(@TROOT)>1 K @TROOT
I VERBOSE W !!,"FNDMI^XUP807 returning: ",RTNVAL,!!
Q RTNVAL
;
;
; Delete the Option Menu Item Record with IEN: AMITEMIEN,
; from Option with IEN: AMITEMIEN in the Option file (19)
;
; AOPTIONIEN - A OPTION IEN
; AMITEMIEN - A MENU ITEM IEN
;
; Returns
; 0^Error message when an error occurs
; 1^Success message
;
; W $$DOPTNMITM^XUP807(15173,12)
DOPTNMITM(AOPTIONIEN,AMITEMIEN) ;
NEW OPTIONIEN,ITEMIEN,ITEMDELETED,OPTIONFILE,MENUNODE
NEW DIK,DA
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
I VERBOSE W !,"DOPTNITM^XUXTADSSEF(",$G(AOPTIONIEN),",",$G(AMITEMIEN),") Called"
S ITEMDELETED=0
S OPTIONIEN=+$G(AOPTIONIEN)
S OPTIONFILE=19 ; File number of SERVICE/SECTION file
S MENUNODE=10 ; ITEM node
S ITEMIEN=+$G(AMITEMIEN)
I (ITEMIEN'>0) D G DOPTNMITMDN
. S ITEMDELETED="0^Invalid ITEM IEN: "_ITEMIEN
S DA=ITEMIEN,DA(1)=OPTIONIEN
S DIK="^DIC("_OPTIONFILE_","_OPTIONIEN_","_MENUNODE_"," ; Global root of subfile
I VERBOSE W !,"DIK: ",DIK,! ZW DA
D FMDIK
S ITEMDELETED="1^Option IEN:"_OPTIONIEN_", Menu Item IEN: "_ITEMIEN_" record deleted."
DOPTNMITMDN ;
I VERBOSE W !,"DOPTNITM^XUXTADSSEF Exiting Response: ",ITEMDELETED,!!
Q ITEMDELETED
;
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUP807 10149 printed Jan 29, 2026@15:10:12 Page 2
XUP807 ;SLC/JLA - XUXTAD Post-Installation Checks ; DEC 20, 2024@11:30
+1 ;;8.0;KERNEL;**807**;Dec 20, 2024;Build 56;
+2 DO ENVCHK
+3 QUIT
+4 ;
+5 ;
+6 ; External API'S
+7 ;
+8 ; FileMan/ScreenMan API's
FIND1(AFILE,AIENS,AFLAGS,AVALUE,AINDEXES,ASCREEN,AMROOT) QUIT $$FIND1^DIC($GET(AFILE),$GET(AIENS),$GET(AFLAGS),$GET(AVALUE),$GET(AINDEXES),$GET(ASCREEN),$GET(AMROOT))
GET1(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) QUIT $$GET1^DIQ($GET(AFILE),$GET(AIENS),$GET(AFIELD),$GET(AFLAGS),$GET(ATROOT),$GET(AMROOT))
GETS(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) DO GETS^DIQ($GET(AFILE),$GET(AIENS),$GET(AFIELD),$GET(AFLAGS),$GET(ATROOT),$GET(AMROOT))
QUIT
GETFA(AFILE,AFIELD,AFLAGS,AATTRIBUTES,ATROOT,AMROOT) DO FIELD^DID($GET(AFILE),$GET(AFIELD),$GET(AFLAGS),$GET(AATTRIBUTES),$GET(ATROOT),$GET(AMROOT))
QUIT
ADDMI(AMENUTEXT,AMENUITEMTEXT,ASYN) QUIT $$ADD^XPDMENU($GET(AMENUTEXT),$GET(AMENUITEMTEXT),$GET(ASYN))
DELMI(AMENUTEXT,AMENUITEMTEXT) QUIT $$DELETE^XPDMENU($GET(AMENUTEXT),$GET(AMENUITEMTEXT))
SOOO(AMENUTEXT,AOOOTEXT) DO OUT^XPDMENU($GET(AMENUTEXT),$GET(AOOOTEXT))
QUIT
FMDIK DO ^DIK
QUIT
+1 ;
+2 ;
ENVCHK ;
+1 NEW RTNVAL
+2 SET RTNVAL=$$PREINSTALL
+3 ;W !,RTNVAL,!
+4 QUIT
+5 ;
+6 ;
+7 ; The Env. Check Routine: PREINSTALL^XUP807 is called by KIDS prior to the
+8 ; install to verify the following:
+9 ; A. The FORM XUXTAD SERVICE/SECTION EDIT does NOT exists.
+10 ; B. The OPTION XUXTAD SERVICE/SECTION EDIT does NOT exists.
+11 ;
+12 ; D PREINSTALL^XUP807(1)
PREINSTALL(AVERBOSE) ;
+1 NEW FORMNAME,FORMIEN,RTNVAL
+2 SET VERBOSE=0
SET ROUTINE=25
+3 if $LENGTH($GET(AVERBOSE))
SET VERBOSE=$GET(AVERBOSE)
+4 ; First, verify the new FORM does not exist
+5 SET FORMNAME="XUXTAD SERVICE/SECTION EDIT"
+6 SET FORMIEN=$$GETFIEN(FORMNAME)
+7 IF VERBOSE
WRITE !,"FORMIEN: ",FORMIEN
+8 IF FORMIEN
Begin DoDot:1
+9 ; Abort all transport globals in the distribution and KILL them from ^XTMP
+10 SET XPDABORT=1
+11 SET RTNVAL="0^Form "_FORMNAME_" should NOT exist"
End DoDot:1
GOTO PREINSTALLDN
+12 ; Verify that the OPTION XSSE does NOT exists
+13 NEW XSSE,XSIEN
+14 SET XSSE="XUXTAD SERVICE/SECTION EDIT"
+15 SET XSIEN=$$GETMOIEN(XSSE)
+16 IF VERBOSE
WRITE !,"XSIEN: ",XSIEN
+17 IF XSIEN
Begin DoDot:1
+18 ; Abort all transport globals in the distribution and KILL them from ^XTMP
+19 SET XPDABORT=1
+20 SET RTNVAL="0^Menu option "_XSSE_" should NOT exist"
End DoDot:1
GOTO PREINSTALLDN
+21 ; If we made it here then all is well
+22 SET RTNVAL="1^Pre-Installation check is good"
PREINSTALLDN ;
+1 IF VERBOSE
WRITE !!,"PREINSTALL^XUXTADPREI returning: ",RTNVAL
+2 DO BMES^XPDUTL($PIECE(RTNVAL,U,2))
+3 QUIT RTNVAL
+4 ;
+5 ;
+6 ; The Post Install Routine: POSTINSTALL^XUP807 is called by KIDS after the
+7 ; install to verify the following:
+8 ; A. The FORM 'XUXTAD SERVICE/SECTION EDIT' exists.
+9 ; B. The OPTION 'XUXTAD SERVICE/SECTION EDIT' exists.
+10 ; C. The OPTION 'XUXTAD SERVICE/SECTION EDIT' has Field
+11 ; ROUTINE="ENTER^XUXTADSSE".
+12 ; D. If the OPTION 'R2XTAD SERVICE/SECTION EDIT' exists:
+13 ; Set OUT OF ORDER="Replaced by SSE Service/Section Edit".
+14 ; E. If the OPTION 'R2XTAD USER INFO MENU' exists:
+15 ; Add 'XUXTAD SERVICE/SECTION EDIT' as MENU ITEM OPTION.
+16 ; Delete 'R2XTAD SERVICE/SECTION EDIT' MENU ITEM OPTION if it exists.
+17 ; F. The SERVICE/SECTION NAME field attributes: "HELP-PROMPT",
+18 ; and "DESCRIPTION" have been updated.
+19 ;
+20 ; D POSTINSTALL^XUP807(1)
POSTINSTALL(AVERBOSE) ;
+1 NEW FORMNAME,FORMIEN,RTNVAL,TROOT
+2 SET TROOT="RUIMM"
SET VERBOSE=0
SET RTNVAL=-1
+3 if $LENGTH($GET(AVERBOSE))
SET VERBOSE=$GET(AVERBOSE)
+4 ; First, verify the new FORM 'XUXTAD SERVICE/SECTION EDIT' exists
+5 SET FORMNAME="XUXTAD SERVICE/SECTION EDIT"
+6 SET FORMIEN=$$GETFIEN(FORMNAME)
+7 IF VERBOSE
WRITE !,"FORMIEN: ",FORMIEN
+8 IF 'FORMIEN
Begin DoDot:1
+9 SET RTNVAL="0^Form "_FORMNAME_" should exist"
End DoDot:1
GOTO POSTINSTALLDN
+10 ; Verify that the OPTION 'XUXTAD SERVICE/SECTION EDIT' exists
+11 NEW XSSE,XSIEN
+12 SET XSSE="XUXTAD SERVICE/SECTION EDIT"
+13 SET XSIEN=$$GETMOIEN(XSSE)
+14 IF VERBOSE
WRITE !,"XSIEN: ",XSIEN
+15 IF 'XSIEN
Begin DoDot:1
+16 SET RTNVAL="0^Menu option "_XSSE_" should exist"
End DoDot:1
GOTO POSTINSTALLDN
+17 ; Verify that the OPTION XSSE has Field ROUTINE="ENTER^XUXTADSSE"
+18 NEW ROUTINEF
SET ROUTINEF=25
+19 NEW XROUTINE,XSSEOR
+20 SET XSSEOR="ENTER^XUXTADSSE"
+21 SET XROUTINE=$$GETMOF(XSIEN,ROUTINEF)
+22 IF VERBOSE
WRITE !,"XROUTINE: ",XROUTINE
+23 IF $GET(XROUTINE)'=XSSEOR
Begin DoDot:1
+24 SET RTNVAL="0^Menu option "_XSSE_", field ROUTINE should be: "_XSSEOR
End DoDot:1
GOTO POSTINSTALLDN
+25 ; If the OPTION RSSE exists, set it OUT OF ORDER field
+26 NEW RSSE,RSIEN
+27 SET RSSE="R2XTAD SERVICE/SECTION EDIT"
+28 SET RSIEN=$$GETMOIEN(RSSE)
+29 IF VERBOSE
WRITE !,"RSIEN: ",RSIEN
+30 IF RSIEN
Begin DoDot:1
+31 NEW OOOM
SET OOOM="Replaced by SSE Service/Section Edit"
+32 IF VERBOSE
WRITE !!,"Setting Out of Order for Option: "_RSSE_" to: "_OOOM
+33 DO SOOO(RSSE,OOOM)
End DoDot:1
+34 ; Next, verify the OPTION's
+35 ; If the OPTION RUIM exists:
+36 ; Add XSSE as MENU ITEM OPTION
+37 ; Delete RSSE MENU ITEM OPTION
+38 NEW RUIM,RUIEN
+39 SET RUIM="R2XTAD USER INFO MENU"
+40 SET RUIEN=$$GETMOIEN(RUIM)
+41 IF VERBOSE
WRITE !,"RUIEN: ",RUIEN
+42 IF RUIEN
Begin DoDot:1
+43 SET RTNVAL=$$ADDMI(RUIM,XSSE,"SSE")
+44 IF 'RTNVAL
SET RTNVAL="0^Add Child menu item: "_XSSE_" to Option: "_RUIM_" unsuccessful"
+45 IF RTNVAL
Begin DoDot:2
+46 IF VERBOSE
WRITE !!,"Menu Item: "_XSSE_" added to: "_RUIM
+47 ; If the Menu Item exists then delete it
+48 IF $$FNDMI(RUIEN,RSIEN)
Begin DoDot:3
+49 SET RTNVAL=$$DELMI(RUIM,RSSE)
+50 IF 'RTNVAL
SET RTNVAL="0^Delete of Child menu item: "_RSSE_" from Option: "_RUIM_" unsuccessful"
+51 IF RTNVAL&VERBOSE
WRITE !!,"Menu Item: "_RSSE_" deleted from: "_RUIM
End DoDot:3
End DoDot:2
End DoDot:1
+52 IF 'RTNVAL
GOTO POSTINSTALLDN
+53 ; Verify the the SERVICE/SECTION NAME field attributes ("HELP-PROMPT","DESCRIPTION") have been updated
+54 NEW SSNAHP,SSNAD
+55 SET SSNAHP="The NAME field must be 3-30 characters in length. It cannot contain numeric characters only, and it must not start with punctuation."
+56 SET SSNAD="This is the name given to the service or the section within a service."
+57 SET TROOT="SSNA"
+58 DO GETFA(49,.01,"","HELP-PROMPT;DESCRIPTION",TROOT)
+59 IF VERBOSE
WRITE !!