Skip to content

Naming and Syntax Guidelines

Use the below coding syntax guidelines in the IFS Cloud model files.

Projection Elements

Entityset

  • Should be the plural of the entity.

​ ex. ShopOrders, CustomerOrders, MaintenanceOrders, People, Companies

  • If the plural noun is the same as the singular noun, use the suffix ‘Set’.

​ ex. InvoiceSeries -> InvoiceSeriesSet

  • Use the ‘C’ prefix if it’s a customization of a core.

​ C[EntitysetName]Set

Entity\Query

  • A meaningful name derived from the entity name.

  • Avoid using prefixes\suffixes like LOV, Query, Entity, Qry, etc for the entity name.

​ ex. Do not use CompanyLov(entity) and CompanyLovs(entityset)

  • Instead try to use meaningful query names using ‘C’ prefix such as CUserAllowedCompany(entity) and CUserAllowedCompanies (entitiy set)

Attribute

  • The name should explain the business purpose.

  • Should be singular.

  • Data source's attribute name might need modifications when exposing as an attribute in a Projection entity.

​ ex. Site (instead of contract), ExpiryDate(instead of ExpDate)

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[AttributeName]

Reference

  • Suffix “Ref”

​ ex. reference UnitcodeRef(Unitcode) to IsoUnit(UnitCode);

  • Always use ‘C’ prefix if it’s a core customization.

​ C[ReferenceName]Ref

Array

  • Should be plural.

  • If the plural noun is the same as the singular noun, use the suffix “Array”

​ ex. InvoiceSeries -> InvoiceSeriesArray

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[ArrayName]Array

Enumeration

  • “Enum” suffix

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[EnumerationName]Enum

Structure

  • “Structure” suffix

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[StructureName]Structure

Virtual

  • “Virtual” suffix

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[VirtualName]Virtual

Singleton

  • “Singleton” suffix

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[SingletonName]Singleton

Summary

  • “Summary” suffix

  • Always use the ‘C’ prefix if it’s a core customization.

​ C[SummaryName]Summary

Note: If the Projection Elements are created inside a New Projection in the Cust Layer (ex: CCrmCustomerHandling-Cust.projection) with a ‘C’ prefix then we do not need to add the ‘C’ Prefix to the elements inside this projection.

Client: Elements

Navigator entry

  • Prefix C

  • suffix NavEntry

​ C[NavigatorEntryName]NavEntry

Selector

  • Prefix C

  • suffix Selector

​ C[SelectorName]Selector

Dialog

  • Prefix C

  • suffix Dialog

​ C[DialogName]Dialog

Assistant

  • Prefix C
  • suffix Assistant

​ C[AssistantName]Assistant

Group

  • Prefix C

  • suffix Group

​ C[GroupName]Group

List

  • Prefix C

  • suffix List

​ C[ListName]List

Card

  • Prefix C

  • suffix Card

​ C[CardName]Card

Command

  • Prefix C

  • suffix Command

​ C[CommandName]Command

Command Group

  • Prefix C

  • suffix CmdGroup

​ C[CommandGroupName]CmdGroup

Advanced LOV List

  • Prefix C

  • suffix LovList

​ C[AdvancedLovListName]LovList

Chart

  • Prefix C

  • suffix Chart

​ C[ChartName]Chart

Singleton

  • Prefix C

  • suffix Singleton

​ C[SingletonName]Singleton

Variable

  • Prefix C

  • suffix Var

​ C[VariableName]Var

Note: If the Client Elements are created inside a New Client in the Cust Layer
(ex: CCrmCustomer-Cust.client) with a ‘C’ prefix then we do not need to add the ‘C’ Prefix to the elements inside this client.

File Naming

It is recommended to name client/projection files in the following format in general:

Client: C[ClientName].client

Projection: C[ClientName]Handling.projection

​ Ex: CCustomerCrm.client CCustomerCrmHandling.projection

It is recommended to name fragment files in the following format in general:

​ C[FragmentName] [FragmentType].fragment*

​ Ex:

​ list-based fragment: CPersonDocumentList.fragment

​ assistant-based fragment: CEmployeeStatusAssistant.fragment

​ dialog-based fragment: CTansferEmployeeDataDialog.fragment

​ LovView-based fragment: CCustomerLovSelector.fragment

If the Projection or Fragment is created for Integration purposes, we add the suffix ‘Service’ at the end.

Ex: CMsCrmInterfaceService-Cust.projection.

Git Branch Naming

topic/[user-id]/M-[CRIM-ID]-[JIRA-ID]-[INCREMENTING NO]-[Jira Story Description]

topic/damilk/M-M001-LPS-2345-1-Barcode_Report_Modification

There is no hard rule that every Implementation project needs to use this format for git branch naming. The decision to use the preferred naming standard can be a choice made by the project team as well.

More details can be found in the ALE documentation, here.