皆様、こんにちは!
ご存知だと思いますが、Business Centralの開発では基本的にフォルダーを開くことで作業を開始します。この時に開いたフォルダーをワークスペースと呼びます。「.al」の拡張子のファイルはBusiness Centralのソースコードです。今回はこのALファイルの命名規則について、簡単に説明いたします。
オブジェクトのネーミング方法は基本的に自由で、何でもいいです。一応マイクロソフトの提案がありますので、そちらに見てみましょう。
Best Practices for AL
Full objects | Extensions |
---|---|
<ObjectNameSuffix>.<FullTypeName>.al | <ObjectNameSuffix>.<FullTypeName>Ext.al |
<PrefixObjectName>.<FullTypeName>.al | <PrefixObjectName>.<FullTypeName>Ext.al |
Object Name | File Name |
---|---|
table 70000000 MyPrefixSalesperson | MyPrefixSalesperson.Table.al |
page 70000000 MyPrefixSalesperson | MyPrefixSalesperson.Page.al |
page 70000000 MyPrefixSalesperson extends "Customer Card" | MyPrefixSalesperson.PageExt.al |
マイクロソフトの標準機能ソースコードもこのルールに従っています。
例:
「page 104 “Account Schedule”」->「AccountSchedule.Page.al」
「codeunit 344 “County CaptionClass Mgmt”」->「CountyCaptionClassMgmt.Codeunit.al」
上記のMicrosoftのベストプラクティスに従うことも問題ありませんが、一応昔の命名規則も見てみましょう。
Full objects | Extensions |
---|---|
<type><ID>.<ObjectName>.al | <type><BaseId>-Ext<ObjectID>.<ObjectName>.al |
Object Name | File Name |
---|---|
table 70000000 MyPrefixSalesperson | Tab70000000.MyPrefixSalesperson.al |
page 70000000 MyPrefixSalesperson | Pag70000000.MyPrefixSalesperson.al |
page 70000000 MyPrefixSalesperson extends "Customer Card" | Pag21-Ext70000000.MyPrefixSalesperson.al |
キャプチャー記録:
筆者は後者の昔のやり方を好みます。ネーミングするのは多少時間はかかりますが、オブジェクトID、名前、およびオブジェクタイプを確認できるのは非常に直感的だからです。
今のやり方で、ワークスペースではアルファベット順に並んでいます、多くのオブジェクトタイプが混在して、ファイルを見つけるのは非常に難しいです。
せめてオブジェクトタイプ別でサブフォルダを作って、その中にオブジェクトを格納した方がいいと思います。
追記:コード分析の”al.codeAnalyzers”: [“${CodeCop}”]が設定されると、マイクロソフトの提案に従って名前が付けられていない場合、警告が表示されます。
Dynamics 365 Business Centralのコード分析機能を利用してコードの品質を上げよう (AL CodeCop)
最後にもう一点ですが、オブジェクトの名前と場所を変更しても、コンパイルには影響しませんので、後の修正は可能です。
以上
コメント