Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: FSCRPCSF

FSCRPCSF.m

Go to the documentation of this file.
FSCRPCSF ;SLC/STAFF-NOIS RPC Static File ;2/21/97  17:31
 ;;1.1;NOIS;;Sep 06, 1998
 ;
FILE(IN,OUT) ; from FSCRPX (RPCStaticFile)
 N FILE,NUM
 S FILE=$P($G(^TMP("FSCRPC",$J,"INPUT",1)),U,1)
 I '$L(FILE) Q
 I FILE="SPEC" D SPEC Q
 I FILE="FORMAT_SORT" D SORT Q
 I FILE="FORMAT_DISPLAY" D DISPLAY Q
 I '$D(^FSC(FILE,0)) Q
 S NUM=0 F  S NUM=$O(^FSC(FILE,NUM)) Q:NUM<1  S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=NUM_U_^(NUM,0)
 Q
 ;
SPEC ;
 N DATA,NUM,UNUM
 S NUM=0
 S UNUM=0 F  S UNUM=$O(^FSC("SPEC",UNUM)) Q:UNUM<1  S DATA=$G(^(UNUM,0)) I $L(DATA) D
 .S NUM=NUM+1
 .S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=UNUM_U_$P($G(^VA(200,UNUM,0)),U)_$P(DATA,U,2,99)
 Q
 ;
SORT ;
 N DESCEND,FIELD,LINE,LINE1,NUM,SUBNUM
 S NUM=0 F  S NUM=$O(^FSC("FORMAT",NUM)) Q:NUM<1  S LINE=$G(^(NUM,0)) I $P(LINE,U,2)="S" D
 .S FIELD="",DESCEND=""
 .S SUBNUM=0 F  S SUBNUM=$O(^FSC("FORMAT",NUM,2,SUBNUM)) Q:SUBNUM<1  S LINE1=$G(^(SUBNUM,0)) D
 ..I +LINE1<1 Q
 ..S DESCEND=$P(LINE1,U,8) I 'DESCEND S DESCEND=0
 ..S FIELD=FIELD_$P(LINE1,U)_":"_DESCEND_";"
 .S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=NUM_U_LINE S $P(^(NUM),U,7)=FIELD
 Q
 ;
DISPLAY ;
 N FIELD,LINE,LINE1,NUM,SUBNUM
 S NUM=0 F  S NUM=$O(^FSC("FORMAT",NUM)) Q:NUM<1  S LINE=$G(^(NUM,0)) I $P(LINE,U,2)="F" D
 .S FIELD=""
 .S SUBNUM=0 F  S SUBNUM=$O(^FSC("FORMAT",NUM,2,SUBNUM)) Q:SUBNUM<1  S LINE1=$G(^(SUBNUM,0)) D
 ..I +LINE1<1 Q
 ..S FIELD=FIELD_$P(LINE1,U)_";"
 .S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=NUM_U_LINE S $P(^(NUM),U,7)=FIELD
 Q