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

PRCPWPP0.m

Go to the documentation of this file.
  1. PRCPWPP0 ;WISC/RFJ,DWA-primary receive issue book (options) ;20 Jan 94
  1. ;;5.1;IFCAP;**4**;Oct 20, 2000
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. Q
  1. ;
  1. ;
  1. EEITEMS ; called from protocol file to enter/edit invpt items
  1. D FULL^VALM1
  1. D EN^PRCPEILM
  1. D REBUILD^PRCPWPPB
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;
  1. REMAIN ; set qty to receive to remaining (outstanding) qty
  1. D FULL^VALM1
  1. S VALMBCK="R"
  1. N DATA,ITEMDA,LINEDA,QTY,X
  1. K X S X(1)="This option will set the QUANTITY TO RECEIVE equal to the difference between the QUANTITY ORDERED and the QUANTITY PRIMARY REC'D."
  1. D DISPLAY^PRCPUX2(5,75,.X)
  1. S XP="Do you want to set the QUANTITY TO RECEIVE",XH="Enter YES to set the QUANTITY TO RECEIVE, NO or ^ to return to the list."
  1. I $$YN^PRCPUYN(1)'=1 Q
  1. S LINEDA=0 F S LINEDA=$O(^TMP($J,"PRCPWPPLLIST",LINEDA)) Q:'LINEDA S DATA=^(LINEDA) D
  1. . S ITEMDA=+$P(DATA,"^"),QTY=+$P(DATA,"^",2)
  1. . I '$D(^PRCP(445,PRCPINPT,1,ITEMDA,0)) S QTY=0
  1. . S ^TMP($J,"PRCPWPPLPOST",LINEDA)=QTY
  1. D REBUILD^PRCPWPPB
  1. S VALMSG="QTY TO RECEIVE now set to remaining"
  1. Q
  1. ;
  1. ;
  1. ENTER ; enter quantity to post
  1. D FULL^VALM1
  1. S VALMBCK="R"
  1. N DATA,DIR,ITEMDA,INVDATA,LINEDA,ONHAND,QTYOUT,QTYPST,QTYREC,STATUS,QUIT,X,Y
  1. S QUIT=0
  1. F W ! S LINEDA=$$LINEITEM Q:LINEDA<1 D
  1. . S DATA=$G(^PRCS(410,PRCPDA,"IT",LINEDA,0)) I DATA="" W !,"CANNOT FIND LINE ITEM." Q
  1. . S ITEMDA=+$P(DATA,"^",5),STATUS=$P(DATA,"^",14),INVDATA=$G(^PRCP(445,PRCPINPT,1,ITEMDA,0))
  1. . I INVDATA="" W !,"ITEM (#",ITEMDA,") NOT STORED IN THE INVENTORY POINT." Q
  1. . I STATUS'="" W !,"ITEM IS CANCELLED",$S(STATUS["S":" AND SUBSTITUTED WITH LINE #(S): "_$P(STATUS,",",2,99),1:"") Q
  1. . S ONHAND=+$P(INVDATA,"^",7),QTYOUT=+$P($G(^TMP($J,"PRCPWPPLLIST",LINEDA)),"^",2),QTYPST=+$P($G(^TMP($J,"PRCPWPPLLIST",LINEDA)),"^",3)
  1. . W !!,ITEMDA,?5,$E($$DESCR^PRCPUX1(PRCPINPT,ITEMDA),1,30)," ",$$NSN^PRCPUX1(ITEMDA)," U/I: ",$$UNIT^PRCPUX1(PRCPINPT,ITEMDA,"/")
  1. . W !?5,"AVERAGE COST : ",$J(+$P(INVDATA,"^",22),0,2)
  1. . W !?5,"LAST COST : ",$J(+$P(INVDATA,"^",15),0,2)
  1. . W !
  1. . W !?5,"QTY ON-HAND : ",ONHAND
  1. . W !?5,"QTY ORDERED : ",+$P(DATA,"^",2)
  1. . W !?5,"QTY POSTED : ",+$P(DATA,"^",12)
  1. . W !?5,"QTY RECEIVED : ",+$P(DATA,"^",13)
  1. . W !?5,"QTY OUTSTANDING: ",QTYOUT
  1. . W !?5,"QTY TO RECEIVE : ",+$G(^TMP($J,"PRCPWPPLPOST",LINEDA))
  1. . S DIR(0)="NA^0:"_QTYPST_":0",DIR("A")=" QUANTITY TO RECEIVE: ",DIR("B")=QTYPST
  1. . S DIR("A",1)="Enter the quantity of this item to receive from 0 to "_QTYPST_"."
  1. . W ! D ^DIR K DIR
  1. . I Y!(Y=0) S ^TMP($J,"PRCPWPPLPOST",LINEDA)=+Y
  1. . K X S X(1)="QUANTITY TO RECEIVE: "_+$G(^TMP($J,"PRCPWPPLPOST",LINEDA)),QTYREC=$TR($P(X(1),":",2)," ")
  1. . I QTYREC>QTYOUT D
  1. . . W !!
  1. . . W !,?15,"*****************WARNING*********************"
  1. . . W !,?15,"** Quantity RECEIVED greater than ORDERED. **"
  1. . . W !,?15,"** Is that what you want to do? **"
  1. . . W !,?15,"*********************************************",!!
  1. . . S DIR(0)="E" D ^DIR
  1. . . I 'Y S QUIT=1 K QTYREC,X(1)
  1. . . Q
  1. . D:'QUIT DISPLAY^PRCPUX2(3,32,.X)
  1. D:'QUIT REBUILD^PRCPWPPB
  1. Q
  1. ;
  1. ;
  1. LINEITEM() ; select line item for issue book
  1. N DA,DIC,X,Y
  1. S DIC="^PRCS(410,"_PRCPDA_",""IT"",",DA(1)=PRCPDA,DIC(0)="QEAMZ",DIC("A")="Select LINE ITEM Number: "
  1. S DIC("W")="S PRCPNODE=13 D DICW^PRCPWPL0 K PRCPNODE"
  1. D ^DIC
  1. Q +Y