Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/DSS_EXTRACTS-ECX/ECXTREX.m

    r613 r623  
    1 ECXTREX ;BPFO/JRP - Queue DSS Fiscal Year Specific Extract;8-AUG-2003 ; 6/11/07 12:46pm
    2         ;;3.0;DSS EXTRACTS;**49,71,84,92,105**;Dec 22, 1997;Build 70
    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,2008 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
     1ECXTREX ;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 ;
     4EN ;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
     83PAUSE ;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
Note: See TracChangeset for help on using the changeset viewer.