export_impex
Export data from SAP Commerce Cloud to ImpEx format using FlexibleSearch queries for data migration or backup purposes.
Instructions
Export data to ImpEx format using a FlexibleSearch query
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flexQuery | Yes | FlexibleSearch query for data to export |
Implementation Reference
- src/hybris-client.ts:586-615 (handler)The actual implementation of the export_impex tool, which executes a FlexibleSearch query and processes the result into ImpEx format using a Groovy script.
async exportImpex(flexQuery: string): Promise<string> { // Use Groovy script for ImpEx export const escapedQuery = this.escapeGroovyString(flexQuery); const script = ` try { def flexibleSearchService = spring.getBean("flexibleSearchService") def query = "${escapedQuery}" def searchResult = flexibleSearchService.search(query) if (searchResult.result.isEmpty()) { println "No results found for query" return "# No results found" } // Build ImpEx header from first item def firstItem = searchResult.result[0] def itemType = firstItem.itemtype // Use lowercase 'itemtype' property def sb = new StringBuilder() sb.append("# Exported from FlexibleSearch: ").append(query).append("\\n") sb.append("# Result count: ").append(searchResult.totalCount).append("\\n\\n") // Simple export format sb.append("INSERT_UPDATE ").append(itemType).append(";pk[unique=true]\\n") searchResult.result.each { item -> sb.append(";").append(item.PK.toString()).append("\\n") } println "SUCCESS: Exported " + searchResult.result.size() + " items" - src/index.ts:244-257 (registration)MCP tool definition for 'export_impex'.
{ name: 'export_impex', description: 'Export data to ImpEx format using a FlexibleSearch query', inputSchema: { type: 'object', properties: { flexQuery: { type: 'string', description: 'FlexibleSearch query for data to export', }, }, required: ['flexQuery'], }, }, - src/index.ts:436-440 (handler)Tool execution handler that calls hybrisClient.exportImpex when the 'export_impex' tool is invoked.
case 'export_impex': result = await hybrisClient.exportImpex( validateString(args, 'flexQuery', true) ); break;