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

PRCOESE1.m

Go to the documentation of this file.
  1. PRCOESE1 ;WISC/DJM-IFCAP EDI POA SERVER INTERFACE, CONT. ; [8/31/98 2:03pm]
  1. V ;;5.1;IFCAP;;Oct 20, 2000
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. MSG ; ENTER MAILMAN MESSAGE INFORMING WHOMEVER ABOUT PROBLEMS WITH
  1. ; INCOMMING 'POA' TRANSACTION.
  1. ;
  1. N BB,II,L
  1. S XMSUB="IFCAP 'POA' for Purchase Order "_$G(CC)
  1. S XMDUZ="IFCAP 'POA' SERVER"
  1. F I=1:1:5 D XMZ^XMA2 Q:XMZ>0
  1. I I=5,XMZ<1 Q ;MIGHT NEED TO REDO 'GET^XMA2' IF I=5 AND THERE IS NO XMZ.
  1. I $G(ERR("SEG"))]"" S ^XMB(3.9,XMZ,2,1,0)="The "_A_" segment is not found in the POA transaction.",^XMB(3.9,XMZ,2,2,0)="Contact the EDI HELP DESK in Austin about this transaction.",L=3 G SEND
  1. I $G(ERR("STATION"))]"" S ^XMB(3.9,XMZ,2,1,0)="The "_STATION_" site listed in the POA transaction can not be found",^XMB(3.9,XMZ,2,2,0)="in the IFCAP ADMIN ACTIVITY SITE PARAMETER file.",L=3 G SEND
  1. I $G(ERR("RECORD"))]"" S ^XMB(3.9,XMZ,2,1,0)="Record "_CC_", "_$C(34)_"PHA"_$C(34)_", "_VENDOR_" was not found in file 443.75.",L=2 G SEND
  1. I $G(ERR("VENDOR"))]"" S ^XMB(3.9,XMZ,2,1,0)="Record "_CC_" does not have a VENDOR ID number.",L=2 G SEND
  1. S M1=""
  1. S L=1
  1. F S M1=$O(ERR(CC,M1)) Q:M1="" I ERR(CC,M1)]"" D
  1. . I M1=0,$P(ERR(CC,M1),U)]"" S ^XMB(3.9,XMZ,2,L,0)="Purchase Order Acknowledgment "_CC_" was not found in the PO file.",L=L+1
  1. . I M1>0,$P(ERR(CC,M1),U,2,99)]"" F II=2:1:13 S BB=$P(ERR(CC,M1),U,II) I BB]"" D
  1. . . I II=2 S ^XMB(3.9,XMZ,2,L,0)="Item "_M1_" was not found in PO "_CC_".",L=L+1 Q
  1. . . I II=3 S ^XMB(3.9,XMZ,2,L,0)="The Vendor Stock Number wasn't found in item "_M1_".",L=L+1 Q
  1. . . I II=5 S ^XMB(3.9,XMZ,2,L,0)="There is no quantity listed for item "_M1_".",L=L+1 Q
  1. . . I II=6 S ^XMB(3.9,XMZ,2,L,0)="There is no Unit of Purchase listed for item "_M1_".",L=L+1 Q
  1. . . I II=7 S ^XMB(3.9,XMZ,2,L,0)="There is no Unit Cost listed for item "_M1_".",L=L+1 Q
  1. . . I II=9 S ^XMB(3.9,XMZ,2,L,0)="The Vendor Stock Number from the POA doesn't match the one from item "_M1_".",L=L+1 Q
  1. . . I II=10 S ^XMB(3.9,XMZ,2,L,0)="The Quantity listed in the POA doesn't match the one listed in item "_M1_".",L=L+1 Q
  1. . . I II=11 S ^XMB(3.9,XMZ,2,L,0)="The Unit of Purchase listed in the POA doesn't match the one in item "_M1_".",L=L+1 Q
  1. . . I II=12 S ^XMB(3.9,XMZ,2,L,0)="The Unit Cost listed in the POA doesn't match the one in item "_M1_".",L=L+1 Q
  1. . . I II=13 S ^XMB(3.9,XMZ,2,L,0)="The POA for PO "_CC_" is missing a line item number.",L=L+1 Q
  1. . . Q
  1. . Q
  1. Q:L=1
  1. ;
  1. SEND ; COME HERE TO SEND THE MAILMAN MESSAGE BUILT UP IN 'MSG' ABOVE.
  1. S L=L-1
  1. S ^XMB(3.9,XMZ,2,0)="^3.9A^"_L_"^"_L_"^"_DT
  1. S XMDUN="IFCAP 'POA' PROBLEM"
  1. S X="G.EDP"
  1. D WHO^XMA21
  1. S:'$L($O(XMY(""))) XMY(.5)=""
  1. S:$G(PPM)]"" XMY(PPM)=""
  1. D ENT1^XMD
  1. K XMY
  1. Q
  1. ;
  1. BUL ; THIS BULLETIN WILL NOTIFY THAT A 'POA' TRANSACTION HAS ARRIVED
  1. ; FROM AUSTIN.
  1. N XMDUZ,XMB,DATE,X,Y,XMB,%,%DT
  1. S XMDUZ="POA Server Interface"
  1. S XMB="PRCOEDI ACKNOWLEDGE"
  1. D NOW^%DTC
  1. S Y=%
  1. S %DT="S"
  1. D DD^%DT
  1. S XMB(3)=$P(Y,"@")
  1. S XMB(4)=$P(Y,"@",2)
  1. S XMB(5)=CC
  1. S DATE=$P(LINE,U,5)
  1. S X1=$E(DATE,1,4)-1700_"0101"
  1. S X2=+$E(DATE,5,7)-1
  1. D C^%DTC
  1. S Y=X_"."_$P(LINE,U,6)
  1. D DD^%DT
  1. S XMB(1)=Y
  1. S XMB(2)=$P(LINE,U,3)
  1. S XMY(PPM)=""
  1. D ^XMB
  1. Q
  1. ;
  1. DATE(DATE) ; THIS EXTRINSIC FUNCTION WILL RETURN THE DATE IN YYYYJJJ FORMAT
  1. ; WHERE YYYY IS 4 DIGIT YEAR AND JJJ IS THE DAY OF THE YEAR.
  1. ;
  1. ; THE INPUT PARAMETER, DATE, IS THE DATE TO CONVERT ENTERED IN
  1. ; VA FILEMAN FORMAT WITHOUT ANY TIME. THE DATE MUST CONTAIN
  1. ; YEAR, MONTH AND DAY.
  1. ;
  1. N X,%Y
  1. S X1=DATE
  1. S X2=$E(DATE,1,3)_"0101"
  1. D ^%DTC
  1. S X=X+1
  1. S X="000"_X
  1. S X=$E(X,$L(X)-2,99)
  1. Q $E(DATE,1,3)+1700_X
  1. ;
  1. TEXT(ENTRY,M1,CC) ; HOW TO RETRIEVE TEXT OF ERROR LISTINGS AND INCLUDE IN
  1. ; THEM THE
  1. ; 'LINE ITEM NUMBER' ALONG WITH THE 'PURCHASE ORDER NUMBER' AS
  1. ; NEEDED.
  1. ;
  1. ; Call this entry as an EXTRINSIC FUNCTION call.
  1. ; S AA=$$TEXT^PRCOESE1(ENTRY,M1,CC)
  1. ;
  1. ; On completion of function call AA will contain the text in PRCOER.
  1. ;
  1. ; INPUT PARAMETERS WHAT THEY MEAN
  1. ; ENTRY THE '^' SEPARATED PIECE THAT HAS A '*'
  1. ; FROM THE ERR(CC,B) ARRAY CREATED IN
  1. ; PRCOESE.
  1. ; M1 THE 'B' FROM THE ARRAY. THE 'LINE
  1. ; ITEM NUMBER' OF THE PO RECORD FROM THE
  1. ; 'POA' TRANSACTION BEING ENTERED.
  1. ; CC THE 'PURCHASE ORDER NUMBER' FROM THE 'POA'
  1. ; TRANSACTION BEING ENTERED.
  1. ;
  1. ; OUTPUT PARAMETER WHAT IT MEANS
  1. ; PRCOER THIS IS THE TEXT FROM 'LINES' WITH 'M1'
  1. ; AND 'CC' REPLACED WITH THEIR VALUES.
  1. ;
  1. N PRCOER
  1. ;
  1. ; POINT TO THE CORRECT LOCATION FOR THE LINE WANTED.
  1. ;
  1. S PRCOER=""
  1. I ENTRY="" Q PRCOER
  1. ;
  1. ; GET THE TEXT WITHIN THE LINE.
  1. ;
  1. S PRCOER=$P($T(LINES+ENTRY),";;",2)
  1. ;
  1. ; NOW LETS RESOLVE ALL VARIAVLES WITHIN THE LINE TO ITS ACTUAL TEXT.
  1. ; START AFTER THE SECOND QUOTATION MARK (") AND REPLACE ALL VARIABLES
  1. ; WITH THE VALUE (TEXT) OF THE VARIABLE.
  1. ;
  1. I PRCOER["_M1_" S PRCOER=$P(PRCOER,"_M1_")_M1_$P(PRCOER,"_M1_",2)
  1. I PRCOER["_CC_" S PRCOER=$P(PRCOER,"_CC_")_CC_$P(PRCOER,"_CC_",2)
  1. Q PRCOER
  1. ;
  1. LINES ;Error messages
  1. ;;
  1. ;;Item _M1_ was not found in PO _CC_.
  1. ;;The Vendor Stock Number wasn't found in item _M1_.
  1. ;;
  1. ;;There is no quantity listed for item _M1_.
  1. ;;There is no Unit of Purchase listed for item _M1_.
  1. ;;There is no Unit Cost listed for item _M1_.
  1. ;;
  1. ;;The Vendor Stock Number from the POA doesn't match the one from item _M1_.
  1. ;;The Quantity listed in the POA doesn't match the one listed in item _M1_.
  1. ;;The Unit of Purchase listed in the POA doesn't match the one in item _M1_.
  1. ;;The Unit Cost listed in the POA doesn't match the one in item _M1_.
  1. ;;The POA for PO _CC_ is missing a line item number.