SQL:执行一段SQL代码,如删除某些行、插入某些行。
Call Section:调用另一个Section
Log Message:向Message Log写信息(如错误信息、程序运行状态信息等)
需要注意1:SQL Action和Call Section Action不能共存于同一Step中,故同一个Step最多有7个Action。假如在一个Step里已经包含了一个SQL Action,那么当新添加一个Action时,在下拉列表里是找不到Call Section Action的。如下:
需要注意2:Action有着严格的执行顺序和嵌套关系,可以从下图看到。另外,可以用DO UNTIL来终止对应的DO WHILE。
二、开发AE程序的前提准备-----熟练运用peoplecode
开发AE程序,内部逻辑由peoplecode来控制,因此我们需要对peoplecode熟练的运用。下面将结合一个页面开发的实例,来说明在页面开发中如何使用peoplecode的,在本项目里虽然涉及到的页面开发不多,但是它也是一项很重要的技术,需要掌握,因此在本节里除了会说明如何用peoplecode来实现开发实例的要求,还会对一些页面开发方面的问题进行说明。
1.开发实例说明
该页面开发实例的说明:开发三个页面,当点击其component进入页面之后,只显示两个页面,但是在页面上有链接按钮,点击相应链接,则可以跳转到第三个页面,同时还可以从第三个页面跳转到前两个页面,并且这些页面还具有包含历史记录和更正历史记录的功能。
2.对开发实例之分析
在分析之前,我们假定已经掌握如何在开发工具里定义field,record,page等,并且掌握将页面挂在某个菜单下,具体挂在菜单下的方法可以参考我写的“SQR报表技术总结”一文。
下面我们就针对上面的实例进行具体分析:
a. 首先我们来分析包含历史记录和更正历史记录的问题
在peoplesoft系统里我们会看到有些页面的底部会显示包含历史记录和更正历史记录,如下:
在刚开始一点击compnent进入页面的时候,用户就可以勾选是以什么方式进入页面,如下图。更正历史记录则可以更新页面里的数据,而包含历史记录则可以将页面里的其它历史记录也显示出来。
而有的页面却没有,如下:
实际上是否有这两项内容是由具体的业务逻辑来规定的,那么我们就从技术的角度来看看这是怎么设定的。
首先我们打开具有访问该页面权利的权限列表,查看是否是权限列表里面限定了不能包含这两项内容:
可以看到在“操作”栏里,的确有对包含历史记录和更正历史记录的限定,对应到操作里就是后两项“更新/全部显示”以及“更正”,但是也可以看到这两项是灰色的,没办法勾选。看来问题不是出在权限列表里,而是有更底层的原因。事实上这个更底层的原因就出在了component里,打开该页面所属的component,我们来看看它的属性:
可以看到这个属性里面在Actions里的确是有对包含历史记录和更正历史记录的限定,可以看到后两项是没有勾选的,而这里是否勾选就是直接来决定权限列表里面相应的操作是否是可选的。正因为这里的后两项是没有选中的,所以才会在相应的权限列表里看到对应的项是灰色的。那么我们就将其勾选上,看看会有什么样的效果:
这样设置了以后,再次打开权限列表,后两项依然是灰色的,那么问题到底是出在哪里了呢?问题就出在了虽然我们已经将component的属性已经更改了,但是这个更改是在上次注册该component之后进行的。也就是说对component的属性所做的这种改动只有经过注册后才是起效果的。在component属性的Action里哪些项选中了,直接影响注册的时候哪些操作是可以被选中的,如果我们将component属性的Action里后两项没有选中,那么注册的时候就会看到如下图所示的界面,相应的操作的后两项也是灰色的:
那么我们就component属性更改之后重新进行注册,这个时候再次打开相应的权限列表:
相关推荐: