- BARCLU ; IHS/SD/LSL - USER ENTRY INTO COLLECTION BATCHES ;; 07/09/2010
- ;;1.8;IHS ACCOUNTS RECEIVABLE;**3,4,6,16,18,19,23,24**;OCT 26,2005;Build 69
- ;;
- ; IHS/ASDS/LSL - 06/15/01 - V1.5 Patch 1 - HQW-0201-100027
- ; fm 22 issue. Modified to include E in DIC(0)
- ;
- ; IHS/SD/SDR - v1.8 p4
- ; Added prompt for TDN and amount for batch
- ;
- ; IHS/SD/AR 03/31/2010 1.8*18, low priorities, TDN dupl
- ;
- ; IHS/SD/TMM 06/18/2010 1.8*19 (M819), Add Prepayment functionality.
- ; See work order 3PMS10001
- ; ------------------------
- ; BARCLU4 is new routine for Prepayment functionality in collection entry.
- ; 819_1. Display prepayments not assigned to a batch (^BARCLU,^BARCLU4)
- ; 819_2. Remove prompt: AUTO PRINT RECEIPT (^BARCLU01)
- ; 819_3. Prepayment entry ^BARPPY01 (new routine),^BARCLU1,^BARPUTL
- ; 819_4. Display prepayments matching payment type selected (^BARCLU,^BARCLU4)
- ; 819_5. Allow user to assign prepayment to batch (^BARCLU,^BARCLU4,^BARCLU01,^BARPUTL,^BARPST1,^BARBLLK)
- ; 819_6. Print Prepayment Receipt (^BARPPY02) (new routine)
- ;
- ; IHS/SD/POTT HEAT148839 01/14/2014 FIXED UNDEF - BAR*1.8*24
- ; ********************************************************************* ;
- ;
- ENTRY ;
- ; lookup collection id I '$D(BARUSR) D INIT^BARUTL
- ;---select collection batch
- S X1=$$GET1^DIQ(200,DUZ,20.4,"I")
- I X1']"" D Q
- . W *7,!!,"NO ELECTRONIC SIGNATURE CODE ON FILE"
- . W !,"Use ^TBOX to give yourself one",!
- . D EOP^BARUTL(0)
- D SIG^XUSESIG
- Q:X1="" ;elec signature test
- ; -------------------------------
- ;
- G ;
- I '$D(BARUSR) D INIT^BARUTL
- K DIC
- S DIC="^BAR(90051.02,DUZ(2),"
- S DIC(0)="AEZQM"
- S DIC("S")="I $D(^BAR(90051.02,DUZ(2),""AB"",DUZ,+Y))" ;screen for user
- D ^DIC ;Select A/R COLLECTION POINT/IHS NAME:
- Q:Y'>0
- S BARDA=+Y
- K BARCLID
- D BARCLID ;setup BARCLID collection id array
- D DISPPAY^BARCLU4 ;Display unassigned Prepayments
- G:BARCLID(6)="" NEW
- I BARCLID(6.5)="POSTABLE" G NEW
- I BARCLID(6.5)'="OPEN",BARCLID(6.3)'=BARUSR(.01) G NEW
- I BARCLID(6.5)="OPEN",BARCLID(6.3)=BARUSR(.01) G ENTER
- I BARCLID(6.5)="OPEN",BARCLID(6.3)'=BARUSR(.01) G INUSE
- I BARCLID(6.5)="REVIEW",BARCLID(6.3)=BARUSR(.01) G INREVIEW
- G ENTER
- ; *********************************************************************
- ;
- NEW ; EP
- ; open a new batch
- D NEW^BARCLU1
- ; -------------------------------
- ;
- ENTER ; EP
- ; Enter/Add new collection item
- K DIC,DR,DA,BARQUIT
- S BARDIC="^BARCOL(DUZ(2),"
- S (BARDA,BARCLDA)=BARCLID(6,"I")
- D BARCL
- S X=+$$GET1^DIQ(90051.01,BARCLDA,7)
- S Y=+$O(^BARCOL(DUZ(2),BARCLDA,1,"A"),-1)
- I X'=Y D G ENTER
- .W !,*7,"An out of sequence item ",Y," has been detected and removed."
- .W !,"Please recheck your entries"
- .K DIK
- .S DA(1)=BARCLDA
- .S DA=Y
- .S DIK=$$DIC^XBDIQ1(90051.1101)
- .D ^DIK
- .K DIK,DIR
- .S DIR(0)="EA"
- .S DIR("A")="<cr> to continue"
- .D ^DIR
- .K DIR
- ;D NEWITEM ;IHS/SD/SDR bar*1.8*4
- W $$EN^BARVDF("IOF")
- W !!,"ENTERING ",BARCL(.01)
- W ?35,"TYPE: ",BARCLID(2) ;IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- W ?55,"BATCH TOTAL: ",$$GET1^DIQ(90051.01,BARCLDA,15) ;IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'="",(+$G(BARCLID(22,"I"))) D
- .W !,"TDN/IPAC: ",$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)
- .W ?35,"TDN/IPAC AMOUNT: ",$FN($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2),!!
- TDN ;I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")&(+$G(BARCLID(22,"I"))) D Q:$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""&($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")&($G(BARFLG)'=1)
- I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)&(+$G(BARCLID(22,"I"))) D Q:($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")&(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)&($G(BARFLG)'=1)
- .W !,"You will now be prompted for the Treasury Deposit/IPAC and an amount."
- .W !,"The Treasury Deposit/IPAC will be used for all items in this batch."
- .W !,"The total of all the items entered must equal the amount entered here or"
- .W !,"the batch will not finalize.",!!
- .K DIC,DIE,DR,DA,X,Y
- .K BARFLG
- .S DIE="^BARCOL(DUZ(2),"
- .S DA=BARCLDA
- .;IHS/SD/AR 03/31/2010 low priorities, TDN dupl
- .;;;old code: I '$$IHSERA^BARUFUT(DUZ(2)) D ;BAR*1.8*23
- .I '$$IHS^BARUFUT(DUZ(2)) D ;1/14/2014 HEAT148839 BAR*1.8*24
- ..K DIE("NO^") ;BAR*1.8*16
- ..S DR="28Enter TDN/IPAC//" ;BAR*1.8*16
- .E D
- ..S DIE("NO^")=""
- ..S DR="28R~Enter TDN/IPAC//" ;BAR*1.8*16
- .;S DR="28Enter TDN/IPAC//;29Enter TDN/IPAC Dollar Amount for this Batch//"
- .D ^DIE
- .K DIE("NO^")
- .N LIST,DOCARE,DUPFDA
- .D CHECKDUP($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28),.LIST)
- .I $D(LIST) D
- ..K DIR
- ..S DIR(0)="Y"
- ..S DIR("B")="No"
- .E D
- ..W " No duplicates found."
- .K LIST,DOCARE
- .;;; old code I '$$IHSERA^BARUFUT(DUZ(2)) D ;BAR*1.8*23
- .I '$$IHS^BARUFUT(DUZ(2)) D ;1/14/2014 HEAT148839 BAR*1.8*24
- ..K DIE("NO^") ;BAR*1.8*16
- ..S DR="30Enter TDN/IPAC/Deposit Date;29Enter TDN/IPAC Dollar Amount for this Batch//" ;BAR*1.8*16
- .E D
- ..S DIE("NO^")=""
- ..S DR="30R~Enter TDN/IPAC/Deposit Date;29R~Enter TDN/IPAC Dollar Amount for this Batch//" ;BAR*1.8*16
- .;S DR="28Enter TDN/IPAC//;29Enter TDN/IPAC Dollar Amount for this Batch//"
- .D ^DIE
- .K DIE("NO^")
- .Q:$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")
- .;IHS/SD/AR 03/31/2010 end low priorities, TDN dupl
- .W !!,"----------------------------------",!
- .W "TDN/IPAC: ",$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)
- .W !," Amount: ",$FN($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2),!
- .W "TDN/IPAC/Deposit Date: ",$$GET1^DIQ(90051.01,BARCLDA_",",30,"E") ;BAR*1.8*16
- .;check for NONPAYMENT and dollar amt '=0
- .I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)["NONPAY",(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)'=0) D Q
- ..W !!,"Cannot batch a dollar amount to a NONPAYMENT TDN/IPAC"
- ..S DIE="^BARCOL(DUZ(2),"
- ..S DA=BARCLDA
- ..S DR="28////@;29////@"
- ..D ^DIE
- .K DIR,DIC,DIE,DR,DA,X,Y
- .S DIR(0)="Y"
- .S DIR("A")="Correct? "
- .S DIR("B")="YES"
- .D ^DIR K DIR
- .I Y<1 D
- ..S DIE="^BARCOL(DUZ(2),"
- ..S DA=BARCLDA
- ..S DR="28////@;29////@"
- ..D ^DIE
- ..S BARFLG=1
- .W !
- ;
- ;I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="",(+$G(BARCLID(22,"I"))) G TDN ;go back up and prompt for TDN again ;IHS/SD/SDR bar*1.8*6 IM29168
- ;I ($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")!(($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'="NONPAYMENT")&(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)),(+$G(BARCLID(22,"I"))) G TDN ;go back up & prompt for TDN again ;IHS/SD/SDR bar*1.8*6 IM29168
- ;PER TONI JOHNSON TRIBALS DO NOT HAVE TO POPULATE THESE FIELDS BAR*1.8*16
- I ($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")!(($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'="NONPAYMENT")&(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)),(+$G(BARCLID(22,"I"))),($$IHS^BARUFUT(DUZ(2))) G TDN
- D NEWITEM^BARCLU4
- W !
- S DA(1)=BARCLDA
- S DA=BARITDA
- S DIE="^BARCOL(DUZ(2),"_DA(1)_",1,"
- ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- W "ITEM ",BARITDA
- ;
- ;---- 51:EOB 52:CASH 53:CC 55:REFUND 81:CHECK
- ;
- I BARCLID(2,"I")="E" S DR="2////51"
- E D
- . S DR="2//^S X=$G(BARITTYP)" ;2=
- . W !,"Up-Arrow at Transaction Type to exit loop and KILL New Entry"
- S DIDEL=90050
- D ^DIE ;prompts for PAYMENT TYPE:
- K DIDEL
- I $D(Y) S BARQUIT=1 G NOMORE
- D BARCLIT
- S BARITTYP=BARCLIT(2)
- ; -------------------------------
- ;
- DR ;EP
- ; setup DR as to type of collection item
- S BARX=BARCLIT(2,"I")
- I 'BARX D G NOMORE
- . W *7,!,"ERROR IN TRANSACTION TYPE"
- . S BARQUIT=1
- ; -------------------------------
- ;
- ; Display Prepayments of same PAYMENT TYPE
- D SELPPAY^BARCLU4 ;M819*ADD*TMM*20100710
- ;
- EDITEM ;EP
- ; edit collection item
- D EDITEM^BARCLU0 ;edit the various types of items ;prompts for Credit:
- ;
- I $G(BARQUIT) G NOMORE ;can be set by EOB with "^" at check number
- D BARCLIT
- ; -------------------------------
- ;
- REVIEW ;EP
- ; review item
- I $E(BARCLIT(2))'="E",BARCLID(20,"I") G ASK ;20=NON EOB DATA REVIEW/EDIT
- I $E(BARCLIT(2))="E",BARCLID(21,"I") G ASK ;21=EOB DATA REVIEW/EDIT
- G FILE
- ; *********************************************************************
- ;
- ASK ;
- D DISPLAY
- ;** check required fields
- S BARERROR=0
- ;F I=2,7,8,101 D
- F I=2,7,8,101,20 D ;BAR*1.8*3 UFMS MAKE TREASURY NUMBER REQUIRED
- .I I=20,('$G(BARCLID(22,"I"))) Q ;IHS/SD/TPF BAR*1.8*4 IM26177
- .I $L(BARCLIT(I))'>0 D
- ..W !,$P(^DD(90051.1101,I,0),U),?20," IS MISSING"
- ..S BARERROR=1
- K DIR
- S DIR(0)="S^E:Edit;D:Delete;F:FILE"
- S DIR("B")="F"
- S:BARERROR DIR("B")="E"
- D ^DIR
- I Y="E" D G EDITEM
- .W $$EN^BARVDF("IOF")
- .W !!,"ENTERING ",BARCL(.01),!!
- .W "ITEM ",BARITDA
- I Y="D" D G ENTER
- .S DIK=$$DIC^XBDIQ1(90051.1101)
- .S DA(1)=BARCLDA
- .S DA=BARITDA
- .D ^DIK
- G:BARERROR ASK
- ;--------------------------------
- ;
- FILE ; EP
- K DIE,DR,DA
- S DIE=$$DIC^XBDIQ1(90051.01)
- S DR="7///^S X=BARCL(7)"
- S DA=+BARCL("ID")
- S DIDEL=90050
- D ^DIE
- K DIDEL
- K BARDA
- S BARITAC=BARCLIT(7)
- S BARITLC=BARCLIT(8) ;set defaults
- I +$G(BARPPSEL)>0 D PPUPDT^BARCLU4 ;update A/R Prepayment file with batch assignment ;M819*ADD*TMM*20100711
- W !! ;M819*ADD*TMM*20100711
- D PAZ^BARRUTL ;Press return to continue ;M819*ADD*TMM*20100711
- G ENTER
- ; *********************************************************************
- ;
- SELECT ;EP
- ; select action
- ;W !,$$GET1^DIQ(90051.01,BARCLDA,15) ;bar*1.8*4
- K DIR,DIE
- S DIR(0)="S^A:ADD;M:MORE;E:EDIT;Q:QUIT"
- S DIR("A")="A/M/E/Q"
- S DIR("B")="ADD"
- D ^DIR
- I Y="A" G ENTER
- I Y="M" D ^BARCLU2 G SELECT
- I Y="E" D ^BARCLU3 G SELECT
- I Y="Q" G EXIT
- ; -------------------------------
- ;
- NOMORE ;EP
- ; nomore entries backout last entry
- S (DIK,DIE)=$$DIC^XBDIQ1(90051.1101)
- S DA=BARITDA
- S DA(1)=BARCLDA
- D ^DIK
- K BARQUIT
- K DIE,DR,DA
- S BARCL(7)=BARCL(7)-1
- ;start new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- W !!,"GETTING READY TO RUN DETAIL REPORT."
- W " PLEASE VALIDATE "_$S($G(BARCLID(22,"I")):"TREASURY DEPOSIT/IPAC AND ",1:"")_"AMOUNT FOR ACCURACY"
- S BARSEL="D",BARBATCH=BARCLDA,BARBEX=BARCL(".01") D D2^BARCLRG G:$D(BAREFLG) SELECT D PRINT^BARCLRG
- ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- G SELECT
- ; *********************************************************************
- ;
- INUSE ;EP
- ; in use
- W !!,"Sorry ",BARCLID(.01)," is OPENED by : ",BARCLID(6.3),!!
- S DA=0
- S DA(1)=+BARCLID("ID")
- S BARCLDA=DA(1)
- D ENPM^XBDIQ1(90051.2201,"BARCLDA,0",.01,"BARSUP(")
- I $D(BARSUP(DUZ)) D G ENTER
- . W !,"YOU ARE A SUPERVISOR SO YOU ARE ENTERING THE BATCH",!
- . D EOP^BARUTL(1)
- . K BARSUP
- D EOP^BARUTL(1)
- Q
- ; *********************************************************************
- ;
- INREVIEW ;EP
- ; in REVIEW
- W !!,"Sorry ",BARCLID(.01)," is in REVIEW by >you< : ",BARCLID(6.3),!!
- D EOP^BARUTL(1)
- G ENTER
- ; *********************************************************************
- ;
- EXIT ;EP
- ; exit program
- ;start new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- ;don't do for batches created prior to 10/1/07
- I $P($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,4),".")<3071001 Q
- Q:'$G(BARCLID(22,"I"))
- S BARITTOT=$$ITEMTOT(BARCLDA) ;get total of items
- I +BARITTOT'=(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)) D
- .W !!,"BATCHED AMOUNT OF "_$FN(BARITTOT,",",2)_" DOES NOT MATCH THE TDN/IPAC AMOUNT OF "
- .W $FN($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2)_" FOR"
- .W !,"TDN/IPAC "_$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)_".",!
- .;
- .I BARITTOT<($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)) D
- ..W !,"PLEASE REVIEW YOUR ENTRIES AND EITHER CORRECT THE AMOUNT OF THE TDN/IPAC OR ADD ADDITIONAL ITEMS TO BALANCE."
- .I BARITTOT>($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)) D
- ..W !,"PLEASE REVIEW YOUR ENTRIES AND EITHER CORRECT THE AMOUNT OF THE TDN/IPAC, REMOVE ITEMS, OR CORRECT THE BATCH ITEM AMOUNTS."
- .W ! K DIR S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
- ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- Q
- ; *********************************************************************
- ;
- BARCLID ;EP
- ; build BARCLID array:uses current da in array or BARDA if no array
- D BARCLID^BARCLU1
- Q
- ; *********************************************************************
- ;
- BARCL ;EP
- ; build BARCL array:uses current da in array of DA if no array
- D BARCL^BARCLU1
- Q
- ; *********************************************************************
- ;
- BARCLIT ;EP
- ; build the BARCLIT array
- D BARCLIT^BARCLU1
- Q
- ; *********************************************************************
- ;
- DISPLAY ;EP
- ; display item elements
- D DISPLAY^BARCLU1
- Q
- ITEMTOT(BARCLDA) ;EP - get total of items
- S BARITDA=0,BARITTOT=0
- F S BARITDA=$O(^BARCOL(DUZ(2),BARCLDA,1,BARITDA)) Q:+BARITDA=0 D
- .Q:$P($G(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,0)),U,17)="C"!($P($G(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,0)),U,17)="R") ;no cancelled or rolled up items
- .S BARITTOT=+$G(BARITTOT)+$P($G(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,1)),U)
- Q BARITTOT
- CHECKDUP(NEWTDN,LIST) ;EP - CHECK FOR DUPLICATE TDN IN A/R COLLECTION BATCH
- W !!,"Checking for duplicate TDN/IPAC..."
- Q:NEWTDN=""
- N CHECNUM,CHECK,COLBAT,ITEM,AMOUNT,COLNAM,COLSTATUS
- K LIST
- S CNT=0
- S COLBAT=""
- F S COLBAT=$O(^BARCOL(DUZ(2),"E",NEWTDN,COLBAT)) Q:COLBAT="" D
- .Q:BARCLDA=COLBAT
- .S CNT=CNT+1
- .S COLNAM=$$GET1^DIQ(90051.01,COLBAT_",",.01,"E")
- .S AMOUNT=$$GET1^DIQ(90051.01,BARCLDA,15)
- .S COLSTATUS=$$GET1^DIQ(90051.01,BARCLDA,3)
- .S LIST(CNT)=COLNAM_U_COLSTATUS_U_NEWTDN_U_AMOUNT
- Q:'$D(LIST)
- D DUPHDR(CNT)
- D SHOLIST(.LIST)
- Q
- ;
- DUPHDR(CNT) ;EP - TDNDUP HEADER
- W !!,"**Duplicate TDN/IPAC detected in the following batches**"
- Q
- ;
- SHOLIST(LIST) ;EP - SHOW LIST OF DUPES
- N CNT
- S CNT=""
- W !
- F S CNT=$O(LIST(CNT)) Q:'CNT D
- .W !,CNT,"."
- .W ?3,$P(LIST(CNT),U) ;NAME
- .W ?32,"TTL: $ ",$J($FN($P(LIST(CNT),U,4),",",2),10) ;TOTAL
- .W ?35," ST: ",$P(LIST(CNT),U,2)
- .W ?63," T/I: ",$P(LIST(CNT),U,3)
- W !!
- Q
- ;
- BFLAG(BARDA) ; (tag called by Fileman trigger for field: BATCH FLAG)
- ; Update BATCH FLAG field (triggered when BATCH field is updated)
- S BARTMP=+$$GET1^DIQ(90050.06,BARDA_",",.14,"I")
- S BARTMPX=$S(BARTMP=0:"N",1:"A")
- Q BARTMPX
- BARCLU ; IHS/SD/LSL - USER ENTRY INTO COLLECTION BATCHES ;; 07/09/2010
- +1 ;;1.8;IHS ACCOUNTS RECEIVABLE;**3,4,6,16,18,19,23,24**;OCT 26,2005;Build 69
- +2 ;;
- +3 ; IHS/ASDS/LSL - 06/15/01 - V1.5 Patch 1 - HQW-0201-100027
- +4 ; fm 22 issue. Modified to include E in DIC(0)
- +5 ;
- +6 ; IHS/SD/SDR - v1.8 p4
- +7 ; Added prompt for TDN and amount for batch
- +8 ;
- +9 ; IHS/SD/AR 03/31/2010 1.8*18, low priorities, TDN dupl
- +10 ;
- +11 ; IHS/SD/TMM 06/18/2010 1.8*19 (M819), Add Prepayment functionality.
- +12 ; See work order 3PMS10001
- +13 ; ------------------------
- +14 ; BARCLU4 is new routine for Prepayment functionality in collection entry.
- +15 ; 819_1. Display prepayments not assigned to a batch (^BARCLU,^BARCLU4)
- +16 ; 819_2. Remove prompt: AUTO PRINT RECEIPT (^BARCLU01)
- +17 ; 819_3. Prepayment entry ^BARPPY01 (new routine),^BARCLU1,^BARPUTL
- +18 ; 819_4. Display prepayments matching payment type selected (^BARCLU,^BARCLU4)
- +19 ; 819_5. Allow user to assign prepayment to batch (^BARCLU,^BARCLU4,^BARCLU01,^BARPUTL,^BARPST1,^BARBLLK)
- +20 ; 819_6. Print Prepayment Receipt (^BARPPY02) (new routine)
- +21 ;
- +22 ; IHS/SD/POTT HEAT148839 01/14/2014 FIXED UNDEF - BAR*1.8*24
- +23 ; ********************************************************************* ;
- +24 ;
- ENTRY ;
- +1 ; lookup collection id I '$D(BARUSR) D INIT^BARUTL
- +2 ;---select collection batch
- +3 SET X1=$$GET1^DIQ(200,DUZ,20.4,"I")
- +4 IF X1']""
- Begin DoDot:1
- +5 WRITE *7,!!,"NO ELECTRONIC SIGNATURE CODE ON FILE"
- +6 WRITE !,"Use ^TBOX to give yourself one",!
- +7 DO EOP^BARUTL(0)
- End DoDot:1
- QUIT
- +8 DO SIG^XUSESIG
- +9 ;elec signature test
- IF X1=""
- QUIT
- +10 ; -------------------------------
- +11 ;
- G ;
- +1 IF '$DATA(BARUSR)
- DO INIT^BARUTL
- +2 KILL DIC
- +3 SET DIC="^BAR(90051.02,DUZ(2),"
- +4 SET DIC(0)="AEZQM"
- +5 ;screen for user
- SET DIC("S")="I $D(^BAR(90051.02,DUZ(2),""AB"",DUZ,+Y))"
- +6 ;Select A/R COLLECTION POINT/IHS NAME:
- DO ^DIC
- +7 IF Y'>0
- QUIT
- +8 SET BARDA=+Y
- +9 KILL BARCLID
- +10 ;setup BARCLID collection id array
- DO BARCLID
- +11 ;Display unassigned Prepayments
- DO DISPPAY^BARCLU4
- +12 IF BARCLID(6)=""
- GOTO NEW
- +13 IF BARCLID(6.5)="POSTABLE"
- GOTO NEW
- +14 IF BARCLID(6.5)'="OPEN"
- IF BARCLID(6.3)'=BARUSR(.01)
- GOTO NEW
- +15 IF BARCLID(6.5)="OPEN"
- IF BARCLID(6.3)=BARUSR(.01)
- GOTO ENTER
- +16 IF BARCLID(6.5)="OPEN"
- IF BARCLID(6.3)'=BARUSR(.01)
- GOTO INUSE
- +17 IF BARCLID(6.5)="REVIEW"
- IF BARCLID(6.3)=BARUSR(.01)
- GOTO INREVIEW
- +18 GOTO ENTER
- +19 ; *********************************************************************
- +20 ;
- NEW ; EP
- +1 ; open a new batch
- +2 DO NEW^BARCLU1
- +3 ; -------------------------------
- +4 ;
- ENTER ; EP
- +1 ; Enter/Add new collection item
- +2 KILL DIC,DR,DA,BARQUIT
- +3 SET BARDIC="^BARCOL(DUZ(2),"
- +4 SET (BARDA,BARCLDA)=BARCLID(6,"I")
- +5 DO BARCL
- +6 SET X=+$$GET1^DIQ(90051.01,BARCLDA,7)
- +7 SET Y=+$ORDER(^BARCOL(DUZ(2),BARCLDA,1,"A"),-1)
- +8 IF X'=Y
- Begin DoDot:1
- +9 WRITE !,*7,"An out of sequence item ",Y," has been detected and removed."
- +10 WRITE !,"Please recheck your entries"
- +11 KILL DIK
- +12 SET DA(1)=BARCLDA
- +13 SET DA=Y
- +14 SET DIK=$$DIC^XBDIQ1(90051.1101)
- +15 DO ^DIK
- +16 KILL DIK,DIR
- +17 SET DIR(0)="EA"
- +18 SET DIR("A")="<cr> to continue"
- +19 DO ^DIR
- +20 KILL DIR
- End DoDot:1
- GOTO ENTER
- +21 ;D NEWITEM ;IHS/SD/SDR bar*1.8*4
- +22 WRITE $$EN^BARVDF("IOF")
- +23 WRITE !!,"ENTERING ",BARCL(.01)
- +24 ;IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- WRITE ?35,"TYPE: ",BARCLID(2)
- +25 ;IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- WRITE ?55,"BATCH TOTAL: ",$$GET1^DIQ(90051.01,BARCLDA,15)
- +26 IF $PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'=""
- IF (+$GET(BARCLID(22,"I")))
- Begin DoDot:1
- +27 WRITE !,"TDN/IPAC: ",$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)
- +28 WRITE ?35,"TDN/IPAC AMOUNT: ",$FNUMBER($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2),!!
- End DoDot:1
- TDN ;I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")&(+$G(BARCLID(22,"I"))) D Q:$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""&($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")&($G(BARFLG)'=1)
- +1 IF $PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!(+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)&(+$GET(BARCLID(22,"I")))
- Begin DoDot:1
- +2 WRITE !,"You will now be prompted for the Treasury Deposit/IPAC and an amount."
- +3 WRITE !,"The Treasury Deposit/IPAC will be used for all items in this batch."
- +4 WRITE !,"The total of all the items entered must equal the amount entered here or"
- +5 WRITE !,"the batch will not finalize.",!!
- +6 KILL DIC,DIE,DR,DA,X,Y
- +7 KILL BARFLG
- +8 SET DIE="^BARCOL(DUZ(2),"
- +9 SET DA=BARCLDA
- +10 ;IHS/SD/AR 03/31/2010 low priorities, TDN dupl
- +11 ;;;old code: I '$$IHSERA^BARUFUT(DUZ(2)) D ;BAR*1.8*23
- +12 ;1/14/2014 HEAT148839 BAR*1.8*24
- IF '$$IHS^BARUFUT(DUZ(2))
- Begin DoDot:2
- +13 ;BAR*1.8*16
- KILL DIE("NO^")
- +14 ;BAR*1.8*16
- SET DR="28Enter TDN/IPAC//"
- End DoDot:2
- +15 IF '$TEST
- Begin DoDot:2
- +16 SET DIE("NO^")=""
- +17 ;BAR*1.8*16
- SET DR="28R~Enter TDN/IPAC//"
- End DoDot:2
- +18 ;S DR="28Enter TDN/IPAC//;29Enter TDN/IPAC Dollar Amount for this Batch//"
- +19 DO ^DIE
- +20 KILL DIE("NO^")
- +21 NEW LIST,DOCARE,DUPFDA
- +22 DO CHECKDUP($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28),.LIST)
- +23 IF $DATA(LIST)
- Begin DoDot:2
- +24 KILL DIR
- +25 SET DIR(0)="Y"
- +26 SET DIR("B")="No"
- End DoDot:2
- +27 IF '$TEST
- Begin DoDot:2
- +28 WRITE " No duplicates found."
- End DoDot:2
- +29 KILL LIST,DOCARE
- +30 ;;; old code I '$$IHSERA^BARUFUT(DUZ(2)) D ;BAR*1.8*23
- +31 ;1/14/2014 HEAT148839 BAR*1.8*24
- IF '$$IHS^BARUFUT(DUZ(2))
- Begin DoDot:2
- +32 ;BAR*1.8*16
- KILL DIE("NO^")
- +33 ;BAR*1.8*16
- SET DR="30Enter TDN/IPAC/Deposit Date;29Enter TDN/IPAC Dollar Amount for this Batch//"
- End DoDot:2
- +34 IF '$TEST
- Begin DoDot:2
- +35 SET DIE("NO^")=""
- +36 ;BAR*1.8*16
- SET DR="30R~Enter TDN/IPAC/Deposit Date;29R~Enter TDN/IPAC Dollar Amount for this Batch//"
- End DoDot:2
- +37 ;S DR="28Enter TDN/IPAC//;29Enter TDN/IPAC Dollar Amount for this Batch//"
- +38 DO ^DIE
- +39 KILL DIE("NO^")
- +40 IF $PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)=""!($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29)="")
- QUIT
- +41 ;IHS/SD/AR 03/31/2010 end low priorities, TDN dupl
- +42 WRITE !!,"----------------------------------",!
- +43 WRITE "TDN/IPAC: ",$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)
- +44 WRITE !," Amount: ",$FNUMBER($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2),!
- +45 ;BAR*1.8*16
- WRITE "TDN/IPAC/Deposit Date: ",$$GET1^DIQ(90051.01,BARCLDA_",",30,"E")
- +46 ;check for NONPAYMENT and dollar amt '=0
- +47 IF $PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)["NONPAY"
- IF (+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29)'=0)
- Begin DoDot:2
- +48 WRITE !!,"Cannot batch a dollar amount to a NONPAYMENT TDN/IPAC"
- +49 SET DIE="^BARCOL(DUZ(2),"
- +50 SET DA=BARCLDA
- +51 SET DR="28////@;29////@"
- +52 DO ^DIE
- End DoDot:2
- QUIT
- +53 KILL DIR,DIC,DIE,DR,DA,X,Y
- +54 SET DIR(0)="Y"
- +55 SET DIR("A")="Correct? "
- +56 SET DIR("B")="YES"
- +57 DO ^DIR
- KILL DIR
- +58 IF Y<1
- Begin DoDot:2
- +59 SET DIE="^BARCOL(DUZ(2),"
- +60 SET DA=BARCLDA
- +61 SET DR="28////@;29////@"
- +62 DO ^DIE
- +63 SET BARFLG=1
- End DoDot:2
- +64 WRITE !
- End DoDot:1
- IF ($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")&(+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)&($GET(BARFLG)'=1)
- QUIT
- +65 ;
- +66 ;I $P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="",(+$G(BARCLID(22,"I"))) G TDN ;go back up and prompt for TDN again ;IHS/SD/SDR bar*1.8*6 IM29168
- +67 ;I ($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")!(($P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'="NONPAYMENT")&(+$P($G(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0)),(+$G(BARCLID(22,"I"))) G TDN ;go back up & prompt for TDN again ;IHS/SD/SDR bar*1.8*6 IM29168
- +68 ;PER TONI JOHNSON TRIBALS DO NOT HAVE TO POPULATE THESE FIELDS BAR*1.8*16
- +69 IF ($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)="")!(($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)'="NONPAYMENT")&(+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29)=0))
- IF (+$GET(BARCLID(22,"I")))
- IF ($$IHS^BARUFUT(DUZ(2)))
- GOTO TDN
- +70 DO NEWITEM^BARCLU4
- +71 WRITE !
- +72 SET DA(1)=BARCLDA
- +73 SET DA=BARITDA
- +74 SET DIE="^BARCOL(DUZ(2),"_DA(1)_",1,"
- +75 ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- +76 WRITE "ITEM ",BARITDA
- +77 ;
- +78 ;---- 51:EOB 52:CASH 53:CC 55:REFUND 81:CHECK
- +79 ;
- +80 IF BARCLID(2,"I")="E"
- SET DR="2////51"
- +81 IF '$TEST
- Begin DoDot:1
- +82 ;2=
- SET DR="2//^S X=$G(BARITTYP)"
- +83 WRITE !,"Up-Arrow at Transaction Type to exit loop and KILL New Entry"
- End DoDot:1
- +84 SET DIDEL=90050
- +85 ;prompts for PAYMENT TYPE:
- DO ^DIE
- +86 KILL DIDEL
- +87 IF $DATA(Y)
- SET BARQUIT=1
- GOTO NOMORE
- +88 DO BARCLIT
- +89 SET BARITTYP=BARCLIT(2)
- +90 ; -------------------------------
- +91 ;
- DR ;EP
- +1 ; setup DR as to type of collection item
- +2 SET BARX=BARCLIT(2,"I")
- +3 IF 'BARX
- Begin DoDot:1
- +4 WRITE *7,!,"ERROR IN TRANSACTION TYPE"
- +5 SET BARQUIT=1
- End DoDot:1
- GOTO NOMORE
- +6 ; -------------------------------
- +7 ;
- +8 ; Display Prepayments of same PAYMENT TYPE
- +9 ;M819*ADD*TMM*20100710
- DO SELPPAY^BARCLU4
- +10 ;
- EDITEM ;EP
- +1 ; edit collection item
- +2 ;edit the various types of items ;prompts for Credit:
- DO EDITEM^BARCLU0
- +3 ;
- +4 ;can be set by EOB with "^" at check number
- IF $GET(BARQUIT)
- GOTO NOMORE
- +5 DO BARCLIT
- +6 ; -------------------------------
- +7 ;
- REVIEW ;EP
- +1 ; review item
- +2 ;20=NON EOB DATA REVIEW/EDIT
- IF $EXTRACT(BARCLIT(2))'="E"
- IF BARCLID(20,"I")
- GOTO ASK
- +3 ;21=EOB DATA REVIEW/EDIT
- IF $EXTRACT(BARCLIT(2))="E"
- IF BARCLID(21,"I")
- GOTO ASK
- +4 GOTO FILE
- +5 ; *********************************************************************
- +6 ;
- ASK ;
- +1 DO DISPLAY
- +2 ;** check required fields
- +3 SET BARERROR=0
- +4 ;F I=2,7,8,101 D
- +5 ;BAR*1.8*3 UFMS MAKE TREASURY NUMBER REQUIRED
- FOR I=2,7,8,101,20
- Begin DoDot:1
- +6 ;IHS/SD/TPF BAR*1.8*4 IM26177
- IF I=20
- IF ('$GET(BARCLID(22,"I")))
- QUIT
- +7 IF $LENGTH(BARCLIT(I))'>0
- Begin DoDot:2
- +8 WRITE !,$PIECE(^DD(90051.1101,I,0),U),?20," IS MISSING"
- +9 SET BARERROR=1
- End DoDot:2
- End DoDot:1
- +10 KILL DIR
- +11 SET DIR(0)="S^E:Edit;D:Delete;F:FILE"
- +12 SET DIR("B")="F"
- +13 IF BARERROR
- SET DIR("B")="E"
- +14 DO ^DIR
- +15 IF Y="E"
- Begin DoDot:1
- +16 WRITE $$EN^BARVDF("IOF")
- +17 WRITE !!,"ENTERING ",BARCL(.01),!!
- +18 WRITE "ITEM ",BARITDA
- End DoDot:1
- GOTO EDITEM
- +19 IF Y="D"
- Begin DoDot:1
- +20 SET DIK=$$DIC^XBDIQ1(90051.1101)
- +21 SET DA(1)=BARCLDA
- +22 SET DA=BARITDA
- +23 DO ^DIK
- End DoDot:1
- GOTO ENTER
- +24 IF BARERROR
- GOTO ASK
- +25 ;--------------------------------
- +26 ;
- FILE ; EP
- +1 KILL DIE,DR,DA
- +2 SET DIE=$$DIC^XBDIQ1(90051.01)
- +3 SET DR="7///^S X=BARCL(7)"
- +4 SET DA=+BARCL("ID")
- +5 SET DIDEL=90050
- +6 DO ^DIE
- +7 KILL DIDEL
- +8 KILL BARDA
- +9 SET BARITAC=BARCLIT(7)
- +10 ;set defaults
- SET BARITLC=BARCLIT(8)
- +11 ;update A/R Prepayment file with batch assignment ;M819*ADD*TMM*20100711
- IF +$GET(BARPPSEL)>0
- DO PPUPDT^BARCLU4
- +12 ;M819*ADD*TMM*20100711
- WRITE !!
- +13 ;Press return to continue ;M819*ADD*TMM*20100711
- DO PAZ^BARRUTL
- +14 GOTO ENTER
- +15 ; *********************************************************************
- +16 ;
- SELECT ;EP
- +1 ; select action
- +2 ;W !,$$GET1^DIQ(90051.01,BARCLDA,15) ;bar*1.8*4
- +3 KILL DIR,DIE
- +4 SET DIR(0)="S^A:ADD;M:MORE;E:EDIT;Q:QUIT"
- +5 SET DIR("A")="A/M/E/Q"
- +6 SET DIR("B")="ADD"
- +7 DO ^DIR
- +8 IF Y="A"
- GOTO ENTER
- +9 IF Y="M"
- DO ^BARCLU2
- GOTO SELECT
- +10 IF Y="E"
- DO ^BARCLU3
- GOTO SELECT
- +11 IF Y="Q"
- GOTO EXIT
- +12 ; -------------------------------
- +13 ;
- NOMORE ;EP
- +1 ; nomore entries backout last entry
- +2 SET (DIK,DIE)=$$DIC^XBDIQ1(90051.1101)
- +3 SET DA=BARITDA
- +4 SET DA(1)=BARCLDA
- +5 DO ^DIK
- +6 KILL BARQUIT
- +7 KILL DIE,DR,DA
- +8 SET BARCL(7)=BARCL(7)-1
- +9 ;start new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- +10 WRITE !!,"GETTING READY TO RUN DETAIL REPORT."
- +11 WRITE " PLEASE VALIDATE "_$SELECT($GET(BARCLID(22,"I")):"TREASURY DEPOSIT/IPAC AND ",1:"")_"AMOUNT FOR ACCURACY"
- +12 SET BARSEL="D"
- SET BARBATCH=BARCLDA
- SET BARBEX=BARCL(".01")
- DO D2^BARCLRG
- IF $DATA(BAREFLG)
- GOTO SELECT
- DO PRINT^BARCLRG
- +13 ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- +14 GOTO SELECT
- +15 ; *********************************************************************
- +16 ;
- INUSE ;EP
- +1 ; in use
- +2 WRITE !!,"Sorry ",BARCLID(.01)," is OPENED by : ",BARCLID(6.3),!!
- +3 SET DA=0
- +4 SET DA(1)=+BARCLID("ID")
- +5 SET BARCLDA=DA(1)
- +6 DO ENPM^XBDIQ1(90051.2201,"BARCLDA,0",.01,"BARSUP(")
- +7 IF $DATA(BARSUP(DUZ))
- Begin DoDot:1
- +8 WRITE !,"YOU ARE A SUPERVISOR SO YOU ARE ENTERING THE BATCH",!
- +9 DO EOP^BARUTL(1)
- +10 KILL BARSUP
- End DoDot:1
- GOTO ENTER
- +11 DO EOP^BARUTL(1)
- +12 QUIT
- +13 ; *********************************************************************
- +14 ;
- INREVIEW ;EP
- +1 ; in REVIEW
- +2 WRITE !!,"Sorry ",BARCLID(.01)," is in REVIEW by >you< : ",BARCLID(6.3),!!
- +3 DO EOP^BARUTL(1)
- +4 GOTO ENTER
- +5 ; *********************************************************************
- +6 ;
- EXIT ;EP
- +1 ; exit program
- +2 ;start new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- +3 ;don't do for batches created prior to 10/1/07
- +4 IF $PIECE($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,4),".")<3071001
- QUIT
- +5 IF '$GET(BARCLID(22,"I"))
- QUIT
- +6 ;get total of items
- SET BARITTOT=$$ITEMTOT(BARCLDA)
- +7 IF +BARITTOT'=(+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29))
- Begin DoDot:1
- +8 WRITE !!,"BATCHED AMOUNT OF "_$FNUMBER(BARITTOT,",",2)_" DOES NOT MATCH THE TDN/IPAC AMOUNT OF "
- +9 WRITE $FNUMBER($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29),",",2)_" FOR"
- +10 WRITE !,"TDN/IPAC "_$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,28)_".",!
- +11 ;
- +12 IF BARITTOT<($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29))
- Begin DoDot:2
- +13 WRITE !,"PLEASE REVIEW YOUR ENTRIES AND EITHER CORRECT THE AMOUNT OF THE TDN/IPAC OR ADD ADDITIONAL ITEMS TO BALANCE."
- End DoDot:2
- +14 IF BARITTOT>($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,0)),U,29))
- Begin DoDot:2
- +15 WRITE !,"PLEASE REVIEW YOUR ENTRIES AND EITHER CORRECT THE AMOUNT OF THE TDN/IPAC, REMOVE ITEMS, OR CORRECT THE BATCH ITEM AMOUNTS."
- End DoDot:2
- +16 WRITE !
- KILL DIR
- SET DIR(0)="E"
- SET DIR("A")="Enter RETURN to Continue"
- DO ^DIR
- KILL DIR
- End DoDot:1
- +17 ;end new code IHS/SD/SDR bar*1.8*4 DD item 4.1.5.1
- +18 QUIT
- +19 ; *********************************************************************
- +20 ;
- BARCLID ;EP
- +1 ; build BARCLID array:uses current da in array or BARDA if no array
- +2 DO BARCLID^BARCLU1
- +3 QUIT
- +4 ; *********************************************************************
- +5 ;
- BARCL ;EP
- +1 ; build BARCL array:uses current da in array of DA if no array
- +2 DO BARCL^BARCLU1
- +3 QUIT
- +4 ; *********************************************************************
- +5 ;
- BARCLIT ;EP
- +1 ; build the BARCLIT array
- +2 DO BARCLIT^BARCLU1
- +3 QUIT
- +4 ; *********************************************************************
- +5 ;
- DISPLAY ;EP
- +1 ; display item elements
- +2 DO DISPLAY^BARCLU1
- +3 QUIT
- ITEMTOT(BARCLDA) ;EP - get total of items
- +1 SET BARITDA=0
- SET BARITTOT=0
- +2 FOR
- SET BARITDA=$ORDER(^BARCOL(DUZ(2),BARCLDA,1,BARITDA))
- IF +BARITDA=0
- QUIT
- Begin DoDot:1
- +3 ;no cancelled or rolled up items
- IF $PIECE($GET(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,0)),U,17)="C"!($PIECE($GET(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,0)),U,17)="R")
- QUIT
- +4 SET BARITTOT=+$GET(BARITTOT)+$PIECE($GET(^BARCOL(DUZ(2),BARCLDA,1,BARITDA,1)),U)
- End DoDot:1
- +5 QUIT BARITTOT
- CHECKDUP(NEWTDN,LIST) ;EP - CHECK FOR DUPLICATE TDN IN A/R COLLECTION BATCH
- +1 WRITE !!,"Checking for duplicate TDN/IPAC..."
- +2 IF NEWTDN=""
- QUIT
- +3 NEW CHECNUM,CHECK,COLBAT,ITEM,AMOUNT,COLNAM,COLSTATUS
- +4 KILL LIST
- +5 SET CNT=0
- +6 SET COLBAT=""
- +7 FOR
- SET COLBAT=$ORDER(^BARCOL(DUZ(2),"E",NEWTDN,COLBAT))
- IF COLBAT=""
- QUIT
- Begin DoDot:1
- +8 IF BARCLDA=COLBAT
- QUIT
- +9 SET CNT=CNT+1
- +10 SET COLNAM=$$GET1^DIQ(90051.01,COLBAT_",",.01,"E")
- +11 SET AMOUNT=$$GET1^DIQ(90051.01,BARCLDA,15)
- +12 SET COLSTATUS=$$GET1^DIQ(90051.01,BARCLDA,3)
- +13 SET LIST(CNT)=COLNAM_U_COLSTATUS_U_NEWTDN_U_AMOUNT
- End DoDot:1
- +14 IF '$DATA(LIST)
- QUIT
- +15 DO DUPHDR(CNT)
- +16 DO SHOLIST(.LIST)
- +17 QUIT
- +18 ;
- DUPHDR(CNT) ;EP - TDNDUP HEADER
- +1 WRITE !!,"**Duplicate TDN/IPAC detected in the following batches**"
- +2 QUIT
- +3 ;
- SHOLIST(LIST) ;EP - SHOW LIST OF DUPES
- +1 NEW CNT
- +2 SET CNT=""
- +3 WRITE !
- +4 FOR
- SET CNT=$ORDER(LIST(CNT))
- IF 'CNT
- QUIT
- Begin DoDot:1
- +5 WRITE !,CNT,"."
- +6 ;NAME
- WRITE ?3,$PIECE(LIST(CNT),U)
- +7 ;TOTAL
- WRITE ?32,"TTL: $ ",$JUSTIFY($FNUMBER($PIECE(LIST(CNT),U,4),",",2),10)
- +8 WRITE ?35," ST: ",$PIECE(LIST(CNT),U,2)
- +9 WRITE ?63," T/I: ",$PIECE(LIST(CNT),U,3)
- End DoDot:1
- +10 WRITE !!
- +11 QUIT
- +12 ;
- BFLAG(BARDA) ; (tag called by Fileman trigger for field: BATCH FLAG)
- +1 ; Update BATCH FLAG field (triggered when BATCH field is updated)
- +2 SET BARTMP=+$$GET1^DIQ(90050.06,BARDA_",",.14,"I")
- +3 SET BARTMPX=$SELECT(BARTMP=0:"N",1:"A")
- +4 QUIT BARTMPX