Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
source_items_configurable_multiple.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
10 use Magento\InventoryApi\Api\Data\SourceItemInterfaceFactory;
13 
15 $dataObjectHelper = Bootstrap::getObjectManager()->get(DataObjectHelper::class);
17 $sourceItemFactory = Bootstrap::getObjectManager()->get(SourceItemInterfaceFactory::class);
19 $sourceItemsSave = Bootstrap::getObjectManager()->get(SourceItemsSaveInterface::class);
20 
21 /*
22  * SKU us-1 eu-1 eu-2 eu-3
23  * simple_11 100 100 100 0
24  * simple_21 100 100 0 0
25  * simple_31 100 0 100 0
26  * simple_12 100 0 0 0
27  * simple_22 100 100 100 100
28  * simple_32 100 0 0 0
29  */
30 
32  [
33  SourceItemInterface::SOURCE_CODE => 'us-1',
34  SourceItemInterface::SKU => 'simple_11',
35  SourceItemInterface::QUANTITY => 100,
36  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
37  ],
38  [
39  SourceItemInterface::SOURCE_CODE => 'eu-1',
40  SourceItemInterface::SKU => 'simple_11',
41  SourceItemInterface::QUANTITY => 100,
42  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
43  ],
44  [
45  SourceItemInterface::SOURCE_CODE => 'eu-2',
46  SourceItemInterface::SKU => 'simple_11',
47  SourceItemInterface::QUANTITY => 100,
48  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
49  ],
50  [
51  SourceItemInterface::SOURCE_CODE => 'eu-3',
52  SourceItemInterface::SKU => 'simple_11',
53  SourceItemInterface::QUANTITY => 0,
54  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
55  ],
56  [
57  SourceItemInterface::SOURCE_CODE => 'us-1',
58  SourceItemInterface::SKU => 'simple_21',
59  SourceItemInterface::QUANTITY => 100,
60  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
61  ],
62  [
63  SourceItemInterface::SOURCE_CODE => 'eu-1',
64  SourceItemInterface::SKU => 'simple_21',
65  SourceItemInterface::QUANTITY => 100,
66  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
67  ],
68  [
69  SourceItemInterface::SOURCE_CODE => 'eu-2',
70  SourceItemInterface::SKU => 'simple_21',
71  SourceItemInterface::QUANTITY => 0,
72  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
73  ],
74  [
75  SourceItemInterface::SOURCE_CODE => 'eu-3',
76  SourceItemInterface::SKU => 'simple_21',
77  SourceItemInterface::QUANTITY => 0,
78  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
79  ],
80  [
81  SourceItemInterface::SOURCE_CODE => 'us-1',
82  SourceItemInterface::SKU => 'simple_31',
83  SourceItemInterface::QUANTITY => 100,
84  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
85  ],
86  [
87  SourceItemInterface::SOURCE_CODE => 'eu-1',
88  SourceItemInterface::SKU => 'simple_31',
89  SourceItemInterface::QUANTITY => 0,
90  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
91  ],
92  [
93  SourceItemInterface::SOURCE_CODE => 'eu-2',
94  SourceItemInterface::SKU => 'simple_31',
95  SourceItemInterface::QUANTITY => 100,
96  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
97  ],
98  [
99  SourceItemInterface::SOURCE_CODE => 'eu-3',
100  SourceItemInterface::SKU => 'simple_31',
101  SourceItemInterface::QUANTITY => 0,
102  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
103  ],
104  [
105  SourceItemInterface::SOURCE_CODE => 'us-1',
106  SourceItemInterface::SKU => 'simple_12',
107  SourceItemInterface::QUANTITY => 100,
108  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
109  ],
110  [
111  SourceItemInterface::SOURCE_CODE => 'eu-1',
112  SourceItemInterface::SKU => 'simple_12',
113  SourceItemInterface::QUANTITY => 0,
114  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
115  ],
116  [
117  SourceItemInterface::SOURCE_CODE => 'eu-2',
118  SourceItemInterface::SKU => 'simple_12',
119  SourceItemInterface::QUANTITY => 0,
120  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
121  ],
122  [
123  SourceItemInterface::SOURCE_CODE => 'eu-3',
124  SourceItemInterface::SKU => 'simple_12',
125  SourceItemInterface::QUANTITY => 0,
126  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
127  ],
128  [
129  SourceItemInterface::SOURCE_CODE => 'us-1',
130  SourceItemInterface::SKU => 'simple_22',
131  SourceItemInterface::QUANTITY => 100,
132  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
133  ],
134  [
135  SourceItemInterface::SOURCE_CODE => 'eu-1',
136  SourceItemInterface::SKU => 'simple_22',
137  SourceItemInterface::QUANTITY => 100,
138  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
139  ],
140  [
141  SourceItemInterface::SOURCE_CODE => 'eu-2',
142  SourceItemInterface::SKU => 'simple_22',
143  SourceItemInterface::QUANTITY => 100,
144  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
145  ],
146  [
147  SourceItemInterface::SOURCE_CODE => 'eu-3',
148  SourceItemInterface::SKU => 'simple_22',
149  SourceItemInterface::QUANTITY => 100,
150  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
151  ],
152  [
153  SourceItemInterface::SOURCE_CODE => 'us-1',
154  SourceItemInterface::SKU => 'simple_32',
155  SourceItemInterface::QUANTITY => 100,
156  SourceItemInterface::STATUS => SourceItemInterface::STATUS_IN_STOCK,
157  ],
158  [
159  SourceItemInterface::SOURCE_CODE => 'eu-1',
160  SourceItemInterface::SKU => 'simple_32',
161  SourceItemInterface::QUANTITY => 0,
162  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
163  ],
164  [
165  SourceItemInterface::SOURCE_CODE => 'eu-2',
166  SourceItemInterface::SKU => 'simple_32',
167  SourceItemInterface::QUANTITY => 0,
168  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
169  ],
170  [
171  SourceItemInterface::SOURCE_CODE => 'eu-3',
172  SourceItemInterface::SKU => 'simple_32',
173  SourceItemInterface::QUANTITY => 0,
174  SourceItemInterface::STATUS => SourceItemInterface::STATUS_OUT_OF_STOCK,
175  ],
176 ];
177 
179 foreach ($sourcesItemsData as $sourceItemData) {
181  $sourceItem = $sourceItemFactory->create();
182  $dataObjectHelper->populateWithArray($sourceItem, $sourceItemData, SourceItemInterface::class);
184 }