View Definition Examples

This pages provides example configuration for list view customizings.

When referencing Product 360 Core repository fields, make sure to specify the field identifier from the custom area but not the field identifier from the types area.

List with texts in multiple languages

List format:

Product No.

Status

Short description (German)

Short description (English)

Short description (Spanish)

Short description (Finish)

Short description (French)

Example screen:

images/download/attachments/312084316/multilanguage2.PNG

Definition (product.listmodel.xml):

<definition defaultDefinition="false" i18NKey="Product list multi language" rootEntity="Product2G">
<field identifier="Product2G.ProductNo" sortable="true"/>
<field identifier="Product2G.CurrentStatus" sortable="true"/>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="7"/>
</field>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="9"/>
</field>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="10"/>
</field>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="11"/>
</field>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="12"/>
</field>
</definition>

Variables support for views

${user.language} variable could be used as logical key to specify UI language for views.

Definition (product.listmodel.xml):

<definition defaultDefinition="false" i18NKey="Product list multi language" rootEntity="Product2G">
<field identifier="Product2G.ProductNo" sortable="true"/>
<field identifier="Product2G.CurrentStatus" sortable="true"/>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="${user.language}"/>
</field>
</definition>

List with attribute values and custom caption

Optionally, a custom caption can be specified to replace the default generated column captions.

Example screen:

images/download/attachments/312084316/attributes2.PNG

List format:

Item no.

Status

Color (English)

Color(German)

Definition (article.listmodel.xml):

<definition defaultDefinition="false" i18NKey="Item list with colors" rootEntity="Article">
<field identifier="Article.SupplierAID" sortable="true"/>
<field identifier="Article.CurrentStatus" sortable="true"/>
<field identifier="ArticleAttributeValue.Value" sortable="true" caption="Color (English)">
<logicalKey identifier="ArticleAttributeValueType.LK.Language" value="9"/>
<logicalKey identifier="ArticleAttributeType.LK.Name" value="Farbe"/>
</field>
<field identifier="ArticleAttributeValue.Value" sortable="true" caption="Color (German)">
<logicalKey identifier="ArticleAttributeValueType.LK.Language" value="7"/>
<logicalKey identifier="ArticleAttributeType.LK.Name" value="Farbe"/>
</field>
</definition>

List with different price types

Example screen:

images/download/attachments/312084316/pricetypes2.PNG

List format:

Product No.

Net customer price (from 1)

Non-binding price recommendation (from 1)

Definition (article.listmodel.xml):

<definition defaultDefinition="false" i18NKey="Product list with prices" rootEntity="Article">
<field identifier="Product2G.ProductNo" sortable="true"/>
<field identifier="Product2GPriceValueSales.Amount" sortable="true">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="1"/>
<logicalKey identifier="ArticlePriceType.LK.PartyMS" value="1[|]"/>
<logicalKey identifier="ArticlePriceType.LK.Type" value="3"/>
<logicalKey identifier="ArticlePriceType.LK.Currency" value="EUR"/>
<logicalKey identifier="ArticlePriceType.LK.Territory" value="DE"/>
<logicalKey identifier="ArticlePriceType.LK.ValidAt" value="now"/>
</field>
<field identifier="Product2GPriceValueSales.Amount" sortable="true">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="1"/>
<logicalKey identifier="ArticlePriceType.LK.PartyMS" value="1[|]"/>
<logicalKey identifier="ArticlePriceType.LK.Type" value="5"/>
<logicalKey identifier="ArticlePriceType.LK.Currency" value="EUR"/>
<logicalKey identifier="ArticlePriceType.LK.Territory" value="DE"/>
<logicalKey identifier="ArticlePriceType.LK.ValidAt" value="now"/>
</field>
</definition>

List with Structure Group Name

Example screen:

images/download/attachments/312084316/transitionFields.PNG

Definition (product.listmodel.xml):

<definition defaultDefinition="false" i18NKey="Transition fields" rootEntity="Product2G">
<field identifier="Product2G.ProductNo" sortable="true" />
<field identifier="Product2G.CurrentStatus" sortable="true" />
<field identifier="Product2GStructureMap.StructureGroup" sortable="true">
<logicalKey identifier="ArticleStructureMapType.LK.StructureId" value="10000" />
</field>
</definition>

List of additional price tiers

images/download/attachments/312084316/Untitled.png

File: article.detailtab.xml, section detail_purchase_prices

<tableDefinition i18NKey="%web.client.article.tab.prices.purchase" identifier="detail_purchase_prices" rootEntity="ArticlePricePurchase">
<field identifier="ArticlePricePurchase.PriceType" sortable="false"/>
<field align="e" identifier="ArticlePriceValuePurchase.Amount" sortable="false">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="1"/>
</field>
<field align="e" identifier="ArticlePriceValuePurchase.Amount" sortable="false">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="10"/>
</field>
<field align="e" identifier="ArticlePriceValuePurchase.Amount" sortable="false">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="100"/>
</field>
<field align="e" identifier="ArticlePriceValuePurchase.Amount" sortable="false">
<logicalKey identifier="ArticlePriceValueType.LK.LowerBound" value="1000"/>
</field>
<field identifier="ArticlePricePurchase.Currency" sortable="true"/>
<field identifier="ArticlePricePurchase.Territory" sortable="true"/>
<field identifier="ArticlePricePurchase.ValidFrom" sortable="true"/>
<field identifier="ArticlePricePurchase.ValidTo" sortable="true"/>
<field identifier="ArticlePricePurchase.Supplier" sortable="true"/>
</tableDefinition>

List of DQ Status per Channel (Transition Fields)

images/download/attachments/312084316/dqListModel.PNG

File: product.listmodel.xml

<definition defaultDefinition="true" i18NKey="Quality Overview" identifier="product.table.config.dq" rootEntity="Product2G">
<field identifier="Product2G.ProductNo" sortable="true" width="100"/>
<field identifier="Product2G.CurrentStatus" sortable="true" width="180"/>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="English"/>
</field>
<field identifier="Product2G.Status" sortable="true" caption="Status Mobile">
<transitionField identifier="QualityStatusSummary.Status">
<logicalKey identifier="StatusSummaryType.LK.Channel" value="Mobile"/>
</transitionField>
</field>
<field identifier="Product2G.Status" sortable="true" caption="Status Web Shop">
<transitionField identifier="QualityStatusSummary.Status">
<logicalKey identifier="StatusSummaryType.LK.Channel" value="Web Shop"/>
</transitionField>
</field>
</definition>

List of DQ Rule Status and Message (Transition Fields)

images/download/attachments/312084316/dqRules.PNG

File: product.listmodel.xml

<definition defaultDefinition="false" i18NKey="Quality Rule Status" identifier="product.table.config.dqrule" rootEntity="Product2G">
<field identifier="Product2G.ProductNo" sortable="true" width="100"/>
<field identifier="Product2G.CurrentStatus" sortable="true" width="180"/>
<field identifier="Product2GLang.DescriptionShort" sortable="true">
<logicalKey identifier="ArticleLangType.LK.Language" value="English"/>
</field>
<field identifier="Product2G.Status" sortable="true" caption="Long Descr Status">
<transitionField identifier="QualityStatusEntry.Status">
<logicalKey identifier="StatusEntryType.LK.ProcessIdentifier" value="Check long desc"/>
</transitionField>
</field>
<field identifier="Product2G.Status" sortable="true" caption="Long Descr Message">
<transitionField identifier="QualityStatusEntry.Message">
<logicalKey identifier="StatusEntryType.LK.ProcessIdentifier" value="Check long desc"/>
</transitionField>
</field>
</definition>

Use of "displaySectionWidget" attribute in detail tabs

  1. If the attribute "displaySectionWidget" is set to "true" for a sub-entity, then the Logical Keys with field 'Editable' set to "true" are displayed as

    1. labels in the detail tabs by default.

      <definition debugId="article_surcharges_tab" i18NKey="%web.article.detail.tab.surcharges" id="web.article.detail.tab.surcharges" permissionId="web.article.detail.tabs.surcharges" position="100" rootEntity="Article">
      <column>
      <fieldGroup displaySectionWidget="true" subEntityId="ArticleSurchargeMetal">
      <field identifier="ArticleSurchargeMetal.Amount"/>
      <field identifier="ArticleSurchargeMetal.Weight"/>
      <field identifier="ArticleSurchargeMetal.Base"/>
      <field identifier="ArticleSurchargeMetal.Currency"/>
      <field identifier="ArticleSurchargeMetal.Step"/>
      <field identifier="ArticleSurchargeMetal.IsPercentage"/>
      <field identifier="ArticleSurchargeMetal.CalculateOnStepComplete"/>
      </fieldGroup>
      <fieldGroup>
      <field identifier="ArticleSurchargeOther.Amount"/>
      <field identifier="ArticleSurchargeOther.Currency"/>
      <field identifier="ArticleSurchargeOther.Step"/>
      <field identifier="ArticleSurchargeOther.IsPercentage"/>
      <field identifier="ArticleSurchargeOther.CalculateOnStepComplete"/>
      </fieldGroup>
      </column>
      </definition>

      images/download/attachments/312084316/image2020-11-24_14-1-37.png images/download/attachments/312084316/image2020-11-24_14-3-11.png

    2. Combo box with a change in the configuration as shown below (selectable="true").

      <definition debugId="article_texts_tab" i18NKey="%web.article.detail.tab.texts" id="web.article.detail.tab.texts" permissionId="web.article.detail.tabs.texts" position="20" rootEntity="Article">
      <column>
      <fieldGroup displaySectionWidget="true" subEntityId="ArticleLang">
      <field identifier="ArticleLang.DescriptionShort"/>
      <field identifier="ArticleLang.DescriptionLong"/>
      <field identifier="ArticleLang.Keyword"/>
      <field identifier="ArticleLang.Segment"/>
      <field identifier="ArticleLang.Remarks"/>
      <logicalKey identifier="ArticleLangType.LK.Language" selectable="true" value="${user.language}"/>
      </fieldGroup>
      </column>
      </definition>

      images/download/attachments/312084316/image2020-11-24_14-5-53.png

  2. If the attribute "displaySectionWidget" is set to "false" for a sub-entity, then the LogicalKeys are not displayed.

    <definition debugId="article_texts_tab" i18NKey="%web.article.detail.tab.texts" id="web.article.detail.tab.texts" permissionId="web.article.detail.tabs.texts" position="20" rootEntity="Article">
    <column>
    <fieldGroup displaySectionWidget="false" subEntityId="ArticleLang">
    <field identifier="ArticleLang.DescriptionShort"/>
    <field identifier="ArticleLang.DescriptionLong"/>
    <field identifier="ArticleLang.Keyword"/>
    <field identifier="ArticleLang.Segment"/>
    <field identifier="ArticleLang.Remarks"/>
    <logicalKey identifier="ArticleLangType.LK.Language" selectable="true" value="${user.language}"/>
    </fieldGroup>
    </column>
    </definition>

    images/download/attachments/312084316/image2020-11-24_14-4-47.png