PSSP194 ;DAL/DSK-PSS*1.0*194 POST INSTALL ROUTINE
;;1.0;PHARMACY DATA MANAGEMENT;**194**;9/30/97;Build 9
;;
Q
;
POSTINT ; POST INSTALL ENTRY POINT.
;
N ZTDESC,ZTIO,ZTDTH,ZTRTN,ZTSAVE
S ZTDESC="PSS*1*194 Post Install",ZTIO="",ZTDTH=$H,ZTRTN="POST^PSSP194",ZTSAVE("DUZ")=""
D ^%ZTLOAD
D BMES^XPDUTL("PSS*1*194 Post Install Task Queued.")
D BMES^XPDUTL("You will receive a MailMan message")
D BMES^XPDUTL("when task #"_$G(ZTSK)_" has completed.")
K ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
Q
;
POST ;correct cross references and send mail message
;
; ^XTMP("PSSP194" used to document changes made
; Changes are sent in MailMan message to installer
; ^XTMP is kept for 90 days in case questions arise later
; and mail message has been deleted
;
N PSSNOW
S PSSNOW=$$NOW^XLFDT()
;in case this routine is run more than once, delete old ^XTMP entry
K ^XTMP("PSSP194")
S ^XTMP("PSSP194",0)=$$FMADD^XLFDT(PSSNOW,90)_"^"_PSSNOW_"^PSS*1.0*194 Post Install Routine PSSP194"
D NAME,MAIL
Q
;
NAME ;Search for incorrect cross references
;If length is exactly 30, pre-PSS*1*194 version of PSSTXT
;may not have deleted or changed the cross reference correctly
;If length is more than 30, change to 30 to be consistent
;with FileMan logic
;
N PSSEQ,PSSTR,PSSIEN,PSSINDEX
D CHECK
;
S PSSEQ=""
;
;Delete cross references which need to be deleted
F S PSSEQ=$O(^XTMP("PSSP194","CROSS",PSSEQ)) Q:PSSEQ="" D
. S PSSTR=^XTMP("PSSP194","CROSS",PSSEQ)
. S PSSIEN=$P(PSSTR,"^"),PSSINDEX=$P(PSSTR,"^",3)
. K ^PS(51.7,"B",PSSINDEX,PSSIEN)
;
;Set cross references which need to be set
F S PSSEQ=$O(^XTMP("PSSP194","B_SET",PSSEQ)) Q:PSSEQ="" D
. S PSSTR=^XTMP("PSSP194","B_SET",PSSEQ)
. S PSSIEN=$P(PSSTR,"^"),PSSINDEX=$P(PSSTR,"^",3)
. S ^PS(51.7,"B",PSSINDEX,PSSIEN)=""
;
;Kill long cross references and set truncated cross references
F S PSSEQ=$O(^XTMP("PSSP194","LONG",PSSEQ)) Q:PSSEQ="" D
. S PSSTR=^XTMP("PSSP194","LONG",PSSEQ)
. ;kill the >30 length cross reference
. S PSSIEN=$P(PSSTR,"^"),PSSINDEX=$P(PSSTR,"^",2)
. K ^PS(51.7,"B",PSSINDEX,PSSIEN)
. ;set correct cross reference.
. ;This set could potentially occur twice due to part IND
. ;but at least it would be set.
. S PSSINDEX=$P(PSSTR,"^",3)
. ;check for null value in case this was a file fragment
. I PSSINDEX]"" S ^PS(51.7,"B",PSSINDEX,PSSIEN)=""
Q
;
CHECK ;Check cross reference and correct if necessary
;
N PSSNAME,PSSUB
S PSSINDEX="",PSSEQ=0
F S PSSINDEX=$O(^PS(51.7,"B",PSSINDEX)) Q:PSSINDEX="" D
. Q:$L(PSSINDEX)<30
. S PSSIEN=""
. F S PSSIEN=$O(^PS(51.7,"B",PSSINDEX,PSSIEN)) Q:PSSIEN="" D
. . S PSSNAME=$P($G(^PS(51.7,PSSIEN,0)),"^")
. . I $E(PSSNAME,1,30)'=PSSINDEX D
. . . ;"CROSS" subscript = cross reference was not deleted
. . . ; because of previous logic issue
. . . ; in routine PSSTXT so need to delete
. . . ;"LONG" subscript = cross reference is longer than
. . . ; 30 characters; truncate to 30
. . . ; to be consistent with FileMan
. . . S PSSEQ=PSSEQ+1,PSSUB=$S($L(PSSINDEX)=30:"CROSS",1:"LONG")
. . . ;set data string for ease of sending MailMan message later
. . . S ^XTMP("PSSP194",PSSUB,PSSEQ)=PSSIEN_"^"_$S(PSSUB="CROSS":PSSNAME,1:PSSINDEX)_"^"_$S(PSSUB="CROSS":PSSINDEX,1:$E(PSSNAME,1,30))
. . . D IND
Q
;
IND ;double check to make sure there is a valid index
;
I PSSNAME'="",'$D(^PS(51.7,"B",PSSNAME,PSSIEN)),'$D(^PS(51.7,"B",$E(PSSNAME,1,30),PSSIEN)) D
. ;For an unknown reason, the name is not present -- truncated or not
. ; -- as a cross reference.
. ;This is probably not a real issue at sites, but am allowing for the
. ;possibility.
. ;
. ;If PSSNAME is null, a file fragment probably exists which was caused
. ;by a previous error. Leave the file fragment "as is" because side
. ;effects of deleting file fragments are not known.
. ;
. S ^XTMP("PSSP194","B_SET",PSSEQ)=PSSIEN_"^"_PSSNAME_"^"_$E(PSSNAME,1,30)
Q
;
MAIL ;send Mail message
;
N XMY,PSLINE,PSSPACE,XMDUZ,XMY,XMSUB,A,XMTEXT,PSFLG
K XMY
S PSFLG=0,PSLINE=1,PSSPACE=" "
;send MailMan message to installer
S XMDUZ="POST-INSTALL,PSS*1.0*194",XMY(DUZ)="",XMSUB="POST-INSTALL PSS*1.0*194 INFORMATION"
S A(PSLINE)=""
S PSLINE=PSLINE+1
S A(PSLINE)=" PSS*1.0*194 POST-INSTALL"
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S A(PSLINE)=" The content of this message is informational only."
S PSLINE=PSLINE+1
S A(PSLINE)=" No action needs to be taken."
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S PSSEQ=""
F S PSSEQ=$O(^XTMP("PSSP194",PSSEQ)) Q:PSSEQ="" D
. I PSSEQ="CROSS" S PSFLG=1 D MCROSS
. I PSSEQ="B_SET" S PSFLG=1 D MBSET
. I PSSEQ="LONG" S PSFLG=1 D MLONG
I 'PSFLG D
. S PSLINE=PSLINE+1
. S A(PSLINE)=" The DRUG TEXT (#51.7) file was checked and no issues were found."
;set mail message in ^XTMP in case mail message accidentally deleted
M ^XTMP("PSSP194","MAIL")=A
;send mail message
S XMTEXT="A(" D ^XMD
;delete task from TaskManager list
S ZTREQ="@"
Q
;
MCROSS ;Incorrect cross reference was deleted
;
N PSSUB,PSSTR,PSSIEN,PSSNAME,PSSCROSS
;set top level of ^XMTP subscript for ease of troublehshooting later if necessary
S ^XTMP("PSSP194",PSSEQ)="Incorrect Cross References which were deleted by post-install routine PSSP194"
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S PSLINE=PSLINE+1
S A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had"
S PSLINE=PSLINE+1
S A(PSLINE)="incorrect cross references deleted."
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S PSLINE=PSLINE+1
S A(PSLINE)=" IEN Name"
S PSLINE=PSLINE+1
S A(PSLINE)=" ------------ ---------------------------------------------"
S PSLINE=PSLINE+1
S A(PSLINE)=" Incorrect Cross Reference Deleted"
S PSLINE=PSLINE+1
S A(PSLINE)=" ---------------------------------------"
D STR
Q
;
MBSET ;No cross references existed, so cross references were set
;
N PSSUB,PSSTR,PSSIEN,PSSNAME,PSSCROSS
;set top level of ^XTMP subscript for ease of troubleshooting later if necessary
S ^XTMP("PSSP194",PSSEQ)="No cross references existed, so cross reference was set"
S PSLINE=PSLINE+1
S A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had no cross references,"
S PSLINE=PSLINE+1
S A(PSLINE)="so cross references were set."
S PSLINE=PSLINE+1
S A(PSLINE)=""
S PSLINE=PSLINE+1
S A(PSLINE)=" IEN Name"
S PSLINE=PSLINE+1
S A(PSLINE)=" ------------ ---------------------------------------------"
S PSLINE=PSLINE+1
S A(PSLINE)=" Cross Reference Set"
S PSLINE=PSLINE+1
S A(PSLINE)=" ------------------------------"
D STR
Q
;
MLONG ;Long cross references which were truncated
;
N PSSUB,PSSTR,PSSIEN,PSSCROSS
;set top level of ^XTMP subscript for ease of troubleshooting later if necessary
S ^XTMP("PSSP194",PSSEQ)="Long cross references which were truncated"
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S PSLINE=PSLINE+1
S A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had long"
S PSLINE=PSLINE+1
S A(PSLINE)="cross references deleted and truncated cross references set."
S PSLINE=PSLINE+1
S A(PSLINE)=""
S PSLINE=PSLINE+1
S A(PSLINE)=" IEN Long Cross Reference Deleted"
S PSLINE=PSLINE+1
S A(PSLINE)=" ------------ ---------------------------------------------"
S PSLINE=PSLINE+1
S A(PSLINE)=" Truncated Cross Reference Set"
S PSLINE=PSLINE+1
S A(PSLINE)=" ------------------------------"
D STR
Q
;
STR ;set data in mail message array
S PSLINE=PSLINE+1
S A(PSLINE)=" "
S PSSUB=""
F S PSSUB=$O(^XTMP("PSSP194",PSSEQ,PSSUB)) Q:PSSUB="" D
. S PSSTR=^XTMP("PSSP194",PSSEQ,PSSUB),PSSIEN=$P(PSSTR,"^"),PSSNAME=$P(PSSTR,"^",2),PSSCROSS=$P(PSSTR,"^",3)
. S PSLINE=PSLINE+1
. S A(PSLINE)=" "_PSSIEN_$E(PSSPACE,1,14-$L(PSSIEN))_$S(PSSNAME]"":PSSNAME,1:"No name on entry")
. S PSLINE=PSLINE+1
. S A(PSLINE)=" "_$S(PSSCROSS]"":PSSCROSS,1:"None -- no name on entry")
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSSP194 8285 printed Dec 13, 2024@02:33:43 Page 2
PSSP194 ;DAL/DSK-PSS*1.0*194 POST INSTALL ROUTINE
+1 ;;1.0;PHARMACY DATA MANAGEMENT;**194**;9/30/97;Build 9
+2 ;;
+3 QUIT
+4 ;
POSTINT ; POST INSTALL ENTRY POINT.
+1 ;
+2 NEW ZTDESC,ZTIO,ZTDTH,ZTRTN,ZTSAVE
+3 SET ZTDESC="PSS*1*194 Post Install"
SET ZTIO=""
SET ZTDTH=$HOROLOG
SET ZTRTN="POST^PSSP194"
SET ZTSAVE("DUZ")=""
+4 DO ^%ZTLOAD
+5 DO BMES^XPDUTL("PSS*1*194 Post Install Task Queued.")
+6 DO BMES^XPDUTL("You will receive a MailMan message")
+7 DO BMES^XPDUTL("when task #"_$GET(ZTSK)_" has completed.")
+8 KILL ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
+9 QUIT
+10 ;
POST ;correct cross references and send mail message
+1 ;
+2 ; ^XTMP("PSSP194" used to document changes made
+3 ; Changes are sent in MailMan message to installer
+4 ; ^XTMP is kept for 90 days in case questions arise later
+5 ; and mail message has been deleted
+6 ;
+7 NEW PSSNOW
+8 SET PSSNOW=$$NOW^XLFDT()
+9 ;in case this routine is run more than once, delete old ^XTMP entry
+10 KILL ^XTMP("PSSP194")
+11 SET ^XTMP("PSSP194",0)=$$FMADD^XLFDT(PSSNOW,90)_"^"_PSSNOW_"^PSS*1.0*194 Post Install Routine PSSP194"
+12 DO NAME
DO MAIL
+13 QUIT
+14 ;
NAME ;Search for incorrect cross references
+1 ;If length is exactly 30, pre-PSS*1*194 version of PSSTXT
+2 ;may not have deleted or changed the cross reference correctly
+3 ;If length is more than 30, change to 30 to be consistent
+4 ;with FileMan logic
+5 ;
+6 NEW PSSEQ,PSSTR,PSSIEN,PSSINDEX
+7 DO CHECK
+8 ;
+9 SET PSSEQ=""
+10 ;
+11 ;Delete cross references which need to be deleted
+12 FOR
SET PSSEQ=$ORDER(^XTMP("PSSP194","CROSS",PSSEQ))
if PSSEQ=""
QUIT
Begin DoDot:1
+13 SET PSSTR=^XTMP("PSSP194","CROSS",PSSEQ)
+14 SET PSSIEN=$PIECE(PSSTR,"^")
SET PSSINDEX=$PIECE(PSSTR,"^",3)
+15 KILL ^PS(51.7,"B",PSSINDEX,PSSIEN)
End DoDot:1
+16 ;
+17 ;Set cross references which need to be set
+18 FOR
SET PSSEQ=$ORDER(^XTMP("PSSP194","B_SET",PSSEQ))
if PSSEQ=""
QUIT
Begin DoDot:1
+19 SET PSSTR=^XTMP("PSSP194","B_SET",PSSEQ)
+20 SET PSSIEN=$PIECE(PSSTR,"^")
SET PSSINDEX=$PIECE(PSSTR,"^",3)
+21 SET ^PS(51.7,"B",PSSINDEX,PSSIEN)=""
End DoDot:1
+22 ;
+23 ;Kill long cross references and set truncated cross references
+24 FOR
SET PSSEQ=$ORDER(^XTMP("PSSP194","LONG",PSSEQ))
if PSSEQ=""
QUIT
Begin DoDot:1
+25 SET PSSTR=^XTMP("PSSP194","LONG",PSSEQ)
+26 ;kill the >30 length cross reference
+27 SET PSSIEN=$PIECE(PSSTR,"^")
SET PSSINDEX=$PIECE(PSSTR,"^",2)
+28 KILL ^PS(51.7,"B",PSSINDEX,PSSIEN)
+29 ;set correct cross reference.
+30 ;This set could potentially occur twice due to part IND
+31 ;but at least it would be set.
+32 SET PSSINDEX=$PIECE(PSSTR,"^",3)
+33 ;check for null value in case this was a file fragment
+34 IF PSSINDEX]""
SET ^PS(51.7,"B",PSSINDEX,PSSIEN)=""
End DoDot:1
+35 QUIT
+36 ;
CHECK ;Check cross reference and correct if necessary
+1 ;
+2 NEW PSSNAME,PSSUB
+3 SET PSSINDEX=""
SET PSSEQ=0
+4 FOR
SET PSSINDEX=$ORDER(^PS(51.7,"B",PSSINDEX))
if PSSINDEX=""
QUIT
Begin DoDot:1
+5 if $LENGTH(PSSINDEX)<30
QUIT
+6 SET PSSIEN=""
+7 FOR
SET PSSIEN=$ORDER(^PS(51.7,"B",PSSINDEX,PSSIEN))
if PSSIEN=""
QUIT
Begin DoDot:2
+8 SET PSSNAME=$PIECE($GET(^PS(51.7,PSSIEN,0)),"^")
+9 IF $EXTRACT(PSSNAME,1,30)'=PSSINDEX
Begin DoDot:3
+10 ;"CROSS" subscript = cross reference was not deleted
+11 ; because of previous logic issue
+12 ; in routine PSSTXT so need to delete
+13 ;"LONG" subscript = cross reference is longer than
+14 ; 30 characters; truncate to 30
+15 ; to be consistent with FileMan
+16 SET PSSEQ=PSSEQ+1
SET PSSUB=$SELECT($LENGTH(PSSINDEX)=30:"CROSS",1:"LONG")
+17 ;set data string for ease of sending MailMan message later
+18 SET ^XTMP("PSSP194",PSSUB,PSSEQ)=PSSIEN_"^"_$SELECT(PSSUB="CROSS":PSSNAME,1:PSSINDEX)_"^"_$SELECT(PSSUB="CROSS":PSSINDEX,1:$EXTRACT(PSSNAME,1,30))
+19 DO IND
End DoDot:3
End DoDot:2
End DoDot:1
+20 QUIT
+21 ;
IND ;double check to make sure there is a valid index
+1 ;
+2 IF PSSNAME'=""
IF '$DATA(^PS(51.7,"B",PSSNAME,PSSIEN))
IF '$DATA(^PS(51.7,"B",$EXTRACT(PSSNAME,1,30),PSSIEN))
Begin DoDot:1
+3 ;For an unknown reason, the name is not present -- truncated or not
+4 ; -- as a cross reference.
+5 ;This is probably not a real issue at sites, but am allowing for the
+6 ;possibility.
+7 ;
+8 ;If PSSNAME is null, a file fragment probably exists which was caused
+9 ;by a previous error. Leave the file fragment "as is" because side
+10 ;effects of deleting file fragments are not known.
+11 ;
+12 SET ^XTMP("PSSP194","B_SET",PSSEQ)=PSSIEN_"^"_PSSNAME_"^"_$EXTRACT(PSSNAME,1,30)
End DoDot:1
+13 QUIT
+14 ;
MAIL ;send Mail message
+1 ;
+2 NEW XMY,PSLINE,PSSPACE,XMDUZ,XMY,XMSUB,A,XMTEXT,PSFLG
+3 KILL XMY
+4 SET PSFLG=0
SET PSLINE=1
SET PSSPACE=" "
+5 ;send MailMan message to installer
+6 SET XMDUZ="POST-INSTALL,PSS*1.0*194"
SET XMY(DUZ)=""
SET XMSUB="POST-INSTALL PSS*1.0*194 INFORMATION"
+7 SET A(PSLINE)=""
+8 SET PSLINE=PSLINE+1
+9 SET A(PSLINE)=" PSS*1.0*194 POST-INSTALL"
+10 SET PSLINE=PSLINE+1
+11 SET A(PSLINE)=" "
+12 SET A(PSLINE)=" The content of this message is informational only."
+13 SET PSLINE=PSLINE+1
+14 SET A(PSLINE)=" No action needs to be taken."
+15 SET PSLINE=PSLINE+1
+16 SET A(PSLINE)=" "
+17 SET PSSEQ=""
+18 FOR
SET PSSEQ=$ORDER(^XTMP("PSSP194",PSSEQ))
if PSSEQ=""
QUIT
Begin DoDot:1
+19 IF PSSEQ="CROSS"
SET PSFLG=1
DO MCROSS
+20 IF PSSEQ="B_SET"
SET PSFLG=1
DO MBSET
+21 IF PSSEQ="LONG"
SET PSFLG=1
DO MLONG
End DoDot:1
+22 IF 'PSFLG
Begin DoDot:1
+23 SET PSLINE=PSLINE+1
+24 SET A(PSLINE)=" The DRUG TEXT (#51.7) file was checked and no issues were found."
End DoDot:1
+25 ;set mail message in ^XTMP in case mail message accidentally deleted
+26 MERGE ^XTMP("PSSP194","MAIL")=A
+27 ;send mail message
+28 SET XMTEXT="A("
DO ^XMD
+29 ;delete task from TaskManager list
+30 SET ZTREQ="@"
+31 QUIT
+32 ;
MCROSS ;Incorrect cross reference was deleted
+1 ;
+2 NEW PSSUB,PSSTR,PSSIEN,PSSNAME,PSSCROSS
+3 ;set top level of ^XMTP subscript for ease of troublehshooting later if necessary
+4 SET ^XTMP("PSSP194",PSSEQ)="Incorrect Cross References which were deleted by post-install routine PSSP194"
+5 SET PSLINE=PSLINE+1
+6 SET A(PSLINE)=" "
+7 SET PSLINE=PSLINE+1
+8 SET A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had"
+9 SET PSLINE=PSLINE+1
+10 SET A(PSLINE)="incorrect cross references deleted."
+11 SET PSLINE=PSLINE+1
+12 SET A(PSLINE)=" "
+13 SET PSLINE=PSLINE+1
+14 SET A(PSLINE)=" IEN Name"
+15 SET PSLINE=PSLINE+1
+16 SET A(PSLINE)=" ------------ ---------------------------------------------"
+17 SET PSLINE=PSLINE+1
+18 SET A(PSLINE)=" Incorrect Cross Reference Deleted"
+19 SET PSLINE=PSLINE+1
+20 SET A(PSLINE)=" ---------------------------------------"
+21 DO STR
+22 QUIT
+23 ;
MBSET ;No cross references existed, so cross references were set
+1 ;
+2 NEW PSSUB,PSSTR,PSSIEN,PSSNAME,PSSCROSS
+3 ;set top level of ^XTMP subscript for ease of troubleshooting later if necessary
+4 SET ^XTMP("PSSP194",PSSEQ)="No cross references existed, so cross reference was set"
+5 SET PSLINE=PSLINE+1
+6 SET A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had no cross references,"
+7 SET PSLINE=PSLINE+1
+8 SET A(PSLINE)="so cross references were set."
+9 SET PSLINE=PSLINE+1
+10 SET A(PSLINE)=""
+11 SET PSLINE=PSLINE+1
+12 SET A(PSLINE)=" IEN Name"
+13 SET PSLINE=PSLINE+1
+14 SET A(PSLINE)=" ------------ ---------------------------------------------"
+15 SET PSLINE=PSLINE+1
+16 SET A(PSLINE)=" Cross Reference Set"
+17 SET PSLINE=PSLINE+1
+18 SET A(PSLINE)=" ------------------------------"
+19 DO STR
+20 QUIT
+21 ;
MLONG ;Long cross references which were truncated
+1 ;
+2 NEW PSSUB,PSSTR,PSSIEN,PSSCROSS
+3 ;set top level of ^XTMP subscript for ease of troubleshooting later if necessary
+4 SET ^XTMP("PSSP194",PSSEQ)="Long cross references which were truncated"
+5 SET PSLINE=PSLINE+1
+6 SET A(PSLINE)=" "
+7 SET PSLINE=PSLINE+1
+8 SET A(PSLINE)="The following entries in the DRUG TEXT (#51.7) file had long"
+9 SET PSLINE=PSLINE+1
+10 SET A(PSLINE)="cross references deleted and truncated cross references set."
+11 SET PSLINE=PSLINE+1
+12 SET A(PSLINE)=""
+13 SET PSLINE=PSLINE+1
+14 SET A(PSLINE)=" IEN Long Cross Reference Deleted"
+15 SET PSLINE=PSLINE+1
+16 SET A(PSLINE)=" ------------ ---------------------------------------------"
+17 SET PSLINE=PSLINE+1
+18 SET A(PSLINE)=" Truncated Cross Reference Set"
+19 SET PSLINE=PSLINE+1
+20 SET A(PSLINE)=" ------------------------------"
+21 DO STR
+22 QUIT
+23 ;
STR ;set data in mail message array
+1 SET PSLINE=PSLINE+1
+2 SET A(PSLINE)=" "
+3 SET PSSUB=""
+4 FOR
SET PSSUB=$ORDER(^XTMP("PSSP194",PSSEQ,PSSUB))
if PSSUB=""
QUIT
Begin DoDot:1
+5 SET PSSTR=^XTMP("PSSP194",PSSEQ,PSSUB)
SET PSSIEN=$PIECE(PSSTR,"^")
SET PSSNAME=$PIECE(PSSTR,"^",2)
SET PSSCROSS=$PIECE(PSSTR,"^",3)
+6 SET PSLINE=PSLINE+1
+7 SET A(PSLINE)=" "_PSSIEN_$EXTRACT(PSSPACE,1,14-$LENGTH(PSSIEN))_$SELECT(PSSNAME]"":PSSNAME,1:"No name on entry")
+8 SET PSLINE=PSLINE+1
+9 SET A(PSLINE)=" "_$SELECT(PSSCROSS]"":PSSCROSS,1:"None -- no name on entry")
End DoDot:1
+10 QUIT
+11 ;