        if ( P_doctype == "D95") // Eingangslieferschein
        {
                vars DDF3[5000]                 // LiefNr
                vars DDF16[5000]                // Lieferant
                vars DDF33[5000]                // externe BelegNr
                vars DDF50[5000]                // Datum
                vars DDF60[5000]                // Charge
                vars DDF61[5000]                // Artikelnummer
                vars DDF62[5000]                // interne BelegNr
                vars ergebnis
                vars i                                  // Zähler
                vars anzahl                             // Anzahl der Treffer
                
                // Führende Nullen im Barcode entfernen
                ergebnis = api_function( "string_cut_leading_char", dok_dat_feld[ 41 ], "0" )
                
                if ( ergebnis >= 0 )
                {
                        // Nullen wurden aus dem Barcode entfernt
                        dok_dat_feld[ 41 ] = api_converted_string
                        
                        
                        // Ermittlung der Eigenschaftswerte aus der Datenbank
                        DBMS DECLARE TA_Session CONNECTION FOR USER 'informix' PASSWORD 'informix' DATASOURCE 'Firma1'
                        
                        DBMS WITH CONNECTION TA_Session ALIAS DDF3, DDF16, DDF50, DDF33, DDF62, DDF60, DDF61
                        DBMS WITH CONNECTION TA_Session SQL \
                                SELECT  wei_liefnr, kr1_nam, wei_liefdat, wei_liefsnr, wei_bestnr, wei_charge, wei_artikel \
                                FROM    v2_flwein \
                                WHERE  wei_lbarcode = :dok_dat_feld[ 41 ]
                        anzahl = @dmrowcount
                        DBMS WITH CONNECTION TA_Session ALIAS
                        
                        
                        DBMS CLOSE CONNECTION TA_Session
                        
                        
                        if ( anzahl > 0 )
                        {
                                // Jeder Datensatz muss vollständige Eigenschaftswerte enthalten - die DDF-Zuweisung basiert dann auf dem ersten DB-Treffer
                                
                                // LiefNr
                                dok_dat_feld[ 3 ] = DDF3[ 1 ]
                                
                                // Lieferant
                                dok_dat_feld[ 16 ] = DDF16[ 1 ]
                                
                                // interne BelegNr
                                // fällt weg wg. Umstellung auf Mehrfachindexfeld DDF62
                                //dok_dat_feld[ 29 ] = DDF29[ 1 ]
                                
                                // externe BelegNr
                                dok_dat_feld[ 33 ] = DDF33[ 1 ]
                                
                                // Datum
                                if ( @length( DDF50[ 1 ] ) > 0 )
                                {
                                        dok_dat_feld[ 50 ] = DDF50[ 1 ]( 7, 2 ) ## "." ## DDF50[ 1 ]( 5, 2 ) ## "." ## DDF50[ 1 ]( 1, 4 )
                                }
                                
                                // Charge und Artikelnummer
                                // CUR_60ER_FIELD_NR = 500
                                for i = 1 while i <= 500
                                {
                                        // Artikelnummer und Charge müssen immer beide gefüllt sein; daher darf die folgende Abfrage ausschließlich auf der Charge basieren
                                        if ( DDF60 != "" )
                                        {
                                                dok_dat_feld_60[ i ] = DDF60[ i ]
                                                dok_dat_feld_61[ i ] = DDF61[ i ]
                                                dok_dat_feld_62[ i ] = DDF62[ i ]
                                        }
                                        else
                                        {
                                                dok_dat_feld_60[ i ] = ""
                                                dok_dat_feld_61[ i ] = ""
                                                dok_dat_feld_62[ i ] = ""
                                        }
                                        
                                }
                        }
                        
                }
                else
                {
                        call api_log_error( "Es ist ein Fehler beim Entfernen der führenden Nullen aus dem Barcode aufgetreten. RC:" ## ergebnis )
                }
        }