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 ) } }