ABMDWRAP ; IHS/ASDST/DMJ - UTILITY FOR WRAP-AROUND PRINTING ;
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;
; IHS/SD/SDR - v2.5 p8
; Made PRTTXT an EP
;
PRTTXT ; EP - UTIL FOR WRAP-AROUND
S ABMU("TAB")=$S($D(ABMU("TAB")):ABMU("TAB"),1:0),ABMU("LNG")=ABMU("RM")-ABMU("LM")
I $D(ABMU("2TXT")) S ABMU("2TAB")=$S($D(ABMU("2TAB")):ABMU("2TAB"),1:0),ABMU("2LNG")=ABMU("2RM")-ABMU("2LM")
F ABMU("Q")=1:1 Q:(ABMU("TXT")=""!(" "[ABMU("TXT")))&'$D(ABMU("2TXT")) D PRTTXT2
;
XIT K ABMU
Q
;
PRTTXT2 K ABMU("FLG") I $L(ABMU("TXT"))<ABMU("LNG") S ABMU("F")=ABMU("TXT"),ABMU("TXT")="" G PRTTXT3
S ABMU("FLG")="" F ABMU("C")=ABMU("LNG"):-1:1 S ABMU("L")=$E(ABMU("TXT"),ABMU("C")) Q:ABMU("L")=" "!(ABMU("L")="-")!(ABMU("L")="\")!(ABMU("L")=",")!(ABMU("L")="/")
S ABMU("F")=$E(ABMU("TXT"),1,ABMU("C")-1),ABMU("TXT")=$E(ABMU("TXT"),ABMU("C")+1,255)
K:" "[ABMU("TXT") ABMU("FLG")
;
PRTTXT3 I $D(ABMU("2TXT")) D 2
W ?ABMU("LM"),ABMU("F") I $D(ABMU("2TXT")) W ?ABMU("2LM"),ABMU("2F")
I ABMU("Q")=1 F ABMU("I")=1:1 Q:'$D(ABMU(ABMU("I"))) W @$P(ABMU(ABMU("I")),U),$P(ABMU(ABMU("I")),U,2)
W:$D(ABMU("FLG")) ! S ABMU("LM")=ABMU("LM")-ABMU("TAB"),ABMU("LNG")=ABMU("LNG")+ABMU("TAB"),ABMU("TAB")=0
I $D(ABMU("2TXT")) S ABMU("2LM")=ABMU("2LM")-ABMU("2TAB"),ABMU("2LNG")=ABMU("2LNG")+ABMU("2TAB"),ABMU("2TAB")=0
Q
;
2 I ABMU("2TXT")=""!(" "[ABMU("2TXT")) K ABMU("2TXT") Q
I $L(ABMU("2TXT"))<ABMU("2LNG") S ABMU("2F")=ABMU("2TXT"),ABMU("2TXT")="" Q
S ABMU("FLG")="" F ABMU("2C")=ABMU("2LNG"):-1:1 S ABMU("2L")=$E(ABMU("2TXT"),ABMU("2C")) Q:ABMU("2L")=" "!(ABMU("2L")="-")
S ABMU("2F")=$E(ABMU("2TXT"),1,ABMU("2C")-1),ABMU("2TXT")=$E(ABMU("2TXT"),ABMU("2C")+1,255)
Q
LNG ;EP FOR WRAP-AROUND FOR FIXED LENGTH
S ABMU("TAB")=$S($D(ABMU("TAB")):ABMU("TAB"),1:0)
F ABMU("Q")=1:1:(ABMU+1) Q:(ABMU("TXT")=""!(" "[ABMU("TXT"))) D LNG2
Q
;
LNG2 K ABMU("FLG") I $L(ABMU("TXT"))<ABMU("LNG")!(ABMU("Q")=ABMU) S ABMU("F")=ABMU("TXT"),ABMU("TXT")="" G LNG3
S ABMU("FLG")="" F ABMU("C")=ABMU("LNG")+1:-1:1 S ABMU("L")=$E(ABMU("TXT"),ABMU("C")) Q:ABMU("L")=" "!(ABMU("L")="-")!(ABMU("L")="\")!(ABMU("L")=",")!(ABMU("L")="/")
S ABMU("F")=$E(ABMU("TXT"),1,ABMU("C")-1)
I ABMU("F")]"" S ABMU("TXT")=$E(ABMU("TXT"),ABMU("C")+1,255)
E S ABMU("F")=$E(ABMU("TXT"),1,ABMU("LNG")),ABMU("TXT")=$S($P(ABMU("TXT")," ",2,99)]"":$P(ABMU("TXT")," ",2,99),1:$E(ABMU("TXT"),ABMU("LNG")+1,256))
K:" "[ABMU("TXT") ABMU("FLG")
;
LNG3 S ABMU(ABMU("Q"))=ABMU("F")
S ABMU("LNG")=ABMU("LNG")+ABMU("TAB"),ABMU("TAB")=0
Q
ABMDWRAP ; IHS/ASDST/DMJ - UTILITY FOR WRAP-AROUND PRINTING ;
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;
+3 ; IHS/SD/SDR - v2.5 p8
+4 ; Made PRTTXT an EP
+5 ;
PRTTXT ; EP - UTIL FOR WRAP-AROUND
+1 SET ABMU("TAB")=$SELECT($DATA(ABMU("TAB")):ABMU("TAB"),1:0)
SET ABMU("LNG")=ABMU("RM")-ABMU("LM")
+2 IF $DATA(ABMU("2TXT"))
SET ABMU("2TAB")=$SELECT($DATA(ABMU("2TAB")):ABMU("2TAB"),1:0)
SET ABMU("2LNG")=ABMU("2RM")-ABMU("2LM")
+3 FOR ABMU("Q")=1:1
IF (ABMU("TXT")=""!(" "[ABMU("TXT")))&'$DATA(ABMU("2TXT"))
QUIT
DO PRTTXT2
+4 ;
XIT KILL ABMU
+1 QUIT
+2 ;
PRTTXT2 KILL ABMU("FLG")
IF $LENGTH(ABMU("TXT"))<ABMU("LNG")
SET ABMU("F")=ABMU("TXT")
SET ABMU("TXT")=""
GOTO PRTTXT3
+1 SET ABMU("FLG")=""
FOR ABMU("C")=ABMU("LNG"):-1:1
SET ABMU("L")=$EXTRACT(ABMU("TXT"),ABMU("C"))
IF ABMU("L")=" "!(ABMU("L")="-")!(ABMU("L")="\")!(ABMU("L")=",")!(ABMU("L")="/")
QUIT
+2 SET ABMU("F")=$EXTRACT(ABMU("TXT"),1,ABMU("C")-1)
SET ABMU("TXT")=$EXTRACT(ABMU("TXT"),ABMU("C")+1,255)
+3 IF " "[ABMU("TXT")
KILL ABMU("FLG")
+4 ;
PRTTXT3 IF $DATA(ABMU("2TXT"))
DO 2
+1 WRITE ?ABMU("LM"),ABMU("F")
IF $DATA(ABMU("2TXT"))
WRITE ?ABMU("2LM"),ABMU("2F")
+2 IF ABMU("Q")=1
FOR ABMU("I")=1:1
IF '$DATA(ABMU(ABMU("I")))
QUIT
WRITE @$PIECE(ABMU(ABMU("I")),U),$PIECE(ABMU(ABMU("I")),U,2)
+3 IF $DATA(ABMU("FLG"))
WRITE !
SET ABMU("LM")=ABMU("LM")-ABMU("TAB")
SET ABMU("LNG")=ABMU("LNG")+ABMU("TAB")
SET ABMU("TAB")=0
+4 IF $DATA(ABMU("2TXT"))
SET ABMU("2LM")=ABMU("2LM")-ABMU("2TAB")
SET ABMU("2LNG")=ABMU("2LNG")+ABMU("2TAB")
SET ABMU("2TAB")=0
+5 QUIT
+6 ;
2 IF ABMU("2TXT")=""!(" "[ABMU("2TXT"))
KILL ABMU("2TXT")
QUIT
+1 IF $LENGTH(ABMU("2TXT"))<ABMU("2LNG")
SET ABMU("2F")=ABMU("2TXT")
SET ABMU("2TXT")=""
QUIT
+2 SET ABMU("FLG")=""
FOR ABMU("2C")=ABMU("2LNG"):-1:1
SET ABMU("2L")=$EXTRACT(ABMU("2TXT"),ABMU("2C"))
IF ABMU("2L")=" "!(ABMU("2L")="-")
QUIT
+3 SET ABMU("2F")=$EXTRACT(ABMU("2TXT"),1,ABMU("2C")-1)
SET ABMU("2TXT")=$EXTRACT(ABMU("2TXT"),ABMU("2C")+1,255)
+4 QUIT
LNG ;EP FOR WRAP-AROUND FOR FIXED LENGTH
+1 SET ABMU("TAB")=$SELECT($DATA(ABMU("TAB")):ABMU("TAB"),1:0)
+2 FOR ABMU("Q")=1:1:(ABMU+1)
IF (ABMU("TXT")=""!(" "[ABMU("TXT")))
QUIT
DO LNG2
+3 QUIT
+4 ;
LNG2 KILL ABMU("FLG")
IF $LENGTH(ABMU("TXT"))<ABMU("LNG")!(ABMU("Q")=ABMU)
SET ABMU("F")=ABMU("TXT")
SET ABMU("TXT")=""
GOTO LNG3
+1 SET ABMU("FLG")=""
FOR ABMU("C")=ABMU("LNG")+1:-1:1
SET ABMU("L")=$EXTRACT(ABMU("TXT"),ABMU("C"))
IF ABMU("L")=" "!(ABMU("L")="-")!(ABMU("L")="\")!(ABMU("L")=",")!(ABMU("L")="/")
QUIT
+2 SET ABMU("F")=$EXTRACT(ABMU("TXT"),1,ABMU("C")-1)
+3 IF ABMU("F")]""
SET ABMU("TXT")=$EXTRACT(ABMU("TXT"),ABMU("C")+1,255)
+4 IF '$TEST
SET ABMU("F")=$EXTRACT(ABMU("TXT"),1,ABMU("LNG"))
SET ABMU("TXT")=$SELECT($PIECE(ABMU("TXT")," ",2,99)]"":$PIECE(ABMU("TXT")," ",2,99),1:$EXTRACT(ABMU("TXT"),ABMU("LNG")+1,256))
+5 IF " "[ABMU("TXT")
KILL ABMU("FLG")
+6 ;
LNG3 SET ABMU(ABMU("Q"))=ABMU("F")
+1 SET ABMU("LNG")=ABMU("LNG")+ABMU("TAB")
SET ABMU("TAB")=0
+2 QUIT