| 1 | RMPRPIU7 ;HINCIO/ODJ - PIP STOCK RECEIPT UPDATE UTILITY ;3/8/01 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**61**;Feb 09, 1996 | 
|---|
| 3 | Q | 
|---|
| 4 | ; | 
|---|
| 5 | ;***** REC - Create a Stock Receipt Transaction | 
|---|
| 6 | ;            implements business rules for Stock Receipt | 
|---|
| 7 | ;            called by RMPRPIY9 | 
|---|
| 8 | ; | 
|---|
| 9 | ; Inputs: | 
|---|
| 10 | ;    RMPR6 - Transaction (661.6) array elements | 
|---|
| 11 | ;    RMPR6("VENDOR")   - Vendor ien | 
|---|
| 12 | ;    RMPR6("QUANTITY") - Receipt quantity | 
|---|
| 13 | ;    RMPR6("VALUE")    - Total $ value of received quantity | 
|---|
| 14 | ;    RMPR6("COMMENT")  - (optional) comment | 
|---|
| 15 | ; | 
|---|
| 16 | ;    RMPR11 - HCPCS Item (661.11) array elements | 
|---|
| 17 | ;    RMPR11("STATION IEN") | 
|---|
| 18 | ;    RMPR11("HCPCS") | 
|---|
| 19 | ;    RMPR11("ITEM") | 
|---|
| 20 | ; | 
|---|
| 21 | ;    RMPR5 - Location (661.5) array elements | 
|---|
| 22 | ;    RMPR5("IEN") - Location ien (ptr ^RMPR(661.5,) | 
|---|
| 23 | ; | 
|---|
| 24 | ;    RMPR4 | 
|---|
| 25 | ; | 
|---|
| 26 | ; Outputs: | 
|---|
| 27 | ;    RMPR6("IEN") | 
|---|
| 28 | ;    RMPR4("IEN") | 
|---|
| 29 | ;    RMPRERR | 
|---|
| 30 | ; | 
|---|
| 31 | REC(RMPR6,RMPR11,RMPR5) ; | 
|---|
| 32 | N RMPRERR,RMPR6I,RMPR7,RMPR9 | 
|---|
| 33 | S RMPRERR=0 | 
|---|
| 34 | S RMPR6("COMMENT")=$G(RMPR6("COMMENT")) | 
|---|
| 35 | S RMPR6("SEQUENCE")=1 | 
|---|
| 36 | S RMPR6("TRAN TYPE")=1 | 
|---|
| 37 | S RMPR6("LOCATION")=$G(RMPR5("IEN")) | 
|---|
| 38 | S RMPR6("HCPCS")=$G(RMPR11("HCPCS")) | 
|---|
| 39 | S RMPR6("ITEM")=$G(RMPR11("ITEM")) | 
|---|
| 40 | S RMPR6("USER")=$G(DUZ) | 
|---|
| 41 | I RMPR6("QUANTITY")=0 G RECX | 
|---|
| 42 | ; | 
|---|
| 43 | ; Lock current stock to prevent simultaneous access at HCPCS Item level | 
|---|
| 44 | L +^RMPR(661.7,"XSLHIDS",RMPR11("STATION IEN"),RMPR5("IEN"),RMPR11("HCPCS"),RMPR11("ITEM")) | 
|---|
| 45 | ; | 
|---|
| 46 | ; Create 661.6 Transaction record | 
|---|
| 47 | S RMPRERR=$$CRE^RMPRPIX6(.RMPR6,.RMPR11) | 
|---|
| 48 | I RMPRERR S RMPRERR=19 G RECU ;error 19 problem with 661.6 create | 
|---|
| 49 | ; | 
|---|
| 50 | ; Create 661.7 Current Stock record | 
|---|
| 51 | S RMPR7("DATE&TIME")=RMPR6("DATE&TIME") | 
|---|
| 52 | S RMPR7("SEQUENCE")=RMPR6("SEQUENCE") | 
|---|
| 53 | S RMPR7("QUANTITY")=RMPR6("QUANTITY") | 
|---|
| 54 | S RMPR7("VALUE")=RMPR6("VALUE") | 
|---|
| 55 | S RMPR7("LOCATION")=RMPR6("LOCATION") | 
|---|
| 56 | S RMPRERR=$$CRE^RMPRPIX7(.RMPR7,.RMPR11) | 
|---|
| 57 | I RMPRERR S RMPRERR=29 G RECU ;error 29 problem with 661.7 create | 
|---|
| 58 | ; | 
|---|
| 59 | ; Update 661.9 Daily Running Balance record | 
|---|
| 60 | S RMPR9("STA")=RMPR11("STATION") | 
|---|
| 61 | S RMPR9("HCP")=RMPR11("HCPCS") | 
|---|
| 62 | S RMPR9("ITE")=RMPR11("ITEM") | 
|---|
| 63 | S RMPR9("RDT")=$P(RMPR6("DATE&TIME"),".",1) | 
|---|
| 64 | S RMPR9("TQTY")=RMPR6("QUANTITY") | 
|---|
| 65 | S RMPR9("TCST")=RMPR6("VALUE") | 
|---|
| 66 | S RMPRERR=$$UPCR^RMPRPIXJ(.RMPR9) ;error 49 problem with 661.9 update | 
|---|
| 67 | I RMPRERR S RMPRERR=49 G RECU ;error 49 problem with 661.9 update | 
|---|
| 68 | ; | 
|---|
| 69 | ; Update 661.41 orders record | 
|---|
| 70 | S RMPRERR=$$UPORD^RMPRPIU8(RMPR11("STATION IEN"),RMPR11("HCPCS"),RMPR11("ITEM"),RMPR6("QUANTITY"),RMPR6("VENDOR")) | 
|---|
| 71 | I RMPRERR S RMPRERR=59 G RECU ;error 59 problem with Orders update | 
|---|
| 72 | ; | 
|---|
| 73 | ; Exit points | 
|---|
| 74 | RECU L -^RMPR(661.7,"XSLHIDS",RMPR11("STATION IEN"),RMPR5("IEN"),RMPR11("HCPCS"),RMPR11("ITEM")) | 
|---|
| 75 | RECX Q RMPRERR | 
|---|