Codes, UDFs & Notes

UDFs Are Typed Extra Fields, Not Activity Codes

UDFTYPE / UDFVALUE; formula is P6 web only; not an activity code

P6 Status tab. Duration, Started, Finished, Physical %, Total Float, and Free Float.
These are built-in Status fields. A UDF is a user-defined field, not Total Float.

What a planner means

A user-defined field is an extra typed column you add because the predefined fields are not enough. Oracle EPPM entities that take UDFs: Projects, WBS, Activities, Steps, Expenses, Issues, Resources, Resource Assignments, Risks, Documents. Most UDFs have only a name and a data type. Project and activity UDFs can also have formulas and graphical indicators.

Types (Professional help)

Data typeUse for
TextText or text+numbers
Start DateStart date
Finish DateFinish date
CostCurrency
IndicatorColor-coded values in columns/reports
NumberNumeric, two decimal places
IntegerNumeric, except money

EPPM REST / Integration API also list Code (API: code types are only used with Project Issues). Professional “choosing data types” does not list Code. Write both.

Formula UDFs: EPPM — visible only in P6 web; not visible in Professional connected to an EPPM database. You cannot filter views by formula UDFs. You cannot define a formula on an Indicator type. You can edit the Indicator detail window only if the type is Integer, Cost, or Number.

Indicators display an icon when a value hits a criterion (equals, range, …). Do not invent which icons exist.

XER

UDFTYPE

ColumnOracle label
udf_type_idUnique ID
udf_type_nameUser Defined Field
udf_type_labelTitle
table_nameTable
logical_data_typeData Type
super_flagSecure Code
indicator_expression / summary_indicator_expression(indicator formulas)

Stored logical_data_type and table_name strings are not listed. Unverified. Do not invent them.

UDFVALUE

ColumnOracle label
udf_type_idUser Defined Field
fk_idActivity Step Item — treat as the object the UDF is on, not necessarily a step
proj_idProject
udf_textText
udf_numberNumber
udf_dateDate
udf_code_idCode

Which value column is filled depends on type. Mapping text→udf_text, dates→udf_date, numbers/cost/integer→udf_number is the obvious split; confirm on a live XER before treating it as fact (unverified as a mechanical rule).

Formula definitions live in EPPM. Do not assume a formula UDF has a stored value in XER that Professional can show.

Microsoft Project

Custom fields are fixed slots on Task, Resource, or Assignment: Text1–30 (255 characters), Number, Date, Cost, Flag, plus Outline Codes. You can add a value list, a formula (then the field is read-only), and graphical indicators. Enterprise custom fields are defined in the enterprise global.

Same idea (extra typed column). Not the same object. P6 UDFs are a dictionary (UDFTYPE) plus values (UDFVALUE) on many entity types. Project has a numbered slot per type. They do not line up automatically (see convert/xer-mspdi.md).

Outline Code is closer to an activity code than to a UDF.

Don't

  • Treat a UDF as an activity code, a notebook, or a step.
  • Treat fk_id as always a step. The Oracle label says “Activity Step Item”; the row is the object the type is on.
  • Invent logical_data_type / table_name tokens.
  • Map one P6 UDF type onto MSP Text1 and call them the same field. Slots and types do not match 1:1.
  • Show a formula UDF as if Professional stored it. Oracle: formula UDFs are P6 web only on EPPM.
  • Put a formula on an Indicator type.

Sources

Back to top