Event Problem constant triggering

I am having problems using an event structure.  I am not quite sure how to explain the undesired behavior I am seeing.
I have an event that when triggered takes a few seconds to complete.  I don't want to lock the panel because I would like to still receive input during this time and have the events queue.  The problem I am seeing, however, is that if the event is queued it somehow keeps the trigger enabled. 
For example, if I trigger the event and while the task is running the event is triggered again; like it should, it will run the task again after the completion of the first.  The problem that is arising is that it will the keep triggering the same task over and over again (executing over and over again) even without any addition triggers.  This will continue until a different task is triggered in the same event structure.
How can I stop this continuous triggering of the event?  And why is it occuring in the first place?
LV 8.0 through 2013, Win 7
CLA

The Q wrote:
The problem that is arising is that it will the keep triggering the same task over and over again (executing over and over again) even without any addition triggers.  This will continue until a different task is triggered in the same event structure.
I still would like to see the code that does this. It should not happen, so maybe you discovered a bug that NI should be made aware of.
Remember that value changes of "analog style" controls such as slides will typically trigger quite a few indentical events, not just one.
Maybe that's what you are seeing?
One workaround for this particular problem is described HERE. See if applies to your situation.
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Top-of-page event is not triggered

    Hi,
    I have a problem with top-of-page event. I have a report that shows the results in ALV grid display. But I use "REUSE_ALV_GRID_DISPLAY" not OO alv and there is only one screen with number 1000. On the menu toolbar there is a button that prints the data of ALV in a list using "write" statement. While writing , "top of page" event is not triggered. I expect that it is triggered at the first "write" statement but isn't. Is there anyone who knows the cause of this problem?
    The code is below.
    Thanks.
    Tables ...
    TABLES : mara , makt , ekko , ekpo , zzith_yukh , lfa1 , t001w  , lips ,
             eket .
    global variables
    DATA : BEGIN OF list OCCURS 1,
           zztahsk LIKE ekko-zztahsk ,
           zterm LIKE ekko-zterm ,
           txz01 LIKE ekpo-txz01 ,
           name1 LIKE lfa1-name1 ,
           menge LIKE ekpo-menge ,
           meins LIKE ekpo-meins ,
           fyukl LIKE zzith_yukh-zzdel_flag ,
                             " Yüklenmiş miktar var göstergesi ...
           inco1 LIKE ekko-inco1 ,
           netwr LIKE ekpo-netwr ,
           waers LIKE ekko-waers ,
           bedat LIKE ekko-bedat ,
           zzontar LIKE ekko-zzontar ,
           slfdt LIKE eket-slfdt ,
           tname1 LIKE t001w-name1 ,
           banfn LIKE ekpo-banfn ,
           ebeln LIKE ekko-ebeln ,
           ebelp LIKE ekpo-ebelp ,
           lifnr LIKE ekko-lifnr ,
           mtart LIKE mara-mtart ,
           matkl LIKE mara-matkl ,
           ekgrp LIKE ekko-ekgrp ,
           matnr LIKE mara-matnr ,
           eknam  LIKE t024-eknam,
           bukrs  LIKE ekko-bukrs,
           zzbltur LIKE ekko-zzbltur,
           END   OF list         .
    DATA temp  LIKE list OCCURS 1 WITH HEADER LINE .
    DATA total LIKE list OCCURS 1 WITH HEADER LINE .
    ALV fields
    TYPE-POOLS : slis.
    DATA : gt_fields TYPE  slis_fieldcat_alv OCCURS 1 WITH HEADER LINE .
    DATA : gt_events TYPE  slis_t_event.
    DATA : gs_layout TYPE  slis_layout_alv.
    DATA : gv_title  TYPE lvc_title VALUE 'Günlük Depo Sayım Miktarları'.
    DATA : gt_top_of_page TYPE slis_t_listheader.
    selection screen
    SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001 .
    *Satınalma organizasyonu
    *Satınalma grubu
    *Satıcı
    *Tarih
    *SAS no
    *Dosya no
    SELECT-OPTIONS:
    s_bukrs FOR ekko-bukrs .
    SELECTION-SCREEN SKIP .
    SELECT-OPTIONS:
    s_ekorg FOR  ekko-ekorg OBLIGATORY MEMORY ID eko ,
    s_ekgrp FOR  ekko-ekgrp ,
    s_lifnr FOR  ekko-lifnr ,
    s_ebeln FOR  ekko-ebeln .
    SELECTION-SCREEN END  OF BLOCK a        .
    Define Katalog
    DEFINE fill_catalog .
      gt_fields-fieldname  = &1.
      gt_fields-tabname    = &2.
      gt_fields-seltext_l  = &3.
      gt_fields-seltext_m  = &3.
      gt_fields-seltext_s  = &3.
      gt_fields-checkbox   = &4.
      gt_fields-cfieldname = &5.
      gt_fields-ref_tabname  = &6.
      gt_fields-ref_fieldname  = &7.
      gt_fields-edit       = &8.
      append gt_fields .
      clear gt_fields .
    END-OF-DEFINITION.
    Modify Catalog
    DEFINE modify_catalog .
      gt_fields-seltext_m = &1 .
      modify gt_fields  transporting seltext_m where fieldname = &2 .
    END-OF-DEFINITION     .
    TOP-OF-PAGE.
      write 'top of page'.
      PERFORM top-of-page.
    start-of-selection
    START-OF-SELECTION .
      PERFORM get_data.
      PERFORM listele .
    *&      Form  listele .
    FORM listele .
      PERFORM get_events .
      PERFORM alv_list_header.
      PERFORM get_field_catalog USING 'LIST' .
      PERFORM display_alv    .
    ENDFORM.                    " listele.
    *&      Form  getfield_Catalog
    FORM get_field_catalog  USING p_tabname .
      fill_catalog :
    'EBELN'   'LIST' '' '' '' 'EKPO' 'EBELN'   '' ,
    'ZZTAHSK' 'LIST' '' '' '' 'EKKO' 'ZZTAHSK' '' ,
    'ZZBLTUR' 'LIST' '' '' '' 'EKKO' 'ZZBLTUR' '' ,
    'MATNR'   'LIST' '' '' '' 'MARA' 'MATNR'   '' ,
    'MATKL'   'LIST' '' '' '' 'MARA' 'MATKL'   '' ,
    'TXZ01'   'LIST' '' '' '' 'EKPO' 'TXZ01'   '' ,
    'NAME1'   'LIST' '' '' '' 'LFA1' 'NAME1'   '' ,
    'MENGE'   'LIST' '' '' '' 'EKPO' 'MENGE'   '' ,
    'MEINS'   'LIST' '' '' '' 'EKPO' 'MENGE'   '' ,
    'FYUKL'   'LIST' '' '' '' 'ZZITH_YUKH' 'ZZDEL_FLAG'   '' ,
    'INCO1'   'LIST' '' '' '' 'EKKO' 'INCO1'   '' ,
    'NETWR'   'LIST' '' '' '' 'EKPO' 'NETWR'   '' ,
    'WAERS'   'LIST' '' '' '' 'EKKO' 'WAERS'   '' ,
    'BEDAT'   'LIST' '' '' '' 'EKKO' 'BEDAT'   '' ,
    'ZZONTAR' 'LIST' '' '' '' 'EKKO' 'ZZONTAR' '' ,
    'SLFDT'   'LIST' '' '' '' 'EKET' 'SLFDT'   '' ,
    'TNAME1'  'LIST' '' '' '' 'T001W' 'NAME1'  '' ,
    'BANFN'   'LIST' '' '' '' 'EKPO' 'BANFN'   '' ,
    'EKNAM'   'LIST' '' '' '' 'T024' 'EKNAM'   '' .
      gt_fields-ddictxt = 'M' .
      MODIFY gt_fields  TRANSPORTING ddictxt WHERE fieldname NE space.
      modify_catalog 'Yükleme No'            'VBELN'   .
      modify_catalog 'Malzeme Türü'          'ZZBLTUR' .
      modify_catalog 'Malzeme Tanımı'        'TXZ01'   .
      modify_catalog 'Satıcı'                'NAME1'   .
      modify_catalog 'Teslim Şekli'          'INCO1'   .
      modify_catalog 'Döviz Tutarı'          'ZZTOPLAM'.
      modify_catalog 'Döviz Kodu'            'WAERS'   .
      modify_catalog 'Siparişi Veren'        'TNAME1'  .
      modify_catalog 'Tahmini İthalat Trh.'  'SLFDT'   .
      modify_catalog 'İthalata İntikal Trh.' 'BEDAT'   .
      modify_catalog 'Dosya Onay Tarihi'     'ZZONTAR' .
      modify_catalog 'Talep No'              'BANFN'   .
      modify_catalog 'Dosya Sorumlusu'       'EKNAM'   .
      modify_catalog 'Yük.Göstergesi'        'FYUKL'   .
    ENDFORM.                    " getfield_Catalog
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
      DATA lv_repid LIKE sy-repid .
      lv_repid = sy-repid .
      CLEAR gs_layout.
      gs_layout-zebra                 = 'X'.
      gs_layout-colwidth_optimize     = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = lv_repid
          i_callback_pf_status_set = 'SET_PF_STATUS'
          i_callback_user_command  = 'USER_COMMAND'
          is_layout                = gs_layout
          it_fieldcat              = gt_fields[]
          it_events                = gt_events[]
        TABLES
          t_outtab                 = list[].
    ENDFORM.                    " display_alv
    FORM set_pf_status USING  iv_nodisplay TYPE slis_t_extab.
      SET PF-STATUS 'STANDARD' ."excluding iv_nodisplay.
    ENDFORM.                    " SET_PF_STATUS
    FORM user_command  USING iv_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
      CASE iv_ucomm .
        WHEN 'PRINT'  . PERFORM print_data .
      ENDCASE       .
    ENDFORM.                    "USER_COMMAND
    FORM get_events .
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = gt_events.
      READ TABLE gt_events WITH KEY name = slis_ev_top_of_page
                               INTO ls_event.
      IF sy-subrc = 0.
        MOVE 'ALV_TOP_OF_PAGE' TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
    ENDFORM.                    " getevents
    FORM alv_list_header .
      DATA: ls_line TYPE slis_listheader.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-key  = 'Sat&#305;nalma Org.:'.
      CONCATENATE s_ekorg-low s_ekorg-high
      INTO ls_line-info SEPARATED BY '/'.
      APPEND ls_line TO gt_top_of_page.
      ls_line-key  = 'Sat&#305;nalma Grubu.:'.
      CONCATENATE s_ekgrp-low s_ekgrp-high
      INTO ls_line-info SEPARATED BY '/'.
      APPEND ls_line TO gt_top_of_page.
      ls_line-key  = 'Sat&#305;c&#305;.:'.
      CONCATENATE s_lifnr-low s_lifnr-high
      INTO ls_line-info SEPARATED BY '/'.
      APPEND ls_line TO gt_top_of_page.
      ls_line-key  = 'SAS No.:'.
      CONCATENATE s_ebeln-low s_ebeln-high
      INTO ls_line-info SEPARATED BY '/'.
      APPEND ls_line TO gt_top_of_page.
    ENDFORM.                    " alv_list_header
    FORM alv_top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_top_of_page.
    ENDFORM.                    "TOP_OF_PAGE
    FORM get_data .
      DATA : BEGIN OF tr ,
              menge LIKE eket-menge ,
              dabmg LIKE eket-dabmg ,
             END OF tr ,
             zzfiilytar LIKE zzith_yukh-zzfiilytar  .
    *- Get data ...
      SELECT *
        INTO CORRESPONDING FIELDS OF TABLE list
        FROM ekpo AS a
       INNER JOIN ekko AS b ON bebeln = aebeln
      WHERE b~ebeln IN s_ebeln AND
            b~bukrs IN s_bukrs AND
            b~loekz EQ space   AND
            b~lifnr IN s_lifnr AND
            b~ekorg IN s_ekorg AND
            b~ekgrp IN s_ekgrp AND
            a~loekz EQ space   AND
            a~elikz EQ space .
      LOOP AT list .
        CLEAR tr .
        SELECT menge dabmg
          INTO tr
          FROM eket
         WHERE ebeln = list-ebeln AND
               ebelp = list-ebelp.
          tr-menge = tr-menge - tr-dabmg .
        ENDSELECT.
        IF tr-menge LE 0 .
          DELETE list .
        ELSE .
          list-menge = tr-menge .
          IF tr-dabmg GT 0 .
            list-fyukl = '*' .
          ENDIF .
          SELECT SINGLE butxt INTO list-tname1 FROM t001
            WHERE bukrs = list-bukrs .
          SELECT SINGLE slfdt INTO list-slfdt FROM eket
          WHERE ebeln = list-ebeln AND
                ebelp = list-ebelp .
          SELECT SINGLE name1 INTO list-name1 FROM lfa1 WHERE lifnr = list-lifnr.
          SELECT SINGLE mtart matkl INTO (list-mtart,list-matkl)
          FROM mara WHERE matnr = list-matnr .
          SELECT SINGLE eknam INTO list-eknam FROM t024 WHERE ekgrp = list-ekgrp .
          MODIFY list .
        ENDIF .
      ENDLOOP      .
    ENDFORM.                    " get_data
    FORM print_data .
      LEAVE TO LIST-PROCESSING .
      NEW-PAGE NO-HEADING NO-TITLE LINE-SIZE 229 .
      SET PF-STATUS SPACE .
    PERFORM top-of-page .
    malzeme türü 1005 ler yazd&#305;r&#305;l&#305;r
      PERFORM yazdir_1005 .
    malzeme türü 1005 olmayanlar yazd&#305;r&#305;l&#305;r
      PERFORM yazdir_ne_1005 .
    Sat&#305;nalama gruplar&#305; bilgisi yazd&#305;r&#305;l&#305;r
      PERFORM yazdir_ekgrp .
    ENDFORM.                    " print_data
    FORM top-of-page .
      WRITE : 'ÜLKER GRUBU KONSOL&#304;DE' .
      WRITE AT 40 'Sevkiyat Bekleyen Malzemeler' COLOR COL_HEADING .
      WRITE :  180 sy-uname , sy-datum , sy-uzeit.
      NEW-LINE .
      ULINE 0(229) .
      WRITE :/2 'Rapor Kodu..............:' , (10) sy-tcode .
      WRITE :/2 'Sat&#305;nalma Organizasyonu.:' , (10) s_ekorg-low, '/', (10) s_ekorg-high .
      WRITE :/2 'Sat&#305;nalma Grubu.........:' , (10) s_ekgrp-low, '/', (10) s_ekgrp-high .
      WRITE :/2 'Sat&#305;c&#305;..................:' , (10) s_lifnr-low, '/', (10) s_lifnr-high .
      WRITE :/2 'Sat&#305;nalma Sipari&#351; No....:' , (10) s_ebeln-low, '/', (10) s_ebeln-high .
      NEW-LINE .
      ULINE 0(229) .
    Ba&#351;l&#305;klar yaz&#305;l&#305;r
      FORMAT COLOR COL_HEADING .
      WRITE :
      /(10) 'SAS NO.' CENTERED,
      (6)  'TAHS&#304;S'  CENTERED,
      (5)  'ÖDEME'   CENTERED,
      (5)  'Bel.T'   CENTERED,
      (25) 'MALZEME' CENTERED,
      (25) 'SATICI' CENTERED,
      (12) 'M&#304;KTAR' CENTERED,
      (3)  'BRM' CENTERED,
      (3)  'G' ,
      (7) 'TES.&#350;K.' CENTERED,
      (16) 'DÖV&#304;Z TUTARI' CENTERED,
      (3)  'DB.' CENTERED,
      (13) '&#304;TH.&#304;NTK.TRH.' CENTERED,
      (13) 'DOSYA ON.TRH.' CENTERED,
      (10) 'TAHM&#304;N.&#304;TH.TRH.' CENTERED,
      (20) 'S&#304;PAR&#304;&#350; VEREN' CENTERED,
      (10) 'TALEP NO.' CENTERED,
      (18) 'DOSYA SORUMLUSU' CENTERED.
      ULINE 0(229) .
      FORMAT RESET .
    ENDFORM.                    " top-of-page
    FORM yazdir_1005 .
      DATA ebeln LIKE list-ebeln  .
      SORT list BY zzbltur matnr .
      temp[] = list[] .
      DELETE temp WHERE mtart <> '1005' .
      LOOP AT list WHERE mtart = '1005' .
        CLEAR list-netwr .
        IF ebeln NE list-ebeln OR ebeln EQ space .
          REFRESH total . CLEAR total .
          ebeln = list-ebeln .
          LOOP AT temp WHERE ebeln = list-ebeln .
            list-netwr = list-netwr + temp-netwr  .
            CLEAR total .
            total-txz01 = '*** TKNK.MLZ. TOPLAMI ****' .
            total-meins = temp-meins .
            total-menge = temp-menge .
            COLLECT total .
          ENDLOOP                               .
          PERFORM write_list USING '1'  .
          LOOP AT total .
            PERFORM write_list USING '2'  .
          ENDLOOP .
          AT END OF zzbltur .
            ULINE 0(229) .
          ENDAT .
        ENDIF .
      ENDLOOP .
    ENDFORM.                    " yazdir_1005
    FORM write_list  USING    flag .
    flag 1 1005 için yazd&#305;rma
    flag 2 ise ara toplam
      IF flag = '1' .
       FORMAT COLOR COL_NORMAL .
        WRITE :
        /(10) list-ebeln ,
         (6)  list-zztahsk,
         (5)  list-zterm,
         (5)  list-zzbltur ,
         (25) list-txz01,
         (25) list-name1,
         (12) list-menge,
         (3)  list-meins,
         (3)  list-fyukl,
         (7)  list-inco1,
         (16) list-netwr,
         (3)  list-waers,
         (13) list-bedat,
         (13) list-zzontar,
         (10) list-slfdt ,
         (20) list-tname1,
         (10) list-banfn ,
         (18) list-eknam .
        FORMAT RESET .
      ELSEIF flag = '2'  .
       FORMAT COLOR COL_TOTAL .
        WRITE :
        /(10) '' ,
         (6)  '' ,
         (5)  '' ,
         (5)  '' ,
         (25) total-txz01,
         (25) '' ,
         (12) total-menge,
         (3)  total-meins,
         (3)  '' ,
         (7)  '' ,
         (16) '' ,
         (3)  '' ,
         (13) '' ,
         (13) '' ,
         (10) '' ,
         (20) '' ,
         (10) '' ,
         (18) '' .
        FORMAT RESET .
      ELSEIF flag = '3'  .
       FORMAT COLOR COL_TOTAL .
        WRITE :
       /(10) '' ,
        (6)  '' ,
        (5)  '' ,
        (5)  '' ,
        (25) total-txz01,
        (25) '' ,
        (12) total-menge,
        (3)  '' ,
        (3)  '' ,
        (7)  '' ,
        (16) total-netwr ,
        (3)  '' ,
        (13) '' ,
        (13) '' ,
        (10) '' ,
        (20) '' ,
        (10) '' ,
        (18) '' .
        FORMAT RESET .
      ENDIF .
    ENDFORM.                    " write_list
    FORM yazdir_ne_1005 .
      DATA matnr LIKE list-matnr .
      SORT list BY zzbltur matkl matnr .
      temp[] = list[] .
      DELETE temp WHERE mtart = '1005' .
      LOOP AT list WHERE mtart <> '1005' .
    Her yeni Malzeme için ara toplam yaz&#305;l&#305;r
        IF matnr NE list-matnr AND matnr NE space .
           REFRESH total . CLEAR total .
    Toplamlar al&#305;n&#305;r
          LOOP AT temp WHERE matnr = matnr .
            CLEAR total .
            total-netwr = temp-netwr  .
            total-menge = temp-menge  .
            total-txz01 =  '***     TOPLAM        ****' .
            COLLECT total .
          ENDLOOP                          .
          LOOP AT total .               .
            PERFORM write_list USING '3'  .
          ENDLOOP                       .
          ULINE 0(229) .
        ENDIF                      .
        PERFORM write_list USING '1'  .
        matnr = list-matnr            .
      ENDLOOP                           .
    Toplamlar al&#305;n&#305;r
      LOOP AT temp WHERE matnr = matnr .
        REFRESH total . CLEAR total .
        total-netwr = temp-netwr  .
        total-menge = temp-menge  .
        total-txz01 =  '***     TOPLAM        ****' .
        COLLECT total .
      ENDLOOP .
      LOOP AT total .
        PERFORM write_list USING '3'  .
      ENDLOOP       .
      ULINE 0(229)  .
    ENDFORM.                    " yazdir_ne_1005
    FORM yazdir_ekgrp .
      DATA: BEGIN OF total OCCURS 1 ,
            eknam LIKE list-eknam   ,
            zzbltur LIKE list-zzbltur ,
            sayi TYPE i ,
            END  OF  total          .
      DATA: BEGIN OF gtotal OCCURS 1 ,
            eknam LIKE list-eknam   ,
            zzbltur LIKE list-zzbltur ,
            sayi TYPE i ,
            END  OF  gtotal          .
      DATA: bltur LIKE zzith_bltur OCCURS 1 WITH HEADER LINE .
      DATA: len TYPE i  .
      DATA: wa LIKE total.
      REFRESH temp .
      SELECT * INTO TABLE bltur FROM zzith_bltur .
      CLEAR bltur .
      MOVE : 'ZZZZ'   TO bltur-zzbltur ,  " Sat&#305;r toplam&#305; için ...
             text-002 TO bltur-zztanim .
      APPEND bltur .
      CLEAR list   .
      SORT list BY eknam ebeln .
      DELETE ADJACENT DUPLICATES FROM list COMPARING eknam ebeln .
      LOOP AT list .
        CLEAR : total, gtotal .
        total-eknam = list-eknam .
        total-zzbltur = list-zzbltur .
        total-sayi  = 1 .
        COLLECT total   .
        total-eknam   = list-eknam .
        total-zzbltur = 'ZZZZ' .
        total-sayi  = 1 .
        COLLECT total   .
        gtotal-eknam = text-001 .
        gtotal-zzbltur = list-zzbltur .
        gtotal-sayi  = 1 .
        COLLECT gtotal   .
        gtotal-eknam = text-001 .
        gtotal-zzbltur = 'ZZZZ' .
        gtotal-sayi  = 1 .
        COLLECT gtotal   .
      ENDLOOP      .
      FORMAT COLOR COL_HEADING.
      ULINE AT /1(145).
      WRITE :/
      sy-vline , (15) 'Dosya Sorumlusu' , sy-vline .
      LOOP AT bltur .
        WRITE :(15) bltur-zztanim  , sy-vline .
      ENDLOOP  .
      ULINE AT /1(145).
      FORMAT RESET   .
      total-zzbltur = '0001' .
      MODIFY total TRANSPORTING zzbltur WHERE zzbltur = space .
      gtotal-zzbltur = '0001' .
      MODIFY gtotal TRANSPORTING zzbltur WHERE zzbltur = space .
      SORT total BY eknam .
      LOOP AT total  .
        AT NEW eknam .
          WRITE :/
          sy-vline , (15) total-eknam COLOR COL_HEADING ,
          sy-vline .
          LOOP AT bltur   .
            len = sy-tabix * 18 .
            len = len + 3 .
            CLEAR wa .
            READ TABLE total INTO wa WITH KEY zzbltur = bltur-zzbltur
                                              eknam   = total-eknam .
            WRITE AT len(15) wa-sayi NO-ZERO.
            WRITE sy-vline .
          ENDLOOP    .
        ENDAT      .
      ENDLOOP .
      LOOP AT gtotal  .
        AT NEW eknam .
          FORMAT COLOR COL_TOTAL .
          WRITE :/
          sy-vline , (15) gtotal-eknam ,
          sy-vline .
          LOOP AT bltur   .
            len = sy-tabix * 18 .
            len = len + 3 .
            CLEAR wa .
            READ TABLE gtotal INTO wa WITH KEY zzbltur = bltur-zzbltur
                                               eknam   = text-001    .
            WRITE AT len(15) wa-sayi NO-ZERO.
            WRITE sy-vline .
          ENDLOOP    .
        ENDAT      .
      ENDLOOP .
      ULINE AT /1(145).
      FORMAT RESET .
    ENDFORM.                    " yazdir_ekgrp

    Hi,
    In the function  use the top-of-page event as follows:
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
                    I_BYPASSING_BUFFER          =
                    I_BUFFER_ACTIVE             =
                    I_INTERFACE_CHECK           = ' '
                 I_CALLBACK_PROGRAM          = 'ZRPMSLM'
                    I_CALLBACK_PF_STATUS_SET    = ' '
                    I_CALLBACK_USER_COMMAND     = ' '
               <b>  I_CALLBACK_TOP_OF_PAGE      = 'TOP'</b>
    Define whatever to appear in top-of page in a subroutine named TOP.
    Hope this helps.
    Reward if helpful.
    Regards,
    Sipra

  • ABAP OO Event Problem

    Hi,
    I read the blog posted by Jocelyn Dart-<b><i>Raising ABAP OO Events for Workflow</i></b>...
    <b>/people/jocelyn.dart/blog/2006/07/27/raising-abap-oo-events-for-workflow
    When I tried the same using my own Class, I am getting some problem.
    Well, I created my Class with two Attributes
    1) <i>M_POR</i>(Persistent Object Reference Attribute)
    2) <i>PERNR</i>(Employee Number)
    And I created a Constructor with one parameter.
    And I also coded the remaining standard methods as per that blog - <b><i>USING ABAP OO Methods in Workflow Tasks</i></b>.
    Finally I activated my CLASS and each individual method.
    I created one small report that raises ABAP OO Event as mentioned in the blog with the below mentioned code.
    <i>report  yworkflowtrigger_ooabap.
    data : ls_ywftest1_key type p_pernr,
           lv_objtype type sibftypeid,
           lv_event   type sibfevent,
           lv_objkey  type sibfinstid,
           lr_event_parameters type ref to if_swf_ifs_parameter_container,
           lv_param_name       type swfdname,
           lv_visit_date       type datum.
      lv_objtype = 'YWFTEST1'.
      lv_event = 'STARTEVENT'.
    Set up the LPOR Instance id
      ls_ywftest1_key = '00000024'.
      move ls_ywftest1_key to lv_objkey.
      try.
        call method cl_swf_evt_event=>raise
          exporting
            im_objcateg        = cl_swf_evt_event=>mc_objcateg_cl
            im_objtype         = lv_objtype
            im_event           = lv_event
            im_objkey          = lv_objkey
           IM_EVENT_CONTAINER =
         catch cx_swf_evt_invalid_objtype .
         catch cx_swf_evt_invalid_event .
      endtry.</i>
    I switched on my event trace and tried raising the Event. But event is not raised even after execution of this code. I checked the SY-SUBRC value at the ENDTRY, But this seems perfect(SY-SUBRC = 0).
    Why is my event not getting triggered even after the execution of above code?
    Is there anything which I have missed.
    We are on <b>ECC 5.0</b>
    Regards,
    <i><b>Raja Sekhar</b></i>

    I missed this tip in that blog.
    "<i><b>Tip! Just as for Business Object events, the COMMIT WORK statement is crucial when raising a Workflow event - without this the event will not be raised.</b></i>"
    Regards,
    <i><b>Raja Sekhar</b></i>

  • Workflow WS00000038 Purch.Req - Event REJECTED not triggered

    Hi Friends!
    (SAP ECC 6.0)
    (Tcode SWE3 - BUS2009-REJECTED is active)
    When using WS00000038 Purchase requisition we have problem when an item is REJECTED.
    the Event that is triggered is BUS2009-SIGNIFICANTLYCHANGED. This leads to that the Workflow end up with status  COMPLETED and NO further handling of the actual Rejection that were made.
    IF BUS2009-REJECTED were triggered instead, then WS00000038 would have followed another path in the workflow which is to handle the REJECTION via another TASK.
    Why is BUS2009-REJECTED not triggered when button "REJECT" Requisition is pressed (ME54N).
    Best regards
    Henrik

    In this aproval step within WS00000038 it is actually ME54N that is called.
    The result in the task of the workflow is an EXTERNAL EVENT that is triggered.
    In my case it is BUS2009-SIGNIFICANTLYCHANGED that is triggered instead of BUS2009-REJECTED.
    this is what causes my Workflow WS00000038 to choose the wrong path.
    Does anyone have a solution of how to get BUS2009-REJECTED triggered via ME54N when I actually press button to REJECT and then SAVE.
    Best reg
    Henrik

  • Interactive Form - button SubmitToSap - OnSubmit event is not triggered

    Please help to resolve triggering OnSubmit event problem.
    I created a test Webdynpro with UI element InteractiveForm.
    The InteractiveForm properties are:
    - displayType = native
    - enabled is checked.
    OnSubmit event  a method is called. The method contains very simple code so I could debug and see if the event is triggered.
    The form was created in SFP with  Layout type = Native.
    The form properies are:
    Default Lang = Javascript.
    Default run =  at client
    Preserve scripting changes to form when saved = Manually
    I have inserted Webdynpro script thru SAP Utilities menu.
    The form has SubmitToSap button and Textfield.
    So now i am trying to debug WDA.
    At runtime WDA opens Adobe form.
    If I enter data into Textfield and then click SubmitToSap button  -  OnSubmit event is triggered. I am happy.
    Then I run WDA again. This time I click  SubmitToSap button  right away without entering data into Textfield. OnSubmit event is NOT triggered this time.
    Is something wrong with my form properties?
    Thank you very much,
    Tatyana.

    Manas, you are right.
    OnSubmit event was not triggered unless U enter value into Textfield because the Textfield property was "Requiered".
    Also just for clarification the form Layout type  is ZCI Layout (not Native like I said above).
    Thank you!

  • Problem in triggering the correct workflow on  AdobeForm submission for PCR

    Hi All,
    I am facing a problem involving triggering of workflows through Adobe form submission. I have created a scenario for "Employee seperation" in QISRSCENARIO transaction and assigned it to an approval workflow. I have also activated and assigned the BUS7051-Created event in the workflow Basic Data. My workflow also triggers perfectly when i submit the adobe form. Everything is perfect till here.
    Now i have to create another scenario for "Request for Transfer" Now for this i had to create a seperate workflow. My problem is since both these workflows are assigned to the same event whenever i submit the "Employee seperation" form both the workflows get triggered. <b>Is there a setting where i can configure the corresponding workflow to be triggered for the respective scenario's alone?</b> How do we handle this situation?

    Hi Jocelyn/Raja,
    I am trying to use SWB_COND for differentiating between the different workflows. I have created a virtual attribute W_SCENARIO_KEY for this. I tried populating this scenario key by using the following staement,
    <b>
    CALL FUNCTION 'ISR_SPECIAL_DATA_GET'                       
      EXPORTING                                                
        notification_no                     =  object-key-number
    IMPORTING                                                 
        SCENARIO                            = w_scenario_key.  
      SWC_SET_ELEMENT CONTAINER 'W_SCENARIO_KEY' W_SCENARIO_KEY.</b>
    When i try to include W_SCENARIO_KEY as a start condition the workflow shows up an express message and fails to trigger. In ST22 i can see that there is an exception "INVALID_NOTIF_NUMBER" raised.
    But if i don't set this as a start condition all the workflows activated to BUS7051-CREATED are triggered and in the WF logs i can see the correct value of W_SCENARIO_KEY for the respective notification number.
    I am not sure why this happens when i set it as a start condition alone.
    I instead used a select statement as shown below,
    <b>select * from viqmel into table itab_VIQMEL          
                  where qmnum = object-key-number.       
    loop at itab_viqmel where qmnum = object-key-number. 
    w_scenario_key = itab_viqmel-auswirk.                
    endloop.</b>
    After inserting this statement it works fine without any issues. Any idea on why ISR_SPECIAL_DATA_GET cant be used in the virtual attribute implementation?
    The following is the dump i get if i use ISR_SPECIAL_DATA_GET,
    Information on where terminated                                                                 
        The termination occurred in the ABAP program "SAPLQISR9" in                                 
         "ISR_SPECIAL_DATA_GET".                                                                    
        The main program was "RSWDSTRT ".                                                                               
    The termination occurred in line 39 of the source code of the (Include)                     
         program "LQISR9U01"                                                                        
        of the source code of program "LQISR9U01" (when calling the editor 390).                                                                               
    Source Code Extract                                                                               
    Line  SourceCde                                                                               
    9 *"  EXCEPTIONS                                                                               
    10 *"      NO_INTERNAL_SERVICE_REQUEST                                                       
       11 *"      INVALID_NOTIF_NUMBER                                                              
       12 *"      INT_SERVICE_REQUEST_NOT_FOUND                                                     
       13 *"----
       14                                                                               
    15 * local data                                                                               
    16   DATA: lt_dummy TYPE qisrsgeneral_param.                                                 
       17                                                                               
    18   DATA: lr_isr_document TYPE REF TO cl_isr_xml_document.                                  
       19                                                                               
    20   DATA: ls_notif TYPE qmel.                                                               
       21                                                                               
    22 * MAIN                                                                               
    23 * try buffer first                                                                      
       24   CALL FUNCTION 'ISR_SPECIAL_DATA_BUFFER_GET'                                           
       25     IMPORTING                                                                               
    26       ET_SPECIAL_DATA       = special_data                                              
       27       ED_SCENARIO           = scenario                                                  
       28     EXCEPTIONS                                                                          
       29       BUFFER_EMPTY          = 1.                                                        
       30                                                                               
    31   IF sy-subrc eq 0.                                                                     
       32     EXIT.                                                                               
    33   ENDIF.                                                                               
    34                                                                               
    <b>   35 * check notification number                                                             
       36   SELECT SINGLE * FROM qmel INTO  ls_notif                                              
       37                             WHERE qmnum = notification_no.                              
       38   IF sy-subrc NE 0.                                                                     
    >>>>>     RAISE invalid_notif_number.                                                         
       40   ELSEIF ls_notif-auswirk IS INITIAL.                                                   
       41     RAISE no_internal_service_request.                                                  
       42   ENDIF.     </b>                                                                               
    43                                                                               
    44 * set scenario                                                                          
       45   scenario = ls_notif-auswirk.                                                          
       46                                                                               
    47 * read ISR XML document                                                                 
       48   CALL METHOD cl_isr_xml_document=>read_for_display                                     
       49     EXPORTING  id_notif_no         = notification_no                                    
       50     IMPORTING  er_isr_xml_document = lr_isr_document                                    
       51     EXCEPTIONS bds_error = 1.                                                           
       52                                                                               
    53   IF sy-subrc NE 0.                                                                     
    54     RAISE int_service_request_not_found.           
    55   ENDIF.                                           
    56                                                    
    57 * read data from XML document                      
    58   CALL METHOD lr_isr_document->get_data_from_xml

  • Correlations in Workflow - wait for Delete event problem

    Hi All,
    I am working on version ECC5.
    I have a workflow that needs to wait for any changes to i0008, i0007, i0509 and i2001 for the person who is the subject of the workflow.  I have used correlations to do this and it is all working fine except for the Delete event.
    For each infotype I wait for each event ie. Approved, Changed, Created, ApprovedCancelled and Delete.  When the events are published the wait event is triggered and the workflow goes to the next steps where it does a recalculation,  fires off a new workflow and ends the current one.  This is working for all of the events except Delete.  The Delete event is set up exactly the same as the rest, but somehow the workflow wait event is not triggered.  It is happening with the Delete event for all the Infotypes I am waiting for.
    Does anybody have any suggestions as to what may be the problem. 
    Thanks
    Sandra

    Arghadip/Martin thanks for your replies.
    Yes, the delete event is being published.  I am using the same object e.g BasicPay for the delete event that I am using for the other events - Approved, Created etc. that are working.   The correlation and the wait for event steps are set up exactly the same way as they are for the events that are working.  I find it curious that the delete event doesn't work for any of the infotypes.   Why?  Could it be that when a record is deleted the object no longer exists?
    Any suggestions?
    Thanks
    Sandra

  • DataTable event problems

    I have created a datatable whose columns are as follows. A button, outtext, image, textinput, outtext. The problem I have is when I place focus on any textinput box the button in the first row is highlighted. This becomes a problem when I type data in the textinput box and then press enter. When I press enter the button's event handler is triggered. Has anyone seen this behavior.
    Any help is appreciated.

    Just a quick followup on my problem. I move the button to different columns within my datatable and the same problem occurs. Whenever focus is inside the datatable, that is either through a tab or by clicking the mouse anywhere inside the datatable, the button in the first row becomes highlighted and if the enter key is pressed the key press is associated with the button instead of the component that actually should have focus. Please help! Our site is supposed to go live tommorow and this is a real show stopper.
    Thanks,
    Kevin

  • Problem in Triggering the Mail to SAP Inbox

    Dear Experts,
                     I have a problem for triggering the Mail option to SAP Inbox.
    We created a Job assigning the program RSEIDOCA,RSWUWFML2 by creating a variant for those programs. We are scheduling the job,  It is showing as
    24.11.2010 12:43:46 Job started                                                                     00           516          S
    24.11.2010 12:43:46 Step 001 started (program RSEIDOCA, variant ZRSEIDOCA, user ID__ )        00           550          S
    24.11.2010 12:43:48 Error situation found by evaluation                                             E0           596          S
    24.11.2010 12:43:48 Step 002 started (program RSWUWFML2, variant ZRSWUWFML2, user ID__)      00           550          S
    24.11.2010 12:43:49 Job finished                                                                    00           517          S
    But while checking in SOST, we are unable to see those mails. eventhough the user is unable to get those mail in SAP INBOX.
    I think, is there any authorization problem while triggering the mail for that particular user id.. Please tell me the solution, this is very high requirement for me.
    Thanks in Advance.
    Regards,
    Srini

    Hi Chandra,
              Thanks for your reply. Actually i am not workflow consultant, thats why i asking this question. Where to assign the Receipient Type and Recipient Notification.
    you give Recipient Type as position and Recipient of Notification must be position of the reciepient,
    Regards,
    Srini

  • InputField fire event problem in webDynpro

    I have one validation or Fire Event problem with respect to Inputfield in web Dynpro.
    I have one Input filed and created the context varible for that, then i mapped the context varible to the InputField, and i changed the context varible type as date.So , when i run the view , it will show the calender near to the text box to select the perticular date. On select of the perticular date. It will populate selected  date in to the inputField.
    On selection of the perticular date. Based on the date i want to generate the next 12 months date at runtime in different text boxes. But the only event available for the InputField is only "onEnter". This is not useful in my case, bcz on selection of the Date , the user may not use the Enter key. so , how can use the other events like onSelection or onChange events in the InputFields to reach my needs.
    Any one  give me the idea to solve this problem.
    Vijay

    Hello Vishal,
    You may also refer the sample code in the below link
    <a href="http://sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0c0dcacd-0401-0010-b4bd-a05a0b4d68c8">http://sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0c0dcacd-0401-0010-b4bd-a05a0b4d68c8</a>
    Regards,
    Sudeep.

  • More event problems

    Hello again, I have yet another event problem. When I try to use this code I get an error saying Abstract class actionPerformed is not implemented in non- abstract class TableWindow. I'm not quit sure how I'm supposed to implement it.

    Here is what I believe to be the relevant code. addWindowListener works but addFocusListener returns the error.
    // Table window
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class TableWindow extends Frame implements ActionListener
    public TableWindow ()
    Create Window
    super ("Test Window");
    setBackground (SystemColor.control);
    setLocation (0, 0);
    setLayout (new GridLayout (5, 5));
    addWindowListener (new WindowAdapter ()
    public void windowClosing (WindowEvent e)
    try
    if (Connected == true)
    // Close the Statement
    stmt.close ();
    // Close the connection
    con.close ();
    catch (SQLException sqle)
    dispose ();
    System.exit (0);
    tPane = new JTabbedPane ();
    tPane.addChangeListener (new ChangeListener ()
    public void stateChanged (ChangeEvent c)
    //Status.setText ("Clicked");
    tablePane = new JPanel ();
    recordPane = new JPanel ();
    recordPane.addFocusListener(new FocusListener()
    public void focusGained(FocusEvent e)
    Status.setText ("Clicked");
    queryPane = new JPanel ();
    TName1 = new TextField (25);
    TName2 = new TextField (25);
    TName3 = new TextField (25);
    idField = new TextField (10);
    idField2 = new TextField (10);
    TitleField = new TextField (25);
    TitleField2 = new TextField (25);
    result = new TextArea ("Under Construction", 5, 30);
    NewT = new Button ("New Table");
    NewR = new Button ("New Record");
    NewQ = new Button ("New Query");
    NewT.addActionListener (this);
    NewR.addActionListener (this);
    NewQ.addActionListener (this);
    TNameLabel1 = new Label ("Enter name of table here");
    TNameLabel2 = new Label ("Enter name of table here");
    TNameLabel3 = new Label ("Enter name of table here");
    idLabel = new Label ("Enter movie ID here");
    TitleLabel = new Label ("Enter title of Movie here");
    TitleLabel2 = new Label ("Enter title of Movie here");
    tablePane.add (TNameLabel1);
    tablePane.add (TName1);
    tablePane.add (NewT);
    recordPane.add (TNameLabel2);
    recordPane.add (TName2);
    recordPane.add (idLabel);
    recordPane.add (idField);
    recordPane.add (TitleLabel);
    recordPane.add (TitleField);
    recordPane.add (NewR);
    //recordPane.add (tableChoice);
    queryPane.add (TNameLabel3);
    queryPane.add (TName3);
    queryPane.add (TitleLabel2);
    queryPane.add (TitleField2);
    queryPane.add (NewQ);
    queryPane.add (result);
    Status = new Label ("");
    // make the window and add components to it
    tPane.addTab ("Table", tablePane);
    tPane.addTab ("Record", recordPane);
    tPane.addTab ("Query", queryPane);
    add (tPane, BorderLayout.CENTER);
    add (Status, BorderLayout.SOUTH);
    pack ();
    setVisible (true);
    public static void main (String args [])
    ConnectToDatabase ("vdds");
    TableWindow tw = new TableWindow ();
    }

  • Event not getting triggered for a few users in production

    Hi Experts!!
    We have a workflow that gets triggered on the event REQUESTCREATED of BUS2089. In production, we see that for a few users the event is getting triggered and even the workflow is. But for a few users, the workflow is not getting triggered. However, we didn't check SWEQADM yet and are waiting to get auth to check the same. But before that, I need your valuable suggestions on this.
    When I check SWEL, I cannot see any entries at all. Not even for the successfully processed ones.
    Auth objects cannot be a reason, as all the users have same auth. Please suggest me on what else can be the reasons.
    Your help is highly appreciable.

    Hello Srinivas !
                  Check in SWEQADM to know whether the event is on queue.If so, redeliver it.
                  If there is no event on queue, check the RFC queue( transaction SWU2 ) and ST22 for possible ABAP dumps.
                  Call work item list report (transaction SWI1) and check event linkages (transaction SWETYPV )of the users for whom the event is not triggered.Are you using BAdI or user- exit to trigger the workflow ? If so, check whether those are in active state.
                 Refresh the workflow buffers(transaction SWU_OBUF).Check either of the workflow versions are in active state.
    Regards,
    S.Suresh

  • How do I find an event which is triggered on line selection for ALV grid?

    Hi,
    I'm trying to find an event which is triggered when a user selects a row in the ALV grid. I want to add my own code in to add up the total values of selected lines, but can't find any event which will trigger my method.
    I found CLICK_ROW_COL but it's protected so when I try and add a method for it:
      PROTECTED SECTION.
        METHODS:
        select_row
            FOR EVENT click_row_col OF cl_gui_alv_grid.
    I get the syntax error:
    Access to protected event "CLICK_ROW_COL" is not allowed.
    Am I using the right event? Am I implementing it correctly?
    Any help appreciated. Thanks in advance.
    Gill

    I chose to solve this by removing the line select buttons from the ALV and replacing them with a checkbox defined as a hotspot.  I then used EVENT hotspot_click FROM cl_gui_alv_grid to highlight the line and change my totals on a single click.

  • What event will be triggered by check button on ALV?

    Hi,
    What event will be triggered by the standard check button on ALV? ON_DATA_CHECK is only triggered by a change in an editable field on ALV, so if no change were made, ON_DATA_CHECK wouldn't be triggered. I also tried events for before and after standard function but neither were triggered. How can I use the standard check function?
    Regards,
    ts

    Hi ts,
    The event ON_DATA_CHECK would trigger only if the content on alv is dirtly i.e. user modified something.
    If there are no changes done for the contents, whats your requirement to use check button?
    You can create a custom alv toolbar button and use event ON_FUNCTION on click of tool bar button.
    Regards,
    Rama

  • Wait Event to be triggered with configurable no. of days

    Hello,
    I have a requirement in which a workflow gets triggered. After that it waits for an event to get triggered which it listens to.
    Also there is certain no. of days which is configurable.
    I want that when the event is received with the configurable no. of days then it should processing 1. If the event is not received with configurable no. of days then processing 2 should be done.
    Could you let me know how do we achieve this functionality.
    Thanks,
    Imran

    There are at least two ways.
    1) Set a latest end deadline in process 1 and make the work item obsolete - use a container element to store information about whether the event appeared or not.
    2) Set a requested start deadline in process 2 and process the two in a 1-out-of-2 parallel branch.
    I would recommend option 2.

Maybe you are looking for

  • Red images in bridge and cs5?

    In the last couple of months my images have become quite red in bridge and it switches back and forth from being too red on photoshop and then too red on bridge.  I have no idea what the problem is and need help please.

  • Formula variable type customer exit

    Hi all, Can you explain me how link variable formula processing type customer exit to an infoobject? Can you give an example of the exit? Thanks Gianmarco

  • Install 11g RAC or 10g RAC

    We're in the process getting ready to start the implementation of our first RAC project. We've done a great deal of discovery and prep. We've had Oracle in to discuss the project in detail. We have one open item. Should we go with 11g RAC or 10.2.0.4

  • Re-doing failed automator tasks automatically

    Hi. I want to queue up Automator tasks I saved as applications. I know you can use iCal and tell it to open the files at specific times but I was wondering if there's any other way of doing it, I've heard of Cron but is it any good?. My Automator tas

  • Mailto: links in Exchange emails

    We utilize a system that sends emails with embedded links to either email an approval or disapproval for requests. Each of these starts with mailto: followed by the mailing address. Prior to upgrading to 3.0 these links worked just fine. Now, with 3.