EdiFact, сопоставление сообщений Copaym и Coplat
Вопрос
У меня есть сообщение Coplat в следующем формате
DEB1234567890 5 CODE1 5 2007020610471COPLAT0
(... other data here ....)
DEB1234567890 5 CODE2 5 2007020610471COPLAT0
(... other data here ....)
FIN00000245
Как вы можете заметить, в приведенном выше сообщении есть два раздела DEB.
Я хочу создать сообщение Copaym, которое можно сопоставить с этим сообщением Coplat. Это пример сообщения Copaym с одним сегментом фоновой музыки.
UNB+UNOC:2+1234567890:5+CODE1'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'
Я хочу создать два сообщения, подобные этому, для перевода в приведенное выше сообщение Coplat. Это означает, что при переводе я должен получить 2 раздела DEB с CODE1 и CODE2 соответственно, я попробовал это:
UNB+UNOC:2+1234567890:5+CODE1'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'
UNB+UNOC:2+1234567890:5+CODE2'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'
но я получил синтаксическую ошибку, поэтому я помещаю все данные в один сегмент UNB, который работает, но сгенерированный Coplat имеет только один DEB с CODE1, это сообщение:
UNB+UNOC:2+1234567890:5+CODE1'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'
Внутри один сегмент UNB и 2 сегмента UNH.Может ли кто-нибудь помочь, как отправить сообщение Copaym, чтобы я получил 2 сегмента DEB с CODE1 и CODE2?
Решение
это правильный формат, вам просто нужно указать разные идентификаторы Interchange для двух сообщений.
UNB+UNOC:2+1234567890:5+CODE1'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'
UNB+UNOC:2+1234567890:5+CODE2'
UNH+1000000+COPAYM:0:4.2:RT'
BGM+903:ZZZ+1000000'
(... other data here ....)
UNT+62:1000000'
UNZ+2+091000000'