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

FSCLMPME.m

Go to the documentation of this file.
  1. FSCLMPME ;SLC/STAFF-NOIS List Manager Protocol Modify Edit ;4/22/94 11:04
  1. ;;1.1;NOIS;;Sep 06, 1998
  1. ;
  1. GETDEF(LIST,ARRAY) ; from FSCLMPM
  1. ; returns array of list definition
  1. N CNT,LINE
  1. S (CNT,LINE)=0 F S LINE=$O(^FSC("LIST",LIST,1,LINE)) Q:LINE<1 S CNT=CNT+1,ARRAY(CNT)=^(LINE,0)
  1. Q
  1. ;
  1. EDIT(LINE,OPER,OK) ; from FSCLMPM
  1. N COND,EXT,FIELD,VALUE
  1. S (EXT,FIELD,COND,VALUE)="",OK=0
  1. I $L(OPER) W !,OPER," using:"
  1. I '$L(OPER) D OPER(.OPER) I '$L(OPER)!$D(DUOUT)!$D(DTOUT) Q
  1. I OPER="and"!(OPER="or") S EXT=$S(OPER="and":"A",1:"O"),OPER=""
  1. S OPER=$E(OPER)
  1. D FIELD^FSCQCA I 'FIELD!$D(DUOUT)!$D(DTOUT) Q
  1. D COND^FSCQCA($P(FIELD,U,4)) I 'COND!$D(DUOUT)!$D(DTOUT) Q
  1. D VALUE^FSCQCAV(COND,$P(FIELD,U,4)) I $D(DUOUT)!$D(DTOUT) Q
  1. S FIELD=+FIELD,COND=+COND,VALUE=$P(VALUE,U)
  1. S LINE=OPER_U_EXT_U_FIELD_U_COND_U_VALUE
  1. S OK=1
  1. Q
  1. ;
  1. OPER(OPER) ;
  1. N DIR,X,Y K DIR
  1. S DIR(0)="SAMO^ADD:ADD;REMOVE:REMOVE;SELECT:SELECT;AND:AND;OR:OR"
  1. S DIR("A")="Select (ADD), (R)emove, (S)elect, (AND), (O)r, else (return): "
  1. S DIR("?",1)="You are putting a new line into the query definition."
  1. S DIR("?",2)="Your entry should be consistent with the preceding and following entries."
  1. S DIR("?",3)="Enter ADD, REMOVE, or SELECT to begin a query statement."
  1. S DIR("?",4)="Enter AND or OR to continue a query statement."
  1. S DIR("?",5)="Enter 'return' to stop editing the query."
  1. S DIR("?")="^D HELP^FSCU(.DIR)"
  1. S DIR("??")="FSC U1 NOIS"
  1. D ^DIR K DIR
  1. S OPER=$S(Y="ADD":"Add",Y="REMOVE":"Remove",Y="SELECT":"Select",Y="AND":"and",Y="OR":"or",1:"")
  1. Q