a month ago - last edited a month ago
Hello.
Our Invoice form has a QR code and CL_ABAP_CHAR_UTILITIES=>CR_LF is concatenated to the barcode string to trigger a carriage return and line feed in between the barcode fields.
On debug mode CL_ABAP_CHAR_UTILITIES=>CR_LF shows hexadecimal value 0D000A00 and it is still present in the concatenated string (hex value = 0033003100300D000A00390032003), but when the QR code printed on the PDF form is scanned, only 0A00 or 0a is captured (attached screenshot of scanned value and converted to hex value). I tried to separate CR and LF by concatenating CL_ABAP_CHAR_UTILITIES=>CR_LF(1) and CL_ABAP_CHAR_UTILITIES=>CR_LF+1(1), scan result shows hex value 0a 0a. Barcode was scanned using a barcode tester software (where we get the converted hex value) and by RF scanner (expected result 2 blank lines in between values but actual result is just 1 blank line in between).
We have a legacy form printed from a non-SAP application with the same QR code, the scanned hex value has 0d 0a, this is from the same barcode test software.
I hope somebody can help me on this. Thanks in advance!
a month ago
It's best to embed the image(s) instead of posting the link(s), and so easy by Ctrl+V (no need to save the file on your laptop and upload it) e.g.:
a month ago
Generally speaking, 0D0A has the same meaning as 0A, both mean ONE "carriage return", 0D0A is used by Windows systems, 0A is used by Linux systems (Newline - Wikipedia). The scanners may propose some settings concerning the interpretation of Newline.
a month ago
Thanks for the tip, Sandra.
I will suggest this change in the settings to our ITS consultant.
a month ago
As our system runs in Linux, does this mean our system is not capable of printing 0D? The reason why this hex value or command is needed, is to trigger the enter or new line function in the scanner device of the customer.
Expected scan output, 2 blank lines in between:
a month ago
No, it's not that simple.
If you want 2 blank lines, there should be three newline = three "carriage returns" i.e. either 0D0A 0D0A 0D0A or 0A 0A 0A, between "310" and "92700".