Another forum user linked me to this post on GitHub: https://github.com/Microsoft/AL/issues/4434
In short, come April, using "pageextension" objects for core API pages will no longer be allowed; custom "page" objects are to be used, instead (the official documentation for "pageextension" objects confirms this).
The suggestion is to copy an existing core API page and modify it to suit your needs, but, unless I'm doing this wrong (highly possible), this is an incredibly tedious process, to the extent that there really has to be a better way. If I'm in Visual Studio Code and I type something like:
pageextension 50100 "Test Extension" extends "Sales Invoice Entity" { ... }
I can right-click "Sales Invoice Entity" and navigate to the code for that page (5475). It shows up in VSC as "Sales Invoice Entity.dal"; if I copy and paste the entire file's contents into a new file, change the number/name of the page object, add in all the page metadata (e.g., "PageType = API;" and "APIPublisher = 'myCompany';" and so on), then save it as a new .dal file, it doesn't get packaged into my extension.
It seems the only way to make it work as a custom API page is to save it as a .al file, add "Caption" and "ApplicationArea" lines to every field, make sure to add "TableRelation" fields where necessary, make sure the triggers have "trigger" in front of them (they don't in the .dal file) and the remaining procedures have "procedure" in front of them, etc.
This is super time-consuming. Is there a better way to copy-paste a core API page, convert it into a new custom API page, and just add a couple lines to include the fields/logic I want?
Thanks,
Dave