BC410看得还差最后一章了。看到现在,还无法把里面的东西织成一张网。毕竟,没有在实际工作中用过screen print(或者叫顶破落吧,我只知道怎么读)。所以,整本书没有记住太多很实际的东西。但是和以前看bc401云里雾里不同的是,这一次,有了一个很清楚的大概,同时知道如果遇到问题,改到哪里去找哪些东西。
所以来说,这次的笔记会基本基于书,但是会很笼统。
首先,屏幕和程序在逻辑上是分离,但是实际上确实一体的。在逻辑上,屏幕和程序之间的数据是通过一种方式传输数据。而这种方式就是在屏幕上的元素取和在代码中的变量一样的名字。从我本人来说,这种处理方式很奇特的。因为我最先学的是vb,在vb中,控件是几乎不被当作变量来使用的。但是在abap中,变量和屏幕上的元素是一体的,就像是会随时同步的公文包。当然这会一定程度上减少不必要的代码。但是同样也会增加一些代码,比方说我要输出一个不是直接能求出的数据,比方说一个比例,那么我就要多定义一个变量,而不是直接的用等于号。
其次,Process after input(PAI) 和 Process before operation(PBO)。如果你能用好这两个,也就是能玩出最多的花样。因为我用都没有过,所以也就只能讲个大概。如果你不清楚具体这两个东西是什么,那么可以把其看作是两个事件,一个发生的屏幕输出之前PBO,另一个发生在屏幕结束之后,PAI。但是他们不是事件,而是屏幕的逻辑流,尽管来说他们其的作用就是屏幕的"事件"——控制屏幕整个流程。当然,对于这一块不太熟悉的我来说,他们和事件唯一的区别只是在他们里面,用的都是模块,而不是函数和代码。但是很奇怪的就是模块的代码是写在abap程序里面的。
最后,动态屏幕,这一块估计是我最不理解的一块了。第一点说道了屏幕和程序之间数据的传输方式。同样的,屏幕和程序之间互动是通过一个叫ok_code的东西帮助而实现的。整个流程是这样的,你所建立的bar,statue等一些提控给用户的控制程序的所有元素,都是事先要绑定一个函数。这个函数你可以自己写在abap editor里面,或者之间调用系统自带的。然后,程序通过读你传下来的ok_code来判断你使用了具体哪一个元素,然后再去跑相关的函数。而你如果需要修改屏幕元素的属性,则需要通改一张叫Screen的"准表"(我自己取得名字)来实现,而不是直接修改。就好像屏幕上的所有东西,都只是一尊尊雕像。
还有很多其他的关于屏幕的知识在bc410中,我不写,是因为这些东西书上写的很清楚和详细,同时呢,我没有能力去概括。最后,希望如果读完这篇文章,发些不足之处,请不吝指出。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14927513/viewspace-448359/ ,如需转载,请注明出处,否则将追究法律责任。