EDI的报文标准和代码标准

http://blog.vsharing.com/itdays/A909994.html 

 

前面讲过了EDI的协议标准,具体到某个协议标准,里面会用有被称为文档的该EDI标准的报文标准,而每种报文标准就会对于有很多的代码来指定说明其内容。

听起来有点高深,举个例子吧,最近红遍大江南北的《潜伏》大家应该都看过了,没看过应该也听说过,没听说过的要好好检讨一下自己,是不是忙的看电视的功夫都没有了。《潜伏》里面余则成和延安的通讯就是用电台,而密码本就是一本民国时出版的《蝴蝶梦》,如果敌人知道了这个密码本呢,再换一本书就是了,所以这里每本书就是一个包含很多内容的文档,而要解开电台里面的内容,就是根据约定的格式,也就是找的相应的页码、行、第几个字,于是内容就出来了。

EDI里面就分了很多的报文标准,用来应用一个EDI的内容,下面就是X12的一类以订单为主的例子:

180 Return Merchandise Authorization and Notification
290 Cooperative Advertising Agreements
810 Invoice(发票)
816 Organizational Relationships(公司,机构,组织联系信息)
832 Price/Sales Catalog
850 Purchase Order(订单)
855 Purchase Order Acknowledgment(订单确认)
856 Ship Notice/Manifest(发运通知)
857 Shipment and Billing Notice(发运或开票通知)
860 Purchase Order Change Request - Buyer Initiated
865 Purchase Order Change Acknowledgment/Request - Seller Initiated
875 Grocery Products Purchase Order
876 Grocery Products Purchase Order Change
877 Manufacturer Coupon Family Code Structure
880 Grocery Products Invoice
881 Manufacturer Coupon Redemption Detail
885 Retail Ac_count_ characteristics
887 Coupon Notification
888 Item Maintenance

上面的代码,比如说854,852等等就是一个报文标准,举例来说,852里面定义了什么代码代表什么意思,比如 "ST*852*0001^"就代表要开始进行852类的EDI内容传输,这里的ST就是一个代码标准,当然会有很多的代码,这些我后边介绍某类报文的时候会讲到。

下面是一些ANSI X12定义的报文内容,当然这些只是一部分,并不不需要去记,只是给一个直观的印象,可以知道EDI可以做到的内容传输都有什么。

Tax Services Series (TAX)

149 Notice of Tax Adjustment or Assessment
151 Electronic Filing of Tax Return Data Acknowledgment
152 Statistical Government Information
155 Business Credit Report
157 Notice of Power of Attorney
170 Revenue Receipts Statement
521 Income or Asset Offset
540 Notice of Employment Status
813 Electronic Filing of Tax Return Data
826 Tax Information Exchange

Warehousing Series (WAR)

883 Market Development Fund Allocation
884 Market Development Fund Settlement
886 Customer Call Reporting
891 Deduction Research Report
940 Warehouse Shipping Order
943 Warehouse Stock Transfer Shipment Advice
944 Warehouse Stock Transfer Receipt Advice
945 Warehouse Shipping Advice
947 Warehouse Inventory Adjustment Advice
990 Response to a Load Tender

Financial Series (FIN)

248 Ac_count Assignment/Inquiry and Service/Status
810 Invoice
811 Consolidated Service Invoice/Statement
812 Credit/Debit Adjustment(借贷款项调整变更)
818 Commission Sales Report
819 Operating Expense Statement
820 Payment Order/Remittance Advice
821 Financial Information Reporting
822 Ac_count Analysis
823 Lockbox
824 Application Advice
827 Financial Return Notice
828 Debit Authorization
829 Payment Cancellation Request
831 Application Control Totals
859 Freight Invoice
980 Functional Group Totals

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EDI(Electronic Data Interchange报文是一种基于ASCII字符集的电子数据交换标准格式。在Java中,我们可以使用EDI解析器库来处理EDI报文。常见的EDI解析器库包括Smooks和jPOS。 在解析EDI报文时,我们可以将其转换成Java对象来方便地进行后续处理。这里给出一个示例: 假设我们有以下EDI报文: ```EDI ISA*00* *00* *12*3456789012 *08*9876543210 *200101*1200*U*00401*000000001*0*T*:~ GS*PO*4405197800*9876543210*20010101*1319*1*X*004010~ ST*850*0001~ BEG*00*SA*08292233294**20010101~ N1*BY*ABC COMPANY~ N1*SE*DEF COMPANY~ PO1*1*10*EA*19.95*UK*1234567890*VP*ABC123~ CTT*1~ SE*7*0001~ GE*1*1~ IEA*1*000000001~ ``` 我们可以定义以下Java对象来表示这些数据: ``` public class EDI { private ISA isa; private GS gs; private List<ST> sts; // getters and setters } public class ISA { private String authorizationInformationQualifier; private String authorizationInformation; private String securityInformationQualifier; private String securityInformation; private String senderIDQualifier; private String senderID; private String receiverIDQualifier; private String receiverID; private String date; private String time; private String interchangeControlStandardsIdentifier; private String interchangeControlVersionNumber; private String interchangeControlNumber; private String acknowledgementRequested; private String usageIndicator; private String componentElementSeparator; // getters and setters } public class GS { private String functionalIdentifierCode; private String senderID; private String receiverID; private String date; private String time; private String groupControlNumber; private String transactionTypeCode; private String versionNumber; // getters and setters } public class ST { private String transactionSetIdentifierCode; private String transactionSetControlNumber; private String implementationConventionReference; // getters and setters } public class BEG { private String transactionSetPurposeCode; private String purchaseOrderTypeCode; private String purchaseOrderNumber; private String releaseNumber; private String date; private String contractNumber; // getters and setters } public class N1 { private String entityIdentifierCode; private String name; // getters and setters } public class PO1 { private String lineNumber; private String quantityOrdered; private String unitOfMeasure; private String unitPrice; private String basisOfUnitPrice; private String productIDQualifier; private String productID; private String vendorPartNumber; // getters and setters } public class CTT { private String numberOfLineItems; // getters and setters } ``` 然后我们可以使用Smooks或jPOS等EDI解析器库将EDI报文解析成这些Java对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值