Strange behavior of HtmlPanelGrid.getChildren().clear();

I have some problem, described in previous messages.
Investigating it, I found some strange behavior, which I cannot understand.
I builded a small application to isolate this strangeness.
There are two pages, first and second. There are hyperlinks from first page to second. Secon page serves as an indicator, that navigation was successfull. It is not so all the time.
There is a bean, which constructs a hyperlink at runtime and which contains my problem, as I think.
The config file is (header and footer skipped):
<navigation-rule>
<from-view-id>/welcomeJSF.jsp</from-view-id>
<navigation-case>
<from-outcome>select</from-outcome>
<to-view-id>/secondPage.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>bean</managed-bean-name>
<managed-bean-class>Buggy.Bean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
One can see, that navigation is always controlled with the one constant string literal -- select. The bean is called just "bean" and it exists during a session.
First page is (header and footer skipped):
<f:view>
<h:form>
<h:commandLink id="link1" action="select" value="link1 (hardcoded)"/>
<h:panelGrid id="panel" binding="#{bean.panel}" columns="20" border="1" cellspacing="0">
<h:commandLink id="link2" action="select" value="link2 (hardcoded)"/>
</h:panelGrid>
</h:form>
</f:view>
One can see, that there are two hardcoded hyperlinks, one is inside the panelGrid, second is outside. Also it is seen, that the panel is binded with bean property as a whole.
The second page is just displaying a text to be sure the navigation occured.
Now the bean (header and footer skipped):
private HtmlPanelGrid panel;
public HtmlPanelGrid getPanel() {
return panel;
public void setPanel(HtmlPanelGrid panel) {
this.panel = panel;
Application application = FacesContext.getCurrentInstance().getApplication();
MethodExpression expr = application.getExpressionFactory().createMethodExpression(FacesContext.getCurrentInstance().getELContext(), "select", String.class, new Class[0]);
HtmlCommandLink link = (HtmlCommandLink) application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
link.setId("link3");
link.setValue("link3 (softcoded)");
link.setActionExpression(expr);
panel.getChildren().clear();
panel.getChildren().add(link);
One can see, that a third (softcoded) hyperlink is added to the panel dynamically, with preliminary clearing panel content.
* STRANGENESSES *
1) despite the fact, that the panel is cleared prior to adding softcoded hyperlink, I CAN see it on the page (all 3 hyperlinks are seen)
2) in the debugger I can see, that while executing code, the children list is empty; this can mean, that the order of execution of the Jave code and JSP code is reversed; despite this fact, I see the hardcoded link BEFORE the softcoded
3) the link2 (hardcoded) is not work, i.e. it is not leads the second page to be displayed
4) if I comment the line panel.getChildren().clear(); then all 3 hyperlinks start to work

But when I put links creation code in bean's constructor, it was lost.
It seems to me, that the system creates panel independently and only after that calls setter of my bean. Ergo, the data from the panel field, initialized in constructor is overwrited.
Where I should place programmatic filling of panel element?

Similar Messages

  • Strange Behavior connecting to Oracle

    Hi to All,
    On Server Windows 2003 I have installed Oracle 10g R2. On this Server run Toad for Oracle.
    If I run Oracle console, all work fine; running Toad the ORA-12154 error is displayed.
    I have tried to connect to DB with Toad from a client and all works.
    Have someone an idea on this strange behavior ?
    Thank You and Best Regards
    Gaetano

    This may be a problem?NO!
    12154, 00000, "TNS:could not resolve the connect identifier specified"
    // *Cause:  A connection to a database or other service was requested using
    // a connect identifier, and the connect identifier specified could not
    // be resolved into a connect descriptor using one of the naming methods
    // configured. For example, if the type of connect identifier used was a
    // net service name then the net service name could not be found in a
    // naming method repository, or the repository could not be
    // located or reached.
    // *Action:
    //   - If you are using local naming (TNSNAMES.ORA file):
    //      - Make sure that "TNSNAMES" is listed as one of the values of the
    //        NAMES.DIRECTORY_PATH parameter in the Oracle Net profile
    //        (SQLNET.ORA)
    //      - Verify that a TNSNAMES.ORA file exists and is in the proper
    //        directory and is accessible.
    //      - Check that the net service name used as the connect identifier
    //        exists in the TNSNAMES.ORA file.
    //      - Make sure there are no syntax errors anywhere in the TNSNAMES.ORA
    //        file.  Look for unmatched parentheses or stray characters. Errors
    //        in a TNSNAMES.ORA file may make it unusable.
    //   - If you are using directory naming:
    //      - Verify that "LDAP" is listed as one of the values of the
    //        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
    //        (SQLNET.ORA).
    //      - Verify that the LDAP directory server is up and that it is
    //        accessible.
    //      - Verify that the net service name or database name used as the
    //        connect identifier is configured in the directory.
    //      - Verify that the default context being used is correct by
    //        specifying a fully qualified net service name or a full LDAP DN
    //        as the connect identifier
    //   - If you are using easy connect naming:
    //      - Verify that "EZCONNECT" is listed as one of the values of the
    //        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
    //        (SQLNET.ORA).
    //      - Make sure the host, port and service name specified
    //        are correct.
    //      - Try enclosing the connect identifier in quote marks.
    //   See the Oracle Net Services Administrators Guide or the Oracle
    //   operating system specific guide for more information on naming.This error is clear.
    SQL*Net is being asked to resolved TNS_ALIAS & it reports that it can not find the requested name.
    EITHER
    1) the requested name is not correct
    or
    2) SQL*Net is looking in the wrong tnsnames.ora file & still not finding the requested name.
    Good Luck solving your mystery

  • Strange Behavior of GET PERNR

    Hi All,
    I am facing a strange behavior with GET Event for PNP LDB.
    In my selection-screen, i have fields like Payroll Area, Current Period, Other Period, personnel number.
    Usually, i populate Payroll area, other period(say 06-2007) and input some personnel number.
    When i tried to debug for one personnel, its not at all going into GET PERNR event...it directly goes to END-OF-SELECTION event.
    Please help on this.
    Regards,
    Kiran Chennapai

    Hi Manoj,
    The below is some part for my coding:
    START-OF-SELECTION.
      IF pnptimr9 = 'X'.
        PERFORM f_get_next_period.    "Take next period when the selection
        " is current period
      ENDIF.
    Get deatils of actions and pay-scales
      PERFORM f_get_data.
      CLEAR: g_num_processed, g_num_skipped, g_num_success, g_num_error.
    GET pernr.
      rp_provide_from_last p0001 space pn-begda pn-endda.
      IF pnp-sw-found = 1.
    Verify whether the personnel is under the given Payroll area or not
        CHECK p0001-abkrs = pnpxabkr.
        IF p_eegrp IS NOT INITIAL.
    Verify personnel's employee group is under the given EEgroup
          CHECK p_eegrp = p0001-persg.
        ENDIF.
    start processing for the selected personnel
        PERFORM f_process_data.
      ENDIF.
    END-OF-SELECTION.
    Do increment process for all the selected personnel
      IF NOT git_process[] IS INITIAL.
        PERFORM f_increment_process.
      ENDIF.
    When i tried to put a break-point at the first statement in the GET event and executed, its not going into GET event at all.(personnel number is existing in the system)
    Regards,
    Kiran Chennapai

  • Strange behavior in updating and standbying

    Hi,
    In the last 4 weeks I've been facing some strange behavior from my iPhone 4. First, sometimes when I pick it up its screen is already on (dimmed) and showing the lock screen (with some elements missing though). Secondly, and more annoying yet, when I try to update the apps via app store the initial process occurs normally but after loading the first app it begins installing it and keeps in it forever. I have to soft reset the phone. After that, the app (that kept installing) seems ok. So, I repeat the process of update from the beginning (app after app).
    I've already tried to hard reset the device without any luck with any of the problems. Any suggestions about what is going on?
    Thanks
    Adriano

    Hi,
    I'm not clear on the distinction you're making for type of access.
    Well, to be honest, now that I've re-read that this morning I'm not completely sure what I had in mind either. I think I was thinking about using the collection in what I believe the documentation calls "slices". However, given the other information you've posted it doesn't seem like that would be a feasible alternative in any case.
    I understand what you mean about varray and nested-table with the upper-bound limit for the varray's... I've not actually compared the two for performance so my idea that there may be a difference could be completely incorrect. Beyond that, creating code that only works in batches (or slices) may be less performant than what you currently have.
    I hope I've not detracted from the thread and maybe someone else with more experience will have an "ah ha!" sort of observation.
    Regards,
    Mark

  • Strange Behavior of program while using BAPI_PO_CREATE1

    Hello SAP GURUs,
    I've created an Upload Program using BAPI_PO_CREATE1 for Mass Service PO Creation.
    When I execute the program and Specify the File for uploading, It Gives me errors as
    E     BAPI     1     No instance of object type PurchaseOrder has been created. External reference:
    E     MEPO     0     Purchase order still contains faulty items
    E     6     436     In case of account assignment, please enter acc. assignment data for item
    But when I come back to Selection Screen of the Program and specify the SAME FILE AGAIN and Execute,
    The Program runs successfully and generates the PO number.
    I have never seen such strange behavior in any BAPIs before.
    Pls help..

    PERFORM refresh_tables.
      PERFORM fill_tables.
    END-OF-SELECTION.
    Display the Summary as an ALV Grid Display
      IF NOT ig_mymssg[] IS INITIAL.
        PERFORM display_basic_list . "Grid Display
      ELSE.
        MESSAGE s000 WITH 'No data exists'(051).
        STOP.
      ENDIF.
    *&      Form  refresh_tables
          text
    -->  p1        text
    <--  p2        text
    FORM refresh_tables .
      REFRESH:   ig_fieldcat,
                 ig_mymssg,
                 poitem,
                 poitemx,
                 poaccount,
                 poaccountx,
                 poservices,
                 ig_return.
                wt_itab,  record,  record2 .
    ENDFORM.                    " refresh_tables
    *&      Form  fill_tables
          text
    -->  p1        text
    <--  p2        text
    FORM fill_tables .
      record2[] = record[].
      record3[] = record[].
      DELETE ADJACENT DUPLICATES FROM record COMPARING id_no.
      DELETE ADJACENT DUPLICATES FROM record2 COMPARING id_no po_item.
      SELECT MAX( packno ) FROM esll INTO wrk_packno.
      LOOP AT record.
        CLEAR : poheader, poheaderx, wa_poitem, wa_poitemx, wa_poservices, wa_poaccount, wa_poaccountx, wa_poschedulex, wa_poschedule.
        REFRESH: poitem, poitemx, poaccount, poaccountx, poservices, ig_return,  posrvaccessvalues, poschedule, poschedulex.
        PERFORM po_header.
        LOOP AT record2 WHERE id_no = record-id_no.
          wrk_packno = wrk_packno + 1.
          PERFORM po_item.
          PERFORM po_scheudle.
          PERFORM acc_assignment.
          PERFORM po_services.
        ENDLOOP.
        PERFORM create_po.
      ENDLOOP.
    ENDFORM.                    " fill_tables
    *&      Form  display_basic_list
          text
    -->  p1        text
    <--  p2        text
    FORM display_basic_list .
      g_repid = sy-repid.
      PERFORM f2000_fieldcat_init .
      PERFORM display_alv_grid_1.
    ENDFORM.                    " display_basic_list
    *&      Form  f2000_fieldcat_init
          text
    -->  p1        text
    <--  p2        text
    FORM f2000_fieldcat_init .
      REFRESH ig_fieldcat.
      PERFORM fill_fields_of_fieldcatalog USING 'IG_MYMSSG'
                                                  'STATUS'
                                                    c_x
                                                    'Status'
                                                    '10'.
      PERFORM fill_fields_of_fieldcatalog USING 'IG_MYMSSG'
                                                'RECORD'
                                                c_x
                                                'Record'
                                                '20'.
      PERFORM fill_fields_of_fieldcatalog USING 'IG_MYMSSG'
                                                'ERRMSG'
                                                'Message'
                                                '100'.
    ENDFORM.                    " f2000_fieldcat_init
    *&      Form  display_alv_grid_1
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv_grid_1 .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = g_repid
          i_structure_name   = 'IG_MYMSSG'
          i_grid_title       = 'LOG'
          is_layout          = wg_layout
          it_fieldcat        = ig_fieldcat[]
          i_save             = c_save
        TABLES
          t_outtab           = ig_mymssg
        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.
      ENDIF.
    ENDFORM.                    " display_alv_grid_1
    *&      Form  fill_fields_of_fieldcatalog
          text
         -->P_0626   text
         -->P_0627   text
         -->P_C_X  text
         -->P_0629   text
         -->P_0630   text
    FORM fill_fields_of_fieldcatalog  USING    p_tabname TYPE slis_tabname
                                               p_field TYPE slis_fieldname
                                               p_key TYPE c
                                               p_name
                                               len.
    To fill in the fields of the table fieldcatalog depending on the field
      CLEAR wg_fieldcat.
      wg_fieldcat-fieldname = p_field. " The field name and the table
      wg_fieldcat-tabname = p_tabname.. " name are the two minimum req
      wg_fieldcat-key = p_key. " Specifies the column as a key
      wg_fieldcat-seltext_l = p_name. " Column Header
      wg_fieldcat-outputlen = len.
      APPEND wg_fieldcat TO ig_fieldcat.
    ENDFORM.                    " fill_fields_of_fieldcatalog
    *&      Form  create_po
          text
    -->  p1        text
    <--  p2        text
    FORM create_po .
      CLEAR : wg_return.
      REFRESH : ig_return.
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          poheader          = poheader
          poheaderx         = poheaderx
        IMPORTING
          exppurchaseorder  = po_no
        TABLES
          return            = ig_return
          poitem            = poitem
          poitemx           = poitemx
          poschedule        = poschedule
          poschedulex       = poschedulex
          poaccount         = poaccount
          poaccountx        = poaccountx
          poservices        = poservices
          posrvaccessvalues = posrvaccessvalues.
      SORT ig_return BY type.
      READ TABLE ig_return INTO wg_return WITH KEY type = 'S'.
      IF sy-subrc EQ 0.
        CLEAR : wg_return.
        REFRESH : ig_return.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
        CLEAR wg_errmsg.
        WRITE icon_green_light AS ICON TO wg_errmsg-status.
        CONCATENATE record-id_no po_no INTO wg_errmsg-record SEPARATED BY '/'.
       wg_errmsg-record = po_no.
        wg_errmsg-errmsg = 'PO created'.
        APPEND wg_errmsg TO ig_mymssg.
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        READ TABLE ig_return INTO wg_return WITH KEY type = 'E' TRANSPORTING message.
        CLEAR wg_errmsg.
        WRITE icon_red_light AS ICON TO wg_errmsg-status.
        wg_errmsg-record = record-id_no.
        wg_errmsg-errmsg = wg_return-message.
        APPEND wg_errmsg TO ig_mymssg.
      ENDIF.
    ENDFORM.                    " create_po
    *&      Form  po_header
          text
    -->  p1        text
    <--  p2        text
    FORM po_header .
      poheader-comp_code   = record-comp_code.
      poheader-doc_type    = record-doc_type.
      poheader-vendor      = record-vendor.
      poheader-purch_org   = 'SERV'.
      poheader-pur_group   = record-pur_group.
      poheader-currency    = 'INR'.
      poheaderx-comp_code   = 'X'.
      poheaderx-doc_type    = 'X'.
      poheaderx-vendor      = 'X'.
      poheaderx-purch_org   = 'X'.
      poheaderx-pur_group   = 'X'.
      poheaderx-currency    = 'X'.
    ENDFORM.                    " po_header
    *&      Form  po_item
          text
    -->  p1        text
    <--  p2        text
    FORM po_item .
    DATA : days TYPE num2.
    DATA : final_dt TYPE datum.
    DATA : is_ok TYPE boole_d.
    DATA : msg_hndlr TYPE REF TO if_hrpa_message_handler.
    days = 20.
    CALL FUNCTION 'HR_ECM_ADD_PERIOD_TO_DATE'
       EXPORTING
         orig_date       = sy-datum
         num_days        = days
         signum          = '+'
         message_handler = msg_hndlr
       IMPORTING
         result_date     = final_dt
         is_ok           = is_ok.
      CLEAR: wa_poitem,wa_poitemx.
      wa_poitem-po_item      = record2-po_item.
      wa_poitem-short_text   = record2-short_text.
      wa_poitem-plant        = record2-plant.
      wa_poitem-matl_group   = 'S001'.
      wa_poitem-tax_code     = 'LA'.
      wa_poitem-item_cat     = item_cat.
      wa_poitem-pckg_no      = wrk_packno.
      wa_poitem-acctasscat   = acctasscat.
    wa_poitem-gr_to_date   = final_dt.
      APPEND wa_poitem TO poitem.
      wa_poitemx-po_item      = record2-po_item.
      wa_poitemx-po_itemx      = 'X'.
      wa_poitemx-short_text   = 'X'.
      wa_poitemx-plant        = 'X'.
      wa_poitemx-tax_code     = 'X'.
      wa_poitemx-item_cat     = 'X'.
      wa_poitemx-acctasscat   = 'X'.
      wa_poitemx-pckg_no      = 'X'.
      wa_poitemx-matl_group   = 'X'.
      wa_poitem-gr_to_date    = 'X'.
      APPEND wa_poitemx TO poitemx.
    ENDFORM.                    " po_item
    *&      Form  PO_SERVICES
          text
    -->  p1        text
    <--  p2        text
    FORM po_services .
      CLEAR: wa_poservices, wa_posrvaccessvalues.
      wa_poservices-pckg_no = wrk_packno.
      wa_poservices-line_no  = '0000000001'.
      wa_poservices-outl_ind = 'X'.
      wa_poservices-subpckg_no = wa_poservices-pckg_no + 1.
      wa_poservices-from_line = '000001'.
      APPEND wa_poservices TO poservices.
      CLEAR wa_poservices.
      wrk_packno = wrk_packno + 1.
      wa_poservices-pckg_no = wrk_packno.
      wa_poservices-line_no  = '0000000002'.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = record2-service
        IMPORTING
          output = record2-service.
      wa_poservices-ext_line = '0000000010'.
      wa_poservices-service  = record2-service.
      wa_poservices-quantity = record2-quantity.
      wa_poservices-gr_price = record2-gr_price.
      wa_posrvaccessvalues-pckg_no = wrk_packno.
      wa_posrvaccessvalues-line_no = '0000000002'.
      wa_posrvaccessvalues-serial_no = '01'.
      wa_posrvaccessvalues-serno_line = '01'.
    wa_posrvaccessvalues-quantity = record2-quantity.
    wa_posrvaccessvalues-net_value = record2-gr_price.
      APPEND wa_poservices TO poservices.
      APPEND wa_posrvaccessvalues TO posrvaccessvalues.
    ENDFORM.                    " PO_SERVICES
    *&      Form  ACC_ASSIGNMENT
          text
    -->  p1        text
    <--  p2        text
    FORM acc_assignment .
      DATA : tmp_gl LIKE bapimepoaccount-gl_account.
      tmp_gl = '400265'.
      CLEAR : wa_poaccount, wa_poaccountx.
      wa_poaccount-po_item      =  record2-po_item.
      wa_poaccount-serial_no    = '01'.
      wa_poaccount-co_area      = '1000'.
      wa_poaccount-quantity     = record2-quantity.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = tmp_gl
        IMPORTING
          output = wa_poaccount-gl_account.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = record2-orderid
        IMPORTING
          output = wa_poaccount-orderid.
      APPEND wa_poaccount TO poaccount.
      wa_poaccountx-po_item      = record2-po_item.
      wa_poaccountx-serial_no    = '01'.
      wa_poaccountx-co_area      = 'X'.
      wa_poaccountx-quantity     = 'X'.
      wa_poaccountx-gl_account   = 'X'.
      wa_poaccountx-orderid      = 'X'.
      APPEND wa_poaccountx TO poaccountx.
    ENDFORM.                    " ACC_ASSIGNMENT
    *&      Form  PO_SCHEUDLE
          text
    -->  p1        text
    <--  p2        text
    FORM po_scheudle .
      CLEAR : wa_poschedule, wa_poschedulex.
      wa_poschedule-po_item = record2-po_item.
      wa_poschedule-sched_line = '0001'.
    wa_poschedule-del_datcat_ext = 'D'.
      wa_poschedule-delivery_date = sy-datum.
      wa_poschedule-quantity = record2-quantity.
      APPEND wa_poschedule TO poschedule.
      wa_poschedulex-po_item = record2-po_item.
      wa_poschedulex-sched_line = '0001'.
      wa_poschedulex-po_itemx = 'X'.
      wa_poschedulex-sched_linex = 'X'.
    wa_poschedulex-del_datcat_ext = 'X'
      wa_poschedulex-delivery_date = 'X'.
      wa_poschedulex-quantity = 'X'.
      APPEND wa_poschedulex TO poschedulex.
    ENDFORM.                    " PO_SCHEUDLE

  • Strange behavior of JTable..Help plz

    Hi,
    Assume i have 5 rows in my JTable. I wrote a function on right click i get a popup window with an option delete row, which deletes the row successfully,
    The problem is when i sort the data in JTable. on column click JTable is getting sorted, in which assume 2nd row got replaced with 4th row and vice versa.
    Now when i try to delete the 4th row, it is delete the 2nd row data, which was there at the place of 4th row before sorting. In this regard i am trying to print the row number before deleting. It is displaying as 4th, but deleting 2nd row.
    Hope i am clear. Please suggest me in solving this strange behavior of JTable sorting problem.
    Regards,
    Ravi

    MyTableModel tablemodel = new MyTableModel(colnames,values);
    TableSorter sorter = new TableSorter(tablemodel);
    JTable table = new JTable(sorter)
    tablemodel.removeRow(row); // last line is the code where i am deleting the row, it's deleting the wrong row.
    do i need to remove the last line code and make respective changes in TableSorter.java class.
    ore
    here itself do i need to do some changes. ?
    There is a method that will convert the view row to the model row private Row[] getViewToModel()
    my question is how TableSorter.java class comes to know that i am deleting the perticular row.

  • Strange behavior of db update in debugging and no debugging execution mode

    Hi Experts,
    I am finding a strange behavior of certain Z update function (to update equipment install base) : The update happens perfectly if I go into debug mode and do a F6 on the function call. But if I executed it completed without going in debug mode, that update does not happen!
    I checked the function and found that it does have COMMIT WORK AND WAIT which gets triggered every time I call this function.
    Also does compiling the code with some changes and executing in cycles have any affect on the behavior of code? Do I need to do a /nse38 every time, before I do executing? I am not sure this is in any way related to the problem.
    Will appreciate your helpful responses on this.
    Best regards,
    Vishnu T

    Withing the Z function, it is the calls to SAP standard functions that are doing the update. Here is the function body
    FUNCTION Z_B_BAPI_EQMT_INSTALLHR.
    *"*"Local interface:
    *"       IMPORTING
    *"             VALUE(EQUIPMENT) LIKE  BAPI_EQUI-EQUIPMENT
    *"             VALUE(SUPEREQUI) LIKE  BAPI_EQHR-SUPEREQUI
    *"             VALUE(POSEQUI) LIKE  BAPI_EQHR-POSEQUI OPTIONAL
    *"             VALUE(DATE) LIKE  SY-DATUM DEFAULT SY-DATUM
    *"             VALUE(TIME) LIKE  SY-UZEIT DEFAULT SY-UZEIT
    *"             VALUE(COMMIT) LIKE  VBMOD-VBMODE DEFAULT SPACE
    *"       EXPORTING
    *"             VALUE(EQUIMASTER) LIKE  BAPI_EQUI STRUCTURE  BAPI_EQUI
    *"             VALUE(EQUITIME) LIKE  BAPI_EQUZ STRUCTURE  BAPI_EQUZ
    *"             VALUE(EQUITEXT) LIKE  BAPI_EQKT STRUCTURE  BAPI_EQKT
    *"             VALUE(EQUILOCATION) LIKE  BAPI_ILOA
    *"                             STRUCTURE  BAPI_ILOA
    *"             VALUE(EQUISALES) LIKE  BAPI_EQSD STRUCTURE  BAPI_EQSD
    *"             VALUE(EQUIHIERARCHY) LIKE  BAPI_EQHR
    *"                             STRUCTURE  BAPI_EQHR
    *"             VALUE(RETURN) LIKE  BAPIRETURN STRUCTURE  BAPIRETURN
      CLEAR: EQUIMASTER, EQUITIME, EQUITEXT, EQUILOCATION.
      CLEAR: EQUISALES, EQUIHIERARCHY, RETURN.
    * Object key must not be initial.
      IF EQUIPMENT IS INITIAL.
        CALL FUNCTION 'MESSAGE_SET_AND_CONVERT'
             EXPORTING
                  MSG_CLASS  = 'IS'
                  MSG_TYPE   = 'E'
                  MSG_NUMBER = '498'
                  MSG_PARM1  = 'EQUIPMENT'
             IMPORTING
                  RETURN     = RETURN.
        EXIT.
      ENDIF.
    * Superior equipment must not be initial.
      IF SUPEREQUI IS INITIAL.
        CALL FUNCTION 'MESSAGE_SET_AND_CONVERT'
             EXPORTING
                  MSG_CLASS  = 'IS'
                  MSG_TYPE   = 'E'
                  MSG_NUMBER = '498'
                  MSG_PARM1  = 'EQUIPMENT'
             IMPORTING
                  RETURN     = RETURN.
        EXIT.
      ENDIF.
    * Specified equipment number must exist.
      PERFORM EQUIPMENT_CHECK_VEQUI                             "P9CK056992
        USING                                                   "P9CK056992
          EQUIPMENT "->equipment number                         "P9CK056992
          'X'       "->record must exist (will be read)         "P9CK056992
          'X'       "->record must be locked                    "P9CK056992
          NEW_VEQUI "<-before image read                        "P9CK056992
          I_CODE.   "<-error code                               "P9CK056992
      IF I_CODE <> 0.
        CALL FUNCTION 'MESSAGE_CONVERT'
             EXPORTING
                  SY_SUBRC = 4
             IMPORTING
                  RETURN   = RETURN
             EXCEPTIONS
                  OTHERS   = 1.
        EXIT.
      ENDIF.
    * Superior equipment must exist.
      PERFORM EQUIPMENT_CHECK_VEQUI                             "P9CK056992
        USING                                                   "P9CK056992
          SUPEREQUI "->superior technical object number         "P9CK056992
          'X'       "->object must exist (will be read)         "P9CK056992
          SPACE     "->object will not be locked                "P9CK056992
          OLD_VEQUI "<-object data read                         "P9CK056992
          I_CODE.   "<-error code                               "P9CK056992
      IF I_CODE <> 0.
        CALL FUNCTION 'MESSAGE_CONVERT'
             EXPORTING
                  SY_SUBRC = 4
             IMPORTING
                  RETURN   = RETURN
             EXCEPTIONS
                  OTHERS   = 1.
        EXIT.
      ENDIF.
    * Install equipment
      CALL FUNCTION 'EQUIPMENT_INSTALL'
           EXPORTING
                READ_SOBJ   = ' '
                READ_ROBJ   = ' '
                LOCK_SOBJ   = ' '                               "P9CK056992
                POSEQUI     = POSEQUI
                I_DATE      = DATE
                I_TIME      = TIME
                EXEC_MEAS   = 'X'                               "P9CK159924
           CHANGING
                S_EQUI      = NEW_VEQUI
                R_EQUI      = OLD_VEQUI
           EXCEPTIONS
                ERR_INSTALL = 1
                OTHERS      = 2.
      I_CODE = SY-SUBRC.
    * Fill return structure.
      CALL FUNCTION 'MESSAGE_CONVERT'
           EXPORTING
                SY_SUBRC = I_CODE
           IMPORTING
                RETURN   = RETURN
           EXCEPTIONS
                OTHERS   = 1.
      IF RETURN-TYPE <> 'S'.                                    "P9CK056992
        PERFORM EQUIPMENT_UNLOCK USING EQUIPMENT.               "P9CK056992
        EXIT.                                                   "P9CK056992
      ENDIF.                                                    "P9CK056992
    * Copy local view structure to export structures.
      PERFORM MOVE_VIEW_TO_EQUIPMENT USING NEW_VEQUI EQUIMASTER EQUITIME
                                           EQUITEXT EQUILOCATION EQUISALES
                                           EQUIHIERARCHY.
      CALL FUNCTION 'CHECK_COMMIT'
           EXPORTING
                COMMIT_MODE              = COMMIT
           EXCEPTIONS
                ERR_COMMIT_WORK_AND_WAIT = 1
                OTHERS                   = 2.
    ENDFUNCTION.
    The COMMIT parameter is passed with value 'S' which is an indication to CHECK_COMMIT to do COMMIT WORK AND WAIT. And I am always passing an S and as I said that the update in fact does happen if I do a F6 on the CALL to the above function.

  • Compiler strange behavior

    Hi friends,
    I dont know whether this is the right forum page to post this topic.
    I've observed a strange behavior of the java compiler may be it is programmed for so.
    As we all know that java.lang.System.arraycopy(Object,int,Object,int,int) method can be used to copy the objects & primitive type arrays, how come? for instance
        String s[] = new String[]{"1", "2"};
        String c[] = new String[s.length];
        System.arraycopy(s, 0, c, 0, s.length); // compiles for objects "and"
        byte b[] = new byte[]{1,1,1};
        byte e[] = new byte[b.length];
        System.arraycopy(b, 0, e, 0, b.length); // compiles for primitive as wellI'm not pin-pointing or arguing just wondering & curious. May be the above is an exception to the Compiler.
    Can any one of you clear my curosity?
    regards,
    Afroze.

    All arrays are Objects, even arrays of primitive data types. They are treated specially, in terms of syntax and by the compiler, but they are still objects with fields (like "length") and methods (like "clone()").
    So in the method arraycopy(Object,int,Object,int,int), the Object arguments can be primitive or Object arrays. Does that help?

  • Strange behavior when shutting down - only works once

    Hi there,
    I'm taking advice from around the forum to create a shutdown button for my VI. When the user sends the shutdown command, the loop stops all processes running and turns off all heaters. Then when this is complete it passes a shutdown variable to all loops allowing them to close. This seems to work perfectly once, but when I hit run again and test it again, it fails. If I abort the VI and restart again, the shutdown works. I can't quite figure out what the behavior is doing here.
    Attached is my program, it's a little messy but everything works, and it has to be added to by someone who isn't me, so I tried to keep everything clear and seperate. If anyone's got any ideas as to what is causing this strange behavior I'd love to hear it.
    Thanks,
    Chris.
    Attachments:
    Main VI.vi ‏259 KB

    First of all, your event loop should look something more like this.  Otherwise you won't exit the loop until another event comes through.
    Secondly, I think you are writing to the wrong control here (this is in your timed loop).  I have no clue what is in the subVI, but I don't think it should be looking at the Shutdown PB control.  That control should be in it's event case.  But here you are trying to cause the shutdown event, but you are writing to the wrong control.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Event Structure issue.png ‏10 KB
    wrong property node.png ‏3 KB

  • Strange behavior scrolling LongListSelector - WP8

    I have an app where I save the user's contacts in a local Database, then bind this contacts in a LongListSelector.
    The app has a button that,, when clicked, update the local database (make it
    identical to the devide).
    When there is changes, the LongListSelector has a strange behavior after return from search to the list (view): when I scroll fast or after some time scrolling, a blank space appears in the middle of the list. Then I found out that, apparently, the list
    is cutting some items...
    This behavior happens only when I have a long list, like 50 items or more..
    I bind the items on LongListSelector this way:
    XAML:
    <Grid x:Name="ContentPanelContatos" Grid.Row="1" Margin="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
    <Grid x:Name="gridContatos" Grid.Row="1" Margin="12,2,12,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
    <Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid Grid.Row="0" Margin="0,0,0,12" >
    <TextBox x:Name="tbxSearch" VerticalAlignment="Top" HorizontalAlignment="Stretch" Visibility="Collapsed" TextChanged="TbxSearch_TextChanged" LostFocus="TbxSearch_LostFocus" Style="{StaticResource TextBoxStyle}" />
    </Grid>
    <phone:LongListSelector Grid.Row="1" x:Name="llsContacts" ItemsSource="{Binding}" SelectionChanged="llsContacts_SelectionChanged" >
    <phone:LongListSelector.ItemTemplate>
    <DataTemplate>
    <ListBoxItem local:TiltEffect.IsTiltEnabled="true">
    <Grid Margin="0,0,0,10" >
    <TextBlock Text="{Binding NAME, Mode=TwoWay}" FontFamily="Segoe WP" FontSize="28" Margin="77,0,0,0" />
    <TextBlock Text="{Binding Path=NUMBER, Mode=TwoWay}" FontFamily="Segoe WP Light" FontSize="17" Margin="77,33,0,0"/>
    </Grid>
    </ListBoxItem>
    </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
    </phone:LongListSelector>
    </Grid>
    <!-- more 2 grids with contents -->
    </Grid>
    I was binding the items using ObservableCollection and I was having this problem.. Then I tried to erase the list and bind it again (after the search) this way:
    if (llsContacts.ItemsSource != null)
    llsContacts.ItemsSource.Clear();
    llsContacts.DataContext = daoRd.GetData();
    But I'm still with this problem...
    Does anybody can tell me what is happening?
    Am I doing something wrong?
    Reading this article:
    Frame rate counters in Windows Phone, I noticed that when this problem happens, some of the numbers that are on the side of the screen when debugging, stops changing...
    They stops like this:
    User Interface Thread FPS: 000
    Texture Memory Usage: 007181
    Surface Counter: 050
    Intermediate Texture Counter: 002
    Does this numbers means something?

    have you dumped the contents of what is returned from daoRD.GetData()?   Could be one of the items in the collection has blank strings?   Also I noticed you clear the ItemsSource before setting the DataContext.  That is probably
    not necessary if you are setting the DataContext immediately after that.
    Bret Bentzinger (MSFT) @awehellyeah

  • Strange behavior when "trying" to burn a disk.

    At least I think this is strange behavior, following the instructions in the help viewer, topic "Backing up your music to a CD or DVD." One thing for sure, it's not burning a disc and it ain't telling me why.
    I select the playlist and click "Burn Disc"
    Requests a blank disc. I insert one.
    Message "checking media"
    after about a minute, the disc ejects
    Message "checking media" displays another 30 seconds
    No other messages displayed.
    What the ??? Shouldn't it at least display an error message??
    Super-Drive information..... from System Profiler
    MATSHITA DVD-R UJ-845C:
    Firmware Revision: DPP9
    Interconnect: ATAPI
    Burn Support: Yes (Apple Shipped/Supported)
    Cache: 2048 KB
    Reads DVD: Yes
    CD-Write: -R, -RW
    DVD-Write: -R, -RW, +R, +RW
    Burn Underrun Protection CD: Yes
    Burn Underrun Protection DVD: Yes
    Write Strategies: CD-TAO, CD-SAO, DVD-DAO
    Media: No
    Using Sony DVD+R discs.
    Mac Mini   Mac OS X (10.4.8)  

    Whoops, sorry, this was while burning a playlist.
    I've also tried some Pleomax CD disks (Samsung), with no luck. I've tried burning directly from iTunes, and from Toast 7.
    Of the types I've tried, the Sony DVD's have been the best for me. Haven't tried many types though. Maybe I can get disks one at a time until I find a brand my burner likes.
    Still, isn't it strange that there is NO error message? It just quits?
    Mac Mini   Mac OS X (10.4.8)  

  • Strange Behavior with gMSA in Server 2012 R2

    Greetings,
    I have been doing some testing with gMSA Accounts in a Server 2012 R2 environment (two separate environments, actually), and I have noticed something very strange that occurred in both environments, which does not appear to be occurring in one of our customer's
    self-managed environments.
    We created a Group Managed Service Account using the following article:
    http://blogs.technet.com/b/askpfeplat/archive/2012/12/17/windows-server-2012-group-managed-service-accounts.aspx
    Everything went smoothly, and the account installs/tests successfully on both of the hosts that we are testing on. I am able to set my services to run under the account, and most of them appear to work fine. I am having some issues with a few of my services,
    and I believe that the strange behavior I am seeing may have something to do with this - described below: 
    As soon as I set the service's Log On Account (via the Log On Tab under the Service's Properties), the entirety of the "Log On" tab changes to "greyed out," and I am unable to change the Log On account back via the GUI (Screenshot
    attached).
    I found that I am able to successfully change the account via Command Line using sc.exe, but the Log On tab remains greyed out! So far, I have found nothing to remedy this, but confirmed that it happens for any service I set to use the gMSA as the Logon
    Account, and that it happens in 2 separate test environments, but not in a Customer's production environment - very strange.
    All servers in this environment are running Server 2012 R2, and domain Functional Level is currently Server 2012.
    I have been unable to find any information online about this behavior, so I am hoping someone has seen this before, and can explain why this is happening.
    Nick

    VIvian,
    Yes, we used the Install-AdServiceAccount gMSA command on each host using the gMSA account, and then ran Test-AdServiceAccount gMSA, which returned "True."
    However, one thing I noticed is that if I run Test-ADServiceAccount gMSA as a Local Administrator, it fails with the following:
    PS C:\Users\Administrator> Test-AdServiceAccount gMSA$
    Test-AdServiceAccount : The server has rejected the client credentials.
    At line:1 char:1
    + Test-AdServiceAccount gMSA$
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : SecurityError: (:) [Test-ADServiceAccount], AuthenticationException
        + FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.Security.Authentication.AuthenticationException,Microsoft.A
       ctiveDirectory.Management.Commands.TestADServiceAccount
    If I run Test-ADServiceAccount gMSA as Domain Administrator, it returns true:
    PS C:\Users\Administrator.<domainname>> Test-AdServiceAccount gMSA$
    True
    Is this normal?
    Overall, I think the issue I am running into is at the Application Level, and not a problem with the gMSA, as it appears to be working. (Can Start/Stop services without any issues). I will be investigating my issue further with 3rd-party vendors, unless
    you think there is something wrong with my gMSA accounts based on the information I have provided.
    Nick

  • Strange Behavior from iTunes 7.2

    Running itunes - 7.2Recently had my itunes library “corrupted” or non functional.
    Spent a long, long time rebuilding the library (see below) and noticed some strange behavior that has me terrified that itunes is corrupted and I am going to loose all the hard work, etc..
    1. I have about 100 GB of music in various formats (apple protected/itunes store, mp3 (128 to 320), apple lossless, wav) and when I tried to rebuild the library by clicking on add to library it only added about 65 GB of the 100 GB. I had to go through and figure out what was missing and manually choose the specific folder when I added it.
    Major pain and very time consuming.
    So it is not adding songs correctly, but through way too much effort able to work around this.
    2. About ½ of the itunes store tunes I purchased are no longer apple protected format. Somehow they were converted to mp3 at 192kbs. Some of the songs play fine others are now not as crisp and make a poping sound or skip. How could this happen? Are these files corrupted? Will I loose them?
    3. At the top center of itunes the information bar, where the read out is for what song is playing and how much time has elapsed in the song, is not working. When I click on a song it starts playing but the elapsed time bar and counter never move, and when the next song starts playing the information never changes. It is stuck on what ever song you initiate play with by clicking on it and the information stays frozen.
    4. itunes randomly stops playing at the end of a song….If listening to an album it is usually after three or four songs and when listening to a play list it is usually after one song.
    I am afraid itunes is corrupted and will not function correctly and I am going to loose the hard work I put in trying to recover from the last crash.
    Any suggestions??
    Can’t wait for time machine. I hope it works as advertised. If so I could just go back in time to the last time iTunes worked correctly and go from there.

    First of all I hope that you have a good b/u of all your tunes - either on ext HD or on DVD. Don't forget to b/u the iTunes Library and .xml files at the same time.
    Have you tried to reinstall iTunes? Drag the app to the trash and remove the iTunesX.pkg from HD>Library>Receipts>iTunesX.pkg. Using a fresh .dmg of iTunes 7.2 reinstall.
    Have you repaired permissions with Disk Utility?
    Is your Quicktime up to date? At least version v7.1.5.
    MJ

  • Strange behavior - icon thumbnail instead of image - CC@OSX10.10

    Hi,
    my CC (@OS X 10.10.3) showing a strange behavior using vanishing point filter.
    After defining grid and try to paste the image OS X paste the icon thumbnail instead of the image,
    Many thanks in advance!!
    br
    Joachim

    It is probably related to the fact that you are setting the tables row height in the renderer this will fire a render message when the height changes. One height is applied to all rows of a table. This means that is you have images of different heights you are continually changing the tables row height and therefore continually rendereing.
    My approach would be to have all the images fit into a set size ( say 64*64 ( with scaling if neccesary ) you could then have a popup show the full size image if required.

  • Strange behavior in report Output

    Hi,
    Strange behavior in report output , please some one help me out of this problem.
    I am using Oracle order capture rdf file ASOPQTEL.rdf.
    My working environment:
    Windows,apps instance .Now this rdf file is working fine in my work Environment.
    when this same file is deployed in client environment (UNIX and different apps instance from my working environment apps instance)
    for some cases it is giving output.
    for some cases it's throughing error.
    Thanks,
    Mithun

    Please specify what kind of error you are getting and what is command you are firing on Unix.

Maybe you are looking for