当前位置: 首页 > news >正文

什么是APERAK?

APERAK(Application error and acknowledgement message)是由消息接收方发出的应用程序错误和确认信息。其目的是:

a) 通知消息发送方他的消息已经被消息接收方收到,由于业务系统在处理过程中遇到错误,已被拒绝。
b) 向消息发送方确认消息已被接收方收到。

APERAK 报文中主要包含哪些信息?

主要包含的信息如下:

  • 文件错误日期
  • 错误描述
  • 发票日期/发货日期
  • 发票号/发货编号
  • 名称以及地址信息
  • 自由文本

APERAK 报文结构如下:

位置标记名称 SR

0010    UNH消息头 M 1     
0020    BGM信息开头 M 1     
0030    DTM日期/时间/周期 C 9     
0040    FTX自由文本 C 9     
0050    CNT控制总量 C 9     

0060        ----- 段组 1 ------------------ C 99----------+
0070    DOC文档/消息详细信息 M 1 |
0080    DTM日期/时间/周期 C 99----------+

0090        ----- 段组 2 ------------------ C 9------------+
0100    RFF参考 M 1 |
0110    DTM日期/时间/周期 C 9------------+

0120        ----- 段组 3 ------------------ C 9------------+
0130    NAD名称和地址 M 1 |
0140    CTA联系信息 C 9 |
0150    COM通讯接点 C 9------------+

0160        ----- 段组 4 ------------------ C 99999------+
0170    ERC应用错误信息 M 1 |
0180    FTX自由文本 C 1 |
                                                                     |
0190        ----- 段组 5 ------------------ C 9----------+|
0200    RFF参考 M 1 ||
0210    FTX自由文本 C 9------------++
0220    UNT消息尾部 M 1

APERAK常见的几种应用场景

1.针对DESADV发货通知发出的APERAK

如果A公司发给B公司的DESADV被B公司的应用系统检测到数据错误,B公司将会给A公司发送一个APERAK。这将意味着此DESADV发货通知还没有加载到B公司的应用系统中,A公司需要确认是否提交一份更正的DESADV发货通知。

2.针对INVOIC发票发出的APERAK

如果A公司发给B公司的INVOIC发票被B公司的应用系统检测到数据错误,B公司将会给A公司发送一个APERAK。这将意味着此INVOIC发票还没有加载到B公司的财务系统中,A公司需要更正并重新发送带有相同发票号的INVOIC发票。

示例报文

APERAK for DESADV failure:

UNB+UNOA:1+SENDERID:1+RECEIVERID:1+150715:0115+1++APERAK

UNH+1+APERAK:D:97A:UN

BGM+:::APPLICATION ACKNOWLEDGEMENT+20150715+11

DTM+97:20150714:102

RFF+SI:22222222

DTM+11:20150714:102

NAD+SF+123456CITY00

NAD+ST+123

ERC+012::116

FTX+AAO+3++ERROR DESCRIPTION

UNT+10+1

UNZ+1+1

对于DESADV发货通知可以通过RFF字段进行识别,根据发货单号方便定位到具体的某一个DEASDV发货通知:

RFF+SI:22222222

APERAK for INVOIC failure: :

UNB+UNOA:1+SENDERID:1+RECEIVERID:1+150720:1002+1++APERAK

UNH+1+APERAK:D:97A:UN

BGM+:::APPLICATION ACKNOWLEDGEMENT++11

DTM+97:20150719:102

RFF+IV:99999999

DTM+3:20150719:102

NAD+SF+123456

NAD+ST+CBS

ERC+830::116

FTX+AAO+3++ ERROR DESCRIPTION

UNT+10+1

UNZ+1+1

对于INVOIC发票可以同样通过RFF字段进行识别,根据发票号方便定位到具体的发票:

RFF+IV:99999999

以上信息中,需要注意 ERC 应用错误信息字段,在上述两个示例中,ERC01分别取值如下:

ERC+012::116
ERC+830::116

其中 012和830为应用错误信息代码,其代表的含义分别为:

  • 012 Invalid Combination无效组合
  • 830 Refused By Payee 被收款人拒绝

ERC01字段的可能取值还包括:

  • 003 Duplicate Billing重复计费
  • 007 Missing Data 缺少数据
  • 008 Out of Range超出范围
  • 009 Invalid Date 无效日期
  • 010 Total Out of Balance结余总额
  • 011 Not Matching 不匹配
  • 013 Duplicate ASN重复ASN
  • 802 Invalid Debit or Credit Flag Code 无效的借记或贷记标志代码
  • 848 Incorrect Data 数据不正确
  • CUR Invalid Currency Code 无效的货币代码
  • INC Incomplete Transaction 未完成的交易
  • IQT Invalid Quantity 无效数量
  • P Missing or Invalid Item Quantity 缺少或无效的项目数量
  • POI Purchase Order Number Invalid 采购订单编号无效
  • Q Missing or Invalid Item Identification 缺少或无效的物品标识
  • QTY Quantity 数量
  • UNP Invalid Unit Price 无效单价

注意事项

1.APERAK 遵循EDIFACT国际标准,而在X12标准中,扮演类似角色的是 EDI 824报文。
2.APERAK有时会和 CONTRL相互混淆,CONTRL 报文会告知发送方其文件的语法是否正确,而 APERAK 则告知发送方消息是否已被内部应用程序或 ERP 系统正确处理。

解决方案

作为发送方,可以将已有的Excel、CSV格式转换为APERAK报文,如图所示,是一个生成APERAK报文的工作流:

以Excel方案为例,用户可以填写好Excel格式的报文信息,直接将其作为附件发送至指定邮箱,知行之桥EDI系统将会抓取该邮箱下的附件,进入EDI系统后,将数据解析为XML格式,并进一步转换成符合EDIFACT国际标准的APERAK报文,通过AS2或者SFTP等方式上传至交易伙伴的EDI系统中。

作为接收方,知行之桥EDI系统可以将接收到的APERAK报文转换为可读性更强的文件格式,或者是直接将数据传输至企业的业务系统中。如图所示,是一个解析APERAK报文进入中间数据库的工作流:

我们以通过AS2接收文件为例,首先需要通过AS2与交易伙伴搭建好EDI传输通道。接下来通过EDIFACT 端口将接收到的APERAK报文解析为XML,通过XMLMap端口转换至数据库XML,最后通过数据库端口即可将数据插入至数据库,供后端系统使用。

如果大家有关于EDI的任何疑问或者希望了解更多的EDI相关信息,欢迎联系知行软件。

更多EDI信息,请参阅: EDI电子数据交换全解指南

阅读原文

相关文章:

  • 杭州网站建设q479185700惠/如何推广普通话的建议6条
  • 泉州网站建设培训机构/纯注册app拉新挣钱
  • 网站建设设计技术方案模板/营销方式和渠道
  • 网站建设手机站/中国最好的营销策划公司
  • 天河网站+建设信科网络/企业营销策划合同
  • 坪山附近公司做网站建设哪家效益快/农技推广
  • 基于5G技术的低轨卫星物联网技术
  • android 9.0音量键功能开关(屏蔽音量加减功能)
  • 牛客java刷题知识点总结(八)
  • 准备了1个月,面试字节跳动测试工程师“凉经”分享
  • 线上牛奶配送
  • Hadoop综合项目——二手房统计分析(MapReduce篇)
  • Word控件Spire.Doc 【超链接】教程(8):在 C#/VB.NET 中链接到 Word 文档中的书签
  • 刚毕业1年,做Python挣了60W!”网友:吹的不多..
  • 操作系统管程-地址-重定位-内存管理与存储管理
  • Android面试题及答案整理(2023最新版)持续更新中......
  • Java开发 - 数据库中的基本数据结构
  • Python 圣诞树代码