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

GECSUSEL.m

Go to the documentation of this file.
GECSUSEL ;WISC/RFJ-utility selection                                ;01 Nov 93
 ;;2.0;GCS;**2**;MAR 14, 1995
 Q
 ;
 ;
CODESHET(BATCH) ;  select an existing code sheet
 ;  batch = only select code sheets for batch
 N %,%Y,DIC,GECSBADA,GECSSUPR,X,Y
 I $L(BATCH) S GECSBADA=+$O(^GECS(2101.1,"B",BATCH,0)) I 'GECSBADA W !,"BATCH ",BATCH," CANNOT BE FOUND IN FILE 2101.1." Q 0
 W !!,$S($D(^XUSEC("GECS SUPER EDITOR",+$G(DUZ))):"-- You can select all code sheets created for this batch type --",1:"-- You may only select code sheets which you have created --")
 I $D(^XUSEC("GECS SUPER EDITOR",DUZ)) S GECSSUPR=1
 S DIC("S")="I $P(^(0),U,4)=""""!($P(^(0),U,4)="_DUZ_")!($G(GECSSUPR))"
 I $G(GECSBADA) S DIC("S")=DIC("S")_",$P(^(0),U,3)="_GECSBADA
 S DIC="^GECS(2100,",DIC(0)="QEAM",DIC("A")="Select CODE SHEET ID Number: " D ^DIC
 I Y'>0 Q 0
 Q +Y
 ;
 ;
BATTYPE(DEFAULT,DONTASK) ;  select batch type parameters
 ;  default set to batch default in lookup, if set to '- GECO' it
 ;          will ask to select a batch name containing '- GECO'
 ;  dontask set to lookup on batch without asking
 ;  return gecs("batch")=batch name
 ;         gecs("batda")=batch da number
 ;         gecs("sysid")=system identidier (ams, etc)
 N %,%Y,DIC,X,Y
 ;
 K GECS("BATCH"),GECS("BATDA"),GECS("SYSID")
 S DIC="^GECS(2101.1,"
 ;
 ;  default is set (not null), lookup batch type, do not ask
 I $G(DONTASK),$L(DEFAULT),DEFAULT'="- GECO" D  Q
 .   S DIC(0)="MNZ",X=DEFAULT D ^DIC I Y'>0 Q
 .   D BATCHECK
 .   I '$G(GECS("BATDA")) K GECS("BATDA"),GECS("BATCH"),GECS("SYSID") Q
 .   W !,"Batch Type: ",GECS("BATCH")
 ;
 ;  ask batch type
 I DEFAULT="- GECO" S DIC("S")="I $P(^(0),U)[""- GECO""",DEFAULT=""
 I $L(DEFAULT) S DIC("B")=DEFAULT
 S DIC(0)="AEQMZ" D ^DIC I Y'>0 Q
 D BATCHECK
 I '$G(GECS("BATDA")) K GECS("BATDA"),GECS("BATCH"),GECS("SYSID") Q
 W !,"Batch Type: ",GECS("BATCH")
 Q
 ;
 ;
BATNOFMS ;  select batch except for fms
 N DONTASK
 K GECS("BATCH"),GECS("BATDA"),GECS("SYSID")
 I $L($G(GECSSYS)) S DONTASK=1
 F  W ! D BATTYPE($G(GECSSYS),$G(DONTASK)) Q:'$G(GECS("BATDA"))  D  Q:$G(GECS("BATDA"))
 .   I GECS("SYSID")="FMS" W !,"*** FMS DOCUMENTS CANNOT BE SELECTED ***" K GECS("BATDA")
 I '$G(GECS("BATDA")) K GECS("BATCH"),GECS("BATDA"),GECS("SYSID")
 Q
 ;
 ;
BATCHECK ;  check selected batch and set up variables
 ;  y=selected batch;  y(0)=data for selected batch
 I $P(Y(0),"^",4)="" W !,"SYSTEM ID FOR BATCH TYPE ",$P(Y,"^",2)," HAS NOT BEEN ENTERED." Q
 S GECS("BATDA")=+Y,GECS("BATCH")=$P(Y,"^",2),GECS("SYSID")=$P(Y(0),"^",4)
 Q
 ;
 ;
TRANTYPE(DEFAULT,DONTASK) ;  ask transaction type-segment
 ;  default set to segment default in lookup
 ;  dontask set to lookup on segment without asking
 ;  gecs("batda")=batch da (from file 2101.1)
 ;  gecs("sysid")=system id (AMS)
 ;  return gecs("tt")=segment name
 ;         gecs("ttda")=segment da number
 ;         gecs("edit")=edit template name
 ;         gecsflag=1 to exit application
 N %,%Y,DIC,X,Y
 ;
 K GECS("TT"),GECS("TTDA"),GECS("EDIT"),GECSFLAG
 S DIC="^GECS(2101.2,",DIC("S")="I $P(^(0),U,4)="_GECS("BATDA")
 ;
 ;  segment defined, look it up and quit
 I $G(DONTASK),$L(DEFAULT) D  Q
 .   S DIC(0)="MNZ",X=DEFAULT D ^DIC I Y'>0 S GECSFLAG=1 Q
 .   D TTCHECK
 .   I '$G(GECS("SEGDA")) S GECSFLAG=1
 ;
 ;  ask for segment entry
 I $L($G(SEGMENT)),$G(GECS("SYSID"))="AMS" S DIC("B")=DEFAULT
 S DIC(0)="AEQMZ" D ^DIC I Y'>0 S GECSFLAG=1 Q
 D TTCHECK
 Q
 ;
 ;
TTCHECK ;  check selected transaction type and set up variables
 ;  y=selected entry;  y(0)=data for selected entry
 I $P(Y(0),"^",3)=""!($P(Y(0),"^",5)'="Y") W !,"THIS TRANSACTION TYPE ",$P(Y,"^",2),"  IS NOT YET ",$S($P(Y(0),"^",5)'="Y":"ACTIVATED",1:"AVAILABLE") Q
 I $P(Y(0),"^",4)="" W !,"THE BATCH TYPE FOR THIS TRANSACTION TYPE ",$P(Y,"^",2)," HAS NOT BEEN ENTERED." Q
 I $P(Y(0),"^",2)="" W !,"THE INPUT TEMPLATE FOR THIS TRANSACTION TYPE ",$P(Y,"^",2)," IS MISSING." Q
 S GECS("TTDA")=+Y,GECS("TT")=$P(Y,"^",2),GECS("EDIT")=$P(Y(0),"^",3)
 Q
 ;
 ;
BATCHSEL(GECSDICS) ;  select batch number from file 2101.3
 ;  gecsdics=screen
 N %,%Y,DIC,X,Y
 S DIC="^GECS(2101.3,",DIC(0)="QEAM",DIC("A")="Select BATCH NUMBER: "
 I GECSDICS'="" S DIC("S")=GECSDICS
 W ! D ^DIC I Y'>0 Q 0
 Q +Y