0

2 列目の Null 値 (受信 CSV ファイル):->
入力 CSV: 10512,, 10513,12345,

インペックス:

INSERT_UPDATE Product;code[unique=true];vendors(code)[translator=ca.batch.converter.StiboSetDefaultVendorIfNullTranslator];...

コード:

de.hybris.platform.impex.jalo.translators.AbstractValueTranslator; を拡張します。

private final String defaultVendorCode = "000000";

@Override
public Object importValue(String valueExpr, final Item item)
        throws JaloInvalidParameterException {

    if (valueExpr == null || StringUtils.isEmpty(valueExpr)) {

        LOG.debug("Current attribute value is null so inserting "
                + defaultVendorCode);
        valueExpr = defaultVendorCode;

    }

    return valueExpr;
}

ここでも 12345 に対して同じ以下のエラーが発生しますが、最終的な impex conveterd 行には番号があります (impex 行 -> 10153;12345)

属性 de.hybris.platform.jalo.product.Product.vendors に値 '000000' を設定しようとした引数の不一致のため (java.lang.String を取得、de.h ybris.platform.jalo.product.Product を予期)、

(impex 行 -> 10153;;)

4

2 に答える 2

1

これを試してください:[allownull = true]属性修飾子; impex は次のようになります。

INSERT_UPDATE Product;code[unique=true];vendors(code)[allownull=true]

インポートのみ true / false デフォルト: false true に設定すると、この修飾子は明示的に列の値に null 値を許可します。null 値をブロックするビジネス コードがない場合、この修飾子は、たとえば、Media タイプの catalogVersion 属性などの必須属性で null 値を許可します。例: [allownull=true] ヒント Service Layer モードでは、allownull が設定されていると、インポートに失敗する場合があります。hybris Commerce Suite バージョン 5.1.1 以降、このパラメーターが検出された場合、インポートはレガシー モードに動的に切り替わります。特定の行を処理した後、インポートは SL モードに戻ります。

于 2016-11-15T19:00:05.720 に答える