ABAP-----ALV工作记录随笔(1)

ALV---长文本的使用。

在实际的公司业务中,往往有这样的需求:需要相关岗位的人员手工从ALV报表中输入某些相关的信息,并存到相应的自建表中或在后续的表单中打印出相关的信息,如销售中的供应商需求、备注等;但是当当将ALV报表的字段设置为可编辑状态并不能满足其需求,因此使用SAP系统提供的长文本技术就可以满足上述需求。

在SAP系统中有丰富而有用的函数供我们调用,而长文本技术的实现就是通过调用SAP系统中已经存在的函数:Read_Text和Edit_Text来实现的。

首先,调用Edit_Text函数,通过该函数可以进行文本编辑并保存。

调用函数,要定义及填充相应的输入、输出参数:

例1:

 

其中:工作区lw_head中的tdobject及tdid的值默认为’TEXT’及’ST’;而tdlinesize代表的编辑时每行的行长度,为必填项,其最大值为132;而tdname则可以自由的根据业务需求来定义,如果对于销售的可以是销售订单加行项目,如果的质检的则可以是检验批加批次等。从例1还可以看到调研弄个的Read_Text 的Exporting参数中有个display参数,是用来定义编辑状态为可编辑还是显示状态。

上述例子的效果为:

 

可以随便输入一些内容,如上,并保存。

接着,便是根据需求,一般有两种:一是对已经编辑完的内容可以进行查看但不能修改,另一种便是显示内容并处于可编辑状态。

此时,便要使用到Read_Text函数了。只有已经存在的内容才可进行Read,因此,这时候的Read_Text函数调用就要放在Edit_Text函数调用之前:

第一种状态的程序:

 

第二种状态的程序与第一种的完全一样,不同的只是在Read_Text调用的时候,将Exporting中的display参数注释掉即可。

     以上便是本人在处理此类业务需求时的对应方法,当然这段程序应该和对ALV报表相应字段的双击事件相结合进行的。

以下是截取本人在业务开发需求中的程序的一部分(对应需求的模块是QM)

 

该截取程序中将长文本运用和双击事件进行结合,其中’ZBZBS’就是要进行备注描述的字段,对该字段进行双击事件处理。

以上只是个人总结,不全之处还望高手指点(ABAP进行时)

posted @ 2012-06-05 23:31  封~  阅读(646)  评论(0编辑  收藏  举报