| 1 | PRCUFCF ;WISC/SJG-FMS MO2 SEGMENT ;11/29/93  09:45 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ; Routine is modification of PRCFFU2 for conversion processing | 
|---|
| 6 | MO2(NODE,TYCODE) ;BUILD 'MO2' SEGMENT | 
|---|
| 7 | ; .1  - P.O. DATE FROM 442   .01 - NAME FROM 440 | 
|---|
| 8 | ; 5   - VENDOR FROM 442      .06 - FEDERAL SOURCE FROM 440 | 
|---|
| 9 | ; 6.4 - FOB POINT FROM 442   34  - FMS VENDOR CODE FROM 440 | 
|---|
| 10 | ;                            35  - ALT-ADDR-IND FROM 440 | 
|---|
| 11 | MO2A N SEG,FMSYR,FMSMO,FMSDAY,VEND,FMSVENCD,FMSVENNM,FMSPODAT,FMSFOB | 
|---|
| 12 | S (FMSVENID,FMSVENCD,FMSVENNM,FMSFOB)="" | 
|---|
| 13 | S TMPLINE=TMPLINE+1 | 
|---|
| 14 | K PRCTMP N DA S DIC=442,DR=".1;5;6.4",DA=+PO,DIQ="PRCTMP(",DIQ(0)="IE" D EN^DIQ1 K DIC,DIQ,DR | 
|---|
| 15 | MO2B I (TRCODE="MO")&(("^1^3^4^7^8^"[("^"_PRCFA("MP")_"^"))) D | 
|---|
| 16 | .S (BEGDATE,FMSPODAT,PODATE)=$G(PRCTMP(442,+PO,.1,"I")) | 
|---|
| 17 | .D DATE(FMSPODAT,.A,.B,.C) S FMSPODAT=FMSYR_U_FMSMO_U_FMSDAY | 
|---|
| 18 | MO2C I (TRCODE="SO")&(PRCFA("MP")=2) D | 
|---|
| 19 | .S (BEGDATE,FMSPODAT,PODATE)=PRCFA("OBLDATE") | 
|---|
| 20 | .D DATE(FMSPODAT,.A,.B,.C) S FMSPODAT=FMSYR_U_FMSMO_U_FMSDAY | 
|---|
| 21 | MO2D I (TRCODE="SO")&(PRCFA("MP")=21) D | 
|---|
| 22 | .I TYCODE="E" D | 
|---|
| 23 | ..D NOW^%DTC S (BEGDATE,FMSPODAT,PODATE)=$P(%,".") | 
|---|
| 24 | ..S FMSPODAT=$E(PODATE,2,3)_U_$E(PODATE,4,5)_U_$E(PODATE,6,7) | 
|---|
| 25 | ..Q | 
|---|
| 26 | .I TYCODE="M" D | 
|---|
| 27 | ..S (BEGDATE,FMSPODAT,PODATE)=PRCFA("OBLDATE") | 
|---|
| 28 | ..D DATE(FMSPODAT,.A,.B,.C) S FMSPODAT=FMSYR_U_FMSMO_U_FMSDAY | 
|---|
| 29 | ..Q | 
|---|
| 30 | MO2E D | 
|---|
| 31 | .I TYCODE="M" Q:'PRCFA("FOB") | 
|---|
| 32 | .S (FMSFOB,FOB)=$G(PRCTMP(442,+PO,6.4,"I")) | 
|---|
| 33 | .I FOB="" S (FMSFOB,FOB)="D" | 
|---|
| 34 | MO2F D | 
|---|
| 35 | .I TYCODE="M" Q:'PRCFA("VEND") | 
|---|
| 36 | .S VEND=$G(PRCTMP(442,+PO,5,"I")) | 
|---|
| 37 | .I VEND]"" D | 
|---|
| 38 | ..N DA S DIC=440,DR=".01;.06;34;35",DA=+VEND,DIQ="PRCTMP(",DIQ(0)="IE" D EN^DIQ1 K DIC,DIQ,DR | 
|---|
| 39 | ..S FMSVENID=$G(PRCTMP(440,VEND,34,"E")) | 
|---|
| 40 | ..S FMSVENCD=$G(PRCTMP(440,VEND,35,"E")) | 
|---|
| 41 | ..S FMSVENNM=$G(PRCTMP(440,VEND,.01,"E")) | 
|---|
| 42 | ..S FMSVENNM=$E(FMSVENNM,1,30) | 
|---|
| 43 | ..I FMSVENID="" D | 
|---|
| 44 | ...S FMSFED=$G(PRCTMP(440,VEND,.06,"I")) | 
|---|
| 45 | ...S FMSVENID=$S(FMSFED:"MISCG",'FMSFED:"MISCN") | 
|---|
| 46 | .I VEND="" I TRCODE="SO" S FMSVENID="MISCN",(FMSVENCD,FMSVENNM)="" | 
|---|
| 47 | MO2G S SEG="MO2^"_FMSPODAT,$P(SEG,U,10)=TYCODE | 
|---|
| 48 | I FMSVENID]"" S $P(SEG,U,14)=FMSVENID | 
|---|
| 49 | I FMSVENCD]"" S $P(SEG,U,15)=FMSVENCD | 
|---|
| 50 | I (FMSVENID="MISCN")!(FMSVENID="MISCG") I FMSVENNM]"" S $P(SEG,U,16)=FMSVENNM | 
|---|
| 51 | I FMSFOB]"" S $P(SEG,U,24)=FMSFOB | 
|---|
| 52 | S ^TMP($J,"PRCMO",INT,TMPLINE)=SEG_"^~" K PRCTMP | 
|---|
| 53 | Q | 
|---|
| 54 | ; | 
|---|
| 55 | DATE(X,A,B,C) ; | 
|---|
| 56 | S FMSYR=$E(X,2,3),FMSMO=$E(X,4,5),FMSDAY=$E(X,6,7) | 
|---|
| 57 | Q | 
|---|
| 58 | DATE1(X) ; | 
|---|
| 59 | Q $E(X,4,5)_$E(X,6,7)_$E(X,2,3) | 
|---|
| 60 | Q | 
|---|
| 61 | ASKDATE(X) ; | 
|---|
| 62 | N Y,ASKDATE | 
|---|
| 63 | S %DT="AEX",%DT("A")=X D ^%DT | 
|---|
| 64 | S ASKDATE=Y K %DT | 
|---|
| 65 | Q ASKDATE | 
|---|