edifact_types/d00b/message/
iftsta.rs1use 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}