$PBExportHeader$uo_kms_set.sru forward global type uo_kms_set from nonvisualobject end type end forward global type uo_kms_set from nonvisualobject end type global uo_kms_set uo_kms_set type variables datastore ins_ds end variables forward prototypes public subroutine addmsg (string msgid) public subroutine addmsg (string msgid, string arg0) public subroutine addmsg (string msgid, string arg0, string arg1) public subroutine addmsg (string msgid, string arg0, string arg1, string arg2) public subroutine addmsg (string msgid, string arg0, string arg1, string arg2, string arg3) public subroutine addmsg (string msgid, string arg0, string arg1, string arg2, string arg3, string arg4) public function long count () end prototypes public subroutine addmsg (string msgid);addmsg(msgid,"","","","","") end subroutine public subroutine addmsg (string msgid, string arg0);addmsg(msgid,arg0,"","","","") end subroutine public subroutine addmsg (string msgid, string arg0, string arg1);addmsg(msgid,arg0,arg1,"","","") end subroutine public subroutine addmsg (string msgid, string arg0, string arg1, string arg2);addmsg(msgid,arg0,arg1,arg2,"","") end subroutine public subroutine addmsg (string msgid, string arg0, string arg1, string arg2, string arg3);addmsg(msgid,arg0,arg1,arg2,arg3,"") end subroutine public subroutine addmsg (string msgid, string arg0, string arg1, string arg2, string arg3, string arg4);IF IsNull(msgid) THEN RETURN msgid = Trim(msgid) IF msgid = "" THEN RETURN Long ll_row IF ins_ds.RowCount() > 0 THEN ll_row = ins_ds.Find("msgid = '"+msgid+"'", 1, ins_ds.RowCount()) END IF IF ll_row = 0 THEN ll_row = ins_ds.InsertRow(0) ins_ds.Object.msgid[ll_row] = msgid END IF string arr_arg[], arr_col[], ls_tmp arr_arg = {arg0, arg1, arg2, arg3, arg4} arr_col = {"arg0", "arg1", "arg2", "arg3", "arg4"} Int li_i FOR li_i = 1 TO UpperBound(arr_arg) IF IsNull(arr_arg[li_i]) THEN CONTINUE IF Trim(arr_arg[li_i]) = "" THEN CONTINUE ls_tmp = ins_ds.GetItemString(ll_row, arr_col[li_i]) IF Len(ls_tmp) > 0 THEN IF POS("," + ls_tmp + ",", "," + arr_arg[li_i] + ",") > 0 THEN CONTINUE END IF END IF ins_ds.SetItem(ll_row, arr_col[li_i], ls_tmp + "," + arr_arg[li_i]) NEXT end subroutine public function long count ();return ins_ds.RowCount() end function on uo_kms_set.create call super::create TriggerEvent( this, "constructor" ) end on on uo_kms_set.destroy TriggerEvent( this, "destructor" ) call super::destroy end on event constructor;ins_ds = CREATE datastore ins_ds.DataObject = "dw_kms_set" end event