This is the Fourth post in the series. If you want to go to previous post click here.
From the series of steps this post is dedicated to Step-3:
As a third Step we will Create New Table(s) and Page(s) in Business Central
Below are the AL code for Prospect table, Prospect card page & Prospect list page that will be created in Business Central via Extension, used for Integration with Dataverse.
Table in BC to Integrate from Dataverse
table 50120 "Prospect"
{
DataClassification = ToBeClassified;
DrillDownPageID = "Prospects";
fields
{
field(1; "No."; Code[20])
{
DataClassification = ToBeClassified;
}
field(2; "Name"; Text[50])
{
DataClassification = ToBeClassified;
}
field(5; "Probability"; Integer)
{
DataClassification = ToBeClassified;
}
field(6; "Contract Amount"; Decimal)
{
DataClassification = ToBeClassified;
}
field(7; "Contract Amount (Base)"; Decimal)
{
DataClassification = ToBeClassified;
}
field(8; "Stage"; Enum "Stage Type")
{
DataClassification = ToBeClassified;
}
field(11; "Forecast Revenue"; Decimal)
{
DataClassification = ToBeClassified;
}
field(12; "Forecast Revenue (Base)"; Decimal)
{
DataClassification = ToBeClassified;
}
}
keys
{
key(key1; Name)
{
Clustered = true;
}
}
}
Card Page for above Table
page 50121 "Prospect Card"
{
Caption = 'Prospect Card';
PageType = Card;
UsageCategory = Administration;
SourceTable = "Prospect";
layout
{
area(Content)
{
group(General)
{
field("Name"; Rec."Name")
{
ApplicationArea = All;
}
field(Probability; Rec.Probability)
{
ApplicationArea = All;
}
field(Stage; Rec.Stage)
{
ApplicationArea = All;
}
}
group(Details)
{
field("Contract Amount"; Rec."Contract Amount")
{
ApplicationArea = All;
}
field("Contract Amount (Base)"; Rec."Contract Amount (Base)")
{
ApplicationArea = All;
}
field("Forecast Revenue"; Rec."Forecast Revenue")
{
ApplicationArea = All;
}
field("Forcast Revenu (Base)"; Rec."Forecast Revenue (Base)")
{
ApplicationArea = All;
}
}
}
}
}
List Page for above Table
page 50120 Prospects
{
PageType = List;
ApplicationArea = All;
UsageCategory = Lists;
SourceTable = Prospect;
Caption = 'Prospect List';
CardPageId = "Prospect Card";
Editable = false;
layout
{
area(Content)
{
repeater(GroupName)
{
field(Name; Rec.Name)
{
ApplicationArea = All;
}
field(Probability; Rec.Probability)
{
ApplicationArea = All;
}
field("Contract Amount"; Rec."Contract Amount")
{
ApplicationArea = All;
}
field("Contract Amount (Base)"; Rec."Contract Amount (Base)")
{
ApplicationArea = All;
}
field(Stage; Rec.Stage)
{
ApplicationArea = All;
}
field("Forcast Revenue"; Rec."Forecast Revenue")
{
ApplicationArea = All;
}
field("Forcast Revenue (Base)"; Rec."Forecast Revenue (Base)")
{
ApplicationArea = All;
}
}
}
}
}
Enum for field Stage
enum 50120 "Stage Type"
{
Extensible = true;
AssignmentCompatibility = true;
value(0; "Lead") { Caption = 'Lead'; }
value(1; "Opportunity") { Caption = 'Opportunity'; }
value(2; "Won") { Caption = 'Won'; }
value(3; "Lost") { Caption = 'Lost'; }
}
Now you are good to proceed with Next Step.
You can jump to Next Step from here.
11 thoughts on “Create Custom table & page in Business Central”
Comments are closed.