首页 > 解决方案 > Azure 逻辑应用中的 EDIFACT DELFOR 解码

问题描述

我正在使用逻辑应用程序 + 集成帐户从 X12 迁移到其他格式,没有太多 EDI 或 LA 经验。

这是我的 DELFOR 示例:

UNB+UNOA:2+OURCODE:ZZ+THEIRCODE:01+180523:1005+157'
UNG+DELFOR+OURCODE+THEIRCODE+180523:1005+157+UN+D:96A'
UNH+15700001+DELFOR:D:96A:UN'
BGM+241+201805231005-1+5'
DTM+137:20180523:102'
DTM+323:2018052120180820:711'
NAD+MI+OURCODE::92'
NAD+SF+THEIRCODE::92'
NAD+SU+THEIRCODE::92'
UNS+D'
NAD+ST+OURCODE::92'
LIN+++TESTPARTA1:IN'
PIA+1+RECEIVERPARTNO:VP'
RFF+ON:PONUMBER55'
QTY+1:3080:EA'
SCC+4++W'
DTM+2:20180521:102'
QTY+1:0:EA'
SCC+4++W'
DTM+2:20180528:102'
QTY+1:0:EA'
SCC+4++W'
DTM+2:20180604:102'
QTY+1:880:EA'
SCC+4++W'
DTM+2:20180611:102'
QTY+1:2200:EA'
SCC+4++W'
DTM+2:20180618:102'
QTY+1:1760:EA'
SCC+4++W'
DTM+2:20180625:102'
QTY+1:1760:EA'
SCC+4++W'
DTM+2:20180702:102'
QTY+1:1760:EA'
SCC+4++W'
DTM+2:20180709:102'
QTY+1:1760:EA'
SCC+4++W'
DTM+2:20180716:102'
QTY+1:1320:EA'
SCC+4++W'
DTM+2:20180723:102'
QTY+1:1320:EA'
SCC+4++W'
DTM+2:20180730:102'
QTY+1:440:EA'
SCC+4++W'
DTM+2:20180806:102'
QTY+1:440:EA'
SCC+4++W'
DTM+2:20180813:102'
QTY+1:440:EA'
SCC+4++W'
DTM+2:20180820:102'
QTY+3:274560:C62'
SCC+2'
DTM+52:20180604:102'
QTY+3:275440:C62'
SCC+3'
DTM+52:20180611:102'
QTY+3:271480:C62'
DTM+50:20180522:102'
QTY+1:2640:C62'
DTM+50:20180522:102'
RFF+AAK:CG07656'
QTY+79:271480:C62'
DTM+52:20180522:102'
UNS+S'
UNT+69+15700001'
UNE+1+157'
UNZ+1+157'

我正在使用Liaison EDI Notepad进行一般验证。它没有报告任何问题,我发现它是一个非常可靠的工具。我愿意接受其他验证建议。

现在,为了在洛杉矶执行 DECODE EDIFACT 操作,我使用哪个 MS 模式?我从MicrosoftEdiXSDTemplates.zip中选择了 EFACT_D96A_DELFOR.xsd,也可以在 GitHub 上找到。它适合我的样品吗?当我尝试该操作时,我有原始输入:

{
"host": {
    "connection": {
        "name": "/subscriptions/..."
    }
},
"method": "post",
"path": "/decode",
"queries": {
    "componentSeparator": "58",
    "dataElementSeparator": "43",
    "decimalIndicator": "Comma",
    "releaseIndicator": "63",
    "repetitionSeparator": "42",
    "segmentTerminator": "39",
    "segmentTerminatorSuffix": "None"
},
"body": {
    "$content-type": "application/octet-stream",
    "$content": "VU5CK1VOT0E6MitPVVJDT0RFOlpaK1RIRUlSQ09ERTowMSsxODA1MjM6MTAwNSsxNTcnDQpVTkcrREVMRk9SK09VUkNPREUrVEhFSVJDT0RFKzE4MDUyMzoxMDA1KzE1NytVTitEOjk2QScNClVOSCsxNTcwMDAwMStERUxGT1I6RDo5NkE6VU4nDQpCR00rMjQxKzIwMTgwNTIzMTAwNS0xKzUnDQpEVE0rMTM3OjIwMTgwNTIzOjEwMicNCkRUTSszMjM6MjAxODA1MjEyMDE4MDgyMDo3MTEnDQpOQUQrTUkrT1VSQ09ERTo6OTInDQpOQUQrU0YrVEhFSVJDT0RFOjo5MicNCk5BRCtTVStUSEVJUkNPREU6OjkyJw0KVU5TK0QnDQpOQUQrU1QrT1VSQ09ERTo6OTInDQpMSU4rKytURVNUUEFSVEExOklOJw0KUElBKzErUkVDRUlWRVJQQVJUTk86VlAnDQpSRkYrT046UE9OVU1CRVI1NScNClFUWSsxOjMwODA6RUEnDQpTQ0MrNCsrVycNCkRUTSsyOjIwMTgwNTIxOjEwMicNClFUWSsxOjA6RUEnDQpTQ0MrNCsrVycNCkRUTSsyOjIwMTgwNTI4OjEwMicNClFUWSsxOjA6RUEnDQpTQ0MrNCsrVycNCkRUTSsyOjIwMTgwNjA0OjEwMicNClFUWSsxOjg4MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA2MTE6MTAyJw0KUVRZKzE6MjIwMDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA2MTg6MTAyJw0KUVRZKzE6MTc2MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA2MjU6MTAyJw0KUVRZKzE6MTc2MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA3MDI6MTAyJw0KUVRZKzE6MTc2MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA3MDk6MTAyJw0KUVRZKzE6MTc2MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA3MTY6MTAyJw0KUVRZKzE6MTMyMDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA3MjM6MTAyJw0KUVRZKzE6MTMyMDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA3MzA6MTAyJw0KUVRZKzE6NDQwOkVBJw0KU0NDKzQrK1cnDQpEVE0rMjoyMDE4MDgwNjoxMDInDQpRVFkrMTo0NDA6RUEnDQpTQ0MrNCsrVycNCkRUTSsyOjIwMTgwODEzOjEwMicNClFUWSsxOjQ0MDpFQScNClNDQys0KytXJw0KRFRNKzI6MjAxODA4MjA6MTAyJw0KUVRZKzM6Mjc0NTYwOkM2MicNClNDQysyJw0KRFRNKzUyOjIwMTgwNjA0OjEwMicNClFUWSszOjI3NTQ0MDpDNjInDQpTQ0MrMycNCkRUTSs1MjoyMDE4MDYxMToxMDInDQpRVFkrMzoyNzE0ODA6QzYyJw0KRFRNKzUwOjIwMTgwNTIyOjEwMicNClFUWSsxOjI2NDA6QzYyJw0KRFRNKzUwOjIwMTgwNTIyOjEwMicNClJGRitBQUs6Q0cwNzY1NicNClFUWSs3OToyNzE0ODA6QzYyJw0KRFRNKzUyOjIwMTgwNTIyOjEwMicNClVOUytTJw0KVU5UKzY5KzE1NzAwMDAxJw0KVU5FKzErMTU3Jw0KVU5aKzErMTU3Jw=="
}

}

并且输出包含一个错误让我认为我没有正确验证(错误的 XSD?):

错误信息:

错误:1(字段级错误) SegmentID:UNB TS 中的位置:1 数据元素 ID:UNB3.2 段中的位置:4 字段中的位置:2 数据值:01 12:数据元素中的值无效

我认为这是指第一段(行)上的 01 导致 01+180523:1005+157 指的是日期时间 5/23/2018 10:05。实际上 01 指的是我的访客身份。这里指出的问题是什么?

这个JPG  是相关的 IA 协议。

我正在寻找解决此问题的建议,包括通常将给定的 DELFOR 或其他 EDIFACT 与正确的 MS XSD 匹配。

在我完成这个之后,我接下来计划 VDA。有什么关于 VDA 的建议让我记住吗?

谢谢

注 01 对解码操作没有问题,并在链接第 29 页的 TI 汽车规范中使用。但是,我更改为 ZZ,这确实发生了另一个错误。输出是

"badMessages": [
        {
            "UNB": {
                "UNB_Segment": "UNB+UNOA:2+OURCODE:ZZ+THEIRCODE:ZZ+180523:1005+157'\r\n################",
                "UNB2.1": "OURCODE",
                "UNB2.2": "ZZ",
                "UNB3.1": "THEIRCODE",
                "UNB3.2": "ZZ"
            },
            "UNG": {
                "UNG_Segment": "UNG+DELFOR+OURCODE+THEIRCODE+180523:1005+157+UN+D:96A'\r\n",
                "UNG1": "DELFOR",
                "UNG2.1": "OURCODE",
                "UNG3.1": "THEIRCODE",
                "UNG4.1": "180523",
                "UNG4.2": "1005",
                "UNG5": "157",
                "UNG6": "UN",
                "UNG7.1": "D",
                "UNG7.2": "96A"
            },
            "UNH": {
                "UNH1": "15700001",
                "UNH2.1": "DELFOR",
                "UNH2.2": "D",
                "UNH2.3": "96A",
                "UNH2.4": "UN"
            }, ...

ZZ 的错误是

解析过程中遇到错误。ID 为“15700001”的 Edifact 事务集包含在 ID 为“157”的功能组中,与 ID 为“157”的交换,发送者 ID 为“OURCODE”,接收者 ID 为“THEIRCODE”,并出现以下错误:\r\n错误: 1 (杂项错误)\r\n\t70: \r\n\r\n 错误: 2 (杂项错误)\r\n\t71: 事务集或组控制号不匹配\r\n\r\ n 错误: 3(其他错误)\r\n\t29: 在交换、组或消息级别指定的计数无效\r\n\r\n",

注意 UNT 段有正确的段数和控制号:UNT+69+15700001'

在输出中,有效负载报告无效模式,包括正确解析的 UNH 段:

<UnrecognizedSchema>
<UnrecognizedSegment>
    UNH+15700001+DELFOR:D:96A:UN
</UnrecognizedSegment>
<UnrecognizedSegment>
    BGM+241+201805231005-1+5
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+137:20180523:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+323:2018052120180820:711
</UnrecognizedSegment>
<UnrecognizedSegment>
    NAD+MI+OURCODE::92
</UnrecognizedSegment>
<UnrecognizedSegment>
    NAD+SF+THEIRCODE::92
</UnrecognizedSegment>
<UnrecognizedSegment>
    NAD+SU+THEIRCODE::92
</UnrecognizedSegment>
<UnrecognizedSegment>
    UNS+D
</UnrecognizedSegment>
<UnrecognizedSegment>
    NAD+ST+OURCODE::92
</UnrecognizedSegment>
<UnrecognizedSegment>
    LIN+++TESTPARTA1:IN
</UnrecognizedSegment>
<UnrecognizedSegment>
    PIA+1+RECEIVERPARTNO:VP
</UnrecognizedSegment>
<UnrecognizedSegment>
    RFF+ON:PONUMBER55
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:3080:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180521:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:0:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180528:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:0:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180604:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:880:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180611:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:2200:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180618:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1760:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180625:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1760:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180702:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1760:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180709:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1760:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180716:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1320:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180723:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:1320:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180730:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:440:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180806:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:440:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180813:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:440:EA
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+4++W
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+2:20180820:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+3:274560:C62
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+2
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+52:20180604:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+3:275440:C62
</UnrecognizedSegment>
<UnrecognizedSegment>
    SCC+3
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+52:20180611:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+3:271480:C62
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+50:20180522:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+1:2640:C62
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+50:20180522:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    RFF+AAK:CG07656
</UnrecognizedSegment>
<UnrecognizedSegment>
    QTY+79:271480:C62
</UnrecognizedSegment>
<UnrecognizedSegment>
    DTM+52:20180522:102
</UnrecognizedSegment>
<UnrecognizedSegment>
    UNS+S
</UnrecognizedSegment>
<UnrecognizedSegment>
    UNT+42+15700001
</UnrecognizedSegment>

标签: azure-logic-appsediedifact

解决方案


感谢所有发表评论的人。

最后,更改内容不是一种选择,因为我们正在为各种客户处理 EDI,而不是生成它。我输入了一个支持请求,MS 最终改变了一些东西,我今天对其进行了测试,验证这不再是一个问题,至少在我运行我们的代码的 EastUS Azure 区域。


推荐阅读