edifact_types/d00b/message/
coparn.rs

1use crate::d00b::*;
2use edifact_types_macros::{DisplayEdifact, DisplayEdifactSg, ParseMsg, ParseSg};
3use serde::{Deserialize, Serialize};
4use std::fmt;
5
6#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifact, ParseMsg)]
7pub struct COPARN {
8    pub unh: UNH,
9    pub bgm: BGM,
10    pub tmd: Option<TMD>,
11    pub dtm: Vec<DTM>,
12    pub tsr: Vec<TSR>,
13    pub ftx: Vec<FTX>,
14    pub loc: Vec<LOC>,
15    pub segment_group_1: Vec<COPARNSegmentgroup1>,
16    pub segment_group_2: Vec<COPARNSegmentgroup2>,
17    pub segment_group_4: Vec<COPARNSegmentgroup4>,
18    pub segment_group_6: Vec<COPARNSegmentgroup6>,
19    pub segment_group_13: Vec<COPARNSegmentgroup13>,
20    pub cnt: Option<CNT>,
21    pub unt: UNT,
22}
23
24#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
25pub struct COPARNSegmentgroup1 {
26    pub rff: RFF,
27    pub dtm: Vec<DTM>,
28}
29
30#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
31pub struct COPARNSegmentgroup10 {
32    pub dgs: DGS,
33    pub ftx: Vec<FTX>,
34    pub mea: Vec<MEA>,
35    pub segment_group_11: Vec<COPARNSegmentgroup11>,
36}
37
38#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
39pub struct COPARNSegmentgroup11 {
40    pub cta: CTA,
41    pub com: Vec<COM>,
42}
43
44#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
45pub struct COPARNSegmentgroup12 {
46    pub tmp: TMP,
47    pub rng: Option<RNG>,
48}
49
50#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
51pub struct COPARNSegmentgroup13 {
52    pub eqd: EQD,
53    pub rff: Vec<RFF>,
54    pub eqn: Option<EQN>,
55    pub tmd: Vec<TMD>,
56    pub dtm: Vec<DTM>,
57    pub tsr: Vec<TSR>,
58    pub loc: Vec<LOC>,
59    pub mea: Vec<MEA>,
60    pub dim: Vec<DIM>,
61    pub segment_group_14: Vec<COPARNSegmentgroup14>,
62    pub sel: Vec<SEL>,
63    pub ftx: Vec<FTX>,
64    pub pcd: Vec<PCD>,
65    pub segment_group_15: Vec<COPARNSegmentgroup15>,
66    pub moa: Vec<MOA>,
67    pub gor: Vec<GOR>,
68    pub eqa: Option<EQA>,
69    pub cod: Option<COD>,
70    pub han: Vec<HAN>,
71    pub segment_group_17: Vec<COPARNSegmentgroup17>,
72    pub segment_group_18: Vec<COPARNSegmentgroup18>,
73    pub segment_group_20: Vec<COPARNSegmentgroup20>,
74}
75
76#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
77pub struct COPARNSegmentgroup14 {
78    pub tmp: TMP,
79    pub rng: Option<RNG>,
80}
81
82#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
83pub struct COPARNSegmentgroup15 {
84    pub dgs: DGS,
85    pub ftx: Vec<FTX>,
86    pub mea: Vec<MEA>,
87    pub segment_group_16: Vec<COPARNSegmentgroup16>,
88}
89
90#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
91pub struct COPARNSegmentgroup16 {
92    pub cta: CTA,
93    pub com: Vec<COM>,
94}
95
96#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
97pub struct COPARNSegmentgroup17 {
98    pub dam: DAM,
99    pub cod: Option<COD>,
100}
101
102#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
103pub struct COPARNSegmentgroup18 {
104    pub tdt: TDT,
105    pub dtm: Vec<DTM>,
106    pub segment_group_19: Vec<COPARNSegmentgroup19>,
107}
108
109#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
110pub struct COPARNSegmentgroup19 {
111    pub loc: LOC,
112    pub dtm: Vec<DTM>,
113}
114
115#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
116pub struct COPARNSegmentgroup2 {
117    pub tdt: TDT,
118    pub dtm: Vec<DTM>,
119    pub rff: Vec<RFF>,
120    pub segment_group_3: Vec<COPARNSegmentgroup3>,
121}
122
123#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
124pub struct COPARNSegmentgroup20 {
125    pub nad: NAD,
126    pub dtm: Option<DTM>,
127    pub cta: Option<CTA>,
128    pub com: Option<COM>,
129    pub rff: Vec<RFF>,
130}
131
132#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
133pub struct COPARNSegmentgroup3 {
134    pub loc: LOC,
135    pub dtm: Vec<DTM>,
136}
137
138#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
139pub struct COPARNSegmentgroup4 {
140    pub nad: NAD,
141    pub segment_group_5: Vec<COPARNSegmentgroup5>,
142    pub rff: Vec<RFF>,
143    pub dtm: Vec<DTM>,
144}
145
146#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
147pub struct COPARNSegmentgroup5 {
148    pub cta: CTA,
149    pub com: Vec<COM>,
150}
151
152#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
153pub struct COPARNSegmentgroup6 {
154    pub gid: GID,
155    pub han: Vec<HAN>,
156    pub ftx: Vec<FTX>,
157    pub rff: Vec<RFF>,
158    pub pia: Vec<PIA>,
159    pub segment_group_7: Vec<COPARNSegmentgroup7>,
160    pub mea: Vec<MEA>,
161    pub dim: Vec<DIM>,
162    pub segment_group_8: Vec<COPARNSegmentgroup8>,
163    pub segment_group_9: Vec<COPARNSegmentgroup9>,
164    pub segment_group_10: Vec<COPARNSegmentgroup10>,
165    pub segment_group_12: Vec<COPARNSegmentgroup12>,
166}
167
168#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
169pub struct COPARNSegmentgroup7 {
170    pub nad: NAD,
171    pub dtm: Vec<DTM>,
172    pub rff: Vec<RFF>,
173}
174
175#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
176pub struct COPARNSegmentgroup8 {
177    pub doc: DOC,
178    pub dtm: Vec<DTM>,
179    pub loc: Vec<LOC>,
180}
181
182#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
183pub struct COPARNSegmentgroup9 {
184    pub sgp: SGP,
185    pub mea: Vec<MEA>,
186}