---
id: object/codeunit/9047
type: object
title: Codeunit 9047 "ABS Optional Parameters"
summary: Codeunit 9047 "ABS Optional Parameters" in System Application (System.Azure.Storage). 40 public procedures. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - codeunit
  - system application
versions:
  introduced: null
  last_changed: "24"
  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: bfa432380a6a9e0799f7205d554e79902566fed0b428813865d9e5ff30b4627e
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/Azure%20Blob%20Services%20API/src/Helper/ABSOptionalParameters.Codeunit.al
    title: src/System Application/App/Azure Blob Services API/src/Helper/ABSOptionalParameters.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: 9047
name: ABS Optional Parameters
namespace: System.Azure.Storage
app: System Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 42
  events: 0
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 2
  implements: 0
---

# Codeunit 9047 "ABS Optional Parameters"

> Codeunit 9047 "ABS Optional Parameters" in System Application (System.Azure.Storage). 40 public procedures. Present since at least BC23, still in BC30, changed in BC24.

System Application · System.Azure.Storage · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/Azure%20Blob%20Services%20API/src/Helper/ABSOptionalParameters.Codeunit.al) · facts from BC29

## Properties

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

## Procedures

- `LeaseId(Value: Guid)`: Sets the value for 'x-ms-lease-id' HttpHeader for a request.
- `SourceLeaseId(Value: Text)`: Sets the value for 'x-ms-source-lease-id' HttpHeader for a request.
- `Origin(Value: Text)`: Sets the value for 'Origin' HttpHeader for a request.
- `AccessControlRequestMethod(Value: Enum "Http Request Type")`: Sets the value for 'Access-Control-Request-Method' HttpHeader for a request.
- `AccessControlRequestHeaders(Value: Text)`: Sets the value for 'Access-Control-Request-Headers' HttpHeader for a request.
- `ClientRequestId(Value: Text)`: Sets the value for 'x-ms-client-request-id' HttpHeader for a request.
- `BlobPublicAccess(Value: Enum "ABS Blob Public Access")`: Sets the value for 'x-ms-blob-public-access' HttpHeader for a request.
- `Metadata(MetaName: Text; Value: Text)`: Sets the value for 'x-ms-meta-[MetaName]' HttpHeader for a request.
- `TagsValue(Value: Text)`: Sets the value for 'x-ms-tags' HttpHeader for a request.
- `SourceIfModifiedSince(Value: DateTime)`: Sets the value for 'x-ms-source-if-modified-since' HttpHeader for a request.
- `SourceIfUnmodifiedSince(Value: DateTime)`: Sets the value for 'x-ms-source-if-unmodified-since' HttpHeader for a request.
- `SourceIfMatch(Value: Text)`: Sets the value for 'x-ms-source-if-match' HttpHeader for a request.
- `SourceIfNoneMatch(Value: Text)`: Sets the value for 'x-ms-source-if-none-match' HttpHeader for a request.
- `CopySourceName(Value: Text)`: Sets the value for 'x-ms-copy-source' HttpHeader for a request.
- `RehydratePriority(Value: Enum "ABS Rehydrate Priority")`: Sets the value for 'x-ms-rehydrate-priority' HttpHeader for a request.
- `BlobExpiryOption(Value: Enum "ABS Blob Expiry Option")`: Sets the value for 'x-ms-expiry-option' HttpHeader for a request.
- `BlobExpiryTime(Value: Integer)`: Sets the value for 'x-ms-expiry-time' HttpHeader for a request.
- `BlobExpiryTime(Value: DateTime)`: Sets the value for 'x-ms-expiry-time' HttpHeader for a request.
- `BlobAccessTier(Value: Enum "ABS Blob Access Tier")`: Sets the value for 'x-ms-access-tier' HttpHeader for a request.
- `Range(BytesStartValue: Integer; BytesEndValue: Integer)`: Sets the value for 'x-ms-range' HttpHeader for a request.
- `SourceRange(BytesStartValue: Integer; BytesEndValue: Integer)`: Sets the value for 'x-ms-source-range' HttpHeader for a request.
- `RequiresSync(Value: Boolean)`: Sets the value for 'x-ms-requires-sync' HttpHeader for a request.
- `LeaseAction(Value: Enum "ABS Lease Action")` (internal): Sets the value for 'x-ms-lease-action' HttpHeader for a request.
- `LeaseBreakPeriod(Value: Integer)` (internal): Sets the value for 'x-ms-lease-break-period' HttpHeader for a request.
- `LeaseDuration(Value: Integer)` (internal): Sets the value for 'x-ms-lease-duration' HttpHeader for a request.
- `ProposedLeaseId(Value: Guid)` (internal): Sets the value for 'x-ms-proposed-lease-id' HttpHeader for a request.
- `ReturnUserPrincipalName(Value: Boolean)`: Sets the value for 'x-ms-upn' HttpHeader for a request. Version 2020-06-12 and later. Valid for accounts with hierarchical namespace enabled. If the user identity values that are returned in the x-ms-owner are true, they're transformed from Azure Active Directory object IDs to user principal names. ...
- `GetRequestHeaders(): Dictionary of [Text, Text]` (internal)
- `Timeout(Value: Integer)`: Sets the optional timeout value for the request.
- `VersionId(Value: DateTime)`: The versionid parameter is an opaque DateTime value that, when present, specifies the Version of the blob to retrieve.
- `Snapshot(Value: DateTime)`: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve.
- `Snapshot(Value: Text)`: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve.
- `Prefix(Value: Text)`: Filters the results to return only blobs whose names begin with the specified prefix.
- `Delimiter(Value: Text)`: When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs with names that begin with the same substring until the delimiter character is reached. The delimiter may be a single character or a string.
- `MaxResults(Value: Integer)`: Specifies the maximum number of blobs to be fetch, from 1 to 5000 if not defined it will fetch 5000 If more than 5000 blobs then use NextMarker to fetch the next set of blobs. In certain cases, the service might return fewer results than specified by maxresults, and also return a continuation token....
- `NextMarker(Value: Text)`: Specifies the NextMarker of blobs to fetch see: https://learn.microsoft.com/en-us/rest/api/storageservices/list-blobs?tabs=azure-ad#uri-parameters
- `BlockId(Value: Text)`: Identifiers the ID of a Block in BlockBlob
- `Include(Value: Text)`: Specifies one or more datasets to include in the response.
- `ShowOnly(Value: Text)`: Specifies the datasets to be returned in the response.
- `GetParameters(): Dictionary of [Text, Text]` (internal)

Plus 2 local procedures.

## 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 9044 "ABS Format Helper"](../codeunit/9044.md) (5 calls: `LeaseId → RemoveCurlyBracketsFromString`, `Snapshot → GetRfc1123DateTime`, `SourceIfModifiedSince → GetRfc1123DateTime`, …)

## Called by

- [Codeunit 9051 "ABS Client Impl."](../codeunit/9051.md) (13 calls: `AcquireLease → LeaseAction`, `AcquireLease → LeaseDuration`, `AcquireLease → ProposedLeaseId`, …)
- [Codeunit 9042 "ABS Operation Payload"](../codeunit/9042.md) (2 calls: `SetOptionalParameters → GetParameters`, `SetOptionalParameters → GetRequestHeaders`)

## Across versions

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

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: "ABS Optional Parameters")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
