# sib_balance.updatebalancedefinition: Sendinblue Package for Balance operations that could not be mapped to a table.
sib_balance.updatebalancedefinition: Sendinblue Package for Balance operations that could not be mapped to a table.
Updates Balance definitionParameters of Procedure
The following parameters can be used to control the behaviour of the procedure `sib_balance.updatebalancedefinition`. A value must be provided at all times for required parameters, but optional parameters in general do not need to have a value and the execution will default to a pre-defined behaviour. Values can be specified by position and by name. In both cases, all parameters not specified will be evaluated using their default values.
Value specification by position is done by listing all values from the first to the last needed value. For example: a `begin package.procedure(value1, value2, value3); end` on a procedure with four parameters will use the default value for the fourth parameter and the specified values for the first three.
Value specification by name is done by listing all values that require a value. For example with `begin package.procedure(name1 => value1, name3 => value3); end` on the same procedure will use the default values for the second and fourth parameters and the specified values for the first and third.
| Name | Data Type | Required | Default Value | Documentation |
|---|:---:|:---:|:---:|---|
| `p_pid` | `guid` | ☑ | | Loyalty Program Id |
| `p_bdid` | `guid` | ☑ | | Balance Definition Id |
| `balanceAvailabilityDurationModifier` | `string` | ☐ | | Defines when the balance expires within the selected duration. (Values: noModification, startOfPeriod, endOfPeriod) |
| `balanceAvailabilityDurationUnit` | `string` | ☐ | | Unit of time for balance validity. (Values: day, week, month, year) |
| `balanceAvailabilityDurationValue` | `int64` | ☐ | | Number of time units before the balance expires. |
| `balanceExpirationDate` | `string` | ☐ | | Expiration date (`dd/mm` format) or empty if not applicable. |
| `balanceOptionAmountOvertakingStrategy` | `string` | ☐ | | Defines whether partial credit is allowed when reaching max balance. (Values: strict, partial) |
| `balanceOptionCreditRounding` | `string` | ☐ | | Rounding strategy for credit transactions. (Values: lower, upper, natural) |
| `balanceOptionDebitRounding` | `string` | ☐ | | Rounding strategy for debit transactions. (Values: lower, upper, natural) |
| `description` | `string` | ☐ | | Short description of the balance definition. |
| `imageRef` | `string` | ☐ | | URL of an optional image reference. |
| `maxAmount` | `decimal` | ☐ | | Maximum allowable balance amount. |
| `maxCreditAmountLimit` | `decimal` | ☐ | | Maximum credit allowed per operation. |
| `maxDebitAmountLimit` | `decimal` | ☐ | | Maximum debit allowed per operation. |
| `isInternal` | `boolean` | ☐ | | Indicates whether the balance definition is internal. |
| `minAmount` | `decimal` | ☐ | | Minimum allowable balance amount. |
| `name` | `string` | ☑ | | Name of the balance definition. |
| `unit` | `string` | ☑ | | Unit of balance measurement. (Values: POINTS, EUR, USD, MXN, GBP, INR, CAD, SGD, RON, JPY, MYR, CLP, PEN, MAD, AUD, CHF, BRL) |