PTE0004 raised when publishing on cloud environments without reason

Đang mở
#8,346 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
50/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Lĩnh vực
cloud, compilers

Hướng nghiên cứu

Start by reproducing the issue in a cloud sandbox with the namespace and using-directive examples from the report, then compare publishing with VSCode or AL-Go, where it does not occur. Done means the same permission set publishes without PTE0004 when the referenced table is resolved through a using directive.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

accepted

1. Describe the bug

This bug has been signaled first on Viva Engage.

I am experiencing an issue and was wondering whether other partners have encountered the same behavior.

My observations are as follows:

When deploying a PTE in a BC FR environment (Platform 28.0.52495.0 + Application 28.3.52162.52579), in my case by manually uploading the .app file, the deployment fails with the error below if:

  • the permission set is defined inside a namespace, and
  • the object referenced in the permission set is resolved through a using directive.

Package validation failed due to the following error(s): (5,13): error PTE0004: Table 80000 '***' is missing a matching permission set. (5,13): error PTE0004: Table 80001 '***' is missing a matching permission set. (7,13): error PTE0004: Table 80003 '***' is missing a matching permission set. - Job Id : e581f2c1-b75d-46da-8dc8-4abbcb2362fb

As soon as I remove the using directives and fully qualify the object names in the permission set, the deployment succeeds.

2. To Reproduce
Steps to reproduce the behavior:

  1. Create an AL PTE app with one table and one permissionset (with no namespace)
  2. Publish it to a cloud sandbox
  3. Add a namespace to the table: MyApp.Tables
  4. Add a namespace to the permissionset: MyApp.PermissionSet

It seems important that both objects are in different namespaces

  1. Add the table in the permissionset and do not fully qualify the table: use a using directive instead.
  2. Publish it to a cloud sandbox... sometimes you will get this error.
namespace MyApp.PermissionSet;

using MyApp.Tables;

permissionset 80000 "MyApp Permissions"
{
    Assignable = true;
    Caption = 'MyApp Permissions';
    Permissions = tabledata "MyApp Table" = RIMD,
      table "MyApp Table" = X;
}
namespace MyApp.Tables;

table 80000 "MyApp Table"
{
   fields
   {
      field(1; "PK"; Integer) { }
   }
}

3. Expected behavior
PTE0004 should not be raised.

4. Actual behavior
PTE0004 is raised even if the table is part of a permissionset.

5. Versions:
This issue does not occur when compiling on VSCode or with AL-Go. It only occurs when publishing on a cloud environment.

It has been reproduced on the following platform/application versions:

  • On July, 17th 2026: Platform 28.0.52495.0 + Application 28.3.52162.52579
  • On September, 30th 2026: Platform 28.0.54846.0 + Application 28.5.54151.55108

Internal work item: AB#655852

Ngôn ngữ chính
PowerShell
Star
891
Fork
287
Merge trung bình
4 giờ 7 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/AL

Tất cả issue của microsoft/AL

Issue tương tự

Thêm issue về Cloud

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.