BudgetCategories
Retrieve a list of all budget categories.
Table Specific Information
Select
The driver uses the SAP Concur APIs to process filters that refer to Id, UserName, and ExternalId. The driver processes other filters client-side within the driver.
For example, the driver will offload 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 vali 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 = 'Sampe 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 either specify the budget category Id in the query or the provider will resolve the Id internally by processing the criteria.
When Id is not specified an extra request will be issued to find the Id of all budget category with a name = 'TEST'.
DELETE FROM BudgetCategories WHERE name = 'TEST'
When Id is specified in the query the provider will issue a delete request directly with no extra processing:
DELETE FROM BudgetCategories WHERE Id = 'c891b0fb-ae64-45dc-84e4-a43d2adf4332'
Columns
Name | Type | ReadOnly | 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 |