- 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