edifact_types/d95b/message/
coprar.rs

1use 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}