Codeunit 8800 "Custom Layout Reporting"
Base Application · Microsoft.Foundation.Reporting
Across versions
- BC23-24present
- BC251 procedures added
- BC26unchanged
- BC271 events added
- BC28-30unchanged
Neighbourhood 17 connected objects and pages
Base Application · Microsoft.Foundation.Reporting · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnIsTestMode(var TestMode: Boolean)(integration)OnAfterProcessReport()(integration)OnBeforeCallReportSaveAs(ReportID: Integer; ReportFormatValue: ReportFormat)(integration)OnBeforePrintReport(var DataRecRef: RecordRef; ReportID: Integer)(integration)OnBeforeRunReport(var DataRecRef: RecordRef; var ReportSelections: Record "Report Selections"; var EmailPrintIfEmailIsMissing: Boolean; var TempBlobIndicesNameValueBuffer: Record "Name/Value Buffer" temporary; var TempBlobList: Codeunit "Temp Blob List"; var OutputType: Option; var AnyOutputExists: Boolean; var InHandled: Boolean)(integration)OnBeforeRunReportWithCustomReportSelection(var DataRecRef: RecordRef; var ReportID: Integer; var CustomReportSelection: Record "Custom Report Selection"; var EmailPrintIfEmailIsMissing: Boolean; var TempBlobIndicesNameValueBuffer: Record "Name/Value Buffer" temporary; var TempBlobList: Codeunit "Temp Blob List"; var OutputType: Option; var AnyOutputExists: Boolean; var InHandled: Boolean)(integration)OnBeforeSetIteratorJoinFieldRef(var ReportDataRecordRef: RecordRef; var BalAcctTypeFieldRef: FieldRef; var AcctTypeFieldRef: FieldRef; var IsHandled: Boolean)(integration)OnCreateReportWithExtensionOnBeforeHtmlFileClose(ReportID: Integer; RepFormat: ReportFormat; var DataRecRef: RecordRef; var FileStream: OutStream)(integration)OnCreateReportWithExtensionOnBeforePdfFileClose(ReportID: Integer; RepFormat: ReportFormat; var DataRecRef: RecordRef; var FileStream: OutStream)(integration)OnGenerateFileNameOnAfterAssignFileName(var FileName: Text; ReportID: Integer; Extension: Text; DataRecRef: RecordRef)(integration)OnSaveAsReportOnBeforeFileClose(ReportSaved: Boolean; var DataRecRef: RecordRef; ReportID: Integer; RepFormat: ReportFormat; var FileStream: OutStream)(integration)OnSetOutputTypeOnAfterSetOutputMethod(var OutputMethod: Text)(integration)OnAfterGetSendToEmailID(var CustomReportSelection: Record "Custom Report Selection"; var EmailID: Text[250])(integration)OnAfterGetSendToEmailIDFromSource(var CustomReportSelection: Record "Custom Report Selection"; var EmailID: Text[250])(integration)OnRunRequestPageOnBeforeReportRunRequestPage(ReportId: Integer; var SavedParameters: Text)(integration)OnProcessReportPerObjectOnBeforeReportDataRecordRefLoop(ReportDataAndIteratorDiffer: Boolean; IteratorRecordRef: RecordRef)(integration)OnProcessReportPerObjectOnBeforeRunReport(ReportDataAndIteratorDiffer: Boolean; IteratorRecordRef: RecordRef; var IsHandled: Boolean)(integration)OnProcessReportPerObjectOnAfterRunReport(ReportDataAndIteratorDiffer: Boolean; IteratorRecordRef: RecordRef)(integration)OnAfterProcessReportPerObject(ReportDataAndIteratorDiffer: Boolean)(integration)OnBeforeGenerateFileNameForReport(IteratorRecordRef: RecordRef; var NameFieldRef: FieldRef; ReportDataRecordRef: RecordRef; var ObjectName: Text; var IsHandled: Boolean)(integration)OnBeforeThrowProcessReportError(var ErrorMessageHandler: Codeunit "Error Message Handler"; var ReportDataRecordRef: RecordRef; var OutputType: Option)+ BC27 (integration)
Procedures
GetLayoutIteratorKeyFilter(var FilterRecordRef: RecordRef; var FilterRecordKeyFieldRef: FieldRef; CustomReportLayoutCode: Code[20])ProcessReport()ProcessReportData(ReportUsage: Enum "Report Selection Usage"; var DataRecordRef: RecordRef; SourceJoinFieldName: Text; DataRecordJoinTable: Integer; IteratorTableFieldName: Text; DataItemTableSameAsIterator: Boolean)SetOutputOption(OutputOption: Integer)GetOutputOption(ReportID: Integer): IntegerGetPrintOption(): IntegerGetEmailOption(): IntegerGetPreviewOption(): IntegerGetExcelOption(): IntegerGetPDFOption(): IntegerGetWordOption(): IntegerGetXMLOption(): IntegerGetOptionValueFromRequestPageForReport(ReportID: Integer; OptionName: Text): TextSetSavePath(SavePath: Text)SetOutputSupression(SupressOutputFlag: Boolean)CallReportSaveAs(ReportID: Integer; RequestParameterText: Text; ReportFormatValue: ReportFormat; var FileStream: OutStream; var RecRef: RecordRef): BooleanIsWebClient(): BooleanSetOutputFileBaseName(FileBaseName: Text)SetTestModeWebClient(TestModeSpoofWebClient: Boolean)InitializeReportData(ReportUsage: Enum "Report Selection Usage"; var DataRecordRef: RecordRef; SourceJoinFieldName: Text; DataRecordJoinTable: Integer; IteratorTableFieldName: Text; DataItemTableSameAsIterator: Boolean)InitializeData(ReportSelectionUsage: Integer; var DataRecordRef: RecordRef; SourceJoinFieldName: Text; DataRecordJoinTable: Integer; IteratorTableFieldName: Text; DataItemTableSameAsIterator: Boolean)HasRequestParameterData(ReportID: Integer): BooleanRunRequestPage(ReportId: Integer): TextSetTableFilterForReportID(ReportID: Integer; CustomerNo: Text)GetReportRequestPageParameters(ReportID: Integer): TextSaveReportRequestPageParameters(ReportID: Integer; XMLText: Text; OptionDataEncoding: TextEncoding)+ BC25SaveReportRequestPageParameters(ReportID: Integer; XMLText: Text)+ BC25CheckForCustomLayoutReportingJob()SetIgnoreRequestParameters(IgnoreParams: Boolean)SetPredefinedRequestParameters(NewPredefinedRequestParameters: Text)SetRunReportOncePerFilter(NewRunReportOncePerFilter: Boolean)
Plus 58 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 419 “File Management” (15 calls:
AddFileToClientZip → ServerTempFileName,GenerateFileName → AppendFileNameWithIndex,GenerateFileName → CombinePath, …) - Codeunit 4102 “Temp Blob List” (5 calls:
GetRequestParametersText → Get,GetViewFromParameters → Get,StoreRequestParameters → (object), …) - Codeunit 28 “Error Message Management” (4 calls:
LogErrorEmailSendTo → LogError,LogSimpleError → LogSimpleErrorMessage,ProcessReport → Activate, …) - Codeunit 4100 “Temp Blob” (4 calls:
GetRequestParametersText → CreateInStream,ProcessReport → CreateInStream,StoreRequestParameters → CreateOutStream, …) - Codeunit 425 “Data Compression” (4 calls:
AddFileToClientZip → CreateZipArchive,ProcessReport → AddEntry,ProcessReport → CloseZipArchive, …) - Codeunit 46 “SelectionFilterManagement” (4 calls:
ExcludeReportedObjects → AddQuotes,ExcludeReportedObjects → GetMaximumNumberOfParametersInSQLQuery,GetCustomerFilter → GetSelectionFilter, …) - Codeunit 1530 “Request Page Parameters Helper” (2 calls:
GetOptionValueFromRequestPage → GetRequestPageOptionValue,GetViewFromParameters → ConvertParametersToFilters) - Codeunit 29 “Error Message Handler” (2 calls:
ProcessReport → HasErrors,ProcessReport → ShowErrors) - Codeunit 4030 “Client Type Management” (2 calls:
IsBackground → GetCurrentClientType,IsWebClient → GetCurrentClientType) - Codeunit 701 “Data Type Management” (2 calls:
GetKeyFieldRef → FindFieldByName,GetNameFieldRef → FindFieldByName) - Codeunit 8894 “Email Account” (2 calls:
CheckEmailSendTo → ValidateEmailAddresses,GetRequestParameters → IsAnyAccountRegistered) - Codeunit 260 “Document-Mailing” (1 call:
TryEmailReport → EmailFile) - Codeunit 8617 “Config. Validate Management” (1 call:
SetReportDataItem → GetRelationInfoByIDs) - Codeunit 8810 “Customer Layout - Statement” (1 call:
CheckForCustomLayoutReportingJob → CheckReportRunningInBackground) - Codeunit 9657 “Report Management Helper” (1 call:
IsWordLayout → SelectedLayoutType)
Called by
- Codeunit 8810 “Customer Layout - Statement” (9 calls:
EnqueueReport → RunRequestPage,RunReport → ProcessReportData,RunReport → SetOutputFileBaseName, …) - Codeunit 8812 “Customer Statement Subscr” (1 call:
OnBeforeSaveReportAsPDF → GetReportRequestPageParameters) - Table 77 “Report Selections” (1 call:
SaveReportAsPDFInTempBlob → GetReportRequestPageParameters)
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: "Custom Layout Reporting"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.