BudgetCategories
Retrieve a list of all budget categories.
Table Specific Information
Select
The component uses the SAP Concur APIs to process filters that refer to Id, UserName, and ExternalId. The component processes other filters client-side within the component.
For example, the component offloads the processing of the following queries to the SAP Concur APIs:
SELECT * FROM BudgetCategories SELECT * FROM BudgetCategories WHERE Id = 'c891b0fb-ae64-45dc-84e4-a43d2adf4332'
Insert
To create a budget category, the following columns are required: Name, Description, and ExpenseTypes.
ExpenseTypes can either be an aggregate object containing the full list of expense types or the name of a temp table. You can use the 'ValidExpenseTypes' table to retrieve the list of all valid ExpenseTypes to use.
Insert using a temp table:
INSERT INTO BudgetCategoriesExpenseTypes#TEMP (FeatureTypeCode, ExpenseTypeCode) VALUES ('EXPENSE','ADVT')
INSERT INTO BudgetCategoriesExpenseTypes#TEMP (FeatureTypeCode, ExpenseTypeCode) VALUES ('PAYMENT_REQUEST','ADVT')
INSERT INTO BudgetCategories (Name, StatusType, Description, ExpenseTypes) VALUES ('My BudgetCategory','OPEN', 'This is a sample BudgetCategory', 'BudgetCategoriesExpenseTypes#TEMP')
Insert using a JSON aggregate:
INSERT INTO BudgetCategories (Name, StatusType, Description, ExpenseTypes) VALUES ('My BudgetCategory','OPEN', 'This is a sample BudgetCategory', '[{"featureTypeCode": "EXPENSE","expenseTypeCode": "ADVT"}]')
Update
The API treats update operations as a replace. The flow is the same as the INSERT operation, with the difference that the Id of the budget category to be updated needs to be specified in the query.
INSERT INTO BudgetCategoriesExpenseTypes#TEMP (expenseTypeCode,featureTypeCode) VALUES ('AIRFC', 'EXPENSE')
INSERT INTO BudgetCategoriesExpenseTypes#TEMP (expenseTypeCode,featureTypeCode) VALUES ('BLDGMA', 'PAYMENT_REQUEST')
INSERT INTO BudgetCategoriesExpenseTypes#TEMP (expenseTypeCode,featureTypeCode) VALUES ('CONFSE', 'PAYMENT_REQUEST')
UPDATE BudgetCategories SET StatusType='OPEN', Name = 'Sample Category', ExpenseTypes = 'BudgetCategoriesExpenseTypes#TEMP' WHERE Id = '4bb52d58-81ea-48b3-8eeb-754b601b2cc5'
Delete
In order to delete a budget category, the Id is required. You can specify the budget category Id in the query. Otherwise, the component resolves the Id internally by processing the criteria.
When Id is not specified, an extra request is issued to find the Id of all budget category with the name 'TEST'.
DELETE FROM BudgetCategories WHERE name = 'TEST'
When Id is specified in the query, the component issues a DELETE request directly with no extra processing:
DELETE FROM BudgetCategories WHERE Id = 'c891b0fb-ae64-45dc-84e4-a43d2adf4332'
Columns
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | False |
The unique identifier for the budget category. | |
| Name | String | False |
The admin-facing name for this category. | |
| StatusType | String | False |
The status of this budget category. Supported values: OPEN, REMOVED | |
| Description | String | False |
The friendly name for this category. | |
| ExpenseTypes | String | False |
The type of feature that this expense type applies to: Purchase Request, Payment Request (Invoice), Expense, or Travel Authorization. Supported values: PURCHASE_REQUEST, PAYMENT_REQUEST, EXPENSE, REQUEST |