IVMRUTL ;ALB/ESD,KCL - IVM Report Utility Routines; 01-JUN-93
 ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
 ;
 ;
RANGE ; Read starting and ending dates for a report
 ;  Input - None.
 ; Output - IVMBEG is the starting date
 ;          IVMEND is the ending date
 ;
 S (IVMBEG,IVMEND)=""
SDT ; Select starting date for report
 S DIR(0)="DO^::EX",DIR("A")="Enter BEGINNING DATE",DIR("?")="^D HELP^%DTC" D ^DIR K DIR G:'Y RANGEQ S IVMBEG=+Y G:$D(DIRUT) RANGEQ
 I IVMBEG>DT W !,?5,"Future dates are not allowed.",*7 K IVMBEG G SDT
EDT    ; Select ending date for report
 S DIR(0)="D^"_IVMBEG_":NOW:EX",DIR("A")="Enter ENDING DATE",DIR("?")="^D HELP^%DTC" D ^DIR K DIR G:'Y RANGEQ S IVMEND=+Y G:$D(DIRUT) RANGEQ
RANGEQ ;
 K DIRUT,Y
 Q
 ;
PAUSE ;
 Q:$E(IOST,1,2)'["C-"
 F IVMI=$Y:1:(IOSL-4) W !
 S DIR(0)="E" D ^DIR K DIR I $D(DIRUT)!($D(DUOUT)) S IVMQUIT=1 K DIRUT,DTOUT,DUOUT
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIVMRUTL   909     printed  Sep 23, 2025@19:38:02                                                                                                                                                                                                      Page 2
IVMRUTL   ;ALB/ESD,KCL - IVM Report Utility Routines; 01-JUN-93
 +1       ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
 +2       ;
 +3       ;
RANGE     ; Read starting and ending dates for a report
 +1       ;  Input - None.
 +2       ; Output - IVMBEG is the starting date
 +3       ;          IVMEND is the ending date
 +4       ;
 +5        SET (IVMBEG,IVMEND)=""
SDT       ; Select starting date for report
 +1        SET DIR(0)="DO^::EX"
           SET DIR("A")="Enter BEGINNING DATE"
           SET DIR("?")="^D HELP^%DTC"
           DO ^DIR
           KILL DIR
           if 'Y
               GOTO RANGEQ
           SET IVMBEG=+Y
           if $DATA(DIRUT)
               GOTO RANGEQ
 +2        IF IVMBEG>DT
               WRITE !,?5,"Future dates are not allowed.",*7
               KILL IVMBEG
               GOTO SDT
EDT       ; Select ending date for report
 +1        SET DIR(0)="D^"_IVMBEG_":NOW:EX"
           SET DIR("A")="Enter ENDING DATE"
           SET DIR("?")="^D HELP^%DTC"
           DO ^DIR
           KILL DIR
           if 'Y
               GOTO RANGEQ
           SET IVMEND=+Y
           if $DATA(DIRUT)
               GOTO RANGEQ
RANGEQ    ;
 +1        KILL DIRUT,Y
 +2        QUIT 
 +3       ;
PAUSE     ;
 +1        if $EXTRACT(IOST,1,2)'["C-"
               QUIT 
 +2        FOR IVMI=$Y:1:(IOSL-4)
               WRITE !
 +3        SET DIR(0)="E"
           DO ^DIR
           KILL DIR
           IF $DATA(DIRUT)!($DATA(DUOUT))
               SET IVMQUIT=1
               KILL DIRUT,DTOUT,DUOUT
 +4        QUIT