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

AMQQRML.m

Go to the documentation of this file.
  1. AMQQRML ; IHS/CMI/THL - MAILING LABEL GENERATOR ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. VAR K AMQQQUIT,AMQQLJB
  1. RUN D EXIT
  1. F AMQQL("RUN")=1:1 S %=$P("FORMAT^TEST^SET",U,AMQQL("RUN")) Q:%="" D @% Q:$D(AMQQQUIT)
  1. EXIT K AMQQLHO,AMQQLLM,AMQQLTF,AMQQLLC,AMQQLLN,AMQQLCF,AMQQL,AMQQLDA,I,%
  1. Q
  1. ;
  1. FORMAT W @IOF,!!,?15,"***** ADDRESS LABEL UTILITY *****",!!
  1. S DA(1)=DUZ(2)
  1. S X=$O(^AMQQ(8,DA(1),2,0))
  1. I X S X=+$G(^AMQQ(8,DA(1),2,X,0)) S:X X=$P($G(^%ZIS(1,X,0)),U)
  1. S DIC="^AMQQ(8,"_DA(1)_",2,"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Select LABEL PRINTING DEVICE: "
  1. S:X]"" DIC("B")=X
  1. D ^DIC
  1. I +Y<1 S AMQQQUIT="" Q
  1. K AMQQQUIT
  1. S (DA,AMQQLLP)=+Y
  1. S DA(1)=DUZ(2)
  1. S:'$D(^AMQQ(8,DA(1),2)) ^(2,0)="^9009078.02P^^"
  1. S DIE="^AMQQ(8,"_DA(1)_",2,"
  1. S DR=".06;.02;.03;.04;.05"
  1. D ^DIE
  1. S AMQQLTOP=$P($G(^AMQQ(8,DA(1),2,DA,0)),U,6)
  1. K DIE,DA,DR,DIC,D,D0,DI,DQ,D1
  1. I $D(DUOUT)!($D(DTOUT))!('$G(AMQQLLP)) S AMQQRERF="" D OUT Q
  1. S %=+$G(^AMQQ(8,DUZ(2),2,AMQQLLP,0))
  1. I '% D OUT Q
  1. I $G(^%ZIS(1,%,0))="" D OUT Q
  1. S AMQQLDA=AMQQLLP
  1. S AMQQLLP=%
  1. W !!
  1. Q
  1. ;
  1. TEST W "Want to do a test print"
  1. S %=1
  1. D YN^DICN
  1. I $D(DUOUT)!($D(DTOUT))!($E(%Y)=U) Q
  1. S AMQQL("RUN")=2
  1. I "Yy"[$E(%Y) S AMQQLTF="" Q
  1. K AMQQLTF
  1. Q
  1. ;
  1. OUT K DUOUT,DTOUT,POP S AMQQQUIT=""
  1. W !!,"Query terminated...",*7,!! H 2
  1. Q
  1. ;
  1. SET I $D(AMQQLTF) G SET1
  1. S %=+^%ZIS(1,AMQQLLP,"SUBTYPE")
  1. S %=$P(^%ZIS(2,%,0),U)
  1. I %'["P-" G SET1
  1. W !!,"Want to run this print job in the background"
  1. S %=1
  1. D YN^DICN
  1. I $D(DUOUT)!($D(DTOUT))!($E(%Y)=U) D OUT Q
  1. I "Yy"[$E(%Y) S AMQQLJB=""
  1. SET1 ;
  1. S %=^AMQQ(8,DUZ(2),2,AMQQLDA,0)
  1. F X=1:1:5 S @("AMQQL"_$P("LP^HO^CW^RH^LL",U,X))=$P(%,U,X)
  1. S %=AMQQLHO
  1. F X=1:1:(AMQQLLL-1) S %=%_U_(AMQQLHO+(AMQQLCW*X))
  1. S AMQQLHT=%
  1. S AMQQLBC=0
  1. S AMQQLGR="^UTILITY(""AMQQ"",$J,""LABEL"")"
  1. I $D(AMQQLTF) D
  1. .W !
  1. .S:$G(AMQQLLP) AMQQLPTR=$P(^%ZIS(1,AMQQLLP,0),U)
  1. .S:$D(AMQQLPTR) %ZIS("B")=AMQQLPTR
  1. .D ^%ZIS
  1. .Q:POP
  1. .U IO D EXAMPLE
  1. .K %ZIS("B")
  1. PRINT S AMQQRMFL="OUTPUT^AMQQRML"
  1. Q
  1. ;
  1. EXAMPLE W @IOF
  1. N X,Y,Z
  1. F X=1:1:AMQQLTOP W !
  1. F AMQQLTF=1:1:(AMQQLLL*3) S %="JOHN SMITH^1234 S. MAIN ST. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX^^^TUCSON^3^85745" D OUTPUT
  1. D ^%ZISC
  1. W !,"Want to reset label settings"
  1. S %=1
  1. D YN^DICN
  1. I $D(DUOUT)!($D(DTOUT))!($E(%Y)=U) D OUT Q
  1. I "Yy"[$E(%Y) S AMQQL("RUN")=0 Q
  1. K AMQQLTF
  1. S AMQQL("RUN")=2
  1. Q
  1. ;
  1. OUTPUT I $D(AMQQLTF) G S1
  1. I 'AMQP(0) Q
  1. I '$D(^DPT(AMQP(0),.11)) Q
  1. S %=^DPT(AMQP(0),.11)
  1. S Z=$P(^DPT(AMQP(0),0),U)
  1. S Z=$P(Z,",",2,9)_" "_$P(Z,",")
  1. S %=Z_U_%
  1. S1 S Y=0
  1. S AMQQLLN=0
  1. S AMQQLBC=AMQQLBC+1
  1. S $P(%,U,4)=$P(%,U,5)
  1. S $P(%,U,5)=$P(%,U,6)
  1. S $P(%,U,6)=$E($P(%,U,7),1,5)
  1. I $P(%,U,2)="" S $P(%,U,2)="NO ADDRESS LISTED"
  1. I $P(%,U,4)="" S $P(%,U,4)="NO CITY"
  1. I $P(%,U,5)="" S $P(%,U,5)="NO STATE"
  1. E S $P(%,U,5)=$P($G(^DIC(5,+$P(%,U,5),0)),U,2)
  1. I $P(%,U,6)="" S $P(%,U,6)="NO ZIP"
  1. S $P(%,U,4)=$E($P(%,U,4),1,$S($G(AMQQLCW):AMQQLCW-2,1:15))_", "_$P(%,U,5)_" "_$P(%,U,6)
  1. S $P(%,U,5)=""
  1. I $P(%,U,3)="" D
  1. .S $P(%,U,3)=$P(%,U,4)
  1. .S $P(%,U,4)=$P(%,U,5)
  1. .S $P(%,U,5)=" "
  1. S $P(%,U,6)=" "
  1. S2 F X=1:1:6 S Z=$E($P(%,U,X),1,$S($G(AMQQLCW):AMQQLCW-2,1:23)) D GET
  1. I AMQQLBC=AMQQLLL D FLUSH
  1. Q
  1. ;
  1. GET I Z="",X'=3,X'=4 S Z=" "
  1. I Z="" Q
  1. S Y=Y+1
  1. S @AMQQLGR@(AMQQLBC,Y)=Z
  1. Q
  1. ;
  1. FLUSH ; - EP - FROM AMQQRML
  1. I $Y<AMQQLTOP F X=1:1:AMQQLTOP W !
  1. F AMQQLCT=1:1:6 D
  1. .F AMQQLBF=1:1:AMQQLLL I $D(@AMQQLGR@(AMQQLBF,AMQQLCT)) D
  1. ..W ?$P(AMQQLHT,U,AMQQLBF),@AMQQLGR@(AMQQLBF,AMQQLCT)
  1. ..I AMQQLCT>AMQQLLN S AMQQLLN=AMQQLCT
  1. ..I AMQQLBF=AMQQLLL W !
  1. ..Q
  1. .Q
  1. F X=1:1:(AMQQLRH-AMQQLLN) W !
  1. K @AMQQLGR
  1. S AMQQLBC=0
  1. I $Y+AMQQLTOP>IOSL W @IOF F X=1:1:AMQQLTOP W !
  1. Q
  1. ;
  1. MAILX ; ENTRY POINT FROM AMQQCMPL
  1. S AMQQRMFL="OUTPUT^AMQQRML"
  1. I '$D(AMQQLLP) Q
  1. S IOP=$P(^%ZIS(1,AMQQLLP,0),U)
  1. D ^%ZIS
  1. I $D(AMQQLJB) D MAILTASK Q
  1. U IO D MAILRUN D ^%ZISC
  1. K AMQQRMFL,AMQQLJB,AMQQLGR,AMQQLLL,AMQQLRH,AMQQLHT,AMQQLLP,AMQQLLN,AMQQLHO,AMQQLCW,AMQQLCT,AMQQLBF,AMQQLBC
  1. Q
  1. ;
  1. MAILRUN X AMQV(0)
  1. S AMQQLLL=0
  1. F X=0:0 S X=$O(@AMQQLGR@(X)) Q:'X S AMQQLLL=X
  1. I AMQQLLL D FLUSH^AMQQRML
  1. I IOST["P-" W @IOF
  1. I $D(ZTQUEUED) D EXIT2^AMQQKILL S ZTREQ="@"
  1. Q
  1. ;
  1. MAILTASK S ZTRTN="MAILRUN^AMQQRML"
  1. S ZTIO=ION
  1. S ZTDTH="NOW"
  1. S ZTDESC="QUERY UTILITY MAILING LABELS"
  1. F I=1:1 S %=$P("AMQQRMFL;AMQQL*;AMQV(;AMQQ200(;AMQQRV;AMQQNV;AMQQXV;^UTILITY(""AMQQ"",$J,;^UTILITY(""AMQQ RAND"",$J,;^UTILITY(""AMQQ TAX"",$J,",";",I) Q:%="" S ZTSAVE(%)=""
  1. D ^%ZTLOAD
  1. D ^%ZISC
  1. W !!,$S($D(ZTSK):"Request queued!",1:"Request cancelled!"),!!!
  1. H 3
  1. W @IOF
  1. Q
  1. ;
  1. HELP ; ENTRY POINT
  1. S XQH="AMQQLABEL"
  1. D EN1^XQH
  1. R !,"<>",X:DTIME
  1. Q
  1. ;