How do I modify an arbitrary component value during a simulation?

I am a new Multisim user, beginner SPICE user, but with some undergrad and graduate EE coursework, and some "real world" experience, but I don't pretend to be an EE by long shot. 
I am moving to Multisim from a competitor. In the competition, I can open a tab with all the components in the schematic and their values, including various SPICE model parameters  and can modify these while the simulation is running. 
For example, I can change a resistor without adding a potentiometer. This affords much quicker simulation response and keeps the schematic very clean and clear.
 Can Multisim do this? I have not been able to find any information regarding this interactive control of component values and SPICE parameters while a simulation is running.
David
David M. Ingebretsen, M.S., M.E.
Collision Forensics & Engineering, Inc.
[email protected]
www.CFandE.com

Yes. The software is B2 SPICE by BeigeBag software:
http://www.beigebag.com/
Attached is a grab of the "properties" tab for modifying parameters during the simulation. It is very easy and useful. Since teeh components are "static" it doesn't add to the overall simulation overhead. I'm not sure how the author actually programmed this feature, but it is useful as you can add standard fixed components and simply change the value of any component in the circuit during the simulation.
David M. Ingebretsen, M.S., M.E.
Collision Forensics & Engineering, Inc.
[email protected]
www.CFandE.com

Similar Messages

  • How to get the Dynamic UI component value from JSFF page to any managedbean

    HI ,
    We have list of bean objects in jSF page we are iterating the list of bean using the forEach loop and displaying the value into Input type text (UI component) value filed .
    If we try to get the UI component value in Managed bean we are not getting the dynamic values .
    The below piece of code used to retrieve the dynamic values from the JSF page doesn't have any form :
    UIComponent component = null;
    FacesContext facesContext = FacesContext.getCurrentInstance();
    if (facesContext != null) {
    UIComponent root = facesContext.getViewRoot();
    component = findComponent(root, componentId);
    then component type casting to the based on UI component which we trying to access and getting the value as " NULL " ..Please let me know how to get the dynamic values form the JSF ?
    Please let me know if any other approach or any changes required on above ?
    Thanks

    Hi,
    the root problem is this
    <h:inputText id="it3" value="#{familyList.ctn}" />
    <tr:commandButton text="Save" id="cb3"Note how each row writes to the same managed bean property, thus showing the same data. Instead your managed bean should expose a HashMap property that you then apply values to using a key/value pair. The key could be the ID of the field, which then you also should dynamically define e.g. cb<rowIndx>. The command button could then have a f:attribute assigned that has the row HahMap key as a value. This way you truly create value instances for the object
    Frank

  • How do I modify a specific component within a active internalframe?

    I need to change an icon (toggle like) on a button within an internal frame when it is pressed.. I know what the active frame is. How do I address the specific component (wiithin a deskpane within a internalframe)?
    Thank you in advance,
    BAJH

    Here is a stripped down version of the program:
    i
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.OverlayLayout;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.UIManager;
    import javax.swing.event.InternalFrameEvent;
    import javax.swing.event.InternalFrameListener;
    public class TestFrameButton extends JDesktopPane{
         private static final long serialVersionUID = 1L;
         JDesktopPane desk;
         JDesktopPane ifdesk;
         JScrollPane scrollpane;
         JInternalFrame iframe;
         JFrame frame;
         JList jList1;
         JInternalFrame currentframe;
         Integer currentframenumber;
         String currentframename;
         Boolean[] downuptracker;
         Integer deskwidth = 1000;
         Integer deskheight = 1000;
         Integer scrollwidth = 1000;
         Integer scrollheight = 1000;
         JButton DownUpButton;
         public static void main(String[] args) {
              TestFrameButton d = new TestFrameButton();
         public TestFrameButton(){
              downuptracker = new Boolean [99];
              frame = new JFrame("Test Frame Button");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              scrollpane = new JScrollPane(desk,
                        ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                        ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
              scrollpane.setPreferredSize(new java.awt.Dimension(scrollwidth, scrollheight));
              desk = new JDesktopPane();
              desk.setPreferredSize(new java.awt.Dimension(deskwidth, deskheight));
              int i = 5;
              for (int j = 0; j <= i; j++){
                   UIManager.getDefaults().put("InternalFrame.icon", "");
                   iframe = new JInternalFrame("Internal Frame: " + j, false, true, false, false);
                   iframe.setName(String.valueOf(j));
                   iframe.setBounds(30*j, 30*j,265 , 80);
                   iframe.addInternalFrameListener(new InternalFrameListener(){
                        public void internalFrameClosing(InternalFrameEvent e) {
                        public void internalFrameClosed(InternalFrameEvent e) {
                        public void internalFrameOpened(InternalFrameEvent e) {
                        public void internalFrameIconified(InternalFrameEvent e) {
                        public void internalFrameDeiconified(InternalFrameEvent e) {
                        public void internalFrameActivated(InternalFrameEvent e) {
                             currentframe = e.getInternalFrame();
                             currentframename = e.getInternalFrame().getName();
                             currentframenumber = Integer.valueOf(currentframename);
                        public void internalFrameDeactivated(InternalFrameEvent e) {
                   iframe.setTitle("Internal Frame :" + j);
                   iframe.setVisible(true);
                   downuptracker[j] = true;
                   ifdesk = new JDesktopPane();
                   iframe.getContentPane().add(ifdesk, BorderLayout.CENTER);
                   DownUpButton = new JButton("Old Icon here");
                   ifdesk.add(DownUpButton);
                   DownUpButton.setBounds(0, 0, 130, 20);
                   DownUpButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                             if (downuptracker[currentframenumber].equals(true)){
                                  // Colapse frame here and change icon
                                  DownUpButton.setText("New Icon here");
                                  downuptracker[currentframenumber] = false;
                             }else{
                                  // Expand frame here and change icon
                                  DownUpButton.setText("Old Icon here");
                                  downuptracker[currentframenumber] = true;
                   desk.add(iframe);
                   iframe.moveToFront();
              scrollpane.setViewportView(desk);
              JPanel overlayPanel = new JPanel();
              OverlayLayout overlay = new OverlayLayout(overlayPanel);
              overlayPanel.setLayout(overlay);
              this.setOpaque(false);
              desk.setOpaque(true);
              overlayPanel.add(this);
              overlayPanel.add(scrollpane);
              frame.add(overlayPanel);
              scrollpane.setVisible(true);
              frame.setSize(800,600);
              frame.setVisible(true);
    }Thank you in advance,
    BAJH - I will never multi-post again!

  • LabView 7.1 SIT: how can I modify the LV-Simulink connections during execution?

    Hi!
    I'm using LabView 7.1 (with the SIT toolkit) to make a user interface for a
    Simulink model.  The problem I’m encountering is that the Simulink
    parameters aren’t always linked to the same LV controls, depending on the options
    selected by the user.  Since I wasn’t sure
    if it was possible to do this, I decided to send the values of the main
    controls into other controls, which would be hidden (or not if I can’t… doesn’t
    really matter).  The hidden controls would
    then be linked to the Simulink parameters, and the connections would never have
    to change. 
    It is quite
    confusing to describe in words, so I’ve included a picture representing what I’m
    trying to do.  It shows the way I'm trying to do it right now, with the hidden controls, but only the final result counts, so tell me if there's a better way to do it, or if it's just wrong.
    For the moment, since
    I’m not very good at using events, I just can’t figure how to connect the
    hidden controls to the Simulink parameters. 
    By default in SIT, the Simulink values are updated when the user changes
    the value corresponding LabView control. 
    Here, the values of the controls linked to Simulink are not modified
    directly by the user, so it doesn’t update.
    I hope my explanations are clear enough to be understood… if not, don’t hesitate to ask more details.
    Thanks in advance!

    I just tried to do what is shown in your picture, and it does update the value of the control, but the value is not sent to Simulink... I don't know if I'm doing something wrong...  I did some basic tests with the Sine Wave SIT example.  I added a control called "Frequency Simulink", which is updating each time the value of the "Frequency" control changes, using a local variable inside the event (like your picture).  However, the new value of the frequency isn't passed to Simulink.  I posted the modified version of the sine wave example that I used to test, if someone wants to try it.
    Thanks for your answer, and please tell me if I did something wrong.
    Attachments:
    SITtest.vi ‏273 KB

  • How can I modify the application- validation- set- value validation

    Dear all :
    After I created a new value set( application->validation->set->value validation), I want to change the Type of the "value validation",how can I modify ?
    Regards
    Terry

    Dear all:
    Sorry, I found the answer in the metalink note :[ID 396369.1]     
    Regards
    Terry

  • How can I modify data from a Transparent Table without ABAP code.

    Hi,All
    How can I modify data from a Transparent Table (like TCURR),  and important thing is I want do all that with no ABAP code here. It is like that we always do that in a Oracle database use TOAD or PLSQL third party tools, with no script code here.
    I had fond that there is a way can do that:
    1, type 'se11',and Display Database table 'TCURR', click Contents, then click Execute to display all data
    2, type '/h' and let debugging on
    3, select one of this data then click 'Display',enter in debugging system.
    4, then make a breakpoint in the code. But... display a dialog let I type a 'ABAP Cmnds', I want to know what can be type in for that?
    and, My system is ECC6.
    thank you all
    Edited by: xuehui li on Aug 20, 2008 6:30 PM

    Hello,
    Your approach (with Vijay's suggestion) MAY work.  However, depending on how tight security is at the company that you are working at you may or may not be able to acutaly change the value of the SHOW field to EDIT.  This will be especially true if you are working in a Production environment.  Vijay's other comment is true as well.  This is not a recommended approach to change data (especially data with a financial impact like TCURR) in a production environment.  The auditors will not be impressed.
    Explore the option of a maintenace view or look at tcode TBDM to upload a file which includes daily rates from providers like Reuters or try tcode s_bce_68000174 which is a maintenance view on TCURR.
    Regards
    Greg Kern

  • How to find out the Target Component name and Target view name

    Hi All Expert,
                      I want to know ,how to find out the target component and target view in WEB UI,when i click on a field which shows as a hyper link in WEB UI .At GUI level ,i know the how it will work.Any way to find out the component name and view name which is show the details of that field at GUI level .IF you go to transaction CRMD_ORDER then open the service contract id .then goto the item level value .there is 1 service data tab is available at item level.there is two button is available.first one is available time and second one is response time .if i click on any button then one popup is open which is shows the details of that button.I dont know how to find out the component name and view name from GUI level.
    Thanks in Advance....
    Vishwas Sahu

    Hi Vishwa,
                 The control would be something like this for navigation in Get_p_xxx method u mention as link and u mention a event name which gets triggered on the click of this hyperlink. So your GET_P_XXX method would have the following code:
    CASE iv_property.
        WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
          rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
        WHEN if_bsp_wd_model_setter_getter=>fp_onclick.
          rv_value = 'EXAMPLE'.
    Now you have to create a method as EH_ONEXAMPLE at your IMPL class and within which you would give an outbound plug method. Within the outbound plug the target data would be filled in the collection and window outbound plug would be triggered.
    This is a huge topic and  i have just mentioned you basic things.
    Regards,
    Bharathy.

  • Actual cost component values

    Hi
    We are facing an issue that actual cost component values in our system are not calculating correctly. We consider that there might be difference in our understanding regarding the calculation of actual cost component values.
    Therefore I want to understand that how actual cost component values are calculated in SAP Material Ledger. I will appreciate if anyone can elaborate this with example and formula, used for calculation.
    Regards

    Hi Saad,
    Please find below about the actual cost calculation in ML.
    In ML single -level and multi-level material settlements are available. Multilevel price determination calculates the periodic unit price for a material. The standard price, the single-level differences cumulated in the period, the differences between planned and actual prices, as well as input material differences (multilevel differences) are all taken into account.
    The material price calculated in multilevel price determination can be used for inventory valuation.
    The actual price for each material can be updated to the material master for the closed period.
    -During price determination, the system carries out the following calculation: 
    =>Daily Transaction
    1) Purchasing XYZ Qty 20 Std : 10, Actual : 11
       Dr) Stock XYZ 200                   CR) GRIR 220
    Purchase price differ XYZ 20
    2) Purchasing ZYX Qty 20 Std : 20, Actual : 22
       DR) Stock ZYX 400                   CR) GRIR 440
    Purchase price differ ZYX 40
    3) Good issue XYZ Qty 15 Std : 10
       DR) Material cost XYZ 150               CR) Stock XYZ 150
    4) Good issue ZYX Qty 15 Std : 20
       DR) Material cost  ZYX 300               CR) Stock ZYX 300
    5) Good receipt  234 Qty 15  Std : 40
      DR) Stock 234 600                    CR) Clearing 600
    6) Good delivery 234 Qty 10  Std : 40
       DR) Material cost  234 400         CR) Stock 234 400
    7) Good receipt  123 Qty 10 Std : 50
        DR) Stock123 500                    CR) Clearing 500
    8) Good issue  123 Qty 5 Std : 50
       DR) Material cost  123 250         CR) Stock 123 250
    9) Good receipt  ABC Qty 10 Std : 60
        DR) StockABC 600                    CR) Clearing 600
    10) Sold ABC Qty 5 Std 60
        DR) COGS 300                          CR) Stock ABC 300
    => Monthly Material Ledger Closing
    1) Single-level price determination
       DR) Stock XYZ  5 ( Current Stock 5 / Total Purchase Qty 20 *  price difference 20) 
       CR) Purchase price differ XYZ 20
    *Transfer price difference to 234  15 ( Good issue  qty 15 / Total Purchase Qty 20 *  price difference 20)
        DR) Stock ZYX  10 ( Current Stock 5 / Total Purchase Qty 20 *  price difference 40) 
        CR) Purchase price differ ZYX 40
    *Transfer price difference to 234  30 ( Good issue  qty 15 / Total Purchase Qty 20 *  price difference 40)
    2) Multi-level price determination
        DR) Stock234  5 ( Current Stock 5 / Total Good receipt 15 *  price difference 15) 
        CR) Transfer price difference to 234 from XYZ  15
    *Transfer price difference to 123 from 234  10 ( Good issue  qty 10 / Total Good receipt 15
           * price difference 15)
        DR) Stock  234 10 ( Current Stock 5 / Total Good receipt 15 *  price difference 30) 
        CR) Transfer price difference to 234 from ZYX 30
    *Transfer price difference to 123 from 234 20
            ( Good issue  qty 10 / Total Good receipt 15 *  price difference 30)
        DR) Stock 123 15  ( Current Stock 5 / Total Good receipt 10 *  price difference 30) 
        CR) Transfer price difference to 123 from 234 30
    * Transfer price difference to ABC from 123 15
                ( Good issue  qty 5 / Total Good receipt 10 *  price difference 30)
        DR) Stock  ABC 7.5 ( Current Stock 5 / Total Good receipt 10 *  price difference 15) 
        CR) Transfer price difference to ABC from 123 15
    *Not allocated price difference 7.5
                ( Sold qty 5 / Total Good receipt 10 * price difference 15)
    3) consumption revaluation
             DR) COGS ABC 7.5                     
             CR) Not allocated price difference 7.5
    => Current Actual Stock Amount
       1) XYZ Qty : 5 Actual Amount : 55 (actual price : 11)
       2) ZYX Qty : 5 Actual Amount : 110 (actual price : 22)
       3) 234 Qty : 5 Actual Amount : 215 (actual price : 43)
       4) 123 Qty : 5 Actual Amount : 265 (actual price : 53)
       5) ABC Qty : 5 Actual Amount : 307.5 (actual price : 61.5)
    I hope you understand the process of actual cost cal in ML.
    Regards,
    chandu.

  • How do you modify the default Execute thread count in Weblogic Server 9.2?

    How do you modify the default Execute thread count in Weblogic Server 9.2?
    How can you tune the starting number of weblogic.ExecuteThread on server startup and/or set minimum number?
    Is there an option from the console?
    Please let me know.
    Thanks

    Self tuning will automatically manage the threads but however you can still control the min and max by adding the min and max values for each instance either directly adding in config.xml or through JVM settings
    1) Modifying the config.xml
    Just add the following line(s) to each server definition :
    <server>
    <name>AdminServer</name>
    <self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min>
    <self-tuning-thread-pool-size-max>200</self-tuning-thread-pool-size-max>
    </server>
    2) Adding some JVM parameters
    It's safer the following way :
    add the following option in your command line : -Dweblogic.threadpool.MinPoolSize=100
    Regards
    RR

  • How to exclude synchronous interfaces from component based message alerting

    Hi Pi experts,
    We are configuiring Alerts in PI 7.3 single stack.If we have 'n'number of interfaces, and if we configured general alerts for all.How to exclude synchronous interfaces in that.Alerting is for asynchronous interfaces only.How to do that.
    Please advice on this.
    Regards
    Suneel

    Hello,
    >>What are your approaches regarding this requirement in the context of java-only?
    I would suggest you to schedule jobs like this:
    Customize Alerts Using Job in PI 7.31/PO
    >> alerts are consumed according to the given interval and not in "real time" when error occurs, today solution using BADI is "real time" - if possible I would prefer "real time" solution
    Check this:
    Michal's PI tips: How to trigger an alert for Component Based Message Alerts (CBMA) via "API" ?
    >>an separate service determine the actual alert count would be helpful to provide the correct value for maxAlerts, this have to be called beforehand
    I haven't tried it but i think u can do that, since these consumers are nothing but JMS queues only so i think there will be a method to read number of alert counts.
    >>In history I saw emails generated by the standard alert consumer which only contain details for the first alert, in my case I need details especially the message id for all errorneous messages
    If ur max alert parameter is greater than 1 then u should see multiple alert text  (along with message id and other details) in ur email message.
    Thanks
    Amit Srivastava

  • How to delete/remove the software component from integration repository

    Dear All
    How to delete/remove the software component from integration repository which we have created some Data and message types.
    Regards
    Blue

    Hi,
      Follow the steps below to delete the Software component:
    1. Delete the created Data Types, Message Types, Message Interfaces, Message Mappings, Interface Mappings and other imported objects like RFC's or IDoc's. Activate all changes.
    2. Then delete the namespace and the default datatypes present with the namespace after checking "objects are modifiable".
    3. Then delete the SW component, after placing the radio button in "Not permitted".
    Regds,
    Pinangshuk.

  • How do you modify default installation path?

    In the previous versions of AAMEE there was an option to change the default pathway for installation.
    I d onot see this option in AAMEE 3.0
    How can I modify the installation path? All my installs are usually done on a secondary HDD.
    Also, there is an option to install only InDesign 64bit and Illustrator 64bit versions instead of installing both but I have not seen an option to install only Bridge 64bit. Can this be surpressed?
    Thank you much for your input.

    Digging through the XML I have found this option:
    <Screen name="ConfigureOptions">
        <control name="EULAOption" platform="All" machinePortability="1">1</control>
        <control name="ImproverOption" platform="All" machinePortability="1">1</control>
        <control name="conflictOption" platform="All" machinePortability="1" val="1"/>
        <control name="updaterOption" platform="All" machinePortability="1" val="0"/>
       <control name="deployPathOption" platform="All" machinePortability="1" val="0"/>
    Should I assume that I need to change the value to the correct deploy path?
    If yes, do I replace the 1 or the 0 with the value?

  • Modify the textArea component

    i need some help on how to modify the textArea component so
    that the scrollbar, sidebar and up/down arrow hit states are black.
    is there any script that i can write to change to these colors
    unstead of using the default component (silver) color that
    macromedia has.

    By defining them in the class and using the class name under component definition:
    [Inspectable(name="Text", type=String, defaultValue="")]
    public function set text(setText:String)
         textArea.text = setText;
    public function get text():String
         return textArea.text;
    A problem I run into is that the compiler errors prevent the parameters from being defined so I comment out every line that has to do with textArea, define the component, then uncomment them so that it'll work when it runs.

  • How can we modify alv output list

    Hi
    this is fazil.
    Please tell me any body How can we modify alv output list.
    Thanks & Regards
    Fazil
    [email protected]

    Fazil,
    check the program,
    You can find the code in this program 'BCALV_FIELDCAT_TEST'
    *& Report  BCALV_FIELDCAT_TEST                                         *
    This report allows to modify the fieldcatalog of a corresponding
    output table and to view the effects of your changes directly.
    Note that for some changes you need to newly display the whole
    ALV Grid Control, e.g., DDIC-Fields are read only the first time
    you call SET_READY_FOR_FIRST_DISPLAY.
    Note also that not all scenarios can be tested since the output
    table does not comprise all fields to test available features
    of the fieldcatalog. Copy this program and extend the output
    table accordingly if you want to test such a special feature.
    (The field CARRNAME in 'gt_sflight' was added to test field REF_FIELD
    and TXT_FIELD of the fieldcatalog - see what happens if you
    calculate subtotals by carrier-id).
    report  bcalvt_fieldcatalog           .
    data: ok_code               type sy-ucomm,
          save_ok_code          type sy-ucomm,
    fieldcatalog for output table
          gt_fieldcat           type lvc_t_fcat,
    fieldcatalog for fieldcatalog itself:
          gt_fcatfcat           type lvc_t_fcat,
          gs_fcatlayo           type lvc_s_layo.
    Output table
    data: begin of gt_sflight occurs 0.
    data: carrname type s_carrname.
            include structure sflight.
    data: end of gt_sflight.
    data: g_max type i value 100.
    data: g_all type c value SPACE.
    Controls to display gt_sflight and corresponding fieldcatalog
    data: g_docking type ref to cl_gui_docking_container,
          g_alv     type ref to cl_gui_alv_grid.
    data: g_custom_container type ref to cl_gui_custom_container,
          g_editable_alv     type ref to cl_gui_alv_grid.
    LOCAL CLASS Definition
    class lcl_event_receiver definition.
      public section.
        methods handle_data_changed
          for event data_changed of cl_gui_alv_grid
          importing er_data_changed.
    endclass.
    class lcl_event_receiver implementation.
      method handle_data_changed.
    at the time being, no checks are made...
      endmethod.
    endclass.
    data: event_receiver type ref to lcl_event_receiver.
    end-of-selection.
      set screen 100.
    *&      Module  STATUS_0100  OUTPUT
          text
    module status_0100 output.
      set pf-status 'BASIC'.
      set titlebar 'BASICTITLE'.
    create ALV Grid Control in the first run
      if g_docking is initial.
        perform create_and_init_controls.
      endif.
    endmodule.                             " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    module user_command_0100 input.
      save_ok_code = ok_code.
      clear ok_code.
      case save_ok_code.
        when 'SUBMIT'.
    set the frontend fieldcatalog
    ATTENTION: DDIC-Fields are not updated using this method!
    (see 'RESTART')
          call method g_alv->set_frontend_fieldcatalog
               exporting
                 it_fieldcatalog = gt_fieldcat.
          call method g_alv->refresh_table_display.
          call method cl_gui_cfw=>flush.
        when 'RESTART'.
    Destroy the control currently visible and display it again
    using the changed fieldcatalog.
          perform restart_sflight.
        when '&ALL'.
          perform switch_visibility.
      endcase.
    endmodule.                             " USER_COMMAND_0100  INPUT
    *&      Form  CREATE_AND_INIT_CONTROLS
          text
    -->  p1        text
    <--  p2        text
    form create_and_init_controls.
      create object g_docking
          exporting
               dynnr = '100'
               extension = 150
               side = cl_gui_docking_container=>dock_at_bottom.
      create object g_alv
          exporting
               i_parent = g_docking.
      create object g_custom_container
          exporting
               container_name = 'CC_0100_FIELDCAT'.
      create object g_editable_alv
          exporting
               i_parent = g_custom_container.
    register events
      create object event_receiver.
      set handler event_receiver->handle_data_changed for g_editable_alv.
      call method g_editable_alv->register_edit_event
                    exporting
                       i_event_id = cl_gui_alv_grid=>mc_evt_modified.
      perform build_fieldcatalogs changing gt_fieldcat gt_fcatfcat.
      perform modify_fieldcatalog changing gt_fcatfcat.
      perform select_data.                 "CHANGING gt_sflight
      call method g_alv->set_table_for_first_display
              changing
                   it_outtab       = gt_sflight[]
                   it_fieldcatalog = gt_fieldcat[].
    optimize column width of grid displaying fieldcatalog
      gs_fcatlayo-cwidth_opt = 'X'.
    Get fieldcatalog of table sflight - alv might have
    modified it after passing.
      call method g_alv->get_frontend_fieldcatalog
                importing et_fieldcatalog = gt_fieldcat[].
      call method cl_gui_cfw=>flush.
    Display fieldcatalog of table sflight:
      call method g_editable_alv->set_table_for_first_display
              exporting
                   is_layout       = gs_fcatlayo
              changing
                   it_outtab       = gt_fieldcat[]
                   it_fieldcatalog = gt_fcatfcat[].
    register events
      create object event_receiver.
      set handler event_receiver->handle_data_changed for g_editable_alv.
    endform.                               " CREATE_AND_INIT_CONTROLS
    *&      Form  restart_sflight
          text
    -->  p1        text
    <--  p2        text
    form restart_sflight.
      data: ls_fieldcat type lvc_s_fcat.
    free g_docking and thus g_alv
      call method g_docking->free.
      clear g_docking.
      clear g_alv.
    create new instances
      create object g_docking
          exporting
               dynnr = '100'
               extension = 150
               side = cl_gui_docking_container=>dock_at_bottom.
      create object g_alv
          exporting
               i_parent = g_docking.
    This is an internal method to invalidate all fields in the fieldcat
      loop at gt_fieldcat into ls_fieldcat.
        clear ls_fieldcat-tech_comp.
        modify gt_fieldcat from ls_fieldcat.
      endloop.
    Newly display the list with current fieldcatalog.
      call method g_alv->set_table_for_first_display
              changing
                   it_outtab       = gt_sflight[]
                   it_fieldcatalog = gt_fieldcat.
    Get fieldcatalog - it might be changed by ALV in the last call
      call method g_alv->get_frontend_fieldcatalog
              importing
                   et_fieldcatalog = gt_fieldcat[].
      call method g_editable_alv->refresh_table_display.
      call method cl_gui_cfw=>flush.
    endform.                               " restart_sflight
    *&      Form  select_data
          text
    -->  p1        text
    <--  p2        text
    form select_data.
      data: lt_sflight type table of sflight with header line,
            ls_scarr type scarr.
    select data of sflight
      select * from sflight into table lt_sflight up to g_max rows.
    copy data to gt_sflight and update CARRNAME
      loop at lt_sflight.
        move-corresponding lt_sflight to gt_sflight.
        select single * from scarr into ls_scarr
           where carrid = gt_sflight-carrid.
        gt_sflight-carrname = ls_scarr-carrname.
        append gt_sflight.
      endloop.
    endform.                               " select_data
    *&      Form  BUILD_FIELDCATALOGS
          text
         <--P_GT_FIELDCAT  text
         <--P_GT_FCATFCAT  text
    form build_fieldcatalogs changing p_fieldcat type lvc_t_fcat
                                      p_fcatfcat type lvc_t_fcat.
      data: ls_fcat     type lvc_s_fcat.
    Fieldcatalog for table SFLIGHT: p_fieldcat
    generate fieldcatalog automatically
      call function 'LVC_FIELDCATALOG_MERGE'
          exporting
               i_structure_name       = 'SFLIGHT'
            I_CLIENT_NEVER_DISPLAY = 'X'
           changing
                ct_fieldcat            = p_fieldcat[]
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_ERROR          = 2
            OTHERS                 = 3
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    shift all column positions to the right except for MANDT
      loop at p_fieldcat into ls_fcat.
        if ls_fcat-fieldname ne 'MANDT'.
          add 1 to ls_fcat-col_pos.
          if ls_fcat-fieldname = 'CARRID'.
            ls_fcat-txt_field = 'CARRNAME'."link CARRNAME to CARRID
          endif.
          modify p_fieldcat from ls_fcat.
        endif.
      endloop.
    create a new line for CARRNAME in p_fieldcat
      clear ls_fcat.
      ls_fcat-fieldname = 'CARRNAME'.
      ls_fcat-ref_table = 'SCARR'.
      ls_fcat-col_pos = 1.
    insert new line before CARRID (do not forget MANDT!).
      insert ls_fcat into p_fieldcat index 1.
    Fieldcatalog for table LVC_T_FCAT:p_fcatfcat
    Generate fieldcatalog of fieldcatalog structure.
    This fieldcatalog is used to display fieldcatalog 'p_fieldcat'
    on the top of the screen.
      call function 'LVC_FIELDCATALOG_MERGE'
          exporting
               i_structure_name       = 'LVC_S_FCAT'
            I_CLIENT_NEVER_DISPLAY = 'X'
           changing
                ct_fieldcat            = p_fcatfcat[]
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_ERROR          = 2
            OTHERS                 = 3
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    Hide all fields that are not documented (valid for release 4.6A)
      perform hide_fields changing p_fcatfcat.
    endform.                               " BUILD_FIELDCATALOGS
    *&      Module  EXIT_PROGRAM  INPUT
          text
    module exit_program input.
      leave program.
    endmodule.                             " EXIT_PROGRAM  INPUT
    *&      Form  MODIFY_FIELDCATALOG
          text
         <--P_GT_FCATFCAT  text
    form modify_fieldcatalog changing p_fcatfcat type lvc_t_fcat.
      data ls_fcat type lvc_s_fcat.
      loop at p_fcatfcat into ls_fcat.
        ls_fcat-coltext = ls_fcat-fieldname.
        ls_fcat-edit = 'X'.
        if ls_fcat-fieldname = 'COL_POS' or ls_fcat-fieldname = 'FIELDNAME'.
          ls_fcat-key = 'X'.
        endif.
        modify p_fcatfcat from ls_fcat.
      endloop.
    endform.                               " MODIFY_FIELDCATALOG
    form hide_fields changing p_fieldcat type lvc_t_fcat.
      data: ls_fcat type lvc_s_fcat.
    Only show documented fields of fieldcatalog.
    For a documentation choose "Help->Application Help" in the menu.
      loop at p_fieldcat into ls_fcat.
        if not (
             ls_fcat-fieldname eq 'CFIELDNAME'
        or   ls_fcat-fieldname eq 'COL_POS'
        or   ls_fcat-fieldname eq 'COLDDICTXT'
        or   ls_fcat-fieldname eq 'COLTEXT'
        or   ls_fcat-fieldname eq 'CURRENCY'
        or   ls_fcat-fieldname eq 'DD_OUTLEN'
        or   ls_fcat-fieldname eq 'DECIMALS_O'
        or   ls_fcat-fieldname eq 'DECMLFIELD'
        or   ls_fcat-fieldname eq 'DO_SUM'
        or   ls_fcat-fieldname eq 'DRAGDROPID'
        or   ls_fcat-fieldname eq 'EDIT_MASK'
        or   ls_fcat-fieldname eq 'EMPHASIZE'
        or   ls_fcat-fieldname eq 'EXPONENT'
        or   ls_fcat-fieldname eq 'FIELDNAME'
        or   ls_fcat-fieldname eq 'HOTSPOT'
        or   ls_fcat-fieldname eq 'ICON'
        or   ls_fcat-fieldname eq 'INTLEN'
        or   ls_fcat-fieldname eq 'INTTYPE'
        or   ls_fcat-fieldname eq 'JUST'
        or   ls_fcat-fieldname eq 'KEY'
        or   ls_fcat-fieldname eq 'LOWERCASE'
        or   ls_fcat-fieldname eq 'LZERO'
        or   ls_fcat-fieldname eq 'NO_OUT'
        or   ls_fcat-fieldname eq 'NO_SIGN'
        or   ls_fcat-fieldname eq 'NO_SUM'
        or   ls_fcat-fieldname eq 'NO_ZERO'
        or   ls_fcat-fieldname eq 'OUTPUTLEN'
        or   ls_fcat-fieldname eq 'QFIELDNAME'
        or   ls_fcat-fieldname eq 'QUANTITY'
        or   ls_fcat-fieldname eq 'REF_FIELD'
        or   ls_fcat-fieldname eq 'REF_TABLE'
        or   ls_fcat-fieldname eq 'REPREP'
        or   ls_fcat-fieldname eq 'REPTEXT'
        or   ls_fcat-fieldname eq 'ROLLNAME'
        or   ls_fcat-fieldname eq 'ROUND'
        or   ls_fcat-fieldname eq 'ROUNDFIELD'
        or   ls_fcat-fieldname eq 'SCRTEXT_L'
        or   ls_fcat-fieldname eq 'SCRTEXT_M'
        or   ls_fcat-fieldname eq 'SCRTEXT_S'
        or   ls_fcat-fieldname eq 'SELDDICTXT'
        or   ls_fcat-fieldname eq 'SELTEXT'
        or   ls_fcat-fieldname eq 'SP_GROUP'
        or   ls_fcat-fieldname eq 'SYMBOL'
        or   ls_fcat-fieldname eq 'TECH'
        or   ls_fcat-fieldname eq 'TIPDDICTXT'
        or   ls_fcat-fieldname eq 'TOOLTIP'
        or   ls_fcat-fieldname eq 'TXT_FIELD' ).
          ls_fcat-tech = 'X'.
        endif.
        modify p_fieldcat from ls_fcat.
      endloop.
    endform.
    form switch_visibility.
    data:  lt_fcatfcat type lvc_t_fcat,
            ls_fcat type lvc_s_fcat.
    call method g_editable_alv->get_frontend_fieldcatalog
                 importing ET_FIELDCATALOG = lt_fcatfcat.
    if not g_all is initial.
         perform hide_fields changing lt_fcatfcat.
         g_all = SPACE.
    else.
        loop at lt_fcatfcat into ls_fcat.
           if ls_fcat-tech eq 'X'.
               ls_fcat-tech = SPACE.
               ls_fcat-no_out = 'X'.
               modify lt_fcatfcat from ls_fcat.
           endif.
        endloop.
        g_all = 'X'.
    endif.
    call method g_editable_alv->set_frontend_fieldcatalog
                exporting it_fieldcatalog = lt_fcatfcat.
    call method g_editable_alv->refresh_table_display.
    endform.
    Don't forget to rewaard if useful..

  • How to Position Thumb on Slider Component

    Hi all:
    I am relearning ActionScript after 6 years away, so please
    excuse what may be a really stupid question. I am trying to use the
    built-in Slider Component to resize a graphic in my movie. I've
    used the Code example from the Flash online documentation and got
    it to work. Trouble is, the thumb on the slider is starting at 10
    percent when the movie loads, and I want it to start in the middle
    (50%).
    I tried setting the aSlider.value = 50; And that works,
    except as soon as I finish dragging the slider, the thumb snaps
    back to 50. I tried resetting it within the ChangeHandler function
    to the new event.value, but that doesn't work. I tried assigning it
    to a variable called thumbpos and setting that, also doesn't work.
    How can I make the new event.value persist outside of the
    function? See attached code. Thanks!!!
    **************************************************

    1. To set focus to a component, we call the Item.Specific.Click method on the component
    2. I think that the order that fields are added to the form determines the tab index.  I'm not aware of any property that would change this
    3. Handle the ItemEvent event and check pVal.EventType to see if its type is et_VALIDATE.  This means that the field specified by pVal.ItemUID is about to lose focus.  If you set BubbleEvent to False, you can cancel the action and force the user to enter a new value without leaving the field.

Maybe you are looking for

  • Memory could no be read in Crystal Reports 2008

    I'm getting the following error in Crystal Reports 2008 when I want to open the Format menu in the toolbar The moment Crystal Reports 2008 has just started (no report is loaded): Crystal Reports: crw32.exe - Application Error The Instruction at "0x00

  • ITunes asking for Password over and over, wont open, won't quit

    Hi All... My MAC is Driving me mad, please help!!!! I'm pretty sure this is a Cookie problem from some of the other threads I've found and because it started shortly after insaling "Safari Cookie" - which I have now removed. Senario is; If I dare to

  • I can no longer print from Ipad.

    Suddenly I can not print from my Ipad2 to hp photosmart 5510. Worked fine until yesterday. Nothing chnaged. Both hooked up to wireless network with all udates current. I tried everything but need help to get this working again.

  • REP-0177: An error occurred while running in a remote server.

    I am getting the following errors while trying to run a report script.  The report was created in Report Builder. REP-0177: An error occurred while running in a remote server. Reference parameter OT_RUN_DATE in the distribution list is invalid. OT_RU

  • Freight charges based on rates per forwarding agents

    Dear all, i want to calculate freight chares based on fields plant and forwarding agent rates per EA. I have a partner function CR in customer master. In procing table field SPDNR for forwarding agent is not allowed. I tried to put LIFNR field but st