---
id: object/codeunit/4100
type: object
title: Codeunit 4100 "Temp Blob"
summary: Codeunit 4100 "Temp Blob" in System Application (System.Utilities). 15 public procedures. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - codeunit
  - system application
versions:
  introduced: null
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: e71d6d94706dc5229267eba5760aeae52b65dbed3990b9e5e50d33a798ebe6b2
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/BLOB%20Storage/src/TempBlob.Codeunit.al
    title: src/System Application/App/BLOB Storage/src/TempBlob.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 4100
name: Temp Blob
namespace: System.Utilities
app: System Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 15
  events: 0
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 208
  implements: 0
---

# Codeunit 4100 "Temp Blob"

> Codeunit 4100 "Temp Blob" in System Application (System.Utilities). 15 public procedures. Present since at least BC23, still in BC30.

System Application · System.Utilities · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/BLOB%20Storage/src/TempBlob.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Access | Public |

## Procedures

- `CreateInStream(): InStream`: Creates an InStream object with default encoding for the TempBlob. This enables you to read data from the TempBlob.
- `CreateInStream(var InStream: InStream)`: Creates an InStream object with default encoding for the TempBlob. This enables you to read data from the TempBlob.
- `CreateInStream(Encoding: TextEncoding): InStream`: Creates an InStream object with default encoding for the TempBlob. This enables you to read data from the TempBlob.
- `CreateInStream(var InStream: InStream; Encoding: TextEncoding)`: Creates an InStream object with the specified encoding for the TempBlob. This enables you to read data from the TempBlob.
- `CreateOutStream(): OutStream`: Creates an OutStream object with default encoding for the TempBlob. This enables you to write data to the TempBlob.
- `CreateOutStream(var OutStream: OutStream)`: Creates an OutStream object with default encoding for the TempBlob. This enables you to write data to the TempBlob.
- `CreateOutStream(Encoding: TextEncoding): OutStream`: Creates an OutStream object with the specified encoding for the TempBlob. This enables you to write data to the TempBlob.
- `CreateOutStream(var OutStream: OutStream; Encoding: TextEncoding)`: Creates an OutStream object with the specified encoding for the TempBlob. This enables you to write data to the TempBlob.
- `HasValue(): Boolean`: Determines whether the TempBlob has a value.
- `Length(): Integer`: Determines the length of the data stored in the TempBlob.
- `FromRecord(RecordVariant: Variant; FieldNo: Integer)`: Copies the value of the BLOB field on the RecordVariant in the specified field to the TempBlob.
- `FromRecordRef(RecordRef: RecordRef; FieldNo: Integer)`: Copies the value of the BLOB field on the RecordRef in the specified field to the TempBlob.
- `ToRecordRef(var RecordRef: RecordRef; FieldNo: Integer)`: Copies the value of the TempBlob to the specified field on the RecordRef.
- `FromFieldRef(BlobFieldRef: FieldRef)`: Copies the value of the FieldRef to the TempBlob.
- `ToFieldRef(var BlobFieldRef: FieldRef)`: Copies the value of the TempBlob to the specified FieldRef.

## 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 4107 "Temp Blob Impl."](../codeunit/4107.md) (9 calls: `CreateInStream → CreateInStream`, `CreateOutStream → CreateOutStream`, `FromFieldRef → FromFieldRef`, …)

## Called by

- [Codeunit 9988 "Word Template Impl."](../codeunit/9988.md) (22 calls: `DownloadDocument → CreateInStream`, `DownloadTemplate → CreateInStream`, `EditDocumentAfterMerge → CreateInStream`, …)
- [Table 9650 "Custom Report Layout"](../table/9650.md) (20 calls: `ApplyUpgrade → CreateInStream`, `ApplyUpgrade → CreateOutStream`, `ApplyUpgrade → HasValue`, …)
- [Codeunit 9660 "Report Layouts Impl."](../codeunit/9660.md) (12 calls: `EditInOneDrive → CreateInStream`, `EditInOneDrive → CreateOutStream`, `EditReportLayout → CreateInStream`, …)
- [Table 77 "Report Selections"](../table/77.md) (12 calls: `DoSaveReportAsHTMLInTempBlob → CreateOutStream`, `GetEmailBodyForVend → HasValue`, `GetEmailBodyTextForCust → HasValue`, …)
- [Codeunit 8361 "Financial Report Export Job"](../codeunit/8361.md) (10 calls: `CreateEmailMessage → CreateInStream`, `CreateEmailMessage → CreateOutStream`, `CreatePackageEmailMessage → CreateInStream`, …)
- [Codeunit 3970 "Image Impl."](../codeunit/3970.md) (9 calls: `CreateAndVerifyImage → Length`, `EncodeToImage → CreateOutStream`, `FromBase64 → CreateOutStream`, …)
- [Codeunit 20118 "AMC Bank Service Request Mgt."](../codeunit/20118.md) (8 calls: `AddAMCSpecificHttpHeaders → CreateInStream`, `AddAMCSpecificHttpHeaders → CreateOutStream`, `GetWebServiceResponse → CreateInStream`, …)
- [Table 133 "Incoming Document Attachment"](../table/133.md) (8 calls: `GetContent → FromRecord`, `GetContent → HasValue`, `SendToOCR → FromRecord`, …)
- [Table 747 "VAT Report Archive"](../table/747.md) (8 calls: `ArchiveResponseMessage → HasValue`, `ArchiveSubmissionMessage → HasValue`, `DownloadResponseMessage → FromRecord`, …)
- [Codeunit 1294 "OCR Service Mgt."](../codeunit/1294.md) (7 calls: `CorrectOCRFile → CreateOutStream`, `GetOriginalOCRXMLRootNode → CreateInStream`, `GetOriginalOCRXMLRootNode → FromRecord`, …)
- [Codeunit 20124 "AMC Bank REST Request Mgt."](../codeunit/20124.md) (7 calls: `AddAMCSpecificHttpHeaders → CreateInStream`, `AddAMCSpecificHttpHeaders → CreateOutStream`, `GetJsonObjectFromBlob → CreateInStream`, …)
- [Codeunit 2114 "O365 HTML Templ. Mgt."](../codeunit/2114.md) (7 calls: `CreateEmailBodyFromReportSelections → CreateOutStream`, `FillCompanyLogo → CreateInStream`, `FillCompanyLogo → FromRecord`, …)
- [Codeunit 5503 "Graph Mgt - Attachment Buffer"](../codeunit/5503.md) (7 calls: `GetContentLength → CreateInStream`, `GetContentLength → HasValue`, `LoadAttachmentsToBuffer → FromRecord`, …)
- [Codeunit 7237 "Master Data Mgt. Subscribers"](../codeunit/7237.md) (7 calls: `GetBlobFieldText → CreateInStream`, `GetBlobFieldText → FromFieldRef`, `GetBlobFieldText → HasValue`, …)
- [Codeunit 1279 "Cryptography Management Impl."](../codeunit/1279.md) (6 calls: `DownloadEncryptionFileFromStream → CreateInStream`, `GetEncryptionKeyAsStream → CreateOutStream`, `SignData → CreateInStream`, …)
- [Codeunit 20113 "AMC Bank Exp. CT Hndl"](../codeunit/20113.md) (6 calls: `ConvertPaymentDataToFormat → FromRecord`, `ConvertPaymentDataToFormat → HasValue`, `DisplayErrorFromResponse → CreateInStream`, …)
- [Codeunit 20365 "Use Case Archival Mgmt."](../codeunit/20365.md) (6 calls: `ExportTaxTypes → CreateInStream`, `ExportTaxTypes → CreateOutStream`, `ExportUseCases → CreateInStream`, …)
- [Codeunit 419 "File Management"](../codeunit/419.md) (6 calls: `BLOBExport → CreateInStream`, `BLOBExportToServerFile → CreateInStream`, `BLOBExportWithEncoding → CreateInStream`, …)
- [Codeunit 6224 "XML DOM Management"](../codeunit/6224.md) (6 calls: `CreateXslTransformFromBlob → CreateInStream`, `TransformXMLText → CreateInStream`, `TransformXMLText → CreateOutStream`, …)
- [Codeunit 8614 "Config. XML Exchange"](../codeunit/8614.md) (6 calls: `ConvertBlobToBase64String → CreateInStream`, `ConvertBlobToBase64String → FromFieldRef`, `DecompressPackageToBlob → CreateInStream`, …)
- [Codeunit 1259 "Certificate Management"](../codeunit/1259.md) (5 calls: `ReadCertFromBlob → CreateInStream`, `SaveCertToIsolatedStorage → CreateInStream`, `SaveCertToIsolatedStorage → HasValue`, …)
- [Codeunit 1297 "Http Web Request Mgt."](../codeunit/1297.md) (5 calls: `AddBodyBlob → CreateInStream`, `AddBodyBlob → HasValue`, `CreateInstream → CreateInStream`, …)
- [Codeunit 20132 "Script Data Type Mgmt."](../codeunit/20132.md) (5 calls: `Text2BLOB → CreateOutStream`, `Text2BLOB → ToRecordRef`, `Variant2Text → CreateInStream`, …)
- [Codeunit 248 "VAT Lookup Ext. Data Hndl"](../codeunit/248.md) (5 calls: `InsertLogEntry → CreateInStream`, `PrepareSOAPRequestBody → CreateInStream`, `PrepareSOAPRequestBody → CreateOutStream`, …)
- [Codeunit 2503 "Extension Operation Impl"](../codeunit/2503.md) (5 calls: `DownloadDeploymentStatusDetails → CreateInStream`, `DownloadDeploymentStatusDetails → CreateOutStream`, `DownloadExtensionSource → CreateInStream`, …)
- [Codeunit 4810 "IntrastatReportManagement"](../codeunit/4810.md) (5 calls: `CreateDefaultDataExchangeDef → CreateInStream`, `CreateDefaultDataExchangeDef → CreateOutStream`, `ExportToZip → CreateInStream`, …)
- [Codeunit 491 "Memory Mapped File"](../codeunit/491.md) (5 calls: `CreateMemoryMappedFileFromTempBlob → CreateInStream`, `CreateMemoryMappedFileFromTempBlob → HasValue`, `CreateMemoryMappedFileFromTempBlob → Length`, …)
- [Codeunit 5080 "Image Handler Management"](../codeunit/5080.md) (5 calls: `GetImageSizeBlob → CreateInStream`, `GetImageSizeBlob → HasValue`, `ScaleDownFromBlob → CreateInStream`, …)
- [Codeunit 5336 "Integration Record Synch."](../codeunit/5336.md) (5 calls: `GetTextValue → CreateInStream`, `GetTextValue → FromFieldRef`, `GetTextValue → HasValue`, …)
- [Codeunit 8751 "DA External Storage Impl."](../codeunit/8751.md) (5 calls: `DownloadFromExternalStorageToTempBlob → CreateOutStream`, `MigrateFileToCurrentEnvironment → CreateInStream`, `MigrateFileToCurrentEnvironment → CreateOutStream`, …)
- [Table 1173 "Document Attachment"](../table/1173.md) (5 calls: `DownloadZipFileWithVATReturnAttachments → CreateInStream`, `DownloadZipFileWithVATReturnAttachments → CreateOutStream`, `Export → CreateOutStream`, …)
- [Codeunit 1530 "Request Page Parameters Helper"](../codeunit/1530.md) (4 calls: `GetFilterDisplayText → FromRecord`, `GetFilterViewFilters → FromRecord`, `ReadParameters → CreateInStream`, …)
- [Codeunit 1605 "PEPPOL Management"](../codeunit/1605.md) (4 calls: `GeneratePDFAsTempBlob → HasValue`, `GeneratePDFAttachmentAsAdditionalDocRef → CreateInStream`, `GetAdditionalDocRefInfo → CreateInStream`, …)
- [Codeunit 1652 "Add-in Manifest Management"](../codeunit/1652.md) (4 calls: `ReadXMLDocToText → CreateInStream`, `ReadXMLDocToText → CreateOutStream`, `SaveManifestToServer → CreateOutStream`, …)
- [Codeunit 1925 "Sampling Perf. Profiler Impl."](../codeunit/1925.md) (4 calls: `GetData → CreateInStream`, `GetData → HasValue`, `InitializeCpuProfile → CreateInStream`, …)
- [Codeunit 20114 "AMC Bank Imp.STMT. Hndl"](../codeunit/20114.md) (4 calls: `ConvertBankStatementToFormat → ToRecordRef`, `DisplayErrorFromResponse → CreateInStream`, `ReadContentFromResponse → CreateInStream`, …)
- [Codeunit 4113 "Swiss QR Code Helper"](../codeunit/4113.md) (4 calls: `GenerateQRCodeImageImpl → CreateOutStream`, `LoadSwissCrossImage → CreateOutStream`, `OverlayBitmapScaledCenter → CreateInStream`, …)
- [Codeunit 4351 "Custom Agents Wizard Setup"](../codeunit/4351.md) (4 calls: `ImportAgentFromSample → CreateInStream`, `ImportAgentFromSample → CreateOutStream`, `LoadDetails → CreateInStream`, …)
- [Codeunit 4352 "Custom Agent Instructions"](../codeunit/4352.md) (4 calls: `CreateTextBlobStream → CreateInStream`, `CreateTextBlobStream → CreateOutStream`, `DownloadMultipleInstructions → CreateInStream`, …)
- [Codeunit 5012 "Service Declaration Mgt."](../codeunit/5012.md) (4 calls: `AssignDataExchDefToServDeclSetup → CreateInStream`, `AssignDataExchDefToServDeclSetup → CreateOutStream`, `CreateDefaultDataExchangeDef → CreateInStream`, …)
- [Codeunit 5052 "AttachmentManagement"](../codeunit/5052.md) (4 calls: `PrepareDummyEmailBody → CreateOutStream`, `SendEmailWithAttachment → CreateInStream`, `SendEmailWithAttachment → HasValue`, …)
- [Codeunit 5069 "Word Template Interactions"](../codeunit/5069.md) (4 calls: `Merge → CreateInStream`, `Merge → CreateOutStream`, `SendMergedDocument → CreateInStream`, …)
- [Codeunit 5261 "Audit File Export Mgt."](../codeunit/5261.md) (4 calls: `GenerateSingleZipFileForAllLines → CreateInStream`, `GenerateSingleZipFileForAllLines → FromRecord`, `GenerateZipFileForEachLine → CreateInStream`, …)
- [Codeunit 7241 "MDM Cross-Env Source API"](../codeunit/7241.md) (4 calls: `BuildBlobValue → CreateInStream`, `BuildBlobValue → FromFieldRef`, `BuildBlobValue → HasValue`, …)
- [Codeunit 8351 "MCP Config Implementation"](../codeunit/8351.md) (4 calls: `ExportConfigurationToFile → CreateInStream`, `ExportConfigurationToFile → CreateOutStream`, `ImportConfigurationFromFile → CreateInStream`, …)
- [Codeunit 8618 "Config. Excel Exchange"](../codeunit/8618.md) (4 calls: `CreateBook → CreateInStream`, `ImportExcel → CreateInStream`, `ImportExcel → Length`, …)
- [Codeunit 8800 "Custom Layout Reporting"](../codeunit/8800.md) (4 calls: `GetRequestParametersText → CreateInStream`, `ProcessReport → CreateInStream`, `StoreRequestParameters → CreateOutStream`, …)
- [Codeunit 8905 "Email Message Impl."](../codeunit/8905.md) (4 calls: `AddAttachment → CreateInStream`, `AddAttachment → CreateOutStream`, `InsertAttachmentsFromScenario → CreateInStream`, …)
- [Codeunit 8951 "AFS File Client Impl."](../codeunit/8951.md) (4 calls: `PutFile → CreateInStream`, `PutFile → CreateOutStream`, `PutFileRanges → CreateInStream`, …)
- [Codeunit 9120 "SharePoint Graph Client Impl."](../codeunit/9120.md) (4 calls: `DownloadLargeFile → CreateInStream`, `DownloadLargeFile → CreateOutStream`, `DownloadLargeFileByPath → CreateInStream`, …)
- and 158 more: data/code/graph/29/calls.json

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## 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: "Temp Blob")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
