Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Customers would need to provide their own implementation of this service (either by implementing the service from scratch or overriding the default SWAT legacy implementation). Create a folder in src → backend which is called <Customer Name > create a folder <OERA> create folder <metadata> and file EntityMetadataService.cls and insert the following code and overwrite the table name. 

Expand
titleCode snippet


Code Block
languagejs
USING Progress.Lang.*.
 
BLOCK-LEVEL ON ERROR UNDO, THROW.

CLASS <your class>.OERA.Metadata.EntityMetadataService
    INHERITS Akioma.Swat.OERA.Metadata.LegacyEntityMetadataService
    IMPLEMENTS Akioma.Swat.OERA.Metadata.IEntityMetadataService:

    CONSTRUCTOR EntityMetadataService():
        SUPER().
    END CONSTRUCTOR.

    METHOD OVERRIDE PUBLIC CHARACTER GetDetailsScreen(pcRecordHdl AS CHARACTER):
      DEFINE VARIABLE cTableName     AS CHARACTER NO-UNDO.
      DEFINE VARIABLE cContainerName AS CHARACTER NO-UNDO.

      cTableName = Akioma.Swat.RecordHdlHelper:GetTableNameFromHdl(pcRecordHdl).
      CASE cTableName:
        WHEN "Article" THEN
          RETURN "ArticleMaintenanceScreen".
      END CASE.

      cContainerName = SUPER:GetDetailsScreen(pcRecordHdl).
      IF cContainerName > "" THEN
        RETURN cContainerName.

      RETURN "".

    END METHOD.

    METHOD OVERRIDE PUBLIC CHARACTER GetLabel(pcRecordHdl AS CHARACTER):
      DEFINE VARIABLE cTableName  AS CHARACTER NO-UNDO.
      DEFINE VARIABLE cLabel      AS CHARACTER NO-UNDO.

      cTableName = Akioma.Swat.RecordHdlHelper:GetTableNameFromHdl(pcRecordHdl).
      CASE cTableName:
        WHEN "Article" THEN
          RETURN "Article".
      END CASE.

      cLabel = SUPER:GetLabel(pcRecordHdl).
      IF cLabel > "" THEN
        RETURN cLabel.

      RETURN "".
    END METHOD.

    METHOD OVERRIDE PUBLIC CHARACTER GetIcon(pcRecordHdl AS CHARACTER):
      DEFINE VARIABLE cTableName  AS CHARACTER NO-UNDO.
      DEFINE VARIABLE cIcon       AS CHARACTER NO-UNDO.

      cTableName = Akioma.Swat.RecordHdlHelper:GetTableNameFromHdl(pcRecordHdl).
      CASE cTableName:
        WHEN "Article" THEN
          RETURN "fad fa-shopping-cart".
      END CASE.

      cIcon = SUPER:GetIcon(pcRecordHdl).
      IF cIcon > "" THEN
        RETURN cIcon.

      RETURN "".
    END METHOD.

END CLASS.


...