OrderMgr getOrder()方法始终返回null

时间:2019-02-27 11:49:36

标签: demandware

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

每当我在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;

}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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