| [623] | 1 | ECXTREX ;BPFO/JRP - Queue DSS Fiscal Year Specific Extract;8-AUG-2003 ; 11/2/06 9:02am
 | 
|---|
 | 2 |  ;;3.0;DSS EXTRACTS;**49,71,84,92**;Dec 22, 1997;Build 30
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | EN ;Main entry point
 | 
|---|
 | 5 |  W @IOF
 | 
|---|
 | 6 |  N DIC,X,Y,DTOUT,DUOUT
 | 
|---|
 | 7 |  W !,"****************************************************************"
 | 
|---|
 | 8 |  W !,"*                                                              *"
 | 
|---|
 | 9 |  W !,"* This option should be used with caution as it allows for the *"
 | 
|---|
 | 10 |  W !,"* extraction of data using specified fiscal year logic.  This  *"
 | 
|---|
 | 11 |  W !,"* gives the ability to extract fiscal year 200x data using     *"
 | 
|---|
 | 12 |  W !,"* fiscal year 200(x+1) logic and vice versa.  Note that data   *"
 | 
|---|
 | 13 |  W !,"* extracted via this method may or may not be transmittable to *"
 | 
|---|
 | 14 |  W !,"* the DSS production queue at the Austin Automation Center.    *"
 | 
|---|
 | 15 |  W !,"*                                                              *"
 | 
|---|
 | 16 |  W !,"*--------------------------------------------------------------*"
 | 
|---|
 | 17 |  W !,"*                                                              *"
 | 
|---|
 | 18 |  W !,"* Note that this option does not update the last date used for *"
 | 
|---|
 | 19 |  W !,"* the given extraction.  It also does not verify that the time *"
 | 
|---|
 | 20 |  W !,"* frame selected is after the last date used for the extract.  *"
 | 
|---|
 | 21 |  W !,"*                                                              *"
 | 
|---|
 | 22 |  W !,"****************************************************************"
 | 
|---|
 | 23 |  W !!
 | 
|---|
 | 24 |  ;Pick extract to queue
 | 
|---|
 | 25 |  S DIC="^ECX(727.1,"
 | 
|---|
 | 26 |  S DIC(0)="AEQMZ"
 | 
|---|
 | 27 |  S DIC("A")="Select DSS Extract to queue: "
 | 
|---|
 | 28 |  S DIC("S")="I ('$P(^(0),U,12))&($P(^(0),U,8)'="""")&($G(^(7))'[""Inactive"")"
 | 
|---|
 | 29 |  S DIC("W")="W ""("",$P(^(0),U,8),"")"""
 | 
|---|
 | 30 |  D ^DIC
 | 
|---|
 | 31 |  I ($D(DUOUT))!($D(DTOUT))!(Y<1) Q
 | 
|---|
 | 32 |  N ECXRTN,ECXDA
 | 
|---|
 | 33 |  S ECXDA=+Y
 | 
|---|
 | 34 |  ;Get extract specific routine name
 | 
|---|
 | 35 |  S ECXRTN=$G(^ECX(727.1,ECXDA,"ROU"))
 | 
|---|
 | 36 |  I ECXRTN="" D  Q
 | 
|---|
 | 37 |  .W !!,"Selected extract is not correctly defined in the EXTRACT"
 | 
|---|
 | 38 |  .W !,"DEFINITIONS file (#727.1).  The ROUTINE field (#4) does not"
 | 
|---|
 | 39 |  .W !,"have a value in it."
 | 
|---|
 | 40 |  .W !
 | 
|---|
 | 41 |  .D PAUSE
 | 
|---|
 | 42 |  ;Get time frame for extract
 | 
|---|
 | 43 |  N STRTDT,ENDDT,DIR,DIRUT,DIROUT,OUT,ECXDATES
 | 
|---|
 | 44 |  S OUT=0 F  S (STRTDT,ENDDT)="" D  Q:OUT
 | 
|---|
 | 45 |  .;Get start date (must be in past)
 | 
|---|
 | 46 |  .S DIR(0)="DOA"
 | 
|---|
 | 47 |  .S $P(DIR(0),"^",2)=":"_DT_":AEXP"
 | 
|---|
 | 48 |  .S DIR("A")="Starting with Date: "
 | 
|---|
 | 49 |  .D ^DIR
 | 
|---|
 | 50 |  .I $D(DIROUT)!$D(DIRUT)!(Y="") S (STRTDT,ENDDT)="" S OUT=1 Q
 | 
|---|
 | 51 |  .S STRTDT=Y
 | 
|---|
 | 52 |  .K DIR
 | 
|---|
 | 53 |  .;Get end date (must be in same month; must be in past)
 | 
|---|
 | 54 |  .S DIR(0)="DOA"
 | 
|---|
 | 55 |  .S X=$E(STRTDT,1,5)_"01"
 | 
|---|
 | 56 |  .S X=$$FMADD^XLFDT(X,32)
 | 
|---|
 | 57 |  .S X=$$FMADD^XLFDT(X,-($E(X,6,7)))
 | 
|---|
 | 58 |  .I X>DT S X=DT
 | 
|---|
 | 59 |  .S $P(DIR(0),"^",2)=STRTDT_":"_X_":AEXP"
 | 
|---|
 | 60 |  .S DIR("A")="Ending with Date: "
 | 
|---|
 | 61 |  .S DIR("B")=$$FMTE^XLFDT(X,"5D")
 | 
|---|
 | 62 |  .D ^DIR
 | 
|---|
 | 63 |  .I $D(DIROUT)!$D(DIRUT)!(Y="") S (STRTDT,ENDDT)=""  S OUT=1 Q
 | 
|---|
 | 64 |  .S ENDDT=Y
 | 
|---|
 | 65 |  .S OUT=1
 | 
|---|
 | 66 |  Q:(STRTDT="")!(ENDDT="")
 | 
|---|
 | 67 |  S ECXDATES=STRTDT_"^"_ENDDT_"^1"
 | 
|---|
 | 68 |  ;Get extract logic to use
 | 
|---|
 | 69 |  N ECXLOGIC
 | 
|---|
 | 70 |  K DIR
 | 
|---|
 | 71 |  S DIR("A")="Select fiscal year logic to use for extract"
 | 
|---|
 | 72 |  S DIR(0)="SO^"
 | 
|---|
 | 73 |  F X=2003,2004,2005,2006,2007 D
 | 
|---|
 | 74 |  .S Y=$E(X,5)
 | 
|---|
 | 75 |  .S Y=$S((Y="")!(Y=" "):"",1:"Revision "_Y_" of ")
 | 
|---|
 | 76 |  .S DIR(0)=DIR(0)_X_":"_Y_"Fiscal Year "_$E(X,1,4)_";"
 | 
|---|
 | 77 |  D ^DIR
 | 
|---|
 | 78 |  I $D(DIROUT)!$D(DIRUT) Q
 | 
|---|
 | 79 |  S ECXLOGIC=Y
 | 
|---|
 | 80 |  ;Queue extract
 | 
|---|
 | 81 |  D @("BEG^"_ECXRTN)
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 | PAUSE ;pause screen
 | 
|---|
 | 84 |  N DIR,X,Y,DTOUT,DUOUT,DIROUT,DIRUT
 | 
|---|
 | 85 |  S DIR(0)="E"
 | 
|---|
 | 86 |  W !!
 | 
|---|
 | 87 |  D ^DIR
 | 
|---|
 | 88 |  W !!
 | 
|---|
 | 89 |  Q
 | 
|---|