Index: PROC.mac.rou =================================================================== diff -u -r56936 -r56959 --- PROC.mac.rou (.../PROC.mac.rou) (revision 56936) +++ PROC.mac.rou (.../PROC.mac.rou) (revision 56959) @@ -67,7 +67,7 @@ ; ; Format line FL - NEW OX,RmetTAGS + NEW OX,RZonderTAGS SET (FormattedLine,FieldNbr)="" IF '$DATA(FL(2)) SET FL(2)="" IF FL(2) SET FP=FL(2) WRITE @F If $PIECE(FL(1),"\")?1.2N New D SET D=$CHAR($PIECE(FL(1),"\")),FieldNbr=1 @@ -79,10 +79,12 @@ ELSE IF $PIECE(FieldParameters,U,1)?1.E1"."1.N SET R=$PIECE(FL(3,$PIECE($PIECE(FieldParameters,U,1),".",1)),D,$PIECE($PIECE(FieldParameters,U,1),".",2)) ELSE XECUTE "S R="_$PIECE(FieldParameters,U,1) IF $PIECE(FieldParameters,U,8)'="" SET OX=$GET(X),X=R XECUTE "S R="_$PIECE(FieldParameters,U,8) SET X=OX - IF ((R["�B")||(R["�b")) Set RmetTAGS=R,R=$Replace(R,"�B",""),R=$Replace(R,"�b","") - ELSE SET RmetTAGS="" + IF (((R["�B")||(R["�b")) && FieldLength) { + Set RZonderTAGS=R,RZonderTAGS=$Replace(RZonderTAGS,"�B",""),RZonderTAGS=$Replace(RZonderTAGS,"�b","") + Set FieldLength = FieldLength + ($Length(R) - $Length(RZonderTAGS)) + } FL2 - GOTO FL3:$PIECE(FieldParameters,U,2)'["N" SET FN(1)=R,FN(2)=FieldLength,FN(3)=$PIECE(FieldParameters,U,5),FN(4)=$PIECE(FieldParameters,U,2) ;verwerking numerieke data + GOTO FL3:$PIECE(FieldParameters,U,2)'["N" SET FN(1)=R,FN(2)=$PIECE(FieldParameters,U,4),FN(3)=$PIECE(FieldParameters,U,5),FN(4)=$PIECE(FieldParameters,U,2) ;verwerking numerieke data DO FN FL3 If "\DN\DC\MN\MC\DM\DW\W\J\DKP\DK\DL\"[("\"_$PIECE(FieldParameters,U,2)_"\") SET R=$$EXTDATE^vhLib.DataTypes(R,$PIECE(FieldParameters,U,2)) @@ -100,26 +102,22 @@ ELSE XECUTE "S FLb="_$PIECE(FieldParameters,U,7) IF '$GET(FL(4)),FLb WRITE @FMTB,$$FLATASCI(R),@FMTb,$PIECE(FieldParameters,U,6) GOTO FL6 FL5 - If (RmetTAGS="") { - WRITE $$FLATASCI(R),$PIECE(FieldParameters,U,6) - } ELSE { - Set Positie = 1 - Set Tekst = "" - While Positie <= $Length(RmetTAGS) - { - If ($Extract(RmetTAGS,Positie,Positie+1) = "�B") { - WRITE @FMTB - Set Positie = Positie + 2 - } ElseIf ($Extract(RmetTAGS,Positie,Positie+1) = "�b") { - WRITE @FMTb - Set Positie = Positie + 2 - } Else { - WRITE $Extract(RmetTAGS,Positie,Positie) - Set Positie = Positie + 1 - } + Set Positie = 1 + Set Tekst = "" + While Positie <= $Length(R) + { + If ($Extract(R,Positie,Positie+1) = "�B") { + WRITE @FMTB + Set Positie = Positie + 2 + } ElseIf ($Extract(R,Positie,Positie+1) = "�b") { + WRITE @FMTb + Set Positie = Positie + 2 + } Else { + WRITE $Extract(R,Positie,Positie) + Set Positie = Positie + 1 } - WRITE $PIECE(FieldParameters,U,6) } + WRITE $PIECE(FieldParameters,U,6) FL6 SET FormattedLine=FormattedLine_R_$PIECE(FieldParameters,U,6) GOTO FL1 ;concatinering