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

PRCPOPER.m

Go to the documentation of this file.
  1. PRCPOPER ;WISC/RFJ/DGL - distribution order error report;3/17/00 3:23pm
  1. V ;;5.1;IFCAP;**205**;Oct 20, 2000;Build 4
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. Q
  1. ;
  1. ;
  1. CHECKORD ; check order for errors (called from prcpopl protocol)
  1. D VARIABLE^PRCPOPU
  1. D EN^VALM("PRCP DIST ORDER CHECK ITEMS")
  1. D INIT^PRCPOPL
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;
  1. INIT ; check order for errors and build array
  1. N DATA,ERROR,ITEMDA,QTYORDER,STATUS,QTYOH
  1. K ^TMP($J,"PRCPOPER")
  1. S VALMCNT=0
  1. I 'PRCPPRIM D SET^PRCPOPL("PRIMARY INVENTORY SOURCE MISSING. PLEASE RE-EDIT THE ORDER FIRST.") Q
  1. I 'PRCPSECO D SET^PRCPOPL("SECONDARY INVENTORY POINT IS MISSING, PLEASE RE-EDIT THE ORDER FIRST.") Q
  1. ;
  1. S STATUS=$P(^PRCP(445.3,ORDERDA,0),"^",6)
  1. ; check items on order
  1. S ITEMDA=0 F S ITEMDA=$O(^PRCP(445.3,ORDERDA,1,ITEMDA)) Q:'ITEMDA S DATA=^(ITEMDA,0) D
  1. . S QTYORDER=$P(DATA,"^",2)
  1. . I 'QTYORDER D BLDARRAY^PRCPOPL(PRCPPRIM,PRCPSECO,ITEMDA,QTYORDER,STATUS),SET^PRCPOPL(" ** THERE IS NO QUANTITY ORDERED, ITEM SHOULD BE DELETED FROM ORDER **") Q
  1. . S ERROR=$$ITEMCHK(PRCPPRIM,PRCPSECO,ITEMDA)
  1. . S X=$G(^PRCP(445,PRCPPRIM,1,ITEMDA,0))
  1. . I X]"" D
  1. . . S QTYOH=+$P(X,"^",7)
  1. . . I PRCP("DPTYPE")'="S",QTYOH<QTYORDER S ERROR=ERROR_$S(ERROR="":"",1:"^")_" ** QTY ORDERED ("_QTYORDER_") IS MORE THAN PRIMARY QTY ON HAND ("_QTYOH_") **"
  1. . . Q
  1. . I ERROR="" Q
  1. . D BLDARRAY^PRCPOPL(PRCPPRIM,PRCPSECO,ITEMDA,QTYORDER,STATUS)
  1. . F %=1:1 Q:$P(ERROR,"^",%,99)="" I $P(ERROR,"^",%)'="" D SET^PRCPOPL($P(ERROR,"^",%))
  1. ;
  1. I VALMCNT=0 S VALMQUIT=1,VALMSG="* * * NO ERRORS FOUND * * *"
  1. Q
  1. ;
  1. ;
  1. EXIT ; exit and clean up
  1. K ^TMP($J,"PRCPOPER")
  1. Q
  1. ;
  1. ;
  1. EEITEMS ; called from protocol file to enter/edit invpt items
  1. D
  1. . N PRC,PRCP
  1. . S PRCP("DPTYPE")="PS"
  1. . D ^PRCPEILM
  1. D INIT
  1. S VALMBCK="R"
  1. I $G(VALMQUIT) K VALMBCK
  1. Q
  1. ;
  1. ;
  1. ITEMCHK(PRCPPRIM,PRCPSECO,ITEMDA) ; check items
  1. ; returns errors delimited by ^ or ""
  1. N ITEMDATA,ERROR,VDATA
  1. S ERROR=""
  1. S ITEMDATA=$G(^PRCP(445,PRCPPRIM,1,ITEMDA,0))
  1. I ITEMDATA="" S ERROR=" ** ITEM NOT STORED IN PRIMARY INVENTORY POINT ** ^ Either add item to primary or delete item from order."
  1. I '$D(^PRCP(445,PRCPSECO,1,ITEMDA,0)) S ERROR=ERROR_$S(ERROR="":"",1:"^")_" ** ITEM NOT STORED IN SECONDARY INVENTORY POINT **"
  1. ;
  1. S VDATA=$$GETVEN^PRCPUVEN(PRCPSECO,ITEMDA,PRCPPRIM_";PRCP(445,",1)
  1. I 'VDATA S ERROR=ERROR_$S(ERROR="":"",1:"^")_" ** PRIMARY INVENTORY POINT IS NOT LISTED AS A SOURCE **"
  1. I $P(VDATA,"^",2,3)'=($P(ITEMDATA,"^",5)_"^"_$P(ITEMDATA,"^",14)) S ERROR=ERROR_$S(ERROR="":"",1:"^")_" ** SECONDARY UNIT PER RECEIPT DOES NOT EQUAL PRIMARY UNIT PER ISSUE **"
  1. Q ERROR