在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

I have created one extension field on Business context “Product Master General” in tile “Custom Field and Logic” and publish it:

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

After that when I try to add it to Basic Data block of Product Master application, I could not find it in Available Fields list. As a result, I cannot add it to standard Fiori UI.

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

In order to resolve this issue, I need to first understand where do fields in “Available Fields” dialog come from and are rendered.
Through debugging, I find the field list are retrieved from property “customFieldAvailable” in SmartForm control.

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

The logic to fill this property is based on the attributes listed below:

  • BusinessContexts
  • EntityType
  • ServiceName
  • ServiceVersion

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

And the list in “Available Fields” dialog is bound to model data stored in variable mAvailableElements filled by method getAvailableElements in line 472 below.

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办
在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

Via the debugging below, I get to know that the prerequisite for an extension field to appear in “Available Field” list when “Add Field” button is clicked on Basic Data block is, it should be added as one of fields for data type “C_ProductType” in Product Master application’s OData metadata:

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

The solution is to add the field to Odata via button “Enable Usage”:

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

Once done, clear metadata cache in both gateway and backend system.

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

Relaunch the Fiori application, make sure you see the extension field in metadata:

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

After that the extension field is visible now in the list:

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

And it could be successfully added to Fiori UI now.

在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
在S/4HANA扩展字段的Available Fields列表里,看不到自己创建的扩展字段该怎么办