Skip to main content
Glama

export_impex

Export data from SAP Commerce Cloud to ImpEx format using FlexibleSearch queries for data migration, backup, or system integration.

Instructions

Export data to ImpEx format using a FlexibleSearch query

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flexQueryYesFlexibleSearch query for data to export

Implementation Reference

  • The core handler function exportImpex in HybrisClient that generates ImpEx export using a FlexibleSearch query executed via Groovy script in HAC.
    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" return sb.toString() } catch (Exception e) { println "ERROR: " + e.getMessage() e.printStackTrace() return "# Error: " + e.getMessage() } `; const result = await this.executeGroovyScript(script); const execResult = String(result.result || ''); // If result looks like ImpEx content, return it if (execResult.includes('INSERT_UPDATE') || execResult.includes('# ')) { return execResult; } return result.output || execResult || '# Export failed'; }
  • Input schema for the export_impex tool, defining the required 'flexQuery' string parameter.
    inputSchema: { type: 'object', properties: { flexQuery: { type: 'string', description: 'FlexibleSearch query for data to export', }, }, required: ['flexQuery'], },
  • src/index.ts:245-257 (registration)
    Registration of the 'export_impex' tool in the MCP tools list.
    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'], }, },
  • Dispatcher switch case that handles MCP tool calls for 'export_impex' by invoking the HybrisClient.exportImpex method with validated arguments.
    case 'export_impex': result = await hybrisClient.exportImpex( validateString(args, 'flexQuery', true) ); break;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Emenowicz/hybris-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server