Prepare and sync product sales text

Prev Next

Zilliant CPQ can retrieve product sales text, known as material sales text in SAP ERP, as part of the product synchronization process. In SAP, sales text is maintained per sales organization and distribution channel and can have translations in several languages. However, during synchronization, only the languages maintained in Zilliant CPQ are retrieved.

This topic explains:


Synchronize product sales text

To automatically synchronize products with sales text:

  1. In Zilliant CPQ, enable the SettingProductSyncDownloadProductSalesText setting.

  2. In SAP ERP, enable the RFC_READ_TEXT BAPI. This BAPI is used to read the text content directly from SAP ERP during synchronization. For details, read Enable BAPIs


Lookup tables for sales text synchronization

Two Zilliant CPQ lookup tables support the sales text synchronization:

MVKE table

This table links a product (material in SAP ERP) with the relevant sales organization and distribution channel. It ensures that Zilliant CPQ can locate the correct sales text entry in SAP.

The MVKE table contains the following columns:

  • MATNR—Product ERP ID (material number in SAP ERP)

  • VKORG—Sales organization ERP ID

  • VTWEG—Distribution channel ERP ID

You can populate this table in either of the following ways:

  • Direct sync from SAP’s MVKE table. To limit the number of records, create a filtered database view in SAP ERP and sync that view instead.

  • Manual data entry in CPQ.

LANGUAGEKEYS table

This table maps SAP language keys to the 2-character ISO language codes used in Zilliant CPQ. The data source for this table is SAP’s T002 table.

The LANGUAGEKEYS table contains the following columns:

  • SPRAS—Language key

  • LAISO—2-character SAP language code


Groovy script for language mapping

By default, Zilliant CPQ uses the current user’s locale language to determine which sales text to display for a product. However, you can override this behavior by uploading a Groovy script for the predefined extension point. This is to support cases where the sales text was used for another purpose. In this script, define custom mapping logic between the user's language and the desired SAP sales text language.

Write the script

The following binding variables are available for the script:

Variable name

Description

userLanguage

The 2-character ISO code of the current user’s language, for example, "en" or "de".

textType

Type of text being requested, for example, "SALES_TEXT".

Sample script:

/* This script determines the sales text language to use when 
 * retrieving product sales text from SAP ERP.
 */

if (textType.equals("SALES_TEXT")) {
    return "en_sg";
}

return userLanguage;

Upload the script to CPQ

Upload the script for UserLangToTextLangMappingScript. For details about uploading and configuring Groovy scripts, read Upload a Groovy script.

This script runs automatically when Zilliant CPQ retrieves sales text from SAP ERP.