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

BARBLCN.m

Go to the documentation of this file.
  1. BARBLCN ; IHS/SD/LSL - CANCEL BILL ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. ; ITSC/SD/LSL - 10/18/02 - V1.7 - NOIS QAA-1200-130051
  1. ; Added quit logic if error getting new A/R Transaction although
  1. ; I'm not sure this feature even works correctly.
  1. ;
  1. ; ********************************************************************
  1. ENP ; EP
  1. ; EN point for cancelling a bill from 3P
  1. I '$D(^BARBL(DUZ(2),"B",X)) D Q
  1. . W $$EN^BARVDF("IOF"),X_" Not in A/R System!"
  1. ;
  1. ; -------------------------------
  1. SRCHTRNS ;
  1. ; Search the ^BARTR global for 49 type of transaction record for this A/R bill
  1. S (BARDTTM,BARBLDA)=0
  1. S BARUNDO=1
  1. K BARBIL
  1. S BARBLDA=$O(^BARBL(DUZ(2),"B",X,0))
  1. F S BARDTTM=$O(^BARTR(DUZ(2),"AC",BARBLDA,BARDTTM)) Q:BARDTTM'>0 D
  1. . I '$D(^BARTR(DUZ(2),BARDTTM,0)) Q
  1. . I '$D(^BARTR(DUZ(2),BARDTTM,1)) Q
  1. . I $P(^BARTR(DUZ(2),BARDTTM,1),"^")=49 D Q
  1. .. D REVERSE
  1. . Q
  1. I BARTRIEN<1 Q
  1. S BARBLST="143"
  1. S DA=BARBLDA
  1. S (DIC,DIE)=$$DIC^XBDIQ1(90050.01)
  1. S DR="16////^S X=BARBLST"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. REVERSE ;
  1. ; Create transaction records to reverse out the transaction records when 3P cancels a bill
  1. N BARX,BARCR,BARDB,BARTT,BARCAT,BARATYP,BARBDFN,BARPT,BARAC,BARPAR
  1. N BARASFAC,BARSECT,BARSITE,BARTYPE
  1. S BARTRIEN=$$NEW^BARTR
  1. I BARTRIEN<1 D MSG^BARTR(BARBLDA) Q
  1. K DIE,DIC,DR,DA
  1. S (DA,BARTRDA)=X
  1. S DIE=90050.03
  1. S BARX=^BARTR(DUZ(2),BARDTTM,0)
  1. S (BARCR,BARDB)=0
  1. S:$P(BARX,"^",2)'=0 BARCR=$P(BARX,"^",2)
  1. S:$P(BARX,"^",3)'=0 BARDB=$P(BARX,"^",3)
  1. S BARTT=41
  1. S BARCAT=3
  1. S BARATYP=135
  1. S BARBDFN=$P(BARX,U,4)
  1. S BARPT=$P(BARX,U,5)
  1. S BARAC=$P(BARX,U,6)
  1. S BARPAR=$P(BARX,U,8)
  1. S BARASFAC=$P(BARX,U,9)
  1. S BARSECT=$P(BARX,U,10)
  1. S BARSITE=$P(BARX,U,11)
  1. S BARTYPE=$P(BARX,U,16)
  1. S DR=""
  1. F I=1:1 S J=$T(TXT+I) Q:J="" D
  1. . S DR=DR_$P(J,"~",2)_";"
  1. . Q
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. D TR^BARTDO(BARTRDA,BARUNDO)
  1. ;
  1. EXIT Q
  1. TXT ;
  1. ;;~2////^S X=BARCR
  1. ;;~3////^S X=BARDB
  1. ;;~4////^S X=BARBDFN
  1. ;;~5////^S X=BARPT
  1. ;;~6////^S X=BARAC
  1. ;;~8////^S X=BARPAR
  1. ;;~9////^S X=BARASFAC
  1. ;;~10////^S X=BARSECT
  1. ;;~11////^S X=BARSITE
  1. ;;~12////^S X=DT
  1. ;;~13////^S X=DUZ
  1. ;;~16////^S X=BARTYPE
  1. ;;~101////^S X=BARTT
  1. ;;~102////^S X=BARCAT
  1. ;;~103////^S X=BARATYP
  1. Q