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进行时)