edifact_types/d00b/message/
iftsta.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 IFTSTA {
8    pub unh: UNH,
9    pub bgm: BGM,
10    pub dtm: Vec<DTM>,
11    pub tsr: Option<TSR>,
12    pub segment_group_1: Vec<IFTSTASegmentgroup1>,
13    pub segment_group_3: Vec<IFTSTASegmentgroup3>,
14    pub loc: Vec<LOC>,
15    pub ftx: Vec<FTX>,
16    pub cnt: Vec<CNT>,
17    pub segment_group_4: Vec<IFTSTASegmentgroup4>,
18    pub unt: UNT,
19}
20
21#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
22pub struct IFTSTASegmentgroup1 {
23    pub nad: NAD,
24    pub segment_group_2: Vec<IFTSTASegmentgroup2>,
25}
26
27#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
28pub struct IFTSTASegmentgroup10 {
29    pub gid: GID,
30    pub han: Vec<HAN>,
31    pub sgp: Vec<SGP>,
32    pub dgs: Vec<DGS>,
33    pub ftx: Vec<FTX>,
34    pub segment_group_11: Vec<IFTSTASegmentgroup11>,
35    pub segment_group_12: Vec<IFTSTASegmentgroup12>,
36    pub segment_group_13: Vec<IFTSTASegmentgroup13>,
37}
38
39#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
40pub struct IFTSTASegmentgroup11 {
41    pub mea: MEA,
42    pub eqn: Option<EQN>,
43}
44
45#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
46pub struct IFTSTASegmentgroup12 {
47    pub dim: DIM,
48    pub eqn: Option<EQN>,
49}
50
51#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
52pub struct IFTSTASegmentgroup13 {
53    pub pci: PCI,
54    pub gin: Vec<GIN>,
55}
56
57#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
58pub struct IFTSTASegmentgroup2 {
59    pub cta: CTA,
60    pub com: Vec<COM>,
61}
62
63#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
64pub struct IFTSTASegmentgroup3 {
65    pub rff: RFF,
66    pub dtm: Option<DTM>,
67}
68
69#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
70pub struct IFTSTASegmentgroup4 {
71    pub cni: CNI,
72    pub loc: Vec<LOC>,
73    pub cnt: Vec<CNT>,
74    pub segment_group_5: Vec<IFTSTASegmentgroup5>,
75}
76
77#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
78pub struct IFTSTASegmentgroup5 {
79    pub sts: STS,
80    pub rff: Vec<RFF>,
81    pub dtm: Vec<DTM>,
82    pub doc: Option<DOC>,
83    pub ftx: Vec<FTX>,
84    pub nad: Vec<NAD>,
85    pub loc: Option<LOC>,
86    pub pci: Vec<PCI>,
87    pub segment_group_6: Vec<IFTSTASegmentgroup6>,
88    pub segment_group_8: Vec<IFTSTASegmentgroup8>,
89    pub segment_group_10: Vec<IFTSTASegmentgroup10>,
90}
91
92#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
93pub struct IFTSTASegmentgroup6 {
94    pub tdt: TDT,
95    pub dtm: Vec<DTM>,
96    pub rff: Vec<RFF>,
97    pub segment_group_7: Vec<IFTSTASegmentgroup7>,
98}
99
100#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
101pub struct IFTSTASegmentgroup7 {
102    pub loc: LOC,
103    pub dtm: Vec<DTM>,
104}
105
106#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
107pub struct IFTSTASegmentgroup8 {
108    pub eqd: EQD,
109    pub mea: Vec<MEA>,
110    pub dim: Vec<DIM>,
111    pub sel: Vec<SEL>,
112    pub rff: Vec<RFF>,
113    pub tpl: Vec<TPL>,
114    pub tmd: Option<TMD>,
115    pub segment_group_9: Vec<IFTSTASegmentgroup9>,
116}
117
118#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
119pub struct IFTSTASegmentgroup9 {
120    pub eqa: EQA,
121    pub sel: Vec<SEL>,
122}