$PBExportHeader$f_cmpl_trancode.srf global type f_cmpl_trancode from function_object end type forward prototypes global function string f_cmpl_trancode (string arg_stationname, string p1, string p2, string p3) end prototypes global function string f_cmpl_trancode (string arg_stationname, string p1, string p2, string p3);String rslt = '' String ls_formula SELECT trancode_formula INTO :ls_formula FROM u_station Where stationname = :arg_stationname; IF sqlca.SQLCode <> 0 THEN RETURN p1 + p2 + p3 END IF IF ls_formula = '' THEN RETURN p1 + p2 + p3 END IF datastore ds_cmp ds_cmp = Create datastore ds_cmp.DataObject = 'ds_cmp_trancode' Long row row = ds_cmp.InsertRow(0) ds_cmp.Object.p1[row] = p1 ds_cmp.Object.p2[row] = p2 ds_cmp.Object.p3[row] = p3 String ls_rs ls_rs = ds_cmp.Modify("cmp.Expression='"+ ls_formula + "'") IF ls_rs <> '' THEN Destroy ds_cmp RETURN p1 + p2 + p3 END IF ds_cmp.AcceptText() rslt = ds_cmp.Object.cmp[row] Destroy ds_cmp RETURN rslt end function