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

ASU6JUPD.m

Go to the documentation of this file.
  1. ASU6JUPD ; IHS/ITSC/LMH -PROCESS CREDIT ADJUSTMENTS -37 ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;;This routine provides logic to post (process) ADJUSTMENT
  1. ;;transactions to the database.
  1. S:$G(DDSREFT)']"" DDSREFT=$G(ASUV("DDSREFT"))
  1. I ASUT("TRCD")="37" D
  1. .S ASUS("CLCD")=0 ;Value entered in transaction flag
  1. .S:ASUT(ASUT,"VAL")="" ASUS("CLCD")=1 ;Value to be set by program
  1. .D CAJRSET Q:$D(DDSERROR) ;Update Station master from transaction variables
  1. .S ASUT(ASUT,"ACC")=ASUMX("ACC"),ASUT(ASUT,"CALCED")=ASUS("CLCD")
  1. I ASUT("TRCD")="3P" D
  1. .D QVINCRE ;Update Station master from transaction variables
  1. I ASUT("TRCD")="2P" D
  1. .D CAJRSET ;Update station master from transaction variables
  1. I ASUT("TRCD")="27" D
  1. .D DAJRSET ;Update Station master from transaction variables
  1. Q:$D(DDSERROR)
  1. D ^ASUJHIST ;Move transaction to History file
  1. Q
  1. DAJRSET ;EP; -RESETS TOTAL VALUE & TOTAL QUANTITY ON DEBIT ADJUSTMENTS
  1. I ASUT(ASUT,"QTY")=""&(ASUT(ASUT,"VAL")]"") G CALCMST
  1. I ASUT(ASUT,"VAL")=""&(ASUT(ASUT,"QTY")]"") N X S X="" D MSUNCST(.X)
  1. I ASUT(ASUT,"VAL")']"" S ASUT(ASUT,"VAL")=X*ASUT(ASUT,"QTY")
  1. CALCMST ;CALCULATE MASTER TOTAL
  1. D QVINCRE
  1. Q
  1. CAJRSET ;EP; RESETS TOTAL VALUE & TOTAL QUANTITY ON CREDIT ADJUSTMENTS
  1. I ASUT(ASUT,"QTY")']"" G CACKCS
  1. I ASUT(ASUT,"VAL")']"" G CACKQT
  1. G CACKCB
  1. CACKQT ;CHECK QTY
  1. I ASUT(ASUT,"QTY")>ASUMS("QTY","O/H") G RJCRBAL
  1. I ASUT(ASUT,"QTY")=ASUMS("QTY","O/H") S ASUT(ASUT,"VAL")=ASUMS("VAL","O/H") G CACKAL
  1. N X S X="" D MSUNCST(.X)
  1. S ASUT(ASUT,"VAL")=X*ASUT(ASUT,"QTY")
  1. I ASUT(ASUT,"VAL")>ASUMS("VAL","O/H") S ASUT(ASUT,"VAL")=ASUMS("VAL","O/H")
  1. G CACKAL
  1. CACKCS ;CHECK IF ONLY COST ENTERED
  1. I ASUT(ASUT,"VAL")']"" G RJNOENTR
  1. CACKCB ;CHECK IF CREDIT BALANCE
  1. I ASUT(ASUT,"VAL")>ASUMS("VAL","O/H") G RJCRBAL
  1. CACKAL ;CHECK BALANCES
  1. S ASUMS("QTY","O/H")=ASUMS("QTY","O/H")-ASUT(ASUT,"QTY")
  1. S ASUMS("VAL","O/H")=ASUMS("VAL","O/H")-ASUT(ASUT,"VAL")
  1. I ASUMS("QTY","O/H")=0 G CACKV0
  1. I ASUMS("QTY","O/H")<0 G RJCRBAL
  1. I ASUMS("VAL","O/H")=0!(ASUMS("VAL","O/H")<0) G REJBOH
  1. G STAUPDT
  1. CACKV0 ;CHECK VALUE ZERO
  1. I ASUMS("VAL","O/H")=0 G STAUPDT
  1. G REJBOH
  1. MSUNCST(X) ;EP ;COMPUTE UNIT COST FROM MASTER
  1. I 0=+ASUMS("VAL","O/H")!(0=+ASUMS("QTY","O/H")) D
  1. .S X=0
  1. E D
  1. .S X=$FN(ASUMS("VAL","O/H")/ASUMS("QTY","O/H"),"-",2)
  1. I ASUT("TRCD")=27 S:X=0 X=ASUMS("LPP")
  1. Q
  1. QVDECRE ;EP;.
  1. S ASUMS("VAL","O/H")=ASUMS("VAL","O/H")-ASUT(ASUT,"VAL")
  1. S ASUMS("QTY","O/H")=ASUMS("QTY","O/H")-ASUT(ASUT,"QTY")
  1. I ASUT("TRCD")="2P" G QVDCK0
  1. G STAUPDT
  1. QVDCK0 ;
  1. I ASUMS("VAL","O/H")<0 G RJCRBAL
  1. I ASUMS("QTY","O/H")<0 G RJCRBAL
  1. I ASUMS("VAL","O/H")=0&(ASUMS("QTY","O/H")>0) G REJBOH
  1. I ASUMS("QTY","O/H")=0&(ASUMS("VAL","O/H")>0) G REJBOH
  1. G STAUPDT
  1. QVINCRE ;EP;.
  1. S ASUMS("VAL","O/H")=ASUMS("VAL","O/H")+ASUT(ASUT,"VAL")
  1. S ASUMS("QTY","O/H")=ASUMS("QTY","O/H")+ASUT(ASUT,"QTY")
  1. STAUPDT ;
  1. D MIX^ASUMSTWR
  1. Q
  1. REJBOH ;REJECT BALANCE ON HAND
  1. N Z S Z="Master Balance on Hand" D MSG^ASUJHELP(.Z) S DDSERROR=1 ;DFM P1 9/1/98
  1. G REJECT
  1. RJCRBAL ;REJECT CREDIT BALANCE
  1. N Z S Z="Would create Master Credit Balance" D MSG^ASUJHELP(.Z) S DDSERROR=2 ;DFM P1 9/1/98
  1. G REJECT
  1. RJNOENTR ;REJECT NO ENTRY
  1. N Z S Z="NO QTY OR VAL" D MSG^ASUJHELP(.Z) S DDSERROR=3 ;DFM P1 9/1/98
  1. REJECT ;REJECT REPORT
  1. Q