ECXTREX ;BPFO/JRP - Queue DSS Fiscal Year Specific Extract;8-AUG-2003 ; 11/2/06 9:02am ;;3.0;DSS EXTRACTS;**49,71,84,92**;Dec 22, 1997;Build 30 ; EN ;Main entry point W @IOF N DIC,X,Y,DTOUT,DUOUT W !,"****************************************************************" W !,"* *" W !,"* This option should be used with caution as it allows for the *" W !,"* extraction of data using specified fiscal year logic. This *" W !,"* gives the ability to extract fiscal year 200x data using *" W !,"* fiscal year 200(x+1) logic and vice versa. Note that data *" W !,"* extracted via this method may or may not be transmittable to *" W !,"* the DSS production queue at the Austin Automation Center. *" W !,"* *" W !,"*--------------------------------------------------------------*" W !,"* *" W !,"* Note that this option does not update the last date used for *" W !,"* the given extraction. It also does not verify that the time *" W !,"* frame selected is after the last date used for the extract. *" W !,"* *" W !,"****************************************************************" W !! ;Pick extract to queue S DIC="^ECX(727.1," S DIC(0)="AEQMZ" S DIC("A")="Select DSS Extract to queue: " S DIC("S")="I ('$P(^(0),U,12))&($P(^(0),U,8)'="""")&($G(^(7))'[""Inactive"")" S DIC("W")="W ""("",$P(^(0),U,8),"")""" D ^DIC I ($D(DUOUT))!($D(DTOUT))!(Y<1) Q N ECXRTN,ECXDA S ECXDA=+Y ;Get extract specific routine name S ECXRTN=$G(^ECX(727.1,ECXDA,"ROU")) I ECXRTN="" D Q .W !!,"Selected extract is not correctly defined in the EXTRACT" .W !,"DEFINITIONS file (#727.1). The ROUTINE field (#4) does not" .W !,"have a value in it." .W ! .D PAUSE ;Get time frame for extract N STRTDT,ENDDT,DIR,DIRUT,DIROUT,OUT,ECXDATES S OUT=0 F S (STRTDT,ENDDT)="" D Q:OUT .;Get start date (must be in past) .S DIR(0)="DOA" .S $P(DIR(0),"^",2)=":"_DT_":AEXP" .S DIR("A")="Starting with Date: " .D ^DIR .I $D(DIROUT)!$D(DIRUT)!(Y="") S (STRTDT,ENDDT)="" S OUT=1 Q .S STRTDT=Y .K DIR .;Get end date (must be in same month; must be in past) .S DIR(0)="DOA" .S X=$E(STRTDT,1,5)_"01" .S X=$$FMADD^XLFDT(X,32) .S X=$$FMADD^XLFDT(X,-($E(X,6,7))) .I X>DT S X=DT .S $P(DIR(0),"^",2)=STRTDT_":"_X_":AEXP" .S DIR("A")="Ending with Date: " .S DIR("B")=$$FMTE^XLFDT(X,"5D") .D ^DIR .I $D(DIROUT)!$D(DIRUT)!(Y="") S (STRTDT,ENDDT)="" S OUT=1 Q .S ENDDT=Y .S OUT=1 Q:(STRTDT="")!(ENDDT="") S ECXDATES=STRTDT_"^"_ENDDT_"^1" ;Get extract logic to use N ECXLOGIC K DIR S DIR("A")="Select fiscal year logic to use for extract" S DIR(0)="SO^" F X=2003,2004,2005,2006,2007 D .S Y=$E(X,5) .S Y=$S((Y="")!(Y=" "):"",1:"Revision "_Y_" of ") .S DIR(0)=DIR(0)_X_":"_Y_"Fiscal Year "_$E(X,1,4)_";" D ^DIR I $D(DIROUT)!$D(DIRUT) Q S ECXLOGIC=Y ;Queue extract D @("BEG^"_ECXRTN) Q PAUSE ;pause screen N DIR,X,Y,DTOUT,DUOUT,DIROUT,DIRUT S DIR(0)="E" W !! D ^DIR W !! Q