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}