FUNCTION "FC_CARR_GLOB_CORRECTION" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      xInStart : Bool;   // Ausführen der Funktion
      nInBarcodeScan : DInt;   // Gescannter Barcode
      nInStation : Int;   // Scanner-Nummer für Unterscheidungen
   END_VAR

   VAR_OUTPUT 
      arOutEventLogInfo : Array[0..1] of "stEventCorrectionInfo";   // Informationen für Log-Baustein
   END_VAR

   VAR_IN_OUT 
      InOutCarrierExpect : "stCarrier";   // Erwarteter Carrier in ScannerStation
   END_VAR

   VAR_TEMP 
      tmpPartJam : "stCarrier";   // Zwischengespeicherter Carrier, gefunden in Jambereich
      tmpPartHyperJam : "stCarrier";   // Zwischengespeicherter Carrier, gefunden in JHyperjam
      tmpDummy : "stCarrier";   // Leerer Dummy mit speziellem Barcode
      tmpEmpty : "stCarrier";   // Leerer Carrier
      nCounter : DInt;
      nIdx1 : Int;   // Schleifenindex
      nIdx2 : Int;   // Schleifenindex
      tmpStatus : Int;
      xResult : Bool;
   END_VAR


BEGIN
	(*************************************************************************************
	Durchsucht alle Jam- und Lagerberieche nach den Daten die mit dem gescannten Barcode verbunden sind falls am Scanner ein anderes Teil erwartet wird.
	    -Suche beginnt immer im Hyperjam.
	    -Wenn fündig im Hyperjam, dann wird erwartetes Teil durch das Teil vom Hyperjam ersetzt, dafür kommt erwartetes Teil in Hyperjam.
	    -Ansonsten wenn fündig in Jambereichen, dann werden Daten aus dem Jambereich übernommen und diese durch Dummy ersetzt
	*************************************************************************************)
	
	#tmpDummy.nBarcode := 1;
	#tmpDummy.bStatus.%X0 := TRUE;
	
	
	IF #xInStart AND #nInBarcodeScan > 0 THEN //Barcode muss einen Wert haben
	    REGION Hyperjam
	        FOR #nIdx1 := 1 TO "cHyperJam" DO
	            IF "DB_HyperJam".stHyperJam.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und lösche ursprüngliches
	                #tmpPartHyperJam := "DB_HyperJam".stHyperJam.arCarrier[#nIdx1];
	                "DB_HyperJam".stHyperJam.arCarrier[#nIdx1] := #tmpEmpty;
	                
	                REGION Event Log
	                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                    #arOutEventLogInfo[0].nCorrectionType := 0;
	                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                    #arOutEventLogInfo[0].sLoc := 'HyperJ';
	                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartHyperJam.nDestination);
	                END_REGION
	                
	                GOTO END;
	            END_IF;
	        END_FOR;
	    END_REGION
	    CASE #nInStation OF
	        1:
	            REGION Oberes Drittel
	                REGION Lager 2.1.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_1
	                    FOR #nIdx1 := 1 TO "cJam2101_1" DO
	                        IF "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_1.arCarrier);
	                            "DB_JamArea2101".stJam2101_1.arCarrier["cJam2101_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_2
	                    FOR #nIdx1 := 1 TO "cJam2101_2" DO
	                        IF "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_2.arCarrier);
	                            "DB_JamArea2101".stJam2101_2.arCarrier["cJam2101_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_1
	                    FOR #nIdx1 := 1 TO "cJam2102_1" DO
	                        IF "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_1.arCarrier);
	                            "DB_JamArea2102".stJam2102_1.arCarrier["cJam2102_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_2
	                    FOR #nIdx1 := 1 TO "cJam2102_2" DO
	                        IF "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_2.arCarrier);
	                            "DB_JamArea2102".stJam2102_2.arCarrier["cJam2102_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_3
	                    FOR #nIdx1 := 1 TO "cJam2102_3" DO
	                        IF "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_3.arCarrier);
	                            "DB_JamArea2102".stJam2102_3.arCarrier["cJam2102_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_4
	                    FOR #nIdx1 := 1 TO "cJam2102_4" DO
	                        IF "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_4.arCarrier);
	                            "DB_JamArea2102".stJam2102_4.arCarrier["cJam2102_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_5
	                    FOR #nIdx1 := 1 TO "cJam2102_5" DO
	                        IF "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_5.arCarrier);
	                            "DB_JamArea2102".stJam2102_5.arCarrier["cJam2102_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_1
	                    FOR #nIdx1 := 1 TO "cJam2103_1" DO
	                        IF "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_1.arCarrier);
	                            "DB_JamArea2103".stJam2103_1.arCarrier["cJam2103_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_2
	                    FOR #nIdx1 := 1 TO "cJam2103_2" DO
	                        IF "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_2.arCarrier);
	                            "DB_JamArea2103".stJam2103_2.arCarrier["cJam2103_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_1
	                    FOR #nIdx1 := 1 TO "cJam2104_1" DO
	                        IF "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_1.arCarrier);
	                            "DB_JamArea2104".stJam2104_1.arCarrier["cJam2104_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_2
	                    FOR #nIdx1 := 1 TO "cJam2104_2" DO
	                        IF "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_2.arCarrier);
	                            "DB_JamArea2104".stJam2104_2.arCarrier["cJam2104_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_3
	                    FOR #nIdx1 := 1 TO "cJam2104_3" DO
	                        IF "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_3.arCarrier);
	                            "DB_JamArea2104".stJam2104_3.arCarrier["cJam2104_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_4
	                    FOR #nIdx1 := 1 TO "cJam2104_4" DO
	                        IF "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_4.arCarrier);
	                            "DB_JamArea2104".stJam2104_4.arCarrier["cJam2104_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_1
	                    FOR #nIdx1 := 1 TO "cJam2105_1" DO
	                        IF "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_1.arCarrier);
	                            "DB_JamArea2105".stJam2105_1.arCarrier["cJam2105_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_2
	                    FOR #nIdx1 := 1 TO "cJam2105_2" DO
	                        IF "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_2.arCarrier);
	                            "DB_JamArea2105".stJam2105_2.arCarrier["cJam2105_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_1
	                    FOR #nIdx1 := 1 TO "cJam2106_1" DO
	                        IF "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_1.arCarrier);
	                            "DB_JamArea2106".stJam2106_1.arCarrier["cJam2106_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_2
	                    FOR #nIdx1 := 1 TO "cJam2106_2" DO
	                        IF "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_2.arCarrier);
	                            "DB_JamArea2106".stJam2106_2.arCarrier["cJam2106_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_1
	                    FOR #nIdx1 := 1 TO "cJam2107_1" DO
	                        IF "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_1.arCarrier);
	                            "DB_JamArea2107".stJam2107_1.arCarrier["cJam2107_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_2
	                    FOR #nIdx1 := 1 TO "cJam2107_2" DO
	                        IF "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_2.arCarrier);
	                            "DB_JamArea2107".stJam2107_2.arCarrier["cJam2107_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_1
	                    FOR #nIdx1 := 1 TO "cJam2108_1" DO
	                        IF "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_1.arCarrier);
	                            "DB_JamArea2108".stJam2108_1.arCarrier["cJam2108_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_2
	                    FOR #nIdx1 := 1 TO "cJam2108_2" DO
	                        IF "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_2.arCarrier);
	                            "DB_JamArea2108".stJam2108_2.arCarrier["cJam2108_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Mittleres Drittel
	                REGION Lager 2.2.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_1
	                    FOR #nIdx1 := 1 TO "cJam2201_1" DO
	                        IF "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_1.arCarrier);
	                            "DB_JamArea2201".stJam2201_1.arCarrier["cJam2201_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_2
	                    FOR #nIdx1 := 1 TO "cJam2201_2" DO
	                        IF "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_2.arCarrier);
	                            "DB_JamArea2201".stJam2201_2.arCarrier["cJam2201_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_1
	                    FOR #nIdx1 := 1 TO "cJam2202_1" DO
	                        IF "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_1.arCarrier);
	                            "DB_JamArea2202".stJam2202_1.arCarrier["cJam2202_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_2
	                    FOR #nIdx1 := 1 TO "cJam2202_2" DO
	                        IF "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_2.arCarrier);
	                            "DB_JamArea2202".stJam2202_2.arCarrier["cJam2202_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_3
	                    FOR #nIdx1 := 1 TO "cJam2202_3" DO
	                        IF "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_3.arCarrier);
	                            "DB_JamArea2202".stJam2202_3.arCarrier["cJam2202_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_4
	                    FOR #nIdx1 := 1 TO "cJam2202_4" DO
	                        IF "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_4.arCarrier);
	                            "DB_JamArea2202".stJam2202_4.arCarrier["cJam2202_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_5
	                    FOR #nIdx1 := 1 TO "cJam2202_5" DO
	                        IF "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_5.arCarrier);
	                            "DB_JamArea2202".stJam2202_5.arCarrier["cJam2202_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_1
	                    FOR #nIdx1 := 1 TO "cJam2203_1" DO
	                        IF "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_1.arCarrier);
	                            "DB_JamArea2203".stJam2203_1.arCarrier["cJam2203_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_2
	                    FOR #nIdx1 := 1 TO "cJam2203_2" DO
	                        IF "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_2.arCarrier);
	                            "DB_JamArea2203".stJam2203_2.arCarrier["cJam2203_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_1
	                    FOR #nIdx1 := 1 TO "cJam2204_1" DO
	                        IF "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_1.arCarrier);
	                            "DB_JamArea2204".stJam2204_1.arCarrier["cJam2204_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_2
	                    FOR #nIdx1 := 1 TO "cJam2204_2" DO
	                        IF "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_2.arCarrier);
	                            "DB_JamArea2204".stJam2204_2.arCarrier["cJam2204_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_3
	                    FOR #nIdx1 := 1 TO "cJam2204_3" DO
	                        IF "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_3.arCarrier);
	                            "DB_JamArea2204".stJam2204_3.arCarrier["cJam2204_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_4
	                    FOR #nIdx1 := 1 TO "cJam2204_4" DO
	                        IF "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_4.arCarrier);
	                            "DB_JamArea2204".stJam2204_4.arCarrier["cJam2204_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_1
	                    FOR #nIdx1 := 1 TO "cJam2205_1" DO
	                        IF "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_1.arCarrier);
	                            "DB_JamArea2205".stJam2205_1.arCarrier["cJam2205_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_2
	                    FOR #nIdx1 := 1 TO "cJam2205_2" DO
	                        IF "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_2.arCarrier);
	                            "DB_JamArea2205".stJam2205_2.arCarrier["cJam2205_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_1
	                    FOR #nIdx1 := 1 TO "cJam2206_1" DO
	                        IF "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_1.arCarrier);
	                            "DB_JamArea2206".stJam2206_1.arCarrier["cJam2206_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_2
	                    FOR #nIdx1 := 1 TO "cJam2206_2" DO
	                        IF "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_2.arCarrier);
	                            "DB_JamArea2206".stJam2206_2.arCarrier["cJam2206_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_1
	                    FOR #nIdx1 := 1 TO "cJam2207_1" DO
	                        IF "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_1.arCarrier);
	                            "DB_JamArea2207".stJam2207_1.arCarrier["cJam2207_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_2
	                    FOR #nIdx1 := 1 TO "cJam2207_2" DO
	                        IF "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_2.arCarrier);
	                            "DB_JamArea2207".stJam2207_2.arCarrier["cJam2207_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_1
	                    FOR #nIdx1 := 1 TO "cJam2208_1" DO
	                        IF "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_1.arCarrier);
	                            "DB_JamArea2208".stJam2208_1.arCarrier["cJam2208_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_2
	                    FOR #nIdx1 := 1 TO "cJam2208_2" DO
	                        IF "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_2.arCarrier);
	                            "DB_JamArea2208".stJam2208_2.arCarrier["cJam2208_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Unteres Drittel
	                REGION Lager 2.3.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_1
	                    FOR #nIdx1 := 1 TO "cJam2301_1" DO
	                        IF "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_1.arCarrier);
	                            "DB_JamArea2301".stJam2301_1.arCarrier["cJam2301_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_2
	                    FOR #nIdx1 := 1 TO "cJam2301_2" DO
	                        IF "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_2.arCarrier);
	                            "DB_JamArea2301".stJam2301_2.arCarrier["cJam2301_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_1
	                    FOR #nIdx1 := 1 TO "cJam2302_1" DO
	                        IF "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_1.arCarrier);
	                            "DB_JamArea2302".stJam2302_1.arCarrier["cJam2302_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_2
	                    FOR #nIdx1 := 1 TO "cJam2302_2" DO
	                        IF "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_2.arCarrier);
	                            "DB_JamArea2302".stJam2302_2.arCarrier["cJam2302_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_3
	                    FOR #nIdx1 := 1 TO "cJam2302_3" DO
	                        IF "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_3.arCarrier);
	                            "DB_JamArea2302".stJam2302_3.arCarrier["cJam2302_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_4
	                    FOR #nIdx1 := 1 TO "cJam2302_4" DO
	                        IF "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_4.arCarrier);
	                            "DB_JamArea2302".stJam2302_4.arCarrier["cJam2302_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_1
	                    FOR #nIdx1 := 1 TO "cJam2303_1" DO
	                        IF "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_1.arCarrier);
	                            "DB_JamArea2303".stJam2303_1.arCarrier["cJam2303_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_2
	                    FOR #nIdx1 := 1 TO "cJam2303_2" DO
	                        IF "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_2.arCarrier);
	                            "DB_JamArea2303".stJam2303_2.arCarrier["cJam2303_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_1
	                    FOR #nIdx1 := 1 TO "cJam2304_1" DO
	                        IF "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_1.arCarrier);
	                            "DB_JamArea2304".stJam2304_1.arCarrier["cJam2304_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_2
	                    FOR #nIdx1 := 1 TO "cJam2304_2" DO
	                        IF "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_2.arCarrier);
	                            "DB_JamArea2304".stJam2304_2.arCarrier["cJam2304_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_3
	                    FOR #nIdx1 := 1 TO "cJam2304_3" DO
	                        IF "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_3.arCarrier);
	                            "DB_JamArea2304".stJam2304_3.arCarrier["cJam2304_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_4
	                    FOR #nIdx1 := 1 TO "cJam2304_4" DO
	                        IF "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_4.arCarrier);
	                            "DB_JamArea2304".stJam2304_4.arCarrier["cJam2304_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_1
	                    FOR #nIdx1 := 1 TO "cJam2305_1" DO
	                        IF "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_1.arCarrier);
	                            "DB_JamArea2305".stJam2305_1.arCarrier["cJam2305_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_2
	                    FOR #nIdx1 := 1 TO "cJam2305_2" DO
	                        IF "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_2.arCarrier);
	                            "DB_JamArea2305".stJam2305_2.arCarrier["cJam2305_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_1
	                    FOR #nIdx1 := 1 TO "cJam2306_1" DO
	                        IF "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_1.arCarrier);
	                            "DB_JamArea2306".stJam2306_1.arCarrier["cJam2306_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_2
	                    FOR #nIdx1 := 1 TO "cJam2306_2" DO
	                        IF "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_2.arCarrier);
	                            "DB_JamArea2306".stJam2306_2.arCarrier["cJam2306_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_1
	                    FOR #nIdx1 := 1 TO "cJam2307_1" DO
	                        IF "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_1.arCarrier);
	                            "DB_JamArea2307".stJam2307_1.arCarrier["cJam2307_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_2
	                    FOR #nIdx1 := 1 TO "cJam2307_2" DO
	                        IF "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_2.arCarrier);
	                            "DB_JamArea2307".stJam2307_2.arCarrier["cJam2307_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_1
	                    FOR #nIdx1 := 1 TO "cJam2308_1" DO
	                        IF "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_1.arCarrier);
	                            "DB_JamArea2308".stJam2308_1.arCarrier["cJam2308_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_2
	                    FOR #nIdx1 := 1 TO "cJam2308_2" DO
	                        IF "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_2.arCarrier);
	                            "DB_JamArea2308".stJam2308_2.arCarrier["cJam2308_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Seitliche Kreisel
	                REGION Jam Area 2110_1
	                    FOR #nIdx1 := 1 TO "cJam2110_1" DO
	                        IF "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_1.arCarrier);
	                            "DB_JamArea2110".stJam2110_1.arCarrier["cJam2110_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_2
	                    FOR #nIdx1 := 1 TO "cJam2110_2" DO
	                        IF "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_2.arCarrier);
	                            "DB_JamArea2110".stJam2110_2.arCarrier["cJam2110_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_3
	                    FOR #nIdx1 := 1 TO "cJam2110_3" DO
	                        IF "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_3.arCarrier);
	                            "DB_JamArea2110".stJam2110_3.arCarrier["cJam2110_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_4
	                    FOR #nIdx1 := 1 TO "cJam2110_4" DO
	                        IF "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_4.arCarrier);
	                            "DB_JamArea2110".stJam2110_4.arCarrier["cJam2110_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2112_1
	                    FOR #nIdx1 := 1 TO "cJam2112_1" DO
	                        IF "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2112".stJam2112_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2112_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2112".stJam2112_1.arCarrier);
	                            "DB_JamArea2112".stJam2112_1.arCarrier["cJam2112_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2112_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            
	        2:
	            REGION Mittleres Drittel
	                REGION Lager 2.2.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_1
	                    FOR #nIdx1 := 1 TO "cJam2201_1" DO
	                        IF "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_1.arCarrier);
	                            "DB_JamArea2201".stJam2201_1.arCarrier["cJam2201_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_2
	                    FOR #nIdx1 := 1 TO "cJam2201_2" DO
	                        IF "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_2.arCarrier);
	                            "DB_JamArea2201".stJam2201_2.arCarrier["cJam2201_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_1
	                    FOR #nIdx1 := 1 TO "cJam2202_1" DO
	                        IF "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_1.arCarrier);
	                            "DB_JamArea2202".stJam2202_1.arCarrier["cJam2202_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_2
	                    FOR #nIdx1 := 1 TO "cJam2202_2" DO
	                        IF "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_2.arCarrier);
	                            "DB_JamArea2202".stJam2202_2.arCarrier["cJam2202_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_3
	                    FOR #nIdx1 := 1 TO "cJam2202_3" DO
	                        IF "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_3.arCarrier);
	                            "DB_JamArea2202".stJam2202_3.arCarrier["cJam2202_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_4
	                    FOR #nIdx1 := 1 TO "cJam2202_4" DO
	                        IF "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_4.arCarrier);
	                            "DB_JamArea2202".stJam2202_4.arCarrier["cJam2202_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_5
	                    FOR #nIdx1 := 1 TO "cJam2202_5" DO
	                        IF "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_5.arCarrier);
	                            "DB_JamArea2202".stJam2202_5.arCarrier["cJam2202_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_1
	                    FOR #nIdx1 := 1 TO "cJam2203_1" DO
	                        IF "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_1.arCarrier);
	                            "DB_JamArea2203".stJam2203_1.arCarrier["cJam2203_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_2
	                    FOR #nIdx1 := 1 TO "cJam2203_2" DO
	                        IF "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_2.arCarrier);
	                            "DB_JamArea2203".stJam2203_2.arCarrier["cJam2203_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_1
	                    FOR #nIdx1 := 1 TO "cJam2204_1" DO
	                        IF "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_1.arCarrier);
	                            "DB_JamArea2204".stJam2204_1.arCarrier["cJam2204_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_2
	                    FOR #nIdx1 := 1 TO "cJam2204_2" DO
	                        IF "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_2.arCarrier);
	                            "DB_JamArea2204".stJam2204_2.arCarrier["cJam2204_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_3
	                    FOR #nIdx1 := 1 TO "cJam2204_3" DO
	                        IF "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_3.arCarrier);
	                            "DB_JamArea2204".stJam2204_3.arCarrier["cJam2204_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_4
	                    FOR #nIdx1 := 1 TO "cJam2204_4" DO
	                        IF "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_4.arCarrier);
	                            "DB_JamArea2204".stJam2204_4.arCarrier["cJam2204_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_1
	                    FOR #nIdx1 := 1 TO "cJam2205_1" DO
	                        IF "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_1.arCarrier);
	                            "DB_JamArea2205".stJam2205_1.arCarrier["cJam2205_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_2
	                    FOR #nIdx1 := 1 TO "cJam2205_2" DO
	                        IF "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_2.arCarrier);
	                            "DB_JamArea2205".stJam2205_2.arCarrier["cJam2205_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_1
	                    FOR #nIdx1 := 1 TO "cJam2206_1" DO
	                        IF "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_1.arCarrier);
	                            "DB_JamArea2206".stJam2206_1.arCarrier["cJam2206_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_2
	                    FOR #nIdx1 := 1 TO "cJam2206_2" DO
	                        IF "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_2.arCarrier);
	                            "DB_JamArea2206".stJam2206_2.arCarrier["cJam2206_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_1
	                    FOR #nIdx1 := 1 TO "cJam2207_1" DO
	                        IF "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_1.arCarrier);
	                            "DB_JamArea2207".stJam2207_1.arCarrier["cJam2207_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_2
	                    FOR #nIdx1 := 1 TO "cJam2207_2" DO
	                        IF "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_2.arCarrier);
	                            "DB_JamArea2207".stJam2207_2.arCarrier["cJam2207_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_1
	                    FOR #nIdx1 := 1 TO "cJam2208_1" DO
	                        IF "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_1.arCarrier);
	                            "DB_JamArea2208".stJam2208_1.arCarrier["cJam2208_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_2
	                    FOR #nIdx1 := 1 TO "cJam2208_2" DO
	                        IF "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_2.arCarrier);
	                            "DB_JamArea2208".stJam2208_2.arCarrier["cJam2208_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Oberes Drittel
	                REGION Lager 2.1.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_1
	                    FOR #nIdx1 := 1 TO "cJam2101_1" DO
	                        IF "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_1.arCarrier);
	                            "DB_JamArea2101".stJam2101_1.arCarrier["cJam2101_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_2
	                    FOR #nIdx1 := 1 TO "cJam2101_2" DO
	                        IF "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_2.arCarrier);
	                            "DB_JamArea2101".stJam2101_2.arCarrier["cJam2101_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_1
	                    FOR #nIdx1 := 1 TO "cJam2102_1" DO
	                        IF "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_1.arCarrier);
	                            "DB_JamArea2102".stJam2102_1.arCarrier["cJam2102_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_2
	                    FOR #nIdx1 := 1 TO "cJam2102_2" DO
	                        IF "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_2.arCarrier);
	                            "DB_JamArea2102".stJam2102_2.arCarrier["cJam2102_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_3
	                    FOR #nIdx1 := 1 TO "cJam2102_3" DO
	                        IF "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_3.arCarrier);
	                            "DB_JamArea2102".stJam2102_3.arCarrier["cJam2102_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_4
	                    FOR #nIdx1 := 1 TO "cJam2102_4" DO
	                        IF "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_4.arCarrier);
	                            "DB_JamArea2102".stJam2102_4.arCarrier["cJam2102_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_5
	                    FOR #nIdx1 := 1 TO "cJam2102_5" DO
	                        IF "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_5.arCarrier);
	                            "DB_JamArea2102".stJam2102_5.arCarrier["cJam2102_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_1
	                    FOR #nIdx1 := 1 TO "cJam2103_1" DO
	                        IF "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_1.arCarrier);
	                            "DB_JamArea2103".stJam2103_1.arCarrier["cJam2103_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_2
	                    FOR #nIdx1 := 1 TO "cJam2103_2" DO
	                        IF "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_2.arCarrier);
	                            "DB_JamArea2103".stJam2103_2.arCarrier["cJam2103_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_1
	                    FOR #nIdx1 := 1 TO "cJam2104_1" DO
	                        IF "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_1.arCarrier);
	                            "DB_JamArea2104".stJam2104_1.arCarrier["cJam2104_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_2
	                    FOR #nIdx1 := 1 TO "cJam2104_2" DO
	                        IF "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_2.arCarrier);
	                            "DB_JamArea2104".stJam2104_2.arCarrier["cJam2104_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_3
	                    FOR #nIdx1 := 1 TO "cJam2104_3" DO
	                        IF "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_3.arCarrier);
	                            "DB_JamArea2104".stJam2104_3.arCarrier["cJam2104_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_4
	                    FOR #nIdx1 := 1 TO "cJam2104_4" DO
	                        IF "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_4.arCarrier);
	                            "DB_JamArea2104".stJam2104_4.arCarrier["cJam2104_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_1
	                    FOR #nIdx1 := 1 TO "cJam2105_1" DO
	                        IF "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_1.arCarrier);
	                            "DB_JamArea2105".stJam2105_1.arCarrier["cJam2105_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_2
	                    FOR #nIdx1 := 1 TO "cJam2105_2" DO
	                        IF "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_2.arCarrier);
	                            "DB_JamArea2105".stJam2105_2.arCarrier["cJam2105_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_1
	                    FOR #nIdx1 := 1 TO "cJam2106_1" DO
	                        IF "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_1.arCarrier);
	                            "DB_JamArea2106".stJam2106_1.arCarrier["cJam2106_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_2
	                    FOR #nIdx1 := 1 TO "cJam2106_2" DO
	                        IF "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_2.arCarrier);
	                            "DB_JamArea2106".stJam2106_2.arCarrier["cJam2106_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_1
	                    FOR #nIdx1 := 1 TO "cJam2107_1" DO
	                        IF "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_1.arCarrier);
	                            "DB_JamArea2107".stJam2107_1.arCarrier["cJam2107_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_2
	                    FOR #nIdx1 := 1 TO "cJam2107_2" DO
	                        IF "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_2.arCarrier);
	                            "DB_JamArea2107".stJam2107_2.arCarrier["cJam2107_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_1
	                    FOR #nIdx1 := 1 TO "cJam2108_1" DO
	                        IF "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_1.arCarrier);
	                            "DB_JamArea2108".stJam2108_1.arCarrier["cJam2108_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_2
	                    FOR #nIdx1 := 1 TO "cJam2108_2" DO
	                        IF "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_2.arCarrier);
	                            "DB_JamArea2108".stJam2108_2.arCarrier["cJam2108_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Unteres Drittel
	                REGION Lager 2.3.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_1
	                    FOR #nIdx1 := 1 TO "cJam2301_1" DO
	                        IF "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_1.arCarrier);
	                            "DB_JamArea2301".stJam2301_1.arCarrier["cJam2301_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_2
	                    FOR #nIdx1 := 1 TO "cJam2301_2" DO
	                        IF "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_2.arCarrier);
	                            "DB_JamArea2301".stJam2301_2.arCarrier["cJam2301_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_1
	                    FOR #nIdx1 := 1 TO "cJam2302_1" DO
	                        IF "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_1.arCarrier);
	                            "DB_JamArea2302".stJam2302_1.arCarrier["cJam2302_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_2
	                    FOR #nIdx1 := 1 TO "cJam2302_2" DO
	                        IF "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_2.arCarrier);
	                            "DB_JamArea2302".stJam2302_2.arCarrier["cJam2302_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_3
	                    FOR #nIdx1 := 1 TO "cJam2302_3" DO
	                        IF "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_3.arCarrier);
	                            "DB_JamArea2302".stJam2302_3.arCarrier["cJam2302_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_4
	                    FOR #nIdx1 := 1 TO "cJam2302_4" DO
	                        IF "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_4.arCarrier);
	                            "DB_JamArea2302".stJam2302_4.arCarrier["cJam2302_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_1
	                    FOR #nIdx1 := 1 TO "cJam2303_1" DO
	                        IF "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_1.arCarrier);
	                            "DB_JamArea2303".stJam2303_1.arCarrier["cJam2303_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_2
	                    FOR #nIdx1 := 1 TO "cJam2303_2" DO
	                        IF "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_2.arCarrier);
	                            "DB_JamArea2303".stJam2303_2.arCarrier["cJam2303_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_1
	                    FOR #nIdx1 := 1 TO "cJam2304_1" DO
	                        IF "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_1.arCarrier);
	                            "DB_JamArea2304".stJam2304_1.arCarrier["cJam2304_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_2
	                    FOR #nIdx1 := 1 TO "cJam2304_2" DO
	                        IF "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_2.arCarrier);
	                            "DB_JamArea2304".stJam2304_2.arCarrier["cJam2304_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_3
	                    FOR #nIdx1 := 1 TO "cJam2304_3" DO
	                        IF "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_3.arCarrier);
	                            "DB_JamArea2304".stJam2304_3.arCarrier["cJam2304_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_4
	                    FOR #nIdx1 := 1 TO "cJam2304_4" DO
	                        IF "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_4.arCarrier);
	                            "DB_JamArea2304".stJam2304_4.arCarrier["cJam2304_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_1
	                    FOR #nIdx1 := 1 TO "cJam2305_1" DO
	                        IF "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_1.arCarrier);
	                            "DB_JamArea2305".stJam2305_1.arCarrier["cJam2305_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_2
	                    FOR #nIdx1 := 1 TO "cJam2305_2" DO
	                        IF "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_2.arCarrier);
	                            "DB_JamArea2305".stJam2305_2.arCarrier["cJam2305_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_1
	                    FOR #nIdx1 := 1 TO "cJam2306_1" DO
	                        IF "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_1.arCarrier);
	                            "DB_JamArea2306".stJam2306_1.arCarrier["cJam2306_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_2
	                    FOR #nIdx1 := 1 TO "cJam2306_2" DO
	                        IF "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_2.arCarrier);
	                            "DB_JamArea2306".stJam2306_2.arCarrier["cJam2306_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_1
	                    FOR #nIdx1 := 1 TO "cJam2307_1" DO
	                        IF "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_1.arCarrier);
	                            "DB_JamArea2307".stJam2307_1.arCarrier["cJam2307_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_2
	                    FOR #nIdx1 := 1 TO "cJam2307_2" DO
	                        IF "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_2.arCarrier);
	                            "DB_JamArea2307".stJam2307_2.arCarrier["cJam2307_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_1
	                    FOR #nIdx1 := 1 TO "cJam2308_1" DO
	                        IF "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_1.arCarrier);
	                            "DB_JamArea2308".stJam2308_1.arCarrier["cJam2308_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_2
	                    FOR #nIdx1 := 1 TO "cJam2308_2" DO
	                        IF "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_2.arCarrier);
	                            "DB_JamArea2308".stJam2308_2.arCarrier["cJam2308_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Seitliche Kreisel
	                REGION Jam Area 2110_1
	                    FOR #nIdx1 := 1 TO "cJam2110_1" DO
	                        IF "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_1.arCarrier);
	                            "DB_JamArea2110".stJam2110_1.arCarrier["cJam2110_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_2
	                    FOR #nIdx1 := 1 TO "cJam2110_2" DO
	                        IF "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_2.arCarrier);
	                            "DB_JamArea2110".stJam2110_2.arCarrier["cJam2110_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_3
	                    FOR #nIdx1 := 1 TO "cJam2110_3" DO
	                        IF "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_3.arCarrier);
	                            "DB_JamArea2110".stJam2110_3.arCarrier["cJam2110_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_4
	                    FOR #nIdx1 := 1 TO "cJam2110_4" DO
	                        IF "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_4.arCarrier);
	                            "DB_JamArea2110".stJam2110_4.arCarrier["cJam2110_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2112_1
	                    FOR #nIdx1 := 1 TO "cJam2112_1" DO
	                        IF "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2112".stJam2112_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2112_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2112".stJam2112_1.arCarrier);
	                            "DB_JamArea2112".stJam2112_1.arCarrier["cJam2112_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2112_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	        3:
	            REGION Unteres Drittel
	                REGION Lager 2.3.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.3.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.3.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock3" DO
	                            IF "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.3.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock3" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.3.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.3.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock3"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.3.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_1
	                    FOR #nIdx1 := 1 TO "cJam2301_1" DO
	                        IF "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_1.arCarrier);
	                            "DB_JamArea2301".stJam2301_1.arCarrier["cJam2301_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2301_2
	                    FOR #nIdx1 := 1 TO "cJam2301_2" DO
	                        IF "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2301".stJam2301_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2301".stJam2301_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2301_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2301".stJam2301_2.arCarrier);
	                            "DB_JamArea2301".stJam2301_2.arCarrier["cJam2301_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2301_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_1
	                    FOR #nIdx1 := 1 TO "cJam2302_1" DO
	                        IF "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_1.arCarrier);
	                            "DB_JamArea2302".stJam2302_1.arCarrier["cJam2302_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_2
	                    FOR #nIdx1 := 1 TO "cJam2302_2" DO
	                        IF "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_2.arCarrier);
	                            "DB_JamArea2302".stJam2302_2.arCarrier["cJam2302_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_3
	                    FOR #nIdx1 := 1 TO "cJam2302_3" DO
	                        IF "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_3.arCarrier);
	                            "DB_JamArea2302".stJam2302_3.arCarrier["cJam2302_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2302_4
	                    FOR #nIdx1 := 1 TO "cJam2302_4" DO
	                        IF "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2302".stJam2302_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2302".stJam2302_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2302_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2302".stJam2302_4.arCarrier);
	                            "DB_JamArea2302".stJam2302_4.arCarrier["cJam2302_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2302_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_1
	                    FOR #nIdx1 := 1 TO "cJam2303_1" DO
	                        IF "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_1.arCarrier);
	                            "DB_JamArea2303".stJam2303_1.arCarrier["cJam2303_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2303_2
	                    FOR #nIdx1 := 1 TO "cJam2303_2" DO
	                        IF "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2303".stJam2303_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2303".stJam2303_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2303_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2303".stJam2303_2.arCarrier);
	                            "DB_JamArea2303".stJam2303_2.arCarrier["cJam2303_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2303_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_1
	                    FOR #nIdx1 := 1 TO "cJam2304_1" DO
	                        IF "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_1.arCarrier);
	                            "DB_JamArea2304".stJam2304_1.arCarrier["cJam2304_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_2
	                    FOR #nIdx1 := 1 TO "cJam2304_2" DO
	                        IF "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_2.arCarrier);
	                            "DB_JamArea2304".stJam2304_2.arCarrier["cJam2304_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_3
	                    FOR #nIdx1 := 1 TO "cJam2304_3" DO
	                        IF "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_3.arCarrier);
	                            "DB_JamArea2304".stJam2304_3.arCarrier["cJam2304_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2304_4
	                    FOR #nIdx1 := 1 TO "cJam2304_4" DO
	                        IF "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2304".stJam2304_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2304".stJam2304_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2304_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2304".stJam2304_4.arCarrier);
	                            "DB_JamArea2304".stJam2304_4.arCarrier["cJam2304_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2304_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_1
	                    FOR #nIdx1 := 1 TO "cJam2305_1" DO
	                        IF "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_1.arCarrier);
	                            "DB_JamArea2305".stJam2305_1.arCarrier["cJam2305_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2305_2
	                    FOR #nIdx1 := 1 TO "cJam2305_2" DO
	                        IF "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2305".stJam2305_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2305".stJam2305_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2305_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2305".stJam2305_2.arCarrier);
	                            "DB_JamArea2305".stJam2305_2.arCarrier["cJam2305_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2305_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_1
	                    FOR #nIdx1 := 1 TO "cJam2306_1" DO
	                        IF "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_1.arCarrier);
	                            "DB_JamArea2306".stJam2306_1.arCarrier["cJam2306_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2306_2
	                    FOR #nIdx1 := 1 TO "cJam2306_2" DO
	                        IF "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2306".stJam2306_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2306".stJam2306_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2306_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2306".stJam2306_2.arCarrier);
	                            "DB_JamArea2306".stJam2306_2.arCarrier["cJam2306_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2306_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_1
	                    FOR #nIdx1 := 1 TO "cJam2307_1" DO
	                        IF "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_1.arCarrier);
	                            "DB_JamArea2307".stJam2307_1.arCarrier["cJam2307_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2307_2
	                    FOR #nIdx1 := 1 TO "cJam2307_2" DO
	                        IF "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2307".stJam2307_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2307".stJam2307_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2307_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2307".stJam2307_2.arCarrier);
	                            "DB_JamArea2307".stJam2307_2.arCarrier["cJam2307_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2307_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_1
	                    FOR #nIdx1 := 1 TO "cJam2308_1" DO
	                        IF "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_1.arCarrier);
	                            "DB_JamArea2308".stJam2308_1.arCarrier["cJam2308_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2308_2
	                    FOR #nIdx1 := 1 TO "cJam2308_2" DO
	                        IF "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2308".stJam2308_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2308".stJam2308_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2308_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2308".stJam2308_2.arCarrier);
	                            "DB_JamArea2308".stJam2308_2.arCarrier["cJam2308_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2308_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Oberes Drittel
	                REGION Lager 2.1.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.1.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.1.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock1" DO
	                            IF "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.1.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock1" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.1.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.1.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock1"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.1.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_1
	                    FOR #nIdx1 := 1 TO "cJam2101_1" DO
	                        IF "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_1.arCarrier);
	                            "DB_JamArea2101".stJam2101_1.arCarrier["cJam2101_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2101_2
	                    FOR #nIdx1 := 1 TO "cJam2101_2" DO
	                        IF "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2101".stJam2101_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2101".stJam2101_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2101_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2101".stJam2101_2.arCarrier);
	                            "DB_JamArea2101".stJam2101_2.arCarrier["cJam2101_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2101_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_1
	                    FOR #nIdx1 := 1 TO "cJam2102_1" DO
	                        IF "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_1.arCarrier);
	                            "DB_JamArea2102".stJam2102_1.arCarrier["cJam2102_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_2
	                    FOR #nIdx1 := 1 TO "cJam2102_2" DO
	                        IF "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_2.arCarrier);
	                            "DB_JamArea2102".stJam2102_2.arCarrier["cJam2102_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_3
	                    FOR #nIdx1 := 1 TO "cJam2102_3" DO
	                        IF "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_3.arCarrier);
	                            "DB_JamArea2102".stJam2102_3.arCarrier["cJam2102_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_4
	                    FOR #nIdx1 := 1 TO "cJam2102_4" DO
	                        IF "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_4.arCarrier);
	                            "DB_JamArea2102".stJam2102_4.arCarrier["cJam2102_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2102_5
	                    FOR #nIdx1 := 1 TO "cJam2102_5" DO
	                        IF "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2102".stJam2102_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2102".stJam2102_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2102_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2102".stJam2102_5.arCarrier);
	                            "DB_JamArea2102".stJam2102_5.arCarrier["cJam2102_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2102_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_1
	                    FOR #nIdx1 := 1 TO "cJam2103_1" DO
	                        IF "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_1.arCarrier);
	                            "DB_JamArea2103".stJam2103_1.arCarrier["cJam2103_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2103_2
	                    FOR #nIdx1 := 1 TO "cJam2103_2" DO
	                        IF "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2103".stJam2103_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2103".stJam2103_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2103_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2103".stJam2103_2.arCarrier);
	                            "DB_JamArea2103".stJam2103_2.arCarrier["cJam2103_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2103_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_1
	                    FOR #nIdx1 := 1 TO "cJam2104_1" DO
	                        IF "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_1.arCarrier);
	                            "DB_JamArea2104".stJam2104_1.arCarrier["cJam2104_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_2
	                    FOR #nIdx1 := 1 TO "cJam2104_2" DO
	                        IF "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_2.arCarrier);
	                            "DB_JamArea2104".stJam2104_2.arCarrier["cJam2104_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_3
	                    FOR #nIdx1 := 1 TO "cJam2104_3" DO
	                        IF "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_3.arCarrier);
	                            "DB_JamArea2104".stJam2104_3.arCarrier["cJam2104_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2104_4
	                    FOR #nIdx1 := 1 TO "cJam2104_4" DO
	                        IF "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2104".stJam2104_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2104".stJam2104_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2104_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2104".stJam2104_4.arCarrier);
	                            "DB_JamArea2104".stJam2104_4.arCarrier["cJam2104_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2104_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_1
	                    FOR #nIdx1 := 1 TO "cJam2105_1" DO
	                        IF "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_1.arCarrier);
	                            "DB_JamArea2105".stJam2105_1.arCarrier["cJam2105_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2105_2
	                    FOR #nIdx1 := 1 TO "cJam2105_2" DO
	                        IF "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2105".stJam2105_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2105".stJam2105_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2105_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2105".stJam2105_2.arCarrier);
	                            "DB_JamArea2105".stJam2105_2.arCarrier["cJam2105_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2105_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_1
	                    FOR #nIdx1 := 1 TO "cJam2106_1" DO
	                        IF "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_1.arCarrier);
	                            "DB_JamArea2106".stJam2106_1.arCarrier["cJam2106_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2106_2
	                    FOR #nIdx1 := 1 TO "cJam2106_2" DO
	                        IF "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2106".stJam2106_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2106".stJam2106_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2106_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2106".stJam2106_2.arCarrier);
	                            "DB_JamArea2106".stJam2106_2.arCarrier["cJam2106_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2106_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_1
	                    FOR #nIdx1 := 1 TO "cJam2107_1" DO
	                        IF "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_1.arCarrier);
	                            "DB_JamArea2107".stJam2107_1.arCarrier["cJam2107_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2107_2
	                    FOR #nIdx1 := 1 TO "cJam2107_2" DO
	                        IF "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2107".stJam2107_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2107".stJam2107_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2107_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2107".stJam2107_2.arCarrier);
	                            "DB_JamArea2107".stJam2107_2.arCarrier["cJam2107_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2107_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_1
	                    FOR #nIdx1 := 1 TO "cJam2108_1" DO
	                        IF "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_1.arCarrier);
	                            "DB_JamArea2108".stJam2108_1.arCarrier["cJam2108_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2108_2
	                    FOR #nIdx1 := 1 TO "cJam2108_2" DO
	                        IF "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2108".stJam2108_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2108".stJam2108_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2108_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2108".stJam2108_2.arCarrier);
	                            "DB_JamArea2108".stJam2108_2.arCarrier["cJam2108_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2108_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Mittleres Drittel
	                REGION Lager 2.2.1
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.1" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.1".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.1".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.1".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.1 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.2
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.2" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.2".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.2".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.2".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.2 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.3
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.3" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.3".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.3".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.3".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.3 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Lager 2.2.4
	                    FOR #nIdx1 := 1 TO "cNoLines2.2.4" DO
	                        FOR #nIdx2 := 1 TO "cNoPositionsBlock2" DO
	                            IF "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                                #tmpPartJam := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier[#nIdx2];
	                                #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_Storage2.2.4".arLine[#nIdx1].arCarrier,
	                                                               COUNT := INT_TO_UDINT("cNoPositionsBlock2" - #nIdx2), //lösche Teil und rücke Rest nach
	                                                               SRC_INDEX := #nIdx2,
	                                                               DEST_INDEX := #nIdx2 - 1,
	                                                               DEST => "DB_Storage2.2.4".arLine[#nIdx1].arCarrier);
	                                "DB_Storage2.2.4".arLine[#nIdx1].arCarrier["cNoPositionsBlock2"] := #tmpEmpty; //lösche letzte Position
	                                REGION Event Log                           
	                                    #arOutEventLogInfo[0].xTrigger := TRUE;
	                                    #arOutEventLogInfo[0].nCorrectionType := 1;
	                                    #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                    #arOutEventLogInfo[0].sLoc := CONCAT(IN1 := 'B2.2.4 L', IN2 := DELETE_STRING(IN := INT_TO_STRING(#nIdx1), L := 1, P := 1));
	                                    #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx2);
	                                    #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                                END_REGION
	                                GOTO END;
	                            END_IF;
	                        END_FOR;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_1
	                    FOR #nIdx1 := 1 TO "cJam2201_1" DO
	                        IF "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_1.arCarrier);
	                            "DB_JamArea2201".stJam2201_1.arCarrier["cJam2201_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2201_2
	                    FOR #nIdx1 := 1 TO "cJam2201_2" DO
	                        IF "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2201".stJam2201_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2201".stJam2201_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2201_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2201".stJam2201_2.arCarrier);
	                            "DB_JamArea2201".stJam2201_2.arCarrier["cJam2201_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2201_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_1
	                    FOR #nIdx1 := 1 TO "cJam2202_1" DO
	                        IF "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_1.arCarrier);
	                            "DB_JamArea2202".stJam2202_1.arCarrier["cJam2202_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_2
	                    FOR #nIdx1 := 1 TO "cJam2202_2" DO
	                        IF "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_2.arCarrier);
	                            "DB_JamArea2202".stJam2202_2.arCarrier["cJam2202_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_3
	                    FOR #nIdx1 := 1 TO "cJam2202_3" DO
	                        IF "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_3.arCarrier);
	                            "DB_JamArea2202".stJam2202_3.arCarrier["cJam2202_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_4
	                    FOR #nIdx1 := 1 TO "cJam2202_4" DO
	                        IF "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_4.arCarrier);
	                            "DB_JamArea2202".stJam2202_4.arCarrier["cJam2202_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2202_5
	                    FOR #nIdx1 := 1 TO "cJam2202_5" DO
	                        IF "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2202".stJam2202_5.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2202".stJam2202_5.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2202_5" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2202".stJam2202_5.arCarrier);
	                            "DB_JamArea2202".stJam2202_5.arCarrier["cJam2202_5"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2202_5';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_1
	                    FOR #nIdx1 := 1 TO "cJam2203_1" DO
	                        IF "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_1.arCarrier);
	                            "DB_JamArea2203".stJam2203_1.arCarrier["cJam2203_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2203_2
	                    FOR #nIdx1 := 1 TO "cJam2203_2" DO
	                        IF "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2203".stJam2203_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2203".stJam2203_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2203_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2203".stJam2203_2.arCarrier);
	                            "DB_JamArea2203".stJam2203_2.arCarrier["cJam2203_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2203_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_1
	                    FOR #nIdx1 := 1 TO "cJam2204_1" DO
	                        IF "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_1.arCarrier);
	                            "DB_JamArea2204".stJam2204_1.arCarrier["cJam2204_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_2
	                    FOR #nIdx1 := 1 TO "cJam2204_2" DO
	                        IF "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_2.arCarrier);
	                            "DB_JamArea2204".stJam2204_2.arCarrier["cJam2204_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_3
	                    FOR #nIdx1 := 1 TO "cJam2204_3" DO
	                        IF "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_3.arCarrier);
	                            "DB_JamArea2204".stJam2204_3.arCarrier["cJam2204_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2204_4
	                    FOR #nIdx1 := 1 TO "cJam2204_4" DO
	                        IF "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2204".stJam2204_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2204".stJam2204_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2204_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2204".stJam2204_4.arCarrier);
	                            "DB_JamArea2204".stJam2204_4.arCarrier["cJam2204_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2204_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_1
	                    FOR #nIdx1 := 1 TO "cJam2205_1" DO
	                        IF "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_1.arCarrier);
	                            "DB_JamArea2205".stJam2205_1.arCarrier["cJam2205_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2205_2
	                    FOR #nIdx1 := 1 TO "cJam2205_2" DO
	                        IF "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2205".stJam2205_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2205".stJam2205_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2205_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2205".stJam2205_2.arCarrier);
	                            "DB_JamArea2205".stJam2205_2.arCarrier["cJam2205_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2205_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_1
	                    FOR #nIdx1 := 1 TO "cJam2206_1" DO
	                        IF "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_1.arCarrier);
	                            "DB_JamArea2206".stJam2206_1.arCarrier["cJam2206_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2206_2
	                    FOR #nIdx1 := 1 TO "cJam2206_2" DO
	                        IF "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2206".stJam2206_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2206".stJam2206_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2206_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2206".stJam2206_2.arCarrier);
	                            "DB_JamArea2206".stJam2206_2.arCarrier["cJam2206_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2206_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_1
	                    FOR #nIdx1 := 1 TO "cJam2207_1" DO
	                        IF "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_1.arCarrier);
	                            "DB_JamArea2207".stJam2207_1.arCarrier["cJam2207_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2207_2
	                    FOR #nIdx1 := 1 TO "cJam2207_2" DO
	                        IF "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2207".stJam2207_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2207".stJam2207_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2207_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2207".stJam2207_2.arCarrier);
	                            "DB_JamArea2207".stJam2207_2.arCarrier["cJam2207_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2207_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_1
	                    FOR #nIdx1 := 1 TO "cJam2208_1" DO
	                        IF "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_1.arCarrier);
	                            "DB_JamArea2208".stJam2208_1.arCarrier["cJam2208_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2208_2
	                    FOR #nIdx1 := 1 TO "cJam2208_2" DO
	                        IF "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2208".stJam2208_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2208".stJam2208_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2208_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2208".stJam2208_2.arCarrier);
	                            "DB_JamArea2208".stJam2208_2.arCarrier["cJam2208_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2208_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            REGION Seitliche Kreisel
	                REGION Jam Area 2110_1
	                    FOR #nIdx1 := 1 TO "cJam2110_1" DO
	                        IF "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_1.arCarrier);
	                            "DB_JamArea2110".stJam2110_1.arCarrier["cJam2110_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_2
	                    FOR #nIdx1 := 1 TO "cJam2110_2" DO
	                        IF "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_2.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_2.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_2" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_2.arCarrier);
	                            "DB_JamArea2110".stJam2110_2.arCarrier["cJam2110_2"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_2';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_3
	                    FOR #nIdx1 := 1 TO "cJam2110_3" DO
	                        IF "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_3.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_3.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_3" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_3.arCarrier);
	                            "DB_JamArea2110".stJam2110_3.arCarrier["cJam2110_3"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_3';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2110_4
	                    FOR #nIdx1 := 1 TO "cJam2110_4" DO
	                        IF "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2110".stJam2110_4.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2110".stJam2110_4.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2110_4" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2110".stJam2110_4.arCarrier);
	                            "DB_JamArea2110".stJam2110_4.arCarrier["cJam2110_4"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2110_4';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	                REGION Jam Area 2112_1
	                    FOR #nIdx1 := 1 TO "cJam2112_1" DO
	                        IF "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1].nBarcode = #nInBarcodeScan THEN //Merke gefundenes Teil und ersetze ursprüngliches durch Dummy
	                            #tmpPartJam := "DB_JamArea2112".stJam2112_1.arCarrier[#nIdx1];
	                            #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_JamArea2112".stJam2112_1.arCarrier,
	                                                           COUNT := INT_TO_UDINT("cJam2112_1" - #nIdx1), //lösche Teil und rücke Rest nach
	                                                           SRC_INDEX := #nIdx1,
	                                                           DEST_INDEX := #nIdx1 - 1,
	                                                           DEST => "DB_JamArea2112".stJam2112_1.arCarrier);
	                            "DB_JamArea2112".stJam2112_1.arCarrier["cJam2112_1"] := #tmpEmpty; //lösche letzte Position
	                            REGION Event Log
	                                #arOutEventLogInfo[0].xTrigger := TRUE;
	                                #arOutEventLogInfo[0].nCorrectionType := 1;
	                                #arOutEventLogInfo[0].sBarcode := DINT_TO_STRING(#nInBarcodeScan);
	                                #arOutEventLogInfo[0].sLoc := 'J2112_1';
	                                #arOutEventLogInfo[0].sPos := INT_TO_STRING(#nIdx1);
	                                #arOutEventLogInfo[0].sDest := INT_TO_STRING(#tmpPartJam.nDestination);
	                            END_REGION
	                            GOTO END;
	                        END_IF;
	                    END_FOR;
	                END_REGION
	            END_REGION
	            
	    END_CASE;
	END:
	    ;
	    REGION Handling
	        IF #tmpPartHyperJam.nBarcode <> 0 THEN //Gefundenes Teil aus Hyperjam
	            REGION Teil aus Hyperjam
	                IF #InOutCarrierExpect.nBarcode > 10000 THEN //Wenn erwarteter Carrier einen gültigen Barcode hat, füge ihn am Ende des Hyperjams ein
	                    "FC_TSHR_AddAtEnd"(stInTrolley := #InOutCarrierExpect,
	                                       nOutCounter => #nCounter,
	                                       xOutResult => #xResult,
	                                       arTSHR := "DB_HyperJam".stHyperJam.arCarrier);
	                    REGION Event log
	                        #arOutEventLogInfo[1].xTrigger := TRUE;
	                        #arOutEventLogInfo[1].nCorrectionType := 3;
	                        #arOutEventLogInfo[1].sBarcode := DINT_TO_STRING(#InOutCarrierExpect.nBarcode);
	                        #arOutEventLogInfo[1].sLoc := 'HyperJ';
	                        #arOutEventLogInfo[1].sPos := INT_TO_STRING(#nIdx2);
	                        #arOutEventLogInfo[1].sDest := INT_TO_STRING(#InOutCarrierExpect.nDestination);
	                    END_REGION
	                END_IF;
	                FOR #nIdx1 := 1 TO "cHyperJam" DO //Durchsuche Hyperjam nach Lücke
	                    IF NOT "DB_HyperJam".stHyperJam.arCarrier[#nIdx1].bStatus.%X0 THEN
	                        #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_HyperJam".stHyperJam.arCarrier,
	                                                       COUNT := INT_TO_UDINT("cHyperJam" - #nIdx1), //Wo die Lücke im Hyperjam entstanden ist, rücke Rest nach
	                                                       SRC_INDEX := #nIdx1,
	                                                       DEST_INDEX := #nIdx1 - 1,
	                                                       DEST => "DB_HyperJam".stHyperJam.arCarrier);
	                        "DB_HyperJam".stHyperJam.arCarrier["cHyperJam"] := #tmpEmpty; //lösche letzte Position
	                        EXIT;
	                    END_IF;
	                END_FOR;
	                #InOutCarrierExpect := #tmpPartHyperJam; //Gib gefundenes Teil aus    
	            END_REGION
	        ELSIF #tmpPartJam.nBarcode <> 0 THEN //Gefundenes Teil aus Jambereich
	            REGION Teil aus Jam
	                IF #InOutCarrierExpect.nBarcode > 10000 THEN //Wenn erwarteter Carrier einen gültigen Barcode hat, füge ihn am Ende des Hyperjams ein
	                    "FC_TSHR_AddAtEnd"(stInTrolley := #InOutCarrierExpect,
	                                       nOutCounter => #nCounter,
	                                       xOutResult => #xResult,
	                                       arTSHR := "DB_HyperJam".stHyperJam.arCarrier);
	                    REGION Event log
	                        #arOutEventLogInfo[1].xTrigger := TRUE;
	                        #arOutEventLogInfo[1].nCorrectionType := 3;
	                        #arOutEventLogInfo[1].sBarcode := DINT_TO_STRING(#InOutCarrierExpect.nBarcode);
	                        #arOutEventLogInfo[1].sLoc := 'HyperJ';
	                        #arOutEventLogInfo[1].sPos := INT_TO_STRING(#nIdx2);
	                        #arOutEventLogInfo[1].sDest := INT_TO_STRING(#InOutCarrierExpect.nDestination);
	                    END_REGION
	                END_IF;
	                FOR #nIdx1 := 1 TO "cHyperJam" DO //Durchsuche Hyperjam nach Lücke
	                    IF NOT "DB_HyperJam".stHyperJam.arCarrier[#nIdx1].bStatus.%X0 THEN
	                        #tmpStatus := MOVE_BLK_VARIANT(SRC := "DB_HyperJam".stHyperJam.arCarrier,
	                                                       COUNT := INT_TO_UDINT("cHyperJam" - #nIdx1), //Wo die Lücke im Hyperjam entstanden ist, rücke Rest nach
	                                                       SRC_INDEX := #nIdx1,
	                                                       DEST_INDEX := #nIdx1 - 1,
	                                                       DEST => "DB_HyperJam".stHyperJam.arCarrier);
	                        "DB_HyperJam".stHyperJam.arCarrier["cHyperJam"] := #tmpEmpty; //lösche letzte Position
	                        EXIT;
	                    END_IF;
	                END_FOR;
	                #InOutCarrierExpect := #tmpPartJam; //Gib gefundenes Teil aus  
	            END_REGION
	        ELSE
	            //Teil bei Suche nicht gefunden, aber das erwartete soll trotzdem in den Hyperjam kommen und außerhalb des FC dann durch den gescannten ersetzt werden
	            IF #InOutCarrierExpect.nBarcode > 10000 THEN //Wenn erwarteter Carrier einen gültigen Barcode hat, füge ihn am Ende des Hyperjams ein
	                //Um im EmptyBuffer mit erfundenen Barcodes fahren zu können, werden hier einfach irgendwelche viestelligen Codes benutzt. Die sollen dann am
	                //Scanner nicht in den Hyperjam sondern einfach durch den echten ersetzt werden. Deswegen wird hier alles < 10.000 ignoriert
	                "FC_TSHR_AddAtEnd"(stInTrolley := #InOutCarrierExpect,
	                                   nOutCounter => #nCounter,
	                                   xOutResult => #xResult,
	                                   arTSHR := "DB_HyperJam".stHyperJam.arCarrier);
	                //Es gibt keine Lücke in der Liste die man schließen muss
	                REGION Event log
	                    
	                    #arOutEventLogInfo[1].xTrigger := TRUE;
	                    #arOutEventLogInfo[1].nCorrectionType := 3;
	                    #arOutEventLogInfo[1].sBarcode := DINT_TO_STRING(#InOutCarrierExpect.nBarcode);
	                    #arOutEventLogInfo[1].sLoc := 'HyperJ';
	                    #arOutEventLogInfo[1].sPos := INT_TO_STRING(#nIdx1);
	                    #arOutEventLogInfo[1].sDest := INT_TO_STRING(#InOutCarrierExpect.nDestination);
	                    
	                END_REGION
	                
	            END_IF;
	            
	            // #xOutNotFound := TRUE;
	            #InOutCarrierExpect.nDestination := 0;
	            #InOutCarrierExpect.nBarcode := #nInBarcodeScan; //Hier werden neue Carrier im System angelegt
	            #InOutCarrierExpect.bStatus.%X0 := TRUE;
	        END_IF;
	    END_REGION
	END_IF;
	
END_FUNCTION

