问题:之前项目上做了一个出库通知单打印的程序,出库通知单中有个备注文本,当用户写了很多的备注信息时,打印到表单上时就会显示不全。
解决方法:一开始以为是定义的字段问题,由CHAR500改成STRING还是不行,SF中高度拉高也是不行,最后问了同事,他说可以用下面的方式去显示:
虽然这种方法可以显示,但是显示时不友好。
最终我想到了一种处理方法:以备注是否超过5行来处理,如果大于5行,就先处理前5行,然后删掉前5行,再处理剩下的几行。
OK,上代码!!!
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'Z001'
language = sy-langu
name = l_name
object = 'ZNHZT_GI'
TABLES
lines = lt_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
len = lines( lt_lines[] ).
IF len > 5.
LOOP AT lt_lines FROM 1 TO 5.
CONCATENATE gv_result1 lt_lines-tdline INTO gv_result1.
ENDLOOP.
DELETE lt_lines FROM 1 TO 5.
LOOP AT lt_lines.
CONCATENATE gv_result2 lt_lines-tdline INTO gv_result2.
ENDLOOP.
ELSE.
LOOP AT lt_lines.
CONCATENATE gv_result1 lt_lines-tdline INTO gv_result1.
ENDLOOP.
ENDIF.
`
网友评论