有时候我们可能并不想使用PeopleSoft自带的Save Function,比如当Grid的数据源是一个View的时候,这时候可以使用一个Button来触发FieldChange事件,执行我们需要的业务逻辑。假设页面结构如下。
在button的FiledChange事件中加如下逻辑。
Local Rowset &HDR_ROWSET, &LINE_ROWSET;
Local Record &HDR_REC, &LINE_REC;
Local boolean &VaidFlag = True;
&HDR_ROWSET = GetLevel0();
For &J = 1 To &LINE_ROWSET.RowCount
&LINE_REC = &LINE_ROWSET(&J).DBS_SECAUDT_VW4;说明:取得record
&ROLEUSER = &LINE_REC.ROLEUSER.Value;说明:获得该行这个字段的值。
SQLExec("UPDATE ******);说明:根据需要执行SQL语句。
End-For;
如果不想使用For循环遍历,也可以使用CurrentRowNumber。
&LINE_REC = &LINE_ROWSET(CurrentRowNumber(1)).DBS_SECAUDT_VW4;
&ROLEUSER = &LINE_REC.ROLEUSER.Value;
至此,当用户点击这个button时候,就会触发这个事件,执行我们的PeopleCode。