| query_peoplesoft_dbB | Query the local SQLite database directly.
When working with this database, follow these guidelines in order:
1. FIRST, discover what tables exist:
- Use: list_tables()
- Currently available: PROJECT, CA_DETAIL, CA_BILL_PLAN
2. SECOND, check the structure of a table before querying it:
- Use: describe_table('PROJECT')
- This shows all columns, their types, and which are primary keys
3. FINALLY, write your query using the discovered structure
- Use '?' placeholders for parameters (not Oracle-style ':1')
- Example: SELECT * FROM PROJECT WHERE BUSINESS_UNIT = ?
AVAILABLE RESOURCES:
- Use list_tables() to discover tables
- Use describe_table() to get table structure
- Use list_projects(), get_project_contracts(), list_contracts(), get_bill_plan()
for semantic access to the contracts/billing schema
:param sql_query: SQL query to execute (e.g., SELECT * FROM PROJECT WHERE BUSINESS_UNIT = ?)
:param parameters: List of query parameters (optional)
:return: A dictionary containing query results or an error message
|
| list_tablesA | List tables available in the local database, optionally filtered by
a name pattern.
Use this tool FIRST to discover what tables exist before writing queries.
:param pattern: Optional substring to filter table names (case-insensitive)
:return: List of matching tables
|
| describe_tableA | Get the structure of a table including all columns, their types,
and whether they're part of the primary key.
Use this tool to understand what fields are available in a table
before writing queries against it.
:param table_name: The table name (e.g., 'PROJECT', 'CA_DETAIL', 'CA_BILL_PLAN')
:return: List of columns with their properties
|
| list_projectsB | List projects, optionally filtered by business unit, effective status,
or project type.
:param business_unit: Optional business unit code (e.g., 'UCD', 'UCB')
:param eff_status: Optional effective status ('A' = Active, 'I' = Inactive)
:param project_type: Optional project type code
:return: List of matching projects
|
| get_project_contractsA | Get a project along with all contract lines and bill plans tied to it.
This is the primary tool for understanding a project's full billing
picture: the project record, its contract detail lines (CA_DETAIL),
and each line's bill plan (CA_BILL_PLAN).
:param business_unit: Business unit code (e.g., 'UCD', 'UCB')
:param project_id: The project ID
:return: Project details with related contract lines and bill plans
|
| list_contractsB | List contract detail lines, optionally filtered by business unit,
contract number, or effective status. Each line includes its
associated bill plan type/status.
:param business_unit: Optional business unit code (e.g., 'UCD', 'UCB')
:param contract_num: Optional contract number
:param eff_status: Optional contract line effective status ('A' = Active, 'I' = Inactive)
:return: List of matching contract lines with bill plan info
|
| get_bill_planC | Get the bill plan details for a specific contract line.
:param business_unit: Business unit code (e.g., 'UCD', 'UCB')
:param contract_num: Contract number
:param contract_line_num: Contract line number
:return: Bill plan details for the contract line
|
| check_project_billing_setupB | Check how projects are set up for billing: each project's contract
line(s), bill plan, bill plan type, and the effective statuses of
the project, contract line, and bill plan.
Use this to spot setup problems, e.g. an active project tied to an
inactive bill plan, or a contract line with no bill plan at all.
:param business_unit: Optional business unit code (e.g., 'UCD', 'UCB')
:param contract_num: Optional contract number
:param project_id: Optional project ID
:return: List of project/contract/bill-plan rows with effective statuses
|
| cost_reimbursable_billable_transactionsA | Summarize undistributed cost-reimbursable billable transactions
(PROJ_RESOURCE rows with ANALYSIS_TYPE = 'BIL' and
BI_DISTRIB_STATUS = 'N', i.e. billable but not yet distributed).
For each project, returns the summed BIL amount and the earliest/
latest accounting date in the matched transactions.
:param business_unit: Optional business unit code (e.g., 'UCD', 'UCB')
:param project_id: Optional project ID
:param begin_dt: Optional accounting date lower bound, inclusive (YYYY-MM-DD)
:param end_dt: Optional accounting date upper bound, inclusive (YYYY-MM-DD)
:return: Per-project sums of billable amounts with min/max accounting dates
|