perform_journal_action
Execute journal actions like approve, reject, or post in Oracle EPM Cloud FCCS to manage financial consolidation workflows.
Instructions
Perform an action on a journal (approve, reject, post, etc.) / Executar acao em um diario
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| journal_label | Yes | The journal label | |
| action | Yes | Action to perform | |
| parameters | No | Additional parameters |
Implementation Reference
- fccs_agent/tools/journals.py:96-114 (handler)The main MCP tool handler function for perform_journal_action, which wraps the client call and returns formatted result.async def perform_journal_action( journal_label: str, action: str, parameters: Optional[dict[str, Any]] = None ) -> dict[str, Any]: """Perform an action on a journal (approve, reject, post, etc.) / Executar acao em um diario. Args: journal_label: The journal label. action: Action to perform (approve, reject, post, etc.). parameters: Additional parameters for the action. Returns: dict: Action result. """ result = await _client.perform_journal_action( _app_name, journal_label, action, parameters ) return {"status": "success", "data": result}
- fccs_agent/tools/journals.py:202-214 (schema)The input schema definition for the perform_journal_action tool in TOOL_DEFINITIONS.{ "name": "perform_journal_action", "description": "Perform an action on a journal (approve, reject, post, etc.) / Executar acao em um diario", "inputSchema": { "type": "object", "properties": { "journal_label": {"type": "string", "description": "The journal label"}, "action": {"type": "string", "description": "Action to perform"}, "parameters": {"type": "object", "description": "Additional parameters"}, }, "required": ["journal_label", "action"], }, },
- fccs_agent/agent.py:152-157 (registration)Registration of journal tools including perform_journal_action in the TOOL_HANDLERS dictionary."get_journals": journals.get_journals, "get_journal_details": journals.get_journal_details, "perform_journal_action": journals.perform_journal_action, "update_journal_period": journals.update_journal_period, "export_journals": journals.export_journals, "import_journals": journals.import_journals,
- fccs_agent/agent.py:188-199 (registration)Registration of tool definitions including journals.TOOL_DEFINITIONS (containing perform_journal_action schema) in ALL_TOOL_DEFINITIONS.ALL_TOOL_DEFINITIONS = ( application.TOOL_DEFINITIONS + jobs.TOOL_DEFINITIONS + dimensions.TOOL_DEFINITIONS + journals.TOOL_DEFINITIONS + data.TOOL_DEFINITIONS + reports.TOOL_DEFINITIONS + consolidation.TOOL_DEFINITIONS + memo.TOOL_DEFINITIONS + feedback.TOOL_DEFINITIONS + local_data.TOOL_DEFINITIONS )
- The underlying FCCS client method that makes the actual REST API call for performing journal actions.async def perform_journal_action( self, app_name: str, journal_label: str, action: str, parameters: Optional[dict[str, Any]] = None ) -> dict[str, Any]: """Perform journal action / Executar acao no lancamento.""" if self.config.fccs_mock_mode: return {"journalLabel": journal_label, "action": action, "status": "Submitted"} payload = {"action": action, **(parameters or {})} response = await self._client.post( f"/{app_name}/journals/{quote(journal_label)}/actions{self._get_query_params()}", json=payload ) response.raise_for_status() return response.json()