Codeunit 1000 "Job Calculate WIP"
Base Application · Microsoft.Projects.Project.WIP
Across versions
- BC23present
- BC241 procedures changed
- BC25-26unchanged
- BC271 events added
- BC28-30unchanged
Neighbourhood 5 connected objects and pages
Base Application · Microsoft.Projects.Project.WIP · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData “Job Ledger Entry” = rm, TableData “Job Task” = rimd, TableData “Job Planning Line” = r, TableData “Job WIP Entry” = rimd, TableData “Job WIP G/L Entry” = rimd |
Events published
OnAfterCalcUsageTotalCostCosts(var JobTask: Record "Job Task")(integration)OnAfterCalcWIP(var JobTask: Record "Job Task"; JobWIPTotal: Record "Job WIP Total"; JobComplete: Boolean; var RecognizedAllocationPercentage: Decimal; var JobWIPTotalChanged: Boolean)(integration)OnBeforeActivateErrorMessageHandling(var Job: Record Job; var ErrorMessageMgt: Codeunit "Error Message Management"; var ErrorMessageHandler: Codeunit "Error Message Handler"; var ErrorContextElement: Codeunit "Error Context Element"; var IsHandled: Boolean)(integration)OnBeforeCalcPercentageOfCompletion(var JobTask: Record "Job Task"; JobWIPTotal: Record "Job WIP Total"; var JobWIPTotalChanged: Boolean; var WIPAmount: Decimal; var RecognizedAllocationPercentage: Decimal; var IsHandled: Boolean)(integration)OnBeforeCalcRecognizedCosts(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; var JobWIPMethod: Record "Job WIP Method"; var IsHandled: Boolean)(integration)OnBeforeCalcRecognizedSales(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; var JobWIPMethod: Record "Job WIP Method"; var IsHandled: Boolean)(integration)OnBeforeCalcCostValue(var JobTask: Record "Job Task"; JobWIPTotal: Record "Job WIP Total"; var WIPAmount: Decimal; var RecognizedAllocationPercentage: Decimal; var JobWIPTotalChanged: Boolean; var IsHandled: Boolean)(integration)OnBeforeJobTaskWIPRelatedFieldsAreModified(JobTask: Record "Job Task"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeVerifyJobWIPEntryIsEmpty(var JobWIPEntry: Record "Job WIP Entry")(integration)OnCreateWIPEntriesOnBeforeJobWIPEntryInsert(var JobWIPEntry: Record "Job WIP Entry")(integration)OnCreateJobWIPTotalOnAfterUpdateJobWIPTotal(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total")(integration)OnBeforeCreateJobWIPTotal(var JobTask: Record "Job Task")(integration)OnInitWIPBufferEntryFromTaskOnBeforeSetDimCombinationID(var TempDimensionBuffer: Record "Dimension Buffer" temporary; JobTask: Record "Job Task")(integration)OnInsertWIPGLOnBeforeGenJnPostLine(var GenJournalLine: Record "Gen. Journal Line"; Reversed: Boolean)(integration)OnJobTaskCalcWIPOnAfterJobWIPTotalModify(var Job: Record Job; var JobWIPTotal: Record "Job WIP Total")(integration)OnJobCalcWIPOnBeforeJobModify(var Job: Record Job; var JobComplete: Boolean)(integration)OnJobTaskCalcWIPOnBeforeJobWIPTotalModify(var Job: Record Job; var JobWIPTotal: Record "Job WIP Total")(integration)OnAfterJobTaskCalcWIP(var Job: Record Job; FromJobTask: Code[20]; ToJobTask: Code[20]; var JobWIPTotal: Record "Job WIP Total")(integration)OnBeforeCalcWIP(var JobTask: Record "Job Task"; JobWIPTotal: Record "Job WIP Total"; JobComplete: Boolean; var RecognizedAllocationPercentage: Decimal; var JobWIPTotalChanged: Boolean)(integration)OnJobTaskCalcWIPOnBeforeCreateTempJobWIPBuffer(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; var IsHandled: Boolean)(integration)OnJobTaskCalcWIPOnBeforeCalcWIP(var JobTask: Record "Job Task")(integration)OnCaclWIPOnAfterRecognizedAmounts(var JobTask: Record "Job Task")(integration)OnCreateWIPBufferEntryFromLedgerOnBeforeModifyJobLedgerEntry(var JobLedgerEntry: Record "Job Ledger Entry"; var TempJobWIPBuffer: array[2] of Record "Job WIP Buffer" temporary; JobWIPBufferType: Enum "Job WIP Buffer Type")(integration)OnBeforeGetAppliedCostsWIPEntryAmount(JobTask: Record "Job Task"; JobWIPMethod: Record "Job WIP Method"; AppliedAccrued: Boolean; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeCreateWIPBufferEntryFromLedgerOnBeforeAssignPostingGroup(var TempJobWIPBuffer: Record "Job WIP Buffer"; var JobLedgerEntry: Record "Job Ledger Entry"; JobComplete: Boolean)(integration)OnBeforeInsertWIPGL(JnlPostingDate: Date; JnlDocNo: Code[20]; SourceCode: Code[10]; GLAmount: Decimal; JobWIPGLEntry: Record "Job WIP G/L Entry"; Reversed: Boolean; var IsHandled: Boolean)(integration)OnJobTaskCalcWIPOnBeforeSumJobTaskCosts(var JobTask: Record "Job Task"; var RecognizedCostAmount: Decimal; var UsageTotalCost: Decimal; var IsHandled: Boolean)(integration)OnCreateJobWIPTotalOnBeforeLoopJobTask(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; var IsHandled: Boolean)(integration)OnBeforeGetWIPEntryAmount(JobWIPBufferType: Enum "Job WIP Buffer Type"; JobTask: Record "Job Task"; JobWIPMethod: Record "Job WIP Method"; AppliedAccrued: Boolean; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeCheckJobGLAcc(AccNo: Code[20]; var IsHandled: Boolean)(integration)OnFindJobLedgerEntriesByJobTaskOnAfterFilterJobLedgerEntry(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; JobWIPBufferType: Enum "Job WIP Buffer Type"; JobWIPMethod: Record "Job WIP Method"; var JobLedgerEntry: Record "Job Ledger Entry")+ BC27 (integration)
Event subscriptions
- VerifyJobWIPEntryOnBeforeModify subscribes to Table “Job Task” OnBeforeModifyEvent
- VerifyJobWIPEntryOnBeforeRename subscribes to Table “Job Task” OnBeforeRenameEvent
Procedures
JobCalcWIP(var Job: Record Job; WIPPostingDate2: Date; DocNo2: Code[20])DeleteWIP(Job: Record Job)CreateWIPBufferEntryFromTask(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; JobWIPBufferType: Enum "Job WIP Buffer Type"; AppliedAccrued: Boolean)Δ BC24FindJobLedgerEntriesByJobTask(var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; JobWIPBufferType: Enum "Job WIP Buffer Type")CreateWIPBufferEntryFromLedger(var JobLedgerEntry: Record "Job Ledger Entry"; var JobTask: Record "Job Task"; var JobWIPTotal: Record "Job WIP Total"; JobWIPBufferType: Enum "Job WIP Buffer Type")CalcGLWIP(JobNo: Code[20]; JustReverse: Boolean; DocNo: Code[20]; PostingDate: Date; NewPostDate: Boolean)ReOpenJob(JobNo: Code[20])SetGenJnlBatch(NewGenJnlBatch: Record "Gen. Journal Batch")
Plus 42 local procedures.
Triggers
OnRun
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 408 “DimensionManagement” (5 calls:
CreateWIPEntries → UpdateGlobalDimFromDimSetID,InitWIPBufferEntryFromTask → CheckDimBuffer,InitWIPBufferEntryFromTask → CreateDimSetIDFromDimBuf, …) - Codeunit 28 “Error Message Management” (2 calls:
ActivateErrorMessageHandling → Activate,ActivateErrorMessageHandling → PushContext) - Codeunit 29 “Error Message Handler” (2 calls:
JobCalcWIP → HasErrors,JobCalcWIP → ShowErrors) - Codeunit 12 “Gen. Jnl.-Post Line” (1 call:
InsertWIPGL → RunWithCheck)
Called by
- Table 167 “Job” (1 call:
ChangeJobCompletionStatus → ReOpenJob)
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: "codeunit", object_name: "Job Calculate WIP"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.