2

我正在编写一个从外部服务获取订单状态的简单作业。然后我想用这个数据来更新订单。

每当我在 OrderMgr 上调用静态方法 getOrder(id : String) 时,我都会收到 null。

具有给定 ID 的订单存在并且在 BM 中可见。

有人可以告诉我我做错了什么吗?

importPackage(dw.order);

function execute( pdict : PipelineDictionary  ) : Number
{   
    var mgr : OrderMgr = OrderMgr;
    var logH : Logger = Logger.getLogger("test1", "test1");
    var order : Order = mgr.getOrder("00000101");
    if (order == null){
        // always null, even if the order exists
        logH.info("The order is null");
    }
    return PIPELET_NEXT;

}
4

2 回答 2

3

检查您正在运行该作业的站点的范围。如果它在组织范围内,则必须更改为站点范围。其次,当您进行更新时,不要忘记使用事务。

于 2019-02-27T23:39:21.913 回答
0

我认为您需要在 dw 业务管理器的批处理作业中使用 getOrder() 方法,有些脚本不允许您从店面调用它们

于 2019-03-18T16:37:43.163 回答