ABAP表单中获取备注时显示不全的问题

问题:之前项目上做了一个出库通知单打印的程序,出库通知单中有个备注文本,当用户写了很多的备注信息时,打印到表单上时就会显示不全。
解决方法:一开始以为是定义的字段问题,由CHAR500改成STRING还是不行,SF中高度拉高也是不行,最后问了同事,他说可以用下面的方式去显示:

ABAP表单中获取备注时显示不全的问题_第1张图片
image.png

虽然这种方法可以显示,但是显示时不友好。
最终我想到了一种处理方法:以备注是否超过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.
`

你可能感兴趣的:(ABAP表单中获取备注时显示不全的问题)