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

ACRFIRS7.m

Go to the documentation of this file.
  1. ACRFIRS7 ;IHS/OIRM/DSD/AEF - PRINT VENDOR LABELS [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;
  1. EN ;EP -- MAIN ENTRY POINT
  1. ;
  1. N ACRHOW,ACRVEN,ACRADD,ACRLPR,ACRROW,ACROUT
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. D HOW(.ACRHOW)
  1. Q:$G(ACRHOW)']""
  1. I ACRHOW="R" D RANGE(.ACRHOW,.ACROUT)
  1. Q:$G(ACROUT)
  1. I ACRHOW="I" D INDIV(.ACRVEN,.ACROUT)
  1. Q:$G(ACROUT)
  1. D ADD(.ACRADD)
  1. Q:$G(ACRADD)']""
  1. D LPR(.ACRLPR)
  1. Q:'$G(ACRLPR)
  1. D ROW(.ACRROW)
  1. Q:'$G(ACRROW)
  1. S ZTSAVE("ACRHOW")=""
  1. S ZTSAVE(".ACRVEN")=""
  1. S ZTSAVE("ACRADD")=""
  1. S ZTSAVE("ACRLPR")=""
  1. S ZTSAVE("ACRROW")=""
  1. D QUE^ACRFUTL("DQ^ACRFIRS7",.ZTSAVE,"PRINT VENDOR LABELS")
  1. Q
  1. HOW(ACRHOW) ;
  1. ;----- ASK INDIVIDUAL VENDORS OR RANGE OF VENDORS
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="S^I:INDIVIDUAL VENDORS;R:RANGE OF VENDORS"
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DIRUT))!($D(DUOUT))
  1. Q:Y']""
  1. S ACRHOW=Y
  1. Q
  1. RANGE(ACRHOW,ACROUT) ;
  1. ;----- ASK VENDOR RANGE
  1. ;
  1. N ACRF,ACRL,DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="F^1:30"
  1. S DIR("A")="Start with Vendor"
  1. S DIR("B")="FIRST"
  1. D ^DIR
  1. I $D(DTOUT)!($D(DIRUT))!($D(DUOUT)) S ACROUT=1 Q
  1. I Y']"" S ACROUT=1 Q
  1. S ACRF=Y
  1. S DIR("A")="Go to Vendor"
  1. S DIR("B")="LAST"
  1. D ^DIR
  1. I $D(DTOUT)!($D(DIRUT))!($D(DUOUT)) S ACROUT=1 Q
  1. I Y']"" S ACROUT=1 Q
  1. S ACRL=Y
  1. S ACRHOW=ACRHOW_U_ACRF_U_ACRL
  1. Q
  1. INDIV(ACRVEN,ACROUT) ;
  1. ;----- ASK FOR INDIVIDUAL VENDORS
  1. ;
  1. ; RETURNS SELECTED VENDORS IN ACRVEN(IEN) ARRAY
  1. ;
  1. N ACRQUIT,DIC,DTOUT,DUOUT,X,Y
  1. K ACRVEN
  1. S DIC("A")="Select VENDOR: "
  1. F D Q:$G(ACRQUIT)
  1. . S DIC="^AUTTVNDR("
  1. . S DIC(0)="AEMQ"
  1. . D ^DIC
  1. . I $D(DTOUT)!($D(DUOUT)) S ACRQUIT=1 Q
  1. . I +Y'>0 S ACRQUIT=1 Q
  1. . S ACRVEN($P(^AUTTVNDR(+Y,0),U))=+Y
  1. . S DIC("A")="Select another VENDOR: "
  1. I '$D(ACRVEN) S ACROUT=1
  1. Q
  1. ADD(ACRADD) ;
  1. ;----- ASK WHICH ADDRESS TO USE
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="S^M:MAILING ADDRESS;B:BILLING ADDRESS"
  1. S DIR("A")="Use MAILING ADDRESS or BILLING ADDRESS"
  1. S DIR("B")="M"
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. Q:Y']""
  1. S ACRADD=Y
  1. Q
  1. LPR(ACRLPR) ;
  1. ;----- ASK HOW MANY LABELS PER ROW
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="S^1:ONE VENDOR/ROW, 1 LBL/ROW;2:ONE VENDOR/ROW, 2 LBLS/ROW;3:ONE VENDOR/ROW, 3 LBLS/ROW;4:ONE VENDOR/ROW, 4 LBLS/ROW"
  1. S DIR("A")="Print Quantity"
  1. S DIR("B")=1
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. Q:'Y
  1. S ACRLPR=Y
  1. Q
  1. ROW(ACRROW) ;
  1. ;----- ASK HOW MANY ROWS PER VENDOR
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="N^1:999"
  1. S DIR("A")="How many ROWS (No matter how many labels per row)"
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. Q:'Y
  1. S ACRROW=+Y
  1. Q
  1. DQ ;EP -- QUEUED JOB STARTS HERE
  1. ;
  1. D PRT(ACRHOW,.ACRVEN,ACRADD,ACRLPR,ACRROW)
  1. K ACRHOW,ACRVEN,ACRADD,ACRLPR,ACRROW
  1. D ^%ZISC
  1. Q
  1. PRT(ACRHOW,ACRVEN,ACRADD,ACRLPR,ACRROW) ;
  1. ;----- PRINT THE LABELS
  1. ;
  1. I $E(ACRHOW)="R" D BLOCK(ACRHOW,ACRADD,ACRLPR,ACRROW)
  1. I $E(ACRHOW)="I" D EACH(.ACRVEN,ACRADD,ACRLPR,ACRROW)
  1. Q
  1. BLOCK(ACRHOW,ACRADD,ACRLPR,ACRROW) ;
  1. ;----- PRINTS RANGE (BLOCK) OF VENDORS
  1. ;
  1. N ACRF,ACRL
  1. S ACRF=$P(ACRHOW,U,2)
  1. I ACRF="FIRST" S ACRF=""
  1. I ACRF]"" S ACRF=$O(^AUTTVNDR("B",ACRF),-1)
  1. S ACRL=$P(ACRHOW,U,3)
  1. I ACRL="LAST" S ACRL=$O(^AUTTVNDR("B",""),-1)
  1. F S ACRF=$O(^AUTTVNDR("B",ACRF)) Q:ACRF']"" Q:ACRF]ACRL D
  1. . S ACRVEN=0
  1. . F S ACRVEN=$O(^AUTTVNDR("B",ACRF,ACRVEN)) Q:'ACRVEN D
  1. . . D ONE(ACRVEN,ACRLPR,ACRROW,ACRADD)
  1. Q
  1. EACH(ACRVEN,ACRADD,ACRLPR,ACRROW) ;
  1. ;----- PRINTS INDIVIDUAL VENDORS
  1. ;
  1. N X
  1. Q:'$D(ACRVEN)
  1. S X=""
  1. F S X=$O(ACRVEN(X)) Q:X']"" D
  1. . S ACRVEN=ACRVEN(X)
  1. . D ONE(ACRVEN,ACRLPR,ACRROW,ACRADD)
  1. Q
  1. ONE(ACRVEN,ACRLPR,ACRROW,ACRADD) ;
  1. ;----- PRINT LABEL(S) FOR ONE VENDOR
  1. ;
  1. N I
  1. F I=1:1:ACRROW D W !!!
  1. . D NAME(ACRVEN,ACRLPR)
  1. . D STR(ACRVEN,ACRLPR,ACRADD)
  1. . D CITY(ACRVEN,ACRLPR,ACRADD)
  1. Q
  1. NAME(ACRVEN,ACRLPR) ;
  1. ;----- PRINT VENDOR NAME
  1. ;
  1. N X
  1. S X=$P($G(^AUTTVNDR(ACRVEN,0)),U)
  1. W !,X
  1. I ACRLPR>1 W ?32,X
  1. I ACRLPR>2 W ?64,X
  1. I ACRLPR>3 W ?96,X
  1. Q
  1. STR(ACRVEN,ACRLPR,ACRADD) ;
  1. ;----- PRINT STREET ADDRESS
  1. ;
  1. N X
  1. S X=$G(^AUTTVNDR(ACRVEN,13))
  1. I ACRADD="M" S X=$P(X,U,1)
  1. I ACRADD="B" S X=$P(X,U,6)
  1. W !,X
  1. I ACRLPR>1 W ?32,X
  1. I ACRLPR>2 W ?65,X
  1. I ACRLPR>3 W ?96,X
  1. Q
  1. CITY(ACRVEN,ACRLPR,ACRADD) ;
  1. ;----- PRINT CITY, STATE, ZIP
  1. ;
  1. N X
  1. S X=$G(^AUTTVNDR(ACRVEN,13))
  1. I ACRADD="M" S X=$P(X,U,2)_", "_$$STATE($P(X,U,3))_" "_$P(X,U,4)
  1. I ACRADD="B" S X=$P(X,U,7)_", "_$$STATE($P(X,U,8))_" "_$P(X,U,9)
  1. W !,X
  1. I ACRLPR>1 W ?32,X
  1. I ACRLPR>2 W ?65,X
  1. I ACRLPR>3 W ?96,X
  1. Q
  1. STATE(X) ;----- RETURNS STATE ABBREVIATION
  1. ;
  1. S Y=""
  1. I X']"" Q Y
  1. S Y=$P($G(^DIC(5,X,0)),U,2)
  1. Q Y