1 | BPSOSU9 ;BHAM ISC/FCS/DRS/FLS - copied for ECME ;06/01/2004
|
---|
2 | ;;1.0;E CLAIMS MGMT ENGINE;**1**;JUN 2004
|
---|
3 | ;----------------------------------------------------------------------
|
---|
4 | ;----------------------------------------------------------------------
|
---|
5 | ;Standard W and String Formatting Functions
|
---|
6 | ;----------------------------------------------------------------------
|
---|
7 | WCENTER(TEXT,IOM,UL) ;EP
|
---|
8 | S:$G(IOM)="" IOM=80
|
---|
9 | W ?IOM-$L(TEXT)/2,TEXT,!
|
---|
10 | I $G(UL) W ?IOM-$L(TEXT)/2,$TR($J("",$L(TEXT))," ","-"),!
|
---|
11 | Q
|
---|
12 | ;----------------------------------------------------------------------
|
---|
13 | ;W Standard Underlined HEADER
|
---|
14 | WHEADER(TEXT,IOF,IOM) ;EP
|
---|
15 | Q:$G(TEXT)=""
|
---|
16 | S:$G(IOF)="" IOF="#"
|
---|
17 | S:$G(IOM)="" IOM=80
|
---|
18 | W @IOF,!
|
---|
19 | D WCENTER(TEXT,IOM)
|
---|
20 | D WCENTER($TR($J("",$L(TEXT))," ","-"),IOM)
|
---|
21 | Q
|
---|
22 | ;----------------------------------------------------------------------
|
---|
23 | ;W Column HEADERs (with option to underline)
|
---|
24 | WCOLUMNS(INDENT,COLDEFS,CNAMES,ULINE) ;EP
|
---|
25 | N CHEAD1,CHEAD2,INDEX,CDEF
|
---|
26 | Q:$G(CNAMES)=""
|
---|
27 | S:$G(INDENT)="" INDENT=0
|
---|
28 | S:$G(COLDEFS)="" COLDEFS=2
|
---|
29 | S:$G(ULINE)="" ULINE=1
|
---|
30 | ;
|
---|
31 | S COLDEFS=$J("",COLDEFS)
|
---|
32 | S (CHEAD1,CHEAD2)=""
|
---|
33 | F INDEX=1:1:$L(CNAMES,",") D
|
---|
34 | .S CDEF=$P(CNAMES,",",INDEX)
|
---|
35 | .S CHEAD1=CHEAD1_$S(INDEX=1:"",1:COLDEFS)_$$LJBF($P(CDEF,":",1),$P(CDEF,":",2))
|
---|
36 | .S:ULINE CHEAD2=CHEAD2_$S(INDEX=1:"",1:COLDEFS)_$TR($J("",$P(CDEF,":",2))," ","-")
|
---|
37 | W ?INDENT,CHEAD1,!
|
---|
38 | W:ULINE ?INDENT,CHEAD2,!
|
---|
39 | Q
|
---|
40 | ;----------------------------------------------------------------------
|
---|
41 | WDATA(INDENT,COLDEFS,VNAMES) ;EP
|
---|
42 | N INDEX,DEF,DLINE,VAR,LEN
|
---|
43 | Q:$G(VNAMES)=""
|
---|
44 | S:$G(INDENT)="" INDENT=0
|
---|
45 | S:$G(COLDEFS)="" COLDEFS=2
|
---|
46 | ;
|
---|
47 | S COLDEFS=$J("",COLDEFS)
|
---|
48 | S DLINE=""
|
---|
49 | F INDEX=1:1:$L(VNAMES,",") D
|
---|
50 | .S DEF=$P(VNAMES,",",INDEX)
|
---|
51 | .S VAR=$P(DEF,":",1)
|
---|
52 | .S LEN=$P(DEF,":",2)
|
---|
53 | .S DLINE=DLINE_$S(INDEX=1:"",1:COLDEFS)_$$LJBF($S(VAR="":"",1:$G(@VAR)),LEN)
|
---|
54 | W ?INDENT,DLINE,!
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | ;----------------------------------------------------------------------
|
---|
58 | ;Left justifies and blank fills
|
---|
59 | LJBF(X,L) ;EP
|
---|
60 | Q $E(X_$J("",L-$L(X)),1,L)
|
---|
61 | ;----------------------------------------------------------------------
|
---|
62 | ;Right justifies and blank fills
|
---|
63 | RJBF(X,L) ;EP
|
---|
64 | Q $E($J("",L-$L(X))_X,1,L)
|
---|
65 | ;----------------------------------------------------------------------
|
---|
66 | ;CENTER justifies and blank fills
|
---|
67 | CJBF(X,L) ;
|
---|
68 | Q $$LJBF($E($J("",(L-$L(X))\2)_X,1,L),L)
|
---|
69 | ;----------------------------------------------------------------------
|
---|
70 | ;Convert lower case characters to upper case characters
|
---|
71 | UCASE(X) ;EP
|
---|
72 | Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
73 | ;----------------------------------------------------------------------
|
---|
74 | ;Convert upper case characters to lower case characters
|
---|
75 | LCASE(X) ;
|
---|
76 | Q $TR(X,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
|
---|
77 | ;----------------------------------------------------------------------
|
---|
78 | ;Delete leading and trailing blanks
|
---|
79 | CLIP(X) ;EP
|
---|
80 | F D Q:$E(X,1)'=" "
|
---|
81 | .S:$E(X,1)=" " X=$E(X,2,$L(X))
|
---|
82 | F D Q:$E(X,$L(X))'=" "
|
---|
83 | .S:$E(X,$L(X))=" " X=$E(X,1,$L(X)-1)
|
---|
84 | Q X
|
---|