| [613] | 1 | IBCEFG6 ;ALB/TMP - OUTPUT FORMATTER MAINT-FORM FLD ACTION PROCESSING ;23-JAN-96 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**52,51**;21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ADD ; Add a new local form fld | 
|---|
|  | 5 | ; Assumes IBCEXDA defined | 
|---|
|  | 6 | N %,IB,IBASSOC,IBDA,IBSEL,IBCOPY,X,Y,DD,DO,DIC,DIE,DR,DA,DLAYGO,LDINUM,DINUM,IBSCREEN | 
|---|
|  | 7 | G:'$G(IBCEXDA) ADDQ | 
|---|
|  | 8 | D FULL^VALM1 | 
|---|
|  | 9 | S IBASSOC=$P($G(^IBE(353,IBCEXDA,2)),U,5) S:IBASSOC=IBCEXDA IBASSOC="" S IBSEL=(IBASSOC'="") | 
|---|
|  | 10 | S IBSCREEN=$P($G(^IBE(353,IBCEXDA,2)),U,2)="S" | 
|---|
|  | 11 | I 'IBASSOC,$O(^IBA(364.6,"B",IBCEXDA,"")) D  G:'IBSEL ADD1 | 
|---|
|  | 12 | .W !,"OVERRIDE AN EXISTING FIELD" S %=2 D YN^DICN | 
|---|
|  | 13 | .I (%+1#3) S IBSEL=1 | 
|---|
|  | 14 | G:'IBSEL ADD1 | 
|---|
|  | 15 | D SEL(.IBDA,1) | 
|---|
|  | 16 | S IB=$O(IBDA("")) G:'IB ADDQ | 
|---|
|  | 17 | ; Associated form - only choose non-associated fld to override | 
|---|
|  | 18 | I IBASSOC,$S('IBSCREEN:$P($G(^IBA(364.6,+IBDA(IB),0)),U,2)'="N",1:0) W !!,"Can Only Over-ride a NATIONAL form field",! D PAUSE^VALM1 S IB=0 G ADDQ | 
|---|
|  | 19 | I 'IBASSOC,$S('IBSCREEN:$P($G(^IBA(364.6,+IBDA(IB),0)),U,3),1:+IBDA(IB)'=$P($G(^IBA(364.6,+IBDA(IB),0)),U,3)) W !!,"Can't Over-ride a form field that is an over-ride itself",! D PAUSE^VALM1 S IB=0 G ADDQ | 
|---|
|  | 20 | I $P($G(^IBA(364.6,+IBDA(IB),0)),U,7)=0 W !!,"Form field definition will not allow override",! D PAUSE^VALM1 S IB=0 G ADDQ | 
|---|
|  | 21 | W !!,"Over-riding Form Field # ",IB," - ",$P($G(^IBA(364.6,+IBDA(IB),0)),U,10) | 
|---|
|  | 22 | W !,"IS THIS OK" S %=2 D YN^DICN | 
|---|
|  | 23 | I '(%+1#3) S IB=0 G ADDQ | 
|---|
|  | 24 | W !,"COPY OVER THE DATA ELEMENT AND OUTPUT FORMAT FROM THE ORIGINAL FLD" S %=1 D YN^DICN | 
|---|
|  | 25 | G:%<0 ADDQ | 
|---|
|  | 26 | S IB=+IBDA(IB) | 
|---|
|  | 27 | S IBCOPY=$S(%+1#3:$O(^IBA(364.7,"B",IB,"")),1:"") | 
|---|
|  | 28 | ADD1 K DO,DD,DINUM | 
|---|
|  | 29 | S DIC="^IBA(364.6,",DIC(0)="L",DLAYGO=364.6,X=IBCEXDA | 
|---|
|  | 30 | S Z=$O(^IBA(364.6,"A"),-1) S:Z<10000 Z=9999 | 
|---|
|  | 31 | F LDINUM=Z+1:1 L +^IBA(364.6,LDINUM):1 I $T S DINUM=LDINUM Q | 
|---|
|  | 32 | S DIC("DR")=".02///L;.07////1;I '$G(IB) S Y=""@10"";.03////"_$G(IB)_";S Y=""@99""" | 
|---|
|  | 33 | S DIC("DR")=DIC("DR")_";@10;.04;I X="""" W !,""MUST HAVE A PAGE/SEQ"" S Y=""@10"";@20;.05;I X="""" W !,""MUST HAVE A FIRST LINE #"" S Y=""@20"";@30;.08;I X="""" W !,""MUST HAVE A STARTING COLUMN"" S Y=""@30"";@99" | 
|---|
|  | 34 | D FILE^DICN | 
|---|
|  | 35 | K DLAYGO,DO,DD,DINUM | 
|---|
|  | 36 | S $P(^IBA(364.6,0),U,3)=$O(^IBA(364.6,9999),-1) L -^IBA(364.6,LDINUM) | 
|---|
|  | 37 | K DIC,DO,DD,DLAYGO | 
|---|
|  | 38 | G:Y<0 ADDQ | 
|---|
|  | 39 | S IBDA=+Y | 
|---|
|  | 40 | ADDQ I $G(IBDA) D EDITL(IBDA,"",1,$G(IBCOPY)),BLD^IBCEFG5 | 
|---|
|  | 41 | S VALMBCK="R" | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | ; | 
|---|
|  | 44 | EDIT ; Edit a local form fld | 
|---|
|  | 45 | N IBEDIT,IBDA,IB | 
|---|
|  | 46 | D FULL^VALM1 | 
|---|
|  | 47 | S IBEDIT=0 | 
|---|
|  | 48 | D SEL(.IBDA) | 
|---|
|  | 49 | S IB=0 F  S IB=$O(IBDA(IB)) Q:'IB  W !!,"Form field: (#",IB,")",$S($P($G(^IBA(364.6,+IBDA(IB),0)),U,10)'="":" - "_$P(^(0),U,10),1:"") D | 
|---|
|  | 50 | .I $P($G(^IBA(364.6,+IBDA(IB),0)),U,2)="N" W " is a NATIONAL form field",! D NOEDIT("EDIT A NATIONAL FIELD FROM") Q | 
|---|
|  | 51 | .D VIEW^IBCEFG61(+IBDA(IB),+$O(^IBA(364.7,"B",+IBDA(IB),""))),EDITL(+IBDA(IB),IB) S IBEDIT=1 | 
|---|
|  | 52 | D:IBEDIT BLD^IBCEFG5 | 
|---|
|  | 53 | S VALMBCK="R" | 
|---|
|  | 54 | Q | 
|---|
|  | 55 | ; | 
|---|
|  | 56 | EDITL(DA,FLD,NOASK,IBCOPY) ; Edit a local form fld #FLD in display whose ien is DA | 
|---|
|  | 57 | ; NOASK = 1, don't ask, just do it | 
|---|
|  | 58 | ; IBCOPY = IFN of entry in file 364.7 whose data element and format code | 
|---|
|  | 59 | ;          should be copied into this new entry | 
|---|
|  | 60 | S DIE="^IBA(364.6,",DR="[IBCE ADD/EDIT LOCAL FORM FIELD]" D ^DIE | 
|---|
|  | 61 | I '$G(NOASK) W !!,$S($D(^IBA(364.7,"B",DA)):"EDIT",1:"ADD")," FORM FIELD",$S($G(FLD):" #"_FLD,1:""),"'S CONTENT DEFINITION NOW" S %=2 D YN^DICN | 
|---|
|  | 62 | I $G(NOASK) W !!,"...Please define CONTENT of field...",! S %=1 | 
|---|
|  | 63 | D:(%+1#3) CONTENT(DA,$G(IBCOPY)) | 
|---|
|  | 64 | Q | 
|---|
|  | 65 | ; | 
|---|
|  | 66 | VIEWF(IBDA) ; | 
|---|
|  | 67 | D SEL(.IBDA) | 
|---|
|  | 68 | D FULL^VALM1 | 
|---|
|  | 69 | S IBDA=0 F  S IBDA=$O(IBDA(IBDA)) Q:'IBDA  W !!,"Definition of Form Field: (#",IBDA,")",$S($P($G(^IBA(364.6,+IBDA(IBDA),0)),U,10)'="":" - "_$P(^(0),U,10),1:"") D | 
|---|
|  | 70 | .D VIEW^IBCEFG61(+IBDA(IBDA),+$O(^IBA(364.7,"B",+IBDA(IBDA),""))),PAUSE^VALM1 | 
|---|
|  | 71 | ;I IBCONT D BLD^IBCEFG5 | 
|---|
|  | 72 | S VALMBCK="R" | 
|---|
|  | 73 | Q | 
|---|
|  | 74 | ; | 
|---|
|  | 75 | CONTENT(IBDA,IBCOPY) ; Add/edit form fld definition content | 
|---|
|  | 76 | ; IBDA = corresponding entry in file 364.6 for definition being | 
|---|
|  | 77 | ;    added/edited.  If null, ask for selections from current screen | 
|---|
|  | 78 | ; IBCOPY = IFN of entry in file 364.7 whose data element and format code | 
|---|
|  | 79 | ;          should be copied into this new entry | 
|---|
|  | 80 | N IBCONT,DIPA | 
|---|
|  | 81 | D FULL^VALM1 | 
|---|
|  | 82 | S IBCONT=0 | 
|---|
|  | 83 | I $G(IBDA) D CONTED(IBDA,.IBCONT,$G(IBCOPY)) G CONTQ | 
|---|
|  | 84 | D SEL(.IBDA) | 
|---|
|  | 85 | S IBDA=0 F  S IBDA=$O(IBDA(IBDA)) Q:'IBDA  W !!,"Defining content of form field: (#",IBDA,")",$S($P($G(^IBA(364.6,+IBDA(IBDA),0)),U,10)'="":" - "_$P(^(0),U,10),1:"") D | 
|---|
|  | 86 | .I $P($G(^IBA(364.6,+IBDA(IBDA),0)),U,2)="N" W " is a NATIONAL form field",! D NOEDIT("EDIT A NATIONAL FIELD FROM") Q | 
|---|
|  | 87 | .D VIEW^IBCEFG61(+IBDA(IBDA),+$O(^IBA(364.7,"B",+IBDA(IBDA),""))),CONTED(+IBDA(IBDA),.IBCONT) | 
|---|
|  | 88 | CONTQ I IBCONT D BLD^IBCEFG5 | 
|---|
|  | 89 | S VALMBCK="R" | 
|---|
|  | 90 | Q | 
|---|
|  | 91 | ; | 
|---|
|  | 92 | CONTED(IBDA,IBCONT,IBCOPY) ; Edit definition for ien IBDA | 
|---|
|  | 93 | ; IBDA = file 364.6 entry whose definition is being edited | 
|---|
|  | 94 | ; IBCONT = flag returned as 1 if a new associated form fld created, | 
|---|
|  | 95 | ;    forcing a regeneration of the display | 
|---|
|  | 96 | ; IBCOPY = IFN of entry in file 364.7 whose data element and format code | 
|---|
|  | 97 | ;          should be copied into this new entry | 
|---|
|  | 98 | N IBCECDA,DIC,DD,DO,DINUM,LDINUM,X,Y,Z | 
|---|
|  | 99 | S IBCECDA=$O(^IBA(364.7,"B",IBDA,"")) | 
|---|
|  | 100 | I IBCECDA="" D  S:IBCECDA IBCONT=1 | 
|---|
|  | 101 | .K DO,DD,DINUM | 
|---|
|  | 102 | .S DIC="^IBA(364.7,",DIC(0)="L",DLAYGO=364.7,DIC("DR")=".02////L;.07////N",X=IBDA | 
|---|
|  | 103 | .I $G(IBCOPY) S DIC("DR")=DIC("DR")_";.03////"_$P($G(^IBA(364.7,IBCOPY,0)),U,3) | 
|---|
|  | 104 | .S Z=$O(^IBA(364.7,"A"),-1) S:Z<10000 Z=9999 | 
|---|
|  | 105 | .F LDINUM=Z+1:1 L +^IBA(364.7,LDINUM):1 I $T S DINUM=LDINUM Q | 
|---|
|  | 106 | .D FILE^DICN | 
|---|
|  | 107 | .S $P(^IBA(364.7,0),U,3)=$O(^IBA(364.7,9999),-1) L -^IBA(364.7,LDINUM) | 
|---|
|  | 108 | .K DIC,DO,DD,DINUM,DLAYGO | 
|---|
|  | 109 | .S:Y>0 IBCECDA=+Y | 
|---|
|  | 110 | .I $G(IBCOPY) S ^IBA(364.7,+Y,1)=$G(^IBA(364.7,IBCOPY,1)) M ^IBA(364.7,+Y,3)=^IBA(364.7,IBCOPY,3) | 
|---|
|  | 111 | Q:'IBCECDA | 
|---|
|  | 112 | ED1 S DA=IBCECDA,DIE="^IBA(364.7,",DR="[IBCE EDIT FIELD CONTENT]" D ^DIE | 
|---|
|  | 113 | I $$EDCHK^IBCEFG60(IBCECDA) G ED1 ;Do edit checks,re-edit if indicated | 
|---|
|  | 114 | Q | 
|---|
|  | 115 | ; | 
|---|
|  | 116 | VIEWEL(IBBASE) ; View a data element | 
|---|
|  | 117 | ; IBBASE = ien of the base file for the element to be viewed | 
|---|
|  | 118 | ;    if undef - any element can be selected | 
|---|
|  | 119 | N DIC,Y,IBBASE | 
|---|
|  | 120 | D FULL^VALM1 | 
|---|
|  | 121 | W !! | 
|---|
|  | 122 | I $G(IBCEXDA) S IBBASE=+$G(^IBE(353,IBCEXDA,2)) | 
|---|
|  | 123 | S:$G(IBBASE) DIC("S")="I $P(^(0),U,5)="_IBBASE S DIC="^IBA(364.5,",DIC(0)="AEMQ",DIC("A")="Select a DATA ELEMENT: " D ^DIC K DIC | 
|---|
|  | 124 | I Y>0 D VIEWE^IBCEFG61(+Y),PAUSE^VALM1 | 
|---|
|  | 125 | VIEWELQ S VALMBCK="R" | 
|---|
|  | 126 | Q | 
|---|
|  | 127 | ; | 
|---|
|  | 128 | NOEDIT(FUNC,FLD) ; Write NO CHANGE msg for associated flds | 
|---|
|  | 129 | I $G(FLD) W !,"FORM FIELD #: ",FLD | 
|---|
|  | 130 | W !,*7,"YOU CANNOT ",FUNC," A NATIONALLY ASSOCIATED LOCAL FORM",!," - REDEFINE THE FIELD'S CONTENT BY USING A LOCAL FORM FIELD TO OVERRIDE" | 
|---|
|  | 131 | D PAUSE^VALM1 | 
|---|
|  | 132 | Q | 
|---|
|  | 133 | ; | 
|---|
|  | 134 | FNL ; Clean up | 
|---|
|  | 135 | K ^TMP("IBCEDEFDX",$J) | 
|---|
|  | 136 | D CLEAN^VALM10 | 
|---|
|  | 137 | Q | 
|---|
|  | 138 | ; | 
|---|
|  | 139 | SEL(IBDA,ONE) ; Select form fld entries from list | 
|---|
|  | 140 | D EN^VALM2($G(XQORNOD(0)),$S('$G(ONE):"",1:"S")) | 
|---|
|  | 141 | S IBDA=0 F  S IBDA=$O(VALMY(IBDA)) Q:'IBDA  S IBDA(IBDA)=+$P($G(^TMP("IBCEFLDDX",$J,IBDA)),U,2) | 
|---|
|  | 142 | Q | 
|---|
|  | 143 | ; | 
|---|