edifact-types 0.4.1

Bindings for the Edifact standard
Documentation
use crate::d95b::*;
use edifact_types_macros::{DisplayEdifact, DisplayEdifactSg, ParseMsg, ParseSg};
use serde::{Deserialize, Serialize};
use std::fmt;

#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifact, ParseMsg)]
pub struct COPRAR {
    pub unh: UNH,
    pub bgm: BGM,
    pub ftx: Vec<FTX>,
    pub rff: Vec<RFF>,
    pub segment_group_1: COPRARSegmentgroup1,
    pub segment_group_2: Vec<COPRARSegmentgroup2>,
    pub segment_group_3: Vec<COPRARSegmentgroup3>,
    pub cnt: CNT,
    pub unt: UNT,
}

#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct COPRARSegmentgroup1 {
    pub tdt: TDT,
    pub rff: Vec<RFF>,
    pub loc: Vec<LOC>,
    pub dtm: Vec<DTM>,
    pub ftx: Vec<FTX>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct COPRARSegmentgroup2 {
    pub nad: NAD,
    pub cta: Vec<CTA>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct COPRARSegmentgroup3 {
    pub eqd: EQD,
    pub rff: Vec<RFF>,
    pub eqn: Option<EQN>,
    pub tmd: Vec<TMD>,
    pub dtm: Vec<DTM>,
    pub loc: Vec<LOC>,
    pub mea: Vec<MEA>,
    pub dim: Vec<DIM>,
    pub tmp: Vec<TMP>,
    pub rng: Vec<RNG>,
    pub sel: Vec<SEL>,
    pub ftx: Vec<FTX>,
    pub dgs: Vec<DGS>,
    pub eqa: Vec<EQA>,
    pub segment_group_4: Option<COPRARSegmentgroup4>,
    pub nad: Option<NAD>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct COPRARSegmentgroup4 {
    pub tdt: TDT,
    pub rff: Vec<RFF>,
    pub loc: Vec<LOC>,
    pub dtm: Vec<DTM>,
}