Abap SAP Smartforms动态更改某些项目的位置

Abap SAP Smartforms动态更改某些项目的位置,abap,sap-smart-forms,Abap,Sap Smart Forms,所以我得到了这个文本,我事先不知道它的长度,因为它取决于内部表中有多少条目(见下文)。该表在我的报告中提供给Smartforms FM。文本本身可以与动态文本变量配合使用,但在该文本下我需要一条水平线。该行必须始终位于文本的正下方。到目前为止,我只得到了一条固定位置的线,这并没有得到我想要的结果 如果可能,如何根据文本的长度改变行的位置?以便无论文本有多少行,它始终位于文本的正下方 必须有一个主窗口,其中包含文本元素,后跟水平线的虚拟模板元素(一个空白单元格,顶部水平边框为黑色,其他边框为透

所以我得到了这个文本,我事先不知道它的长度,因为它取决于内部表中有多少条目(见下文)。该表在我的报告中提供给Smartforms FM。文本本身可以与动态文本变量配合使用,但在该文本下我需要一条水平线。该行必须始终位于文本的正下方。到目前为止,我只得到了一条固定位置的线,这并没有得到我想要的结果


如果可能,如何根据文本的长度改变行的位置?以便无论文本有多少行,它始终位于文本的正下方



必须有一个主窗口,其中包含文本元素,后跟水平线的虚拟模板元素(一个空白单元格,顶部水平边框为黑色,其他边框为透明)

通过关联菜单创建模板元素:

绘制边框(这里我“稍微”夸大了比例):

预览结果:


所说的“文本下的水平线”是指带下划线的文本吗?@Jagger不是,我指的是在一段文本下的水平线,以便将其与页面上的另一段分隔开来。我认为这是可能的,但我目前无法访问SAP系统。你看到讨论了吗?@Jagger我试着按上面描述的那样做,但没有达到预期效果。@Suimon你必须有一个主窗口,其中包含文本元素,后跟一个用于水平线的虚拟模板元素(一个空单元格,顶部水平边框为黑色,其他边框为透明)。如何创建虚拟模板元素?@Suimon创建任何其他元素时,其中一个元素名为“Template”。再查一遍,对不起,我不明白。这应该是什么类型的元素?我在回答中添加了一个图像,我想你不会是唯一一个想知道的;-)我的错,对不起!我很困惑,因为我用的是我的母语SAP,而图片是英文的。现在知道了,谢谢!
DATA: l_string TYPE string,
      lt_stream_lines TYPE STANDARD TABLE OF string.

loop at i_tab.
* reading one line of i_tab into l_string.

  APPEND l_string TO lt_stream_lines.
  APPEND '' TO lt_stream_lines.
endloop.

CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
    EXPORTING
      stream_lines = lt_stream_lines
      lf           = 'X'
    TABLES
      itf_text     = gv_text.

* gv_text then has the full text I want to display