实施发货订单
当订单的包装过程完成时,您可以选择承运方并确认已准备好通过指定承运方服务发货的包裹。
解决方案
了解用于实现发货订单的 API ,用户出口,服务和其他组件。
发货订单
单击 " 更多任务 " Portlet 中的 装运订单 链接时,将显示 "装运订单" Portlet ,您可以从该 Portlet 开始装运包裹。 portlet 显示承运方以及承运方要提货的包裹数。 将调用 getShipmentContainerList API 以让到达的承运方获取包裹和包裹计数。 单击 Portlet 上的计数,该计数指示可供装运的包裹数。 这将显示 " 装运包 " 页面。 此计数不包含部分打包的装运的包裹。
将调用 getShipmentContainerList API 以返回按承运方分组的装运以及要为每个承运方提货的包裹数。 没有承运方或 scac 的包裹不会计入包裹计数。 单击对应于承运方的包裹计数时,将显示每个包裹的包裹详细信息,例如产品数量,重量,订单号和送货日期等。
单击 确认时,将调用
getShipmentList API。 根据 API 输出中 ScacIntegrationRequired 属性的值,运行以下逻辑:- 如果
ScacIntegrationRequired的值设置为Y,那么将调用addAllContainersToManifestAPI 以将 SCAC 的所有包添加到清单。addAllContainersToManifest将依次调用以下 API:getShipmentContainerListAPI-将调用此 API 以根据企业, SCAC ,ShipmentConfirmUpdatesDone="N"和IsPackProcessComplete="Y"以及ShipNode来检索所有包和相应的详细信息。getShipmentContainerListAPI-将调用此 API 以根据企业, SCAC ,ShipmentConfirmUpdatesDone="N"和IsPackProcessComplete="Y"以及ShipNode来检索所有包和相应的详细信息。addContainerToManifestAPI-仅当IsManifested=N时,才会针对包调用此 API。addAllContainersToManifestAPI 的输出是不同载货单的映射:<FailedContainers TotalFailures=""> <DistinctManifestList TotalNumberOfRecords=""> <Manifest ManifestKey=""/> </DistinctManifestList> </FailedContainers>CloseManifestAPI-针对addAllContainersToManifestAPI 返回的每个ManifestKeys调用此 API。
- 如果值
ScacIntegrationRequired设置为N,那么将调用confirmShipmentAPI 以确认装运。
注:
- 从用户界面发货包会触发
closeManifestAPI 调用,这需要大量时间。 要提高系统性能,请确保通过完成以下配置来异步调用closeManifestAPI:- 将
yfs.closemanifest.online属性的值设置为N。 - 为
CLOSE_MANIFEST事务配置YDMCloseManifestAgent时间触发的代理程序,并启动YDMCloseManifestAgent时间触发的代理程序。 您必须为发货节点创建代理条件,将此代理条件与代理服务器关联起来,然后启动代理服务器。
- 将
- 对于承运方装运的装运,请确保
ScacIntegrationRequired属性包含相同的值 (Y或N)。 如果该属性包含由同一承运方装运的某些装运的不同值,那么 "装运订单" 功能可能无法按预期工作。 - 要装运调拨订单装运的包裹,请遵循用于装运销售订单装运的相同过程。
实现
要装运软件包,请确保您具有 装运订单
资源许可权。 有关管理用户组权限的更多信息,请参阅管理用户组权限。
有关 API 的更多信息,请参阅 Javadoc。
You can start the ship orders process from the More Tasks portlet in the Order Fulfillment view.