If you are seeing right brackets ] or slashes / in your data, this is because your print program is passing an array of multivalues or sub-multivalues to the bpi.set.tagval2() subroutine and you are placing into a tag name that is not declared to be repeating in your template.

Injecting 8-bit characters such as a multivalue mark (xFD) or sub-multivalue mark (xFC) into a odt file will cause the document to become corrupt and it will not print.  The Blue Prairie Forms api checks a tags value before it replaces the tag placeholder within the template with the value you have passed.  For safety, it will swap all multivalue marks (xFD) with a bracket and all sub-multivalue marks (xFC) with a slash /.  In addition, the API will swap all non printable characters such as control characters or other 8 bit characters with a period.  This prevents document corruption.  If you see unexpected periods, right-brackets or slashes in your data, check your print program to ensure that you are passing the expected data.

Another reason this could occur is if the {repeat} tag within the template has become tainted with formatting markup.  For example, if you are editing the template and you accidently change the markup of part of the {repeat} tag, this can cause Blue Prairie Forms to not recognize the repeat directive.

 

For example, if the repeat tag directive should be this:

{repeat=tr;block=det;increment=12}%d.lineNo%

Note: observe that the tag is in bold but the {repeat} directive is not.

But instead, when you were editing the repeat tag within the cell, you accidentally did this:

{repeat=tr;block=det;increment=12}%d.lineNo%

Note: observe that the tag AND the last part of the word increment=12 is also in bold.

When we accidentally added markup in the middle of our {repeat} tag, it was stored in the Open Office template with markup language in the middle of our repeat tag, so the {repeat} tag, stored internally in the open office template might actually be this:

{repeat=tr;block=det;incre<turnOnBold>ment=12}%d.lineNo%

 

Therefore, one must be very careful when editing tags or {repeat} definitions to ensure that no spurious markup finds its way into the middle of our tag.  When in doubt, highlight the entire directive in the template then choose Format > Clear Direct Formatting from the menu.  Then select the entire tag or {repeat} directive again and apply the markup you wish to have to the entire tag or {repeat} directive instead of just part of it.  This will fix the problem.