How i use value signaling Event?

how i use Value signaling event by labview?
can you send me example?

Wiring a value to Value(signaling) is like having a user click a button. Here is an example.
- tbob
Inventor of the WORM Global
Attachments:
Trigger_Other_Event[2].vi ‏156 KB

Similar Messages

  • How to use "Value signaling" for boolean-latch button?

    Hello,
    i hava an event-structure with a boolean-button on it (Mechanical Action: Latch when pressed).
    For this button i have an event "Value Change" - works all fine.
    Now i want to execute this event from an other event by sending a True into the Property-Node "ValueChangeSignaling" of this button.
    But now labview tells me:
    When a Boolean control has a latch mechanical
    action, you cannot use the Value property to read or write its
    value.
    What can i do now to execute the existing event of the button?
    Thanks

    The reason the latched boolean cannot be set via Value property is described here:
    http://digital.ni.com/public.nsf/allkb/0774F8F0498017B886256F080066E2E3
    A little further info from the help:
    Note  You cannot use any latch action for objects with a local variable. The first local variable to read a Boolean control with latch action resets its value to the default. If you configure your Boolean value with a latching mechanical action, the Value Property and the Value (Signaling) Property always return an error. Due to race conditions that can occur when you have a Boolean value with latching mechanical action, you cannot programmatically read Boolean values that are set with a latching mechanical action.
    So your options are to either change the change mechanical action to switched, and programmatically set it back to False inside your event case, or use another method to fire your event (as previouosly mentioned, consider user events).
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • Value Signalling Event Case

    Hi Guys,
    I am trying to trigger an event using "Value Signalling" and i hit a little bit of snag.
    I am reading logic inputs continuously and i wanted to trigger an event if there is a change on logic signals.
    What i did is i read the logic signals initially so to get the default state and re-read again the logic signals inside the timed loop in the event case waiting for the signals to change. 
    However, the event keep triggering even there is no change in signal.
    Any advice?
    Regards
    Ray
    Solved!
    Go to Solution.
    Attachments:
    untitled.PNG ‏85 KB

    Of course you did not show any actual code (just an image) so we can only guess the overall program architecture and what's in the other cases and events.
    Still, you might be over-thinking all this. Since the loop is already spinning it seems overkill to trigger things using signaling events. All you probably need is a small case structure that executes additional code whenever things change. Events are primarily used to handle user interaction from the front panel. You just need to branch depending on the "changed/not_changed" case, which is trivial.
    LabVIEW Champion . Do more with less code and in less time .

  • How to use the PROGRESS Event?

    Can someone explain to me how to use the PROGRESS event, i looked at the docs but it never helped me?
    I want to use it to display the prgress of downloading data from a API, its a URL event. But i was told i can do this via a PROGREE Event

    copy and paste the trace output from:
    import flash.events.ProgressEvent;
    //var facebookAPI:String = "https://graph.facebook.com/ginorea1/feed?access_token=277830088900615|2.AQDUBMBocIw_QcqE.3600.1313856000.0-100001000396080|5bXT8Cj0OUxNpr7y NeqTsJfwADg";//
    var facebookAPI:String = "https://graph.facebook.com/100001000396080/statuses?access_token=14563 4995501895|2.AQAKdU4pcsdMmmBO.3600.1313859600.0-100001000396080|7uzAMoRdsg5kXLjc exS5bVaPhag";
    var loader:URLLoader = new URLLoader(new URLRequest(facebookAPI));
    loader.addEventListener(Event.COMPLETE, loadComplete);
    loader.addEventListener(ProgresEvent.PROGRESS,loadProgress);
    function loadProgress(e:ProgressEvent):void
    trace(e.bytesLoaded,e.bytesTotal);
    progress_txt.text = String(Math.floor((e.bytesLoaded/e.bytesTotal)*100));
    function loadComplete(e:Event):void{
    processData(e.target.data);
    function processData(data:String):void
    var facebookFeed:Array = JSON.decode(data).data as Array;
    for (var i:uint, feedCount:uint = 10; i < feedCount; i++)
    var tf2:TextField=new TextField();
    feed1.text = facebookFeed[i].message;
    feed2.text = facebookFeed[2].message;
    feed3.text = facebookFeed[3].message;
    feed4.text = facebookFeed[4].message;
    feed5.text = facebookFeed[5].message;
    feed6.text = facebookFeed[6].message;
    feed7.text = facebookFeed[7].message;
    feed8.text = facebookFeed[8].message;
    feed9.text = facebookFeed[9].message;
    feed10.text = facebookFeed[10].message;
    stop();

  • How to use Mouse Wheel Events

    Hello Everyone
    I am using Datagrid in my Canvas.
    I use mouse wheel to scroll the datagrid. But in one scroll
    through that wheel make the more than 4 rows to be scroll.
    So Now my requirement is to control the delta value of mouse
    wheel event and how to use that with my datagrid so that i will
    able to scroll one row through mouse wheel scroller.
    Thanks

    please give me some suggestion around it.
    I want to scroll one row of datagrid with per mousewheel
    scroll. I am not getting how to use the scrollMouseWheelMultiplier
    property of the IConfiguration class because i am not able to
    create the object of this class.
    I am using the Flex 3.0 and flash 9 version.
    please help me out around this.

  • Smartforms, how to use control break events

    Please help with this requirement.
    Purchase Docu No.111
    Pur Item No       Mat no       Quantity 
    1                        2356      2000
    2                     1256      2000
    3                     8556      2000
    Purchase Docu No.112
    Pur Item No    Mat no    Quantity 
    1                      9656      2000
    2                      7356      2000
    3                      1356      2000
    Purchase Docu No.113
    Pur Item No    Mat no    Quantity 
    1                      5356      2000
    2                      8356      2000
    This i have to design for the smartform.
    1 header data then its item data.
    like is Script i can call the WIndow elements using control break events in the driver prog but how to get this kind of output in Smartforms.???????
    Thanks

    I dont want trigger new page.
    In the same page i want like this
    I have purchase docu data in only 1 internal table.
    So, for every new VBELN, under this i want its corresponding item details.
    I have created the command node for the main window with 2 rows, in the 1st row i am giving VBELN and in the 2nd row i am giving in item details like item no, matnr etc etc and in the condition its askng Field name and Comparison Value.
    How shold i give condition.??????
    Thanks
    Edited by: Jalaaluddin Syed on May 1, 2008 5:03 PM

  • How to use training and event functionality in  ESS  BP  in  ep 7.0   ?

    Hi all,
            We are using 
    1). sap portal 7.0  sp 9  and
    2). Using back end  ECC 6.0    
    3).  And using  Ess business package 
    Business Package for Employee Self-Service (mySAP ERP)   release 1.0
      The business package doesnot contain any  training and events module iviews.
    We want to use training and event management iviews on the portal.
    The document for this business package says that  to use  training and event management iviews  we should install   Sap  Learning solutions 
    I want to know?
    1.  How can we use training and event management iviews without  using Learning solutions?
    2. What is actually Learning solutions is  a seperate module  or it is the part of  Sap HR module?
    Please guide me..
    Rajendra.

    Rajendra,
    Have a look at SAP Note 870126.
    Here is a snippet:
    <i>The following international ESS applications based on Standalone ITS have been or will be converted to the integrated ITS Version 6.40, and can still be used with mySAP ERP 2005. You can integrate these applications using ESS Homepage Customizing if required:
    International ESS Services available on the integrated ITS as of mySAP ERP2005:
    Training Center (PV7I) (see Note 771196)
    myBookings (PV8I) (see Note 771196)</i>
    To answer the second part of your question, the Learning Solution is an optional component that can be deployed in ERP.  It complements and extends the existing TEM module.  You generally still use TEM with LSO.
    Is that what you were after?
    Regards,
    John

  • How to use Value Mappings for simple translations?

    Hello,
    I want to use Value Mappings for simple translations in mappings, e.g. from IDoc to Inhouse structures.
    For example unit of quantity:
    IDOC    -->    INHOUSE
    PCE               P
    ABC               A
    How can I use Value Mapping for this? What should be used as Agency, what should be used for Scheme? What about groups? I tried the following: I created a new Value Mapping in Integration Directory:
    - Source Agency: DELVRY05
    - Source Scheme: MENEE (IDoc field name)
    - Target Acency: INHOUSE_DESADV (Name of structure)
    - Target scheme: UNIT (Name of field)
    Then, in the table, I added several lines for translating PCE to P and ABC to A and so on. But I have to define a group name for each line. I used INHOUSE. But than I get one INHOUSE group for each line.
    This seems very complicated for simple translations from A to B. I don't want to use FixValue in Message mappings.
    Any help appreciated.
    Thanks,
    Christoph

    Hello,
    @pavan kumar: Thanks, but I know all Blogs about Value Mappings. That does not help me. And I refer to PI 7.1.
    Lets get it very simple: I want to have exactly the same functionality of "FixValues" as ValueMappings. In 7.1, I need to define a Group for every row / line in the conversion table (e.g. for units of measurement conversion between IDoc and FlatFile). That does not make sense for me, as the Group is always the same, e.g. "Unit of measurement". So I will get dozens of same groups called "Unit of measurement".
    I don't really understand the concept of Groups. Maybe this is just not appropiate for my intenses? Maybe the Group has to be defined as one specific value of Unit of measurement, e.g. "pieces"?
    CHRISTOPH

  • How to use JDI handle event, need you help!~

    Hi,
    In our recent project, I need listen some event such as ClassPrepareEvent, MethodEntryEvent using JDI and handle it. I am trying to mend the TTY and let it
    do something simple when MethodEntryEvent occur.
    I just add a print line in the method methodEntryEvent in TTY.java. But I noticed that this method is not invocated after I input "run" commond. I don't konw why? And how can I listen this event? And when the methodEntryEvent method in TTY will be invocated?
    Anyone can help me ???
    Thank you!!!
    PS: methodEntryEvent method is post as follow:
    public void methodEntryEvent(MethodEntryEvent me) {
    Thread.yield(); // fetch output
    //notice:
    //i want print this sentens when every method entry.
    System.out.println("Method Entry:");
    StringBuffer buffer = new StringBuffer("\nMethod Entered: ");
    buffer.append(me.method().declaringType().name());
    buffer.append(".");
    buffer.append(me.method().name());
    buffer.append(" ");
    out.print(buffer.toString());
    otherEvent(me);
    Duan
    SJTU

    You must enable a MethodEntryRequest before any MethodEntryEvent will
    be reported.
    In the jdb/TTY reference debugger, use the 'trace methods [thread]'
    and 'untrace methods [thread]' commands to turn tracing on or off
    for method entry and exit.
    Once you request MethodEntry/Exit notification, then the methodEntryEvent
    handler in TTY.java will be called and you will see the println() you
    added to the code.

  • May I know how to use the user event

    I saw a sample as the attached screen. The user event is used. I am totally new of user event.
    may you give a brief explanation of it and how it used.
    Thanks.
    Attachments:
    Event.JPG ‏195 KB

    Hi turbot,
    attached you will find an example. There is no need to use local variables.
    Mike
    Attachments:
    test41_LV80.vi ‏17 KB

  • LV7: how to catch 'Value change' event for cursor position in XY graph?

    I try to catch an event when the cursor position of a graph's cursor
    changes. I created a reference for the cursor array and registered a dynamic
    event 'Value change' for it. The event does not fire when the cursor changes
    (either by dragging it with the mouse or by direct entry of a new value in
    the cursor's X or Y fields. In contrast, when I register e.g. the 'Mouse Up'
    event for the cursor array, the event IS detected.
    -Franz

    So this is the same behaviour as that of a regular control which also does
    not fire a 'Value changed' event when it gets updated by e.g. writing to a
    local.
    At least the cursor's behavior is consistent then...
    But unfortunately also the direct user interaction with the cursor's numeric
    field does not fire the event, which is NOT consistent.
    I was trying to catch cursor changes in my event loop and had used a 'Mouse
    Up' event of the graph indicator to look for cursor changes (whose last
    position I had kept in a local or shift reg). In order not to miss a direct
    user interaction in the numeric field I added the dynamic event 'Value
    change' to the same event case, but with no success, it missed the direct
    entry ...
    according to what you say this seems to b
    e a bug then...
    -Franz
    "Greg McKaskle" schrieb im Newsbeitrag
    news:[email protected]..
    > > I try to catch an event when the cursor position of a graph's cursor
    > > changes. I created a reference for the cursor array and registered a
    dynamic
    > > event 'Value change' for it. The event does not fire when the cursor
    changes
    > > (either by dragging it with the mouse or by direct entry of a new value
    in
    > > the cursor's X or Y fields. In contrast, when I register e.g. the 'Mouse
    Up'
    > > event for the cursor array, the event IS detected.
    > >
    >
    > The reason is that value change events fire when user action directly on
    > the control changes its value. They do not fire when other programmatic
    > value changes occur. If you are looking at a value change on the cursor
    > palette, user interaction with the numeric should fire it, but updates
    > due to cursor movement are more like programmatic updates.
    >
    > Additional events will likely be added in future
    releases, and these may
    > make it easier to catch cursor movement events on a graph.
    >
    > Greg McKaskle
    >

  • How to use startscan signal for triggering for E-series DAQ

    Hi, I want to collect the engine cylinder pressure data with a PXI-6070E DAQ card and BEI Encoder. I want to use the TDC signal as trig1, and crank angle signal as startscan for triggering. Could anybody give me an example or suggestions about doing this in labview. I cannot find any example that uses startscan signal for trigging. Thanks.

    There is an example VI that is installed with LabVIEW. It is called "Cont Acq&Graph ExtScanClk D-Trig.vi" and it is located in the following LLB.
    \Examples\DAQ\anlogin\anlogin.llb
    Your project aligns very closely with a past project of mine. If you require professional expert assistance, feel free to call on us.
    Daniel L. Press
    Certified LabVIEW Developer
    PrimeTest Corp.
    www.primetest.com

  • How to handle value change events of select list in custom component?

    My HelloUIComp code...How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...
    public class HelloUIComp extends UIComponentBase {
        public static final String account="custom.account";
        public static final String RENDERER_TYPE = null;
        HtmlCommandButton button = createButton();
        //HtmlSelectOneMenu select=createSelect();
        public void processDecodes(FacesContext context) {
             Calling the lifecycle method "processDecodes" on the
             internal button is absolutely critical to create action events
             button.processDecodes(context);
             super.processDecodes(context);
        private HtmlCommandButton createButton() {
             FacesContext context = FacesContext.getCurrentInstance();
             HtmlCommandButton newButton = new HtmlCommandButton();
             newButton.setId("Add");
             newButton.setValue("Add");
             newButton.setType("submit");
             //newButton.setOnclick("return func_1(this,event);");
             MethodBinding binding = context.getApplication().createMethodBinding("#{pc_MyProjectView.go}", null);
             newButton.setAction(binding);
                  newButton.setParent(this);
             return newButton;
      /*  private HtmlSelectOneMenu createSelect()
             HtmlSelectOneMenu selectCategory=createSelect();
             return selectCategory;
         public void encodeBegin(FacesContext context) throws IOException {
              String style = (String)getAttributes().get("style");
              String startdate = (String)getAttributes().get("startdate");
              String enddate = (String)getAttributes().get("enddate");
              //String add=(String)getAttributes().get("add");
              ResponseWriter writer = context.getResponseWriter();
             writer.startElement("table", this);
            writer.writeAttribute("border","2","2");
            writer.startElement("tbody", this);
            writer.startElement("tr", this);
            writer.startElement("td", this);
            writer.writeText("Account Category", null);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.writeText("Reg-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Account-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Start-Date", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("End-Date", null);
              writer.endElement("td");
              writer.endElement("tr");
              writer.startElement("tr",this);          
              writer.startElement("td", this);
              writer.startElement("select", this);
            if (style!=null)
                   writer.writeAttribute("style", style, null);
            writer.writeAttribute("name","category","category");
            writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              //to access data
              Account accountObj;
              AccountData accountDataobj;
              List listOfAccounts;
              int noOfAccounts;
              accountDataobj=new AccountData();
              listOfAccounts=accountDataobj.getAccounts();
              noOfAccounts=listOfAccounts.size();
              for(int i=0;i<noOfAccounts;i++)
              writer.startElement("option", this);     
              accountObj=(Account) listOfAccounts.get(i);
              writer.writeText(accountObj.getCategory(), null);
              writer.endElement("option");
              //System.out.println(accountObj.getRegNo());
              //System.out.println(accountObj.getAccountNo());
              writer.endElement("select");
              writer.endElement("td");
            writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","regno","regno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);     
              writer.startElement("option", this);
              writer.writeText(""+accountObj.getRegNo(), null);
              writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","accno","accno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);
              writer.startElement("option", this);
              writer.writeText(accountObj.getAccountNo(), null);
              writer.endElement("option");
              //writer.startElement("option", this);
              //writer.writeText("00200155", null);
              //writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              button.encodeBegin(context);
             button.encodeChildren(context);
             button.encodeEnd(context);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","startdate","startdate");
              writer.writeAttribute("value",startdate,startdate);
              writer.writeAttribute("readonly", "","");
              //writer.endElement("input");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","enddate","enddate");
              writer.writeAttribute("value",enddate,enddate);
              writer.writeAttribute("readonly", "","");
              writer.endElement("td");
              writer.endElement("tr");
              writer.endElement("tbody");
              writer.endElement("table");
         public String getFamily() {
              return "HelloFamily";
         }

    NewEclipseCoder wrote:
    How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...Two ways:
    1) submit the form to the server and render the desired textbox depending on the option.
    or
    2) render all textboxes and use Javascript/DOM to display/hide them depending on the option.

  • Apex 3.2, How to use an onchange event with Popup Key LOV - it ignores me.

    Hoping there is a simple solution to this.
    Using Apex 3.2 with a simple form with a few fields. When the user selects a value from a Popup Key LOV, I want to fire a javascript onchange event and alter another field on the form.
    Seems simple enough, except that I can't figure out how to make the PopUp respond to onchange events. The default template seems to ignore javascript entered into the attribute fields that work in other form fields. I know this is simple do to for a select list - it works as expected there. A select list is not a good option because of the huge number of possible returned values.
    Even tried a different approach...to register the onchange event using the "addLoadEvent" with this code (this also does not work):
    function setThisUp() {
    var x = document.getElementById('P105_CTR_ID');
    x.onClick = popupLovChanged;
    function popupLovChanged() {
    alert('OMG IT WORKS!');
    addLoadEvent(setThisUp);
    If any of you have some advice on how to make onchange work, it would be greatly appreciated.
    Thanks in advance
    -Rich

    For those still looking for a solution.
    I found that you can overwrite the default javascript function passback(x) in the popup lov's template, just add your function in the After Field Text field of the template
    e.g.
    <script> function passBack(x) {
    opener.document.getElementById('P2_PROGRAMME').value = x;
    opener.document.getElementById('P2_PROGRAMME').focus();
    close();
    } </script>
    this is going to populate the 'P2_PROGRAMME' field with selected value, and focus on it.
    in your case, just add the codes you want to run into the passback function.
    hope this helps

  • How to use the ONF4 event in REUSE_ALV_GRID_DISPLAY?

    I am able to use the methods for BUTTON_CLICK and HOTSPOT_CLICK for a report that outputs ALV Grid using REUSE_ALV_GRID_DISPLAY.
    But I am not able to trigger the ONF4 event.
    How to enable this?
    Thanks,

    hi look at the code ...may be helpful for u..
    TYPE-POOLS SLIS.
    DATA: BEGIN OF T_OUT_FOR_F4 OCCURS 0,
            BUKRS LIKE T001-BUKRS,
            BUTXT LIKE T001-BUTXT,
          END   OF T_OUT_FOR_F4.
    PARAMETERS: P_BUKRS TYPE BUKRS.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BUKRS.
      PERFORM F4_FOR_BUKRS.
    *&      Form  F4_FOR_BUKRS
          text
    -->  p1        text
    <--  p2        text
    FORM F4_FOR_BUKRS.
      DATA: IT_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
            IT_REPORT   TYPE  SY-REPID,
            ES_SELFIELD TYPE  SLIS_SELFIELD.
    Get data
      SELECT BUKRS BUTXT FROM T001 INTO TABLE T_OUT_FOR_F4
      WHERE BUKRS = '0001' OR BUKRS = 'US01'.
    Get field
      IT_REPORT = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                I_PROGRAM_NAME     = IT_REPORT
                I_INTERNAL_TABNAME = 'T_OUT_FOR_F4'
                I_INCLNAME         = IT_REPORT
           CHANGING
                CT_FIELDCAT        = IT_FIELDCAT[].
      LOOP AT IT_FIELDCAT.
        IT_FIELDCAT-KEY = SPACE.
        IF IT_FIELDCAT-FIELDNAME = 'BUTXT'.
          IT_FIELDCAT-KEY = 'X'.
        ENDIF.
        MODIFY IT_FIELDCAT.
      ENDLOOP.
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
        EXPORTING
        I_TITLE                       =
        I_SELECTION                   = 'X'
        I_ZEBRA                       = ' '
        I_SCREEN_START_COLUMN         = 0
        I_SCREEN_START_LINE           = 0
        I_SCREEN_END_COLUMN           = 0
        I_SCREEN_END_LINE             = 0
        I_CHECKBOX_FIELDNAME          =
        I_LINEMARK_FIELDNAME          =
        I_SCROLL_TO_SEL_LINE          = 'X'
          I_TABNAME                     = 'T_OUT_FOR_F4'
        I_STRUCTURE_NAME              =
          IT_FIELDCAT                   = IT_FIELDCAT[]
        IT_EXCLUDING                  =
        I_CALLBACK_PROGRAM            =
        I_CALLBACK_USER_COMMAND       =
        IS_PRIVATE                    =
        IMPORTING
          ES_SELFIELD                   = ES_SELFIELD
        E_EXIT                        =
        TABLES
          T_OUTTAB                      = T_OUT_FOR_F4
       EXCEPTIONS
         PROGRAM_ERROR                 = 1
         OTHERS                        = 2
      IF SY-SUBRC  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        READ TABLE T_OUT_FOR_F4 INDEX ES_SELFIELD-TABINDEX.
        P_BUKRS = T_OUT_FOR_F4-BUKRS.
      ENDIF.
    ENDFORM.                    " F4_FOR_BUKRS

Maybe you are looking for