快递100电子面单接口调用成功但星空保存失败的解决方案原创
金蝶云社区-文安根
文安根
5人赞赏了该文章 809次浏览 未经作者许可,禁止转载编辑于2023年04月03日 13:26:27

    供应链领域的'获取电子面单'动态表单是星空对接快递100和快递管家接口的最主要窗口,由于快递100和快递管家接口对接的物流公司比较多,且一些功能或接口返回的字段各个物流公司都可能存在差异,目前星空通版无法感知每个字段的长度或差异有哪些。默认出厂设置时大部分文本字段都是50个长度,这种配置足以满足95%以上的客户情况,默认长度为50个字符的字段如下图1-1所示:

image.png

图1-1


    在极端情况下,可能存在部分字段返回超长情况,这时就可能存在'获取电子面单'界面提示成功,但星空的电子面单基础资料没保存成功的情况(这种情况也可能是客户二开的字段超长,根据客户提单反馈,二开字段超长还是比较常见的)。默认情况下,电子面单是不会提示为什么失败的,因为这个快递100以及快递管家电子面单接口和星空集成时没有做成事务一致性, 至于是哪个字段超长呢?这时就需要参照论坛:https://vip.kingdee.com/article/261534670876342272  启用日志,然后重新用相同数据去获取电子面单,最后日志文件中有类似图1-2所示的记录:

image.png

图1-2


    从上面的日志文件中可以看出是集包名称字段超长了(壹米滴答特定物流公司的特定场景才会报这错),此时可以打开BOS,找到电子面单基础资料中的集包名称字段,可以看到对应的数据库字段名为:FPKGNAME,如下图1-3所示:

image.png

图1-3


    然后在数据库中执行语句(注意其中的NVARCHAR(300)和 FPKGNAME是按实际情况替换的,替换前也要在上图中改变下编辑长度):

-- 电子面单 基础资料-'集包名称'字段长度改大 
EXEC p_AlterColumn 'T_SAL_KUAIDIBILL', 'FPKGNAME', 'NVARCHAR(300)', 'NOT NULL', '0100', ''' ''';




赞 5