Table 5093 "Opportunity Entry"
Base Application · Microsoft.CRM.Opportunity
Across versions
- BC23present
- BC24declaration changed
- BC257 events added, 4 procedures changed
- BC262 procedures changed
- BC276 fields changed
- BC2817 fields changed
- BC29-30unchanged
Neighbourhood 24 connected objects and pages
Base Application · Microsoft.CRM.Opportunity · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Opportunity Entry |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Entry No. | Integer | — | |
| 2 | Opportunity No. Δ BC28 | Code[20] | Specifies the number of the opportunity to which this entry applies. | TableRelation Table 5092 “Opportunity” |
| 3 | Sales Cycle Code Δ BC28 | Code[10] | Specifies the code of the sales cycle to which the opportunity is linked. | TableRelation Table 5090 “Sales Cycle” (Sales Cycle) |
| 4 | Sales Cycle Stage Δ BC28 | Integer | Specifies the sales cycle stage currently of the opportunity. | TableRelation Table 5091 “Sales Cycle Stage” (“Sales Cycle Stage”.Stage where(“Sales Cycle Code” = field(“Sales Cycle Code”))) |
| 5 | Contact No. | Code[20] | — | TableRelation Table 5050 “Contact” |
| 6 | Contact Company No. | Code[20] | — | TableRelation Table 5050 “Contact” (Contact where(Type = const(Company))) |
| 7 | Salesperson Code | Code[20] | — | TableRelation Table 13 “Salesperson/Purchaser” (Salesperson/Purchaser) |
| 8 | Campaign No. | Code[20] | — | TableRelation Table 5071 “Campaign” |
| 9 | Date of Change Δ BC28 | Date | Specifies the date this opportunity entry was last changed. | |
| 10 | Active Δ BC28 | Boolean | Specifies that the opportunity entry is active. | |
| 11 | Date Closed Δ BC28 | Date | Specifies the date that the opportunity was closed. | |
| 12 | Days Open Δ BC27 Δ BC28 | Decimal | Specifies the number of days that the opportunity entry was open. | |
| 13 | Action Taken Δ BC28 | Enum “Opportunity Action Taken” | Specifies the action that was taken when the entry was last updated. There are six options: | enum Enum 5091 “Opportunity Action Taken” |
| 14 | Estimated Value (LCY) Δ BC27 | Decimal | Specifies the estimated value of the opportunity entry. via Page 5129 “Update Opportunity” | |
| 15 | Calcd. Current Value (LCY) Δ BC27 | Decimal | Specifies the calculated current value of the opportunity entry. via Page 5128 “Close Opportunity” | |
| 16 | Completed % Δ BC27 Δ BC28 | Decimal | Specifies the percentage of the sales cycle that has been completed for this opportunity entry. | |
| 17 | Chances of Success % Δ BC27 Δ BC28 | Decimal | Specifies the chances of success of the opportunity entry. | |
| 18 | Probability % Δ BC27 Δ BC28 | Decimal | Specifies the probability of the opportunity resulting in a sale. | |
| 19 | Close Opportunity Code Δ BC28 | Code[10] | Specifies the code for closing the opportunity. | TableRelation Table 5094 “Close Opportunity Code” (if (“Action Taken” = const(Won)) “Close Opportunity Code” where(Type = const(Won)) else if (“Action Taken” = const(Lost)) “Close Opportunity Code” where(Type = const(Lost))) |
| 20 | Previous Sales Cycle Stage Δ BC28 | Integer | Specifies the sales cycle stage of the opportunity before this entry. | TableRelation Table 5091 “Sales Cycle Stage” (“Sales Cycle Stage”.Stage where(“Sales Cycle Code” = field(“Sales Cycle Code”))) |
| 21 | Estimated Close Date Δ BC28 | Date | Specifies the estimated date when the opportunity entry will be closed. | |
| 9501 | Wizard Step | Option | — | OptionCaption: ,1,2,3,4,5,6; not editable |
| 9502 | Cancel Old To Do Δ BC28 | Boolean | Specifies a task is to be cancelled from the opportunity. | |
| 9503 | Action Type Δ BC28 | Option | Specifies options that you can take when you reenter an opportunity to update it in the Update Opportunity window. Certain options are not available, depending on what stage you are in for your opportunity. For example, if you are in stage 1, you cannot select the Previous option. | OptionCaption: ,First,Next,Previous,Skip,Update,Jump |
| 9504 | Sales Cycle Stage Description Δ BC28 | Text[100] | Specifies a description of the sales cycle that is related to the task. The description is copied from the sales cycle card. |
Keys
- Key1: Entry No. (clustered)
- Key2: Opportunity No.
- Key3: Contact Company No., Contact No., Active
- Key4: Campaign No., Active
- Key5: Active, Sales Cycle Code, Sales Cycle Stage, Estimated Close Date
- Key6: Active, Opportunity No.
- Key7: Active, Salesperson Code, Date of Change
- Key8: Close Opportunity Code
Events published
OnAfterInitOpportunityEntry(Opportunity: Record Opportunity; var OpportunityEntry: Record "Opportunity Entry")(integration)OnAfterInsertEntry(var OpportunityEntry: Record "Opportunity Entry")(integration)OnAfterValidateStage(var OpportunityEntry: Record "Opportunity Entry")(integration)OnBeforeCheckStatus(var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeCheckStatus2(var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeCloseOppFromOpp(var Opportunity: Record Opportunity; var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeCreateStageList(var OpportunityEntry: Record "Opportunity Entry"; var OpportunityEntryRec: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeGetSalesDocValue(SalesHeader: Record "Sales Header"; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeStartWizard(var OpportunityEntry: Record "Opportunity Entry"; var CloseOpportunityPageId: Integer; var IsHandled: Boolean)(integration)OnBeforeTestCust(OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeUpdateEstimates(var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeUpdateOppFromOpp(var Opportunity: Record Opportunity; var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeValidateSalesCycleStage(var OpportunityEntry: Record "Opportunity Entry")(integration)OnCloseOppFromOppOnBeforeStartWizard(Opportunity: Record Opportunity; var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)+ BC25 − BC25 (integration)OnCreateTaskOnBeforeInsertTask(var OpportunityEntry: Record "Opportunity Entry"; var Task: Record "To-do")(integration)OnFinishWizardOnAfterInsertEntry(OpportunityEntry: Record "Opportunity Entry")(integration)OnFinishWizard2OnAfterInsertEntry(OpportunityEntry: Record "Opportunity Entry")(integration)OnUpdateEstimatesOnBeforeModifyOpportunityEntry(var OpportunityEntry: Record "Opportunity Entry"; SalesHeader: Record "Sales Header")(integration)OnUpdateOppFromOppOnBeforeStartWizard2(Opportunity: Record Opportunity; var OpportunityEntry: Record "Opportunity Entry")(integration)OnBeforeTestQuote(OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)(integration)OnBeforeCheckEstimatedValues(var OpportunityEntry: Record "Opportunity Entry"; xOpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)+ BC25 (integration)OnStartWizard2OnBeforeRunModalPage(var OpportunityEntry: Record "Opportunity Entry"; xOpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)+ BC25 (integration)OnFinishWizard2OnBeforeValidateSalesCycleStageDescription(var OpportunityEntry: Record "Opportunity Entry"; var IsHandled: Boolean)+ BC25 (integration)OnFinishWizardOnAfterUpdateEstimates(var OpportunityEntry: Record "Opportunity Entry")+ BC25 (integration)OnOnInsertOnBeforeModifyOpportunity(var OpportunityEntry: Record "Opportunity Entry"; var Opportunity: Record Opportunity; var ShouldModifyOpportunity: Boolean)+ BC25 (integration)OnInsertEntryOnBeforeInsert(var OpportunityEntryToInsert: Record "Opportunity Entry"; var OpportunityEntryInserted: Record "Opportunity Entry")+ BC25 (integration)
Procedures
GetLastEntryNo(): IntegerInsertEntry(var OpportunityEntryToInsert: Record "Opportunity Entry"; CancelOldTask: Boolean; CreateNewTask: Boolean)Δ BC25UpdateEstimates()CreateTask(CancelOldTask: Boolean; CreateNewTask: Boolean)GetSalesDocValue(SalesHeader: Record "Sales Header"): DecimalInitOpportunityEntry(Opportunity: Record Opportunity)Δ BC25CloseOppFromOpp(var Opportunity: Record Opportunity)Δ BC25CheckStatus()FinishWizard()Δ BC26UpdateOppFromOpp(var Opportunity: Record Opportunity)Δ BC25CheckStatus2()FinishWizard2()Δ BC26WizardActionTypeValidate2()WizardSalesCycleStageValidate2()CreateStageList()ValidateStage()NoOfSalesCyclesFirst(): IntegerNoOfSalesCyclesNext(): IntegerNoOfSalesCyclesPrev(): IntegerNoOfSalesCyclesSkip(): IntegerNoOfSalesCyclesUpdate(): IntegerNoOfSalesCyclesJump(): IntegerValidateSalesCycleStage()LookupSalesCycleStage()
Plus 6 local procedures.
Triggers
OnInsert
Relations
- drill-down page Page 5130 “Opportunity Entries”
- lookup page Page 5130 “Opportunity Entries”
- Salesperson Code: TableRelation Table 13 “Salesperson/Purchaser”
- Contact Company No.: TableRelation Table 5050 “Contact”
- Contact No.: TableRelation Table 5050 “Contact”
- Campaign No.: TableRelation Table 5071 “Campaign”
- Sales Cycle Code: TableRelation Table 5090 “Sales Cycle”
- Previous Sales Cycle Stage: TableRelation Table 5091 “Sales Cycle Stage”
- Sales Cycle Stage: TableRelation Table 5091 “Sales Cycle Stage”
- Opportunity No.: TableRelation Table 5092 “Opportunity”
- Close Opportunity Code: TableRelation Table 5094 “Close Opportunity Code” (conditional)
Referenced by
37 fields in 10 objects relate to this table (TableRelation or CalcFormula).
- Table 5092 “Opportunity”: Calcd. Current Value (LCY), Chances of Success %, Completed %, Current Sales Cycle Stage, Estimated Closing Date, Estimated Value (LCY), Probability %
- Table 13 “Salesperson/Purchaser”: Avg. Estimated Value (LCY), Avg.Calcd. Current Value (LCY), Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities, Opportunity Entry Exists
- Table 5102 “RM Matrix Management”: Avg. Estimated Value (LCY), Avg.Calcd. Current Value (LCY), Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities
- Table 5050 “Contact”: Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities, Opportunity Entry Exists
- Table 5071 “Campaign”: Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities, Opportunity Entry Exists
- Table 5091 “Sales Cycle Stage”: Average No. of Days, Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities
- Table 5090 “Sales Cycle”: Calcd. Current Value (LCY), Estimated Value (LCY), No. of Opportunities
- Table 9063 “Relationship Mgmt. Cue”: Opportunities Due in 7 Days, Overdue Opportunities
- Table 5080 “To-do”: Opportunity Entry No.
- Table 5094 “Close Opportunity Code”: No. of Opportunities
Pages and codeunits on this table
- Page 5125 “Opportunity Subform” (source table)
- Page 5128 “Close Opportunity” (source table)
- Page 5129 “Update Opportunity” (source table)
- Page 5130 “Opportunity Entries” (source table)
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 703 “Find Record Management” (1 call:
GetLastEntryNo → GetLastEntryIntFieldValue) - Codeunit 80 “Sales-Post” (1 call:
GetSalesDocValue → SumSalesLines) - Page 5129 “Update Opportunity” (1 call:
StartWizard2 → (object))
Recent changes
- 2026-07-14 #9024 [Master] - Chance of success % does not validate correctly when using the action type “Update” in Opportunity (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Opportunity Entry"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.