Versions Compared

Key

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

Use this event to

Excerpt

Customize default values for Device Language Codes to be used at the Mobile Language page.


Description

...


  • Overwrite Mobile WMS Messages that already exists in Mobile Messages table
  • Overwrite labels used in the Android App Mobile Configuration File (used as "@{LabelName}"). Adding a new message "LabelName" (without '@' or '{}') will overrule similar labels from Android App resource files.

Requirements

"Mobile Language Code" must be present on the "Mobile User"
Your new eventsubscriber is executed when:
... you manually select the action "Create Messages" from "Mobile Language" page (after subscribing)
... a mobile user logs into the database and no "Mobile Messages" exists (usually only the first time a mobile user logs on)
... the Mobile WMS Application (BC App) is upgraded to a newer versionIf you want to ensure your new messages is always added to an existing Mobile Wms installation, consider (also) adding the messages from your own Install-/Upgrade-codeunits in your customization app project instead.When setting up Mobile Languages in the web client, default "Device Language Code"'s is automatically suggested for:

  • Danish (DAN → DA)
  • All english languages (EN* → EN)
  • All german languags (DE* → DE)

Using this event, you may override these default values, or implement new default values for other languages ie. if you created a new custom device language pack for your language.

Image Added

Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Language", 'OnConvertLanguageCodeToDeviceLanguageCode''', true, true)]
    local procedure OnConvertLanguageCodeToDeviceLanguageCode(_LanguageCode: Code[10]; var _DeviceLanguageCode: Code[20]; var _IsHandled: Boolean)
    begin
    end;

Example

    // [Example] : Suggest device language code 'EN' for Malaysian, and a new custom device language 'FR' for any french language

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Language", 'OnConvertLanguageCodeToDeviceLanguageCode''', true, true)]
    local procedure MyOnConvertLanguageCodeToDeviceLanguageCode(_LanguageCode: Code[10]; var _DeviceLanguageCode: Code[20]; var _IsHandled: Boolean)
    begin
        // Malaysian
        if _LanguageCode = 'MSL' then begin
            _DeviceLanguageCode := 'EN';    // Use english language pack
            _IsHandled := true;
        end;

        // Any french language
        if CopyStr(_LanguageCode, 12'FR' then begin
            _DeviceLanguageCode := 'FR';    // Use some french language pack (not in standard mobile wms, could be developed by a partner)
            _IsHandled := true;
        end;
    end;


See also:

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
excerptTypesimple
cqllabel = "bc" and label = "onconvertlanguagecodetodevicelanguagecode"

...