microsoft / microsoft/ALAppExtensions

[Event Request] codeunit 7130 "Item Budget Management"

Open
#30,418 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

missing-info
Dominant language
AL
Stars
988
Forks
692
Avg merge
49m
Merged PRs (30d)
1

Description

Why do you need this change?

We'd like to add custom logic and extra filtering while processing item budget entries.

Describe the request

We would like to request these events please.

Image Image Image Image
[IntegrationEvent(false, false)]
local procedure OnBeforeSetLineAndColumnDimCode(ItemBudgetName: Record "Item Budget Name"; var LineDimCode: Text[30]; var ColumnDimCode: Text[30])
begin
end;

[IntegrationEvent(false, false)]
local procedure OnFindRecOnBeforeItemFind(var Item: Record Item; ItemBudgetName: Record "Item Budget Name"; DimType: Enum "Item Budget Dimension Type"; var DimCodeBuf: Record "Dimension Code Buffer"; Which: Text[250]; ItemFilter: Text; SourceNoFilter: Text; PeriodType: Enum "Analysis Period Type"; DateFilter: Text; var PeriodInitialized: Boolean; InternalDateFilter: Text; GlobalDim1Filter: Text; GlobalDim2Filter: Text; BudgetDim1Filter: Text; BudgetDim2Filter: Text; BudgetDim3Filter: Text; IsExtraFilterApplied: Boolean; InvPostGrpFilter: Code[250]; ExclBlockedFilter: Boolean; LotForLotFilter: Boolean; var Found: Boolean; var IsHandled: Boolean)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnFindRecOnBeforeCustFind(var Cust: Record Customer)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnFindRecOnBeforeVendFind(var Vend: Record Vendor)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnFindRecOnBeforeLocationFind(var Location: Record Location)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnAfterFindRecord(
    ItemBudgetName: Record "Item Budget Name"; 
    DimType: Enum "Item Budget Dimension Type"; 
    var DimCodeBuf: Record "Dimension Code Buffer"; 
    Which: Text[250]; 
    ItemFilter: Text; 
    SourceNoFilter: Text; 
    PeriodType: Enum "Analysis Period Type"; 
    DateFilter: Text; 
    var PeriodInitialized: Boolean; 
    InternalDateFilter: Text; 
    GlobalDim1Filter: Text; 
    GlobalDim2Filter: Text; 
    BudgetDim1Filter: Text; 
    BudgetDim2Filter: Text; 
    BudgetDim3Filter: Text; 
    var Found: Boolean)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeFindDimVal(var DimVal: Record "Dimension Value")
begin
end;

[IntegrationEvent(false, false)]
local procedure OnNextRecOnBeforeItemFind(var Item: Record Item; ItemBudgetName: Record "Item Budget Name"; DimType: Enum "Item Budget Dimension Type"; var DimCodeBuf: Record "Dimension Code Buffer"; Which: Text[250]; ItemFilter: Text; SourceNoFilter: Text; PeriodType: Enum "Analysis Period Type"; DateFilter: Text; var PeriodInitialized: Boolean; InternalDateFilter: Text; GlobalDim1Filter: Text; GlobalDim2Filter: Text; BudgetDim1Filter: Text; BudgetDim2Filter: Text; BudgetDim3Filter: Text; IsExtraFilterApplied: Boolean; InvPostGrpFilter: Code[250]; ExclBlockedFilter: Boolean; LotForLotFilter: Boolean; var Found: Boolean; var IsHandled: Boolean)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnNextRecOnBeforeLocationFindNext(var Location: Record Location)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnAfterNextRecord(
    ItemBudgetName: Record "Item Budget Name";
    DimType: Enum "Item Budget Dimension Type";
    var DimCodeBuf: Record "Dimension Code Buffer";
    Steps: Integer;
    ItemFilter: Text;
    SourceNoFilter: Text;
    PeriodType: Enum "Analysis Period Type";
    DateFilter: Text;
    GlobalDim1Filter: Text;
    GlobalDim2Filter: Text;
    BudgetDim1Filter: Text;
    BudgetDim2Filter: Text;
    BudgetDim3Filter: Text;
    var ResultSteps: Integer)
begin
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeNextDimVal(var DimVal: Record "Dimension Value")
begin
end;

[IntegrationEvent(false, false)]
local procedure OnAfterSetBufferFilters(var ItemStatisticsBuf: Record "Item Statistics Buffer")
begin
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeSetAmount(
    ValueType: Enum "Item Analysis Value Type";
    SetColumnFilter: Boolean;
    var ItemStatisticsBuf: Record "Item Statistics Buffer";
    ItemBudgetName: Record "Item Budget Name";
    ItemFilter: Text;
    SourceTypeFilter: Enum "Analysis Source Type";
    SourceNoFilter: Text;
    DateFilter: Text;
    GlobalDim1Filter: Text;
    GlobalDim2Filter: Text;
    BudgetDim1Filter: Text;
    BudgetDim2Filter: Text;
    BudgetDim3Filter: Text;
    RowDimType: Enum "Item Budget Dimension Type";
    RowDimCodeBuf: Record "Dimension Code Buffer";
    ColDimType: Enum "Item Budget Dimension Type";
    ColDimCodeBuf: Record "Dimension Code Buffer";
    NewAmount: Decimal;
    var IsHandled: Boolean)
begin
end;

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with codeunit 7130, "Item Budget Management", and compare its item, customer, vendor, location, dimension, record-navigation, buffer-filter, and amount-setting paths with the event signatures listed in the issue. Done means the requested integration events are available at the corresponding points. Before starting, verify the contribution destination, since this repository states that new application contributions have moved to BCApps.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.