Private Procedure

 

// Priv. Procedure p_artikelanzeige

//

// Beschreibung: Diese Funktion übergibt den gescannten wert an die IB_Box

//

Create procedure p_artikelanzeige (  in in_Aktionstyp integer,

                                    in in_aktionswert char(255),

                                    in in_ident integer,

                                    in in_positionsIdent integer,

                                    in in_scannernummer char(40),

                                    in in_kommando_scanident integer,

                                    in in_AnzahlImBlock integer,

                                    in in_Blockzaehler integer,

                                    in in_letzte_aktion integer,

                                    in in_Aktionstext char(100),

                                    in in_Kopftext1 char(100),

                                    in in_Kopftext2 char(100),

                                    in in_reaktionstyp char(5),

                                    in in_lagernummer integer,

                                    in in_bedienerid integer,

                                    in in_protokoll char(100),

                                    in in_feldid integer,

                                    in in_scanident integer,

                                    in in_klassnummer integer,

                                    in in_nummer integer,

                                    in in_testflag integer,

                                    in in_diese_positionsnummer integer)

BEGIN

  declare dc_scrollbar integer;

  declare dc_neuzeilennummer integer;

  declare dc_statustext char(1024);

  declare dc_Aktionstext char(100);

  declare dc_status integer;

  set dc_neuzeilennummer = 1;

  set dc_statustext = '';

  set dc_Aktionstext  = '';

  set dc_status = 0;

  if ( isnull(dc_neuzeilennummer,0)) = 0 then

    set dc_neuzeilennummer = 1;

  end if;

  select ALSWert into dc_scrollbar from AeinsLastSetting where  

ALSAnwendung='Tcpip_Scanner' and ALSEintrag ='scanner_scrollbar' and

BedienerKurz= '0';

if ( in_Aktionstyp = -4 or in_Aktionstyp = -6 or in_Aktionstyp = -7 or

     in_Aktionstyp = 1) then

    set dc_status = 4;

    if dc_scrollbar = 1 then

      set   dc_statustext= 'IB_SCANNER_ANZEIGE;TOP=9&SEKUNDS='

      ||in_aktionswert|| '&ZEILENNUMMER=' ||dc_neuzeilennummer;

    else

      set dc_statustext = 'IB_SCANNER_ANZEIGE;TOP=50&SEKUNDS=  

      '||in_aktionswert|| '&ZEILENNUMMER=' ||dc_neuzeilennummer;

    end if;

  end if;

// Berechnen der Zeilennummer

  if dc_scrollbar = 1 then

    If ( in_Aktionstyp = -1 and in_aktionswert = 'KEYUP' ) then

      if  in_disp_zeilennummer >= 9 then

        set dc_neuzeilennummer = in_disp_zeilennummer - 9;

      end if;

      update datenstromscanner set

      statustext = 'IB_SCANNER_ANZEIGE;TOP=9&SEKUNDS='||in_aktionswert|| 

      '&ZEILENNUMMER=' ||dc_neuzeilennummer,

      status = 4,

      zeilennummer = dc_neuzeilennummer

      where ident=in_ident;

      update tcpip_scanner set letzte_zeilennummer = dc_neuzeilennummer

      where tcpip_adresse  = in_scannernummer and scanident = 

      in_kommando_scanident;

      set dc_statustext = 'IB_SCANNER_ANZEIGE;TOP=50&SEKUNDS='

      ||in_aktionswert|| '&ZEILENNUMMER=' ||dc_neuzeilennummer;

    end if;

    If ( in_Aktionstyp = -1 and in_aktionswert = 'KEYDOWN' ) then

      set dc_neuzeilennummer = in_disp_zeilennummer + 9;

      update datenstromscanner set

      statustext = 'IB_SCANNER_ANZEIGE;TOP=9&SEKUNDS='||in_aktionswert||

      '&ZEILENNUMMER=' ||dc_neuzeilennummer,

      status = 4,

      zeilennummer = dc_neuzeilennummer

      where ident=in_ident;

      update tcpip_scanner set letzte_zeilennummer = dc_neuzeilennummer

      where tcpip_adresse  = in_scannernummer and scanident =

      in_kommando_scanident;

      set dc_statustext = 'IB_SCANNER_ANZEIGE;TOP=50&SEKUNDS='

      ||in_aktionswert|| '&ZEILENNUMMER=' ||dc_neuzeilennummer;

    end if

  end if;

  set dc_Aktionstext  = in_Aktionstext;

  //

  // Übergabe der Daten an den Scanner

  //

  update datenstromscanner set

    statustext = dc_statustext,

    Aktionstext = 'Private Anwendung',

    Kopftext1=dc_Aktionstext,

    Kopftext2=in_Kopftext2,

    status = dc_status,

    StatusMelodie = '',

    ReaktionsTyp = in_reaktionstyp

    where ident=in_ident;

END