函数
支持下面几种函数类型:
built-in:标准函数,可以直接调用不需要声明
Internal: 定义在本地代码中的函数
External:定义在别的Record中的函数,一般使用这种方式
External non-PeopleCode :定义在外部C lib中。
函数定义
PeopleCode 函数可以定义在任何 PeopleCode程序中 .函数对象必须放在程序头部,在变量和外部函数声明之后。
按照惯例
, PeopleCode
程序保存在以
FUNCLIB_
开头的
Record
的
FieldFormula
事件关联
.
function
run_status_upd(&PROCESS_INSTANCE, &RUN_STATUS)
returns Boolean;
&UPDATEOK = SQLExec("update PS_PRCS_RQST set run_status = :1 where process_instance = :2", &RUN_STATUS, &PROCESS_INSTANCE);
If &UPDATEOK Then
Return True;
Else
Return False;
End-if;
End-function;
&UPDATEOK = SQLExec("update PS_PRCS_RQST set run_status = :1 where process_instance = :2", &RUN_STATUS, &PROCESS_INSTANCE);
If &UPDATEOK Then
Return True;
Else
Return False;
End-if;
End-function;
函数声明
如果要调用的函数是外部函数,即定义在某个
FUNCLIB_
开头的
Record
,必须先声明。
Declare Function
function_name
PeopleCode
record_name.field_name event_type
Declare Function
UpdatePSLOCK
PeopleCode
FUNCLIB_NODES.MSGNODENAME
FieldFormula;
函数调用
function_name([param_list ])
DeleteRow(RECORD.BUS_EXPENSE_PER, &L1_ROW, RECORD.BUS_EXPENSE_DTL, &L2_ROW);
&RESULT = Product(&RAISE_PERCENT, .01, EMPL_SALARY);
在调用函数时internal and external 函数都是传引用。