PRCFFUC ;WISC/SJG-UTILITY ROUTINE FOR HOLD FUNCTIONALITY ;7/24/00 23:13 V ;;5.1;IFCAP;;Oct 20, 2000 ;Per VHA Directive 10-93-142, this routine should not be modified. ; ; This routine handles Hold Functionality processing QUIT CURRENT ; Determine current and user-entered accounting periods N DATE S PARTDT=PRCFA("OBLDATE") D PARTS(PARTDT,.DATE) S (PRCFA("ACCPDCK"),PRCFA("ACCPD"))=DATE S DEFDT=DATEZ D PARTS(DEFDT,.DATE) S PRCFA("CURRENT")=DATE D NOW^%DTC S CURDT=$$DATE^PRC0C(X,"I"),PARTDT=$$DATE^PRC0C(PARTDT,"I"),DEFDT=$$DATE^PRC0C(DEFDT,"I") Q ACCPD ; Prompt for default accounting period N CHKDT,RESP,S1,S2,S3 D K1 S S1=$P(CURDT,U,8),S2=$P(PARTDT,U,8),S3=$S(S1>S2:CURDT,1:PARTDT) S YY=$$TRANS(S3),RESP="YES",DIR(0)="Y" S DIR("A",1)="This FMS document will be transmitted on "_YY_" and will" S DIR("A",2)="affect the accounting period of "_$P(PRCFA("ACCPD"),U,2)_". The Accounting" S DIR("A",3)="Period affected in FMS will be "_$P(PRCFA("ACCPD"),U)_"." S DIR("A",4)=" " I $D(PRCFA("MOD")),$P(PRCFA("MOD"),U)="E" S CHKDT=CURDT I $D(PRCFA("MOD")),$P(PRCFA("MOD"),U)="M" S CHKDT=DEFDT S S1=$E(PRCFA("OBLDATE"),1,5)_"00",S2=$E($P(CHKDT,U,7),1,5)_"00" I S1 fiscal) N DATE S DATE=$$DATE^PRC0C(A,"I") Q $P(DATE,U,9)_$E($P(DATE,U),3,4) MONTH(X,Y) ; Determine external form of month S Y=$P("January^February^March^April^May^June^July^August^September^October^November^December",U,+X) Q Y TRANS(X) ; Returns date in xx/xx/xx format Q $P(X,U,4)_"/"_$P(X,U,5)_"/"_$E($P(X,U,3),3,4) PARTS(AA,BB) ; Breaks out date into components N DATE,CYR,FYR,MO,EXTMO S DATE=$$DATE^PRC0C(AA,"I") S FYR=$P(DATE,U),CYR=$P(DATE,U,3),MO=$P(DATE,U,4),EXTMO=$$MONTH(MO,"") S $P(BB,U)=$P(DATE,U,9)_$E(FYR,3,4),$P(BB,U,2)=EXTMO_" "_CYR S X=$P(BB,U,2) D ^%DT S $P(BB,U,3)=Y Q M1 W ! D EN^DDIOL("No change made to Obligation Processing Date.") Q M2 S EXIT1=1 W ! D EN^DDIOL("No change made to Accounting Period.") Q K1 K DTOUT,DIRUT,DUOUT Q