edifact_types/d95b/message/
coprar.rs1use crate::d95b::*;
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 COPRAR {
8 pub unh: UNH,
9 pub bgm: BGM,
10 pub ftx: Vec<FTX>,
11 pub rff: Vec<RFF>,
12 pub segment_group_1: COPRARSegmentgroup1,
13 pub segment_group_2: Vec<COPRARSegmentgroup2>,
14 pub segment_group_3: Vec<COPRARSegmentgroup3>,
15 pub cnt: CNT,
16 pub unt: UNT,
17}
18
19#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
20pub struct COPRARSegmentgroup1 {
21 pub tdt: TDT,
22 pub rff: Vec<RFF>,
23 pub loc: Vec<LOC>,
24 pub dtm: Vec<DTM>,
25 pub ftx: Vec<FTX>,
26}
27
28#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
29pub struct COPRARSegmentgroup2 {
30 pub nad: NAD,
31 pub cta: Vec<CTA>,
32}
33
34#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
35pub struct COPRARSegmentgroup3 {
36 pub eqd: EQD,
37 pub rff: Vec<RFF>,
38 pub eqn: Option<EQN>,
39 pub tmd: Vec<TMD>,
40 pub dtm: Vec<DTM>,
41 pub loc: Vec<LOC>,
42 pub mea: Vec<MEA>,
43 pub dim: Vec<DIM>,
44 pub tmp: Vec<TMP>,
45 pub rng: Vec<RNG>,
46 pub sel: Vec<SEL>,
47 pub ftx: Vec<FTX>,
48 pub dgs: Vec<DGS>,
49 pub eqa: Vec<EQA>,
50 pub segment_group_4: Option<COPRARSegmentgroup4>,
51 pub nad: Option<NAD>,
52}
53
54#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
55pub struct COPRARSegmentgroup4 {
56 pub tdt: TDT,
57 pub rff: Vec<RFF>,
58 pub loc: Vec<LOC>,
59 pub dtm: Vec<DTM>,
60}