Nejprve vytvoříme hlavní array, kde bude obsahovat pole pro všechny prvky krom prvků v oblasti dodavatele. Hlavní array bude tedy vypadat takto:
Artikl
47
48
49
50
51
52
53
54
55
56
57
58
59
011
pdk
general ...
spart_kdart
spart_nzart
spart_drart
spart_ppart
ceart_nakce
ceart_cevip
ceart_cedbr
ceart_bznce
ceart_szdph
zsskl_mnkdi
zsskl_mnrez
zsskl_mnces
zsskl_jdn
table:
artikl
basic
true
distance:
0
select:
true
previous:
0
key-owner:
false
key-prev:
0
frgn-main:
false
join-key:
-
Další array pro dokument artiklu bude vedlejší základní array pro opakovanou oblast s klíčem dodavatele a jeho objednacího kódu:
Artikl
65
012
psk
tdk
fdk1
fsk1
kdartdd
011
013
014
table:
artikl_dodart_dod
basic
true
distance:
1
select:
true
previous:
011
key-owner:
true
key-prev:
011
frgn-main:
false
join-key:
-
Toto základní array ukládá klíče dvou odvozených array, kterých je zapotřebí pro určení dodavatele. U dodavatele jsme se rozhodly vybírat nejen subjekt dodavatele, ale i jeho provozovnu, protože v praxi se běžně stává, že jeden subjekt má několik divizí, kde každá může dodávat jiný artikl. Na základě definice artiklu ještě tedy vzniknou tato dvě array:
Artikl
60
013
pdk
ozn_ojm
table:
subjekt
basic
false
distance:
2
select:
true
previous:
012
key-owner:
false
key-prev:
012
frgn-main:
true
join-key:
fdk2
Artikl
61
62
63
64
014
psk
opr
adr_uli
adr_mst
adr_psc
table:
subjekt_pvz
basic
false
distance:
2
select:
true
previous:
013
key-owner:
false
key-prev:
012
frgn-main:
false
join-key:
fsk1
Struktura těchto array odpovídá struktuře polí subjektu, která jsou použita v zástupci subjektu, protože je v dokumentu pro artikl využita stejná služba jako u zástupce subjektu. Dodavatelský kód artiklu je samozřejmě zadáván do základního array, jelikož je to vlastní prvek dokumentu artikl.