Strange behavior in calculated columns

I'd like to understand why, in the following query, the InsertedCustom result contains 100 rows and RemovedColumns only contains 10 rows. Why removing columns change the number of rows, retrofitting the behavior in the Join?
let
    Digit0= #table( {"Digit0","Join"}, {{0,0},{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0}} )
    Digit1= #table( {"Digit1","Join"}, {{0,0},{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0}} )
    Source = Table.Join(Digit0, "Join", Digit1, "Join" ),
    InsertedCustom = Table.AddColumn(Source, "Digit01", each [Digit0] + [Digit1] * 10),
    RemovedColumns = Table.RemoveColumns(InsertedCustom,{"Digit0", "Digit1"})
in
    RemovedColumns
Marco Russo http://ssasworkshop.com http://www.sqlbi.com http://sqlblog.com/blogs/marco_russo

If you just want numbers in a range then ={0..99} will do it. If you want to have text strings written out with 0's padded to make them all the same text length then this will do it:
let
    Source = {0..99},
    TableFromList = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    ChangedType = Table.TransformColumnTypes(TableFromList,{{"Column1", type text}}),
    InsertedCustom = Table.AddColumn(ChangedType, "Custom", each Text.PadStart([Column1],2,"0")),
    RemovedColumns = Table.RemoveColumns(InsertedCustom,{"Column1"})
in
    RemovedColumns

Similar Messages

  • Strange behavior in BI Publisher with long column names from BI Answers

    Hello all!
    I have created a BI Answers request with few calculated columns in form of
    case when <condition> then <value if true> else <value if false> end
    Then in BI Publisher Desktop designed a report ttemplate based on saved BI Answers request and noticed that for calculated columns their names look strange:
    CASEWHEN_<condition>THEN...ELSE..._...END__
    Some of the column names are about 100 characters long.
    After running the report from Word found that for these "long length named columns" there's no data in the output.
    Do someone else experience the same? Any workarounds?
    Regards,
    mr.maverick

    This is because the length for the formula is restricted in publisher. you have to either reduce the size of the column name in answers or change the formula. another workaround is completely pasting the formula directly in the word template instead of placing the formula inside the form field. you can add maximum of 300 characters i guess. you can edit the formula for the form field in the form field options formuals menu.

  • Strange error in Discoverer calculated columns.

    Hi,
    I got a strange error in discoverer10g worksheet. In woksheet the calculated coulmns did not return data but in PL/SQL developer when I run the query taking from the Show SQL of Discoverer Worksheet it returns. Anyone please help me to resolve this problem.
    I paste the show sql discoverer query below:
    SELECT /*+ NOREWRITE */
    O378524.NAME AS E394898,
    O397424.COMPANY AS E397430,
    O397424.SEGMENT1 AS E397431,
    O397424.INV_ORG AS E397433,
    O397424.VENDOR_NAME AS E397435,
    O397424.INVOICE_ID AS E397436,
    O397424.PERIOD_NAME AS E397438,
    O397424.AMOUNT_PAID AS E397439,
    DENSE_RANK() OVER(PARTITION BY O397424.ORG_ID ORDER BY O397424.AMOUNT_PAID DESC) AS C_5,
    (SUM(O397424.AMOUNT_PAID)
    OVER(PARTITION BY O397424.ORG_ID ORDER BY O397424.AMOUNT_PAID DESC ROWS
    UNBOUNDED PRECEDING)) /
    (SUM(O397424.AMOUNT_PAID) OVER(PARTITION BY O397424.ORG_ID)) AS C_4,
    SUM(O397424.AMOUNT_PAID) OVER(PARTITION BY O397424.ORG_ID ORDER BY O397424.AMOUNT_PAID DESC ROWS UNBOUNDED PRECEDING) AS C_1,
    O397424.AMOUNT_PAID /
    (SUM(O397424.AMOUNT_PAID) OVER(PARTITION BY O397424.ORG_ID)) AS C_3,
    SUM(O397424.AMOUNT_PAID) OVER(PARTITION BY O397424.ORG_ID) AS C_2
    FROM (SELECT * FROM APPS.HR_OPERATING_UNITS) O378524,
    (SELECT DISTINCT /*SEGMENT1*/ CODE_COMBINATION_ID, INV_ORG
    FROM (SELECT GCC.SEGMENT1,
    GCC.CODE_COMBINATION_ID,
    DECODE(GCC.SEGMENT1,
    7590,
    'Kanowna Belle Organisation',
    7060,
    'Darlot Organisation',
    7260,
    'Cowal Organisation',
    7570,
    'Kanowna Belle Organisation',
    7595,
    'Kundana Organisation',
    7070,
    'Lawlers Organisation',
    7180,
    'NULL for Yilgarn(Barrick (Services) Limited)',
    7541,
    'Granny Smith Organisation',
    7015,
    'NULL for Barrick Gold(Barrick (Australia Pacific) Limited)',
    7610,
    'Kundana Organisation',
    7014,
    'NULL for Yilgarn(Yilgarn Shared Services)',
    7538,
    'Granny Smith Organisation',
    'Unknown') INV_ORG
    FROM APPS.GL_CODE_COMBINATIONS GCC)
    /*WHERE SEGMENT1 IN
    (7590, 7060, 7260, 7570, 7595, 7070, 7180, 7541, 7015, 7610, 7014, 7538)*/
    ) O394875,
    (SELECT CHQ.ORG_ID,
    FVT.DESCRIPTION COMPANY,
    GCC.SEGMENT1,
    INVD.DIST_CODE_COMBINATION_ID,
    DECODE(GCC.SEGMENT1,
    7590,
    'Kanowna Belle Organisation',
    7060,
    'Darlot Organisation',
    7260,
    'Cowal Organisation',
    7570,
    'Kanowna Belle Organisation',
    7595,
    'Kundana Organisation',
    7070,
    'Lawlers Organisation',
    7180,
    'NULL for Yilgarn(Barrick (Services) Limited)',
    7541,
    'Granny Smith Organisation',
    7015,
    'NULL for Barrick Gold(Barrick (Australia Pacific) Limited)',
    7610,
    'Kundana Organisation',
    7014,
    'NULL for Yilgarn(Yilgarn Shared Services)',
    7538,
    'Granny Smith Organisation',
    'Unknown') INV_ORG,
    CHQ.VENDOR_ID,
    CHQ.VENDOR_NAME,
    COUNT(INV.INVOICE_ID) INVOICE_ID,
    --INVL.PRODUCT_TYPE,
    INVL.PERIOD_NAME,
    --chq.check_date,
    SUM(NVL(INVP.PAYMENT_BASE_AMOUNT, INVP.AMOUNT)) AMOUNT_PAID
    FROM APPS.AP_CHECKS_ALL CHQ,
    APPS.AP_INVOICE_PAYMENTS_ALL INVP,
    APPS.AP_INVOICES_ALL INV,
    APPS.AP_INVOICE_LINES_ALL INVL,
    APPS.AP_INVOICE_DISTRIBUTIONS_ALL INVD,
    APPS.GL_CODE_COMBINATIONS GCC,
    APPS.FND_FLEX_VALUES FV,
    APPS.FND_FLEX_VALUES_TL FVT
    WHERE CHQ.CHECK_ID = INVP.CHECK_ID
    AND INVP.INVOICE_ID = INV.INVOICE_ID
    AND INVL.INVOICE_ID = INV.INVOICE_ID
    AND INVL.LINE_NUMBER =
    (SELECT MIN(LINE_NUMBER)
    FROM APPS.AP_INVOICE_LINES_ALL
    WHERE INVOICE_ID = INVL.INVOICE_ID
    AND LINE_TYPE_LOOKUP_CODE = 'ITEM'
    AND DISCARDED_FLAG = 'N')
    AND INVL.INVOICE_ID = INVD.INVOICE_ID
    AND INVL.LINE_NUMBER = INVD.INVOICE_LINE_NUMBER
    AND INVD.DISTRIBUTION_LINE_NUMBER = 1
    AND INVD.DIST_CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
    AND FV.FLEX_VALUE_SET_ID = 1013043
    AND FV.FLEX_VALUE = GCC.SEGMENT1
    AND FV.FLEX_VALUE_ID = FVT.FLEX_VALUE_ID
    GROUP BY CHQ.ORG_ID,
    GCC.SEGMENT1,
    CHQ.VENDOR_ID,
    CHQ.VENDOR_NAME,
    FVT.DESCRIPTION,
    --INVL.PRODUCT_TYPE,
    INVL.PERIOD_NAME,
    --chq.check_date,
    INVD.DIST_CODE_COMBINATION_ID) O397424
    WHERE ((O397424.ORG_ID = O378524.ORGANIZATION_ID) AND
    (O397424.DIST_CODE_COMBINATION_ID = O394875.CODE_COMBINATION_ID))
    AND (O397424.AMOUNT_PAID > 0)
    AND (O397424.PERIOD_NAME = /*:"Period"*/'DEC-09')
    -- AND (O394875.INV_ORG = :"Inv Org")
    AND (O378524.NAME = /*:OU*/'Barrick Yilgarn')
    ORDER BY O397424.AMOUNT_PAID DESC;
    Edited by: Soma Sekhar D on Feb 24, 2010 11:46 AM

    Hi,
    In the report I have two worksheet. The Ist worksheet has the same calculated columns as 2nd worksheet. Even the calculations are also the same. The only difference is I use different folder for the 2nd worksheet. For 2nd worksheet layout only the calculated columns will not display the result.The other columns displayed the result properly. Even in the Ist worksheet all the columns including calculated columns displayed the result correctly.The calculations are same in the 2nd worsheet with calculation names different and items coming from different folder. As these calculations are working properly in Ist worksheet,why its not appearing in the 2nd worksheet? The query I paste before is the Discoverer show sql query for 2nd worksheet.
    Please help.

  • [ASO Calculation] Weird behavior of calculation in ASO

    Hi,
    I have a strange scenario in one of ASO  cube (in 11.1.2.3 ) where calculation script (highlighted in orange below) written and run with POV set for all time periods results in expected values only for one period and for the rest results are not seen (we see only #MISSING). We have similar logic for other calculation and it seems to have worked fine. I am puzzled now as to why the calculation (with similar logic) work for all periods in one script and doesnt in other script. What is preventing results to be seen across all periods ? We have tried
    (a) slice merge - NO CHANGE, (b) clear partial data > re-run calc >  slice merge - NO CHANGE. We have run out of options now and have no clue as to what is triggering this strange behavior in ASO ? Is this a bug ?
    =========================================================================================================================
    Here even-though we have POV set for all periods, the result is only seen on Oct-15 and not for other periods.When we do manual calculation in Excel, we see result but from the cube we get only #Missing.
    CALCULATION RESULTING IN PARTIAL RESULT:
         [L0_S/S COS per Day] := (([AC_ZZ5030],[DP_Z3100]) + ([AC_ZZ5020],[DP_Z3100]) - ([AC_500510],[DP_Z3100]) - ([AC_500520],[DP_Z3100])) / ([AC_991023],[DP_Z3100]);
    MAXL RESULTING IN PARTIAL RESULT:
    execute calculation on database "WAG_FBI"."WAG_FBI" with
    local script_file "/u01/app/test/fmw/instances/instance1/Essbase/essbaseserver1/app/WAG_FBI/WAG_FBI/SS_DOS.csc"
    POV "Crossjoin({[Loaded]},
      Crossjoin({[Actual]},
      Crossjoin ([Time].Levels(0).Members,
      Crossjoin({[DP_15125]},
      Crossjoin([LOB].Levels(0).Members,
      Crossjoin([LE].Levels(0).Members,
      [Location].Levels(0).Members))))))"
    SourceRegion "CrossJoin({[AC_ZZ5030],[AC_ZZ5020],[AC_500510],[AC_500520],[AC_991023]},{[DP_Z3100]})" ;
    =========================================================================================================================
    Here we have same POV  and similar calculation logic (only change being in the denominator and the account where result should be stored) , the result is seen across all periods.
    CALCULATION WHERE COMPLETE RESULT IS SEEN:
    [L0_Rx COS per Day] := (([AC_ZZ5030],[DP_10010]) + ([AC_ZZ5020],[DP_10010]) - ([AC_500510],[DP_10010]) - ([AC_500520],[DP_10010])) / ([AC_991012],[DP_10010]);
    MAXL WHERE COMPLETE RESULT IS SEEN:
    execute calculation on database "WAG_FBI"."WAG_FBI" with
    local script_file "/u01/app/test/fmw/instances/instance1/Essbase/essbaseserver1/app/WAG_FBI/WAG_FBI/RX_DOS.csc"
    POV "Crossjoin({[Loaded]},
      Crossjoin({[Actual]},
      Crossjoin ([Time].Levels(0).Members,
      Crossjoin({[DP_10010]},
      Crossjoin([LOB].Levels(0).Members,
      Crossjoin([LE].Levels(0).Members,
      [Location].Levels(0).Members))))))"
    SourceRegion "CrossJoin({[AC_ZZ5030],[AC_ZZ5020],[AC_500510],[AC_500520],[AC_991012]},{[DP_10010]})" ;
    =========================================================================================================================
    Regards,
    Sathish

    I have no idea what the cause of your problem is, but a suggestion for a test...
    Create a member (e.g. 'Calc L0_S/S COS per Day') in the same dimension as [L0_S/S COS per Day] (assuming this a dynamic dimension), assign the formula to it (instead of placing it in the script) then make your script copy from that member to the target.
    I felt sure I had seen a defect that related to partial ASO allocation results but I can't find it now, so perhaps I was confused.

  • Strange Behavior in modifying the values in VO

    I have a VO based on EO from a custom table. The query is something like:
    select EO.x, EO.y, (EO.x*EO.y) xy from EO
    I have displayed the values from this VO on to a table in OAF page. All the columns are messageTextInput but the third column (xy) is read-only. I have written a fireAction to execute when x or y values are changed to update the xy value accordingly.
    Code in CO:
    if ("ValueChange".equals(pageContext.getParameter(EVENT_PARAM)))
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("UpdateXY");
    pageContext.forwardImmediately(<Same Page>, null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null, null, true,
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    Code in AM:
    public void UpdateXY()
    xxVOImpl vo = getxxVO1();
    Row r = vo.first();
    while (vo.hasNext())
    r = vo.next();
    Object X = r.getAttribute("X");
    String X_string = X.toString();
    float X_value = Float.parseFloat(X_string);
    Object Y = r.getAttribute("Y");
    String Y_string = Y.toString();
    float Y_value = Float.parseFloat(Y_string);
    Float XY = new Float(X_value*Y_value);
    r.setAttribute("XY",(Object)XY);
    The problem is as follows. During the first time I try to update a value, the control goes through the logic and returns to the page but the XY value is not updated. But if i change a second value and tab out, the codes works and displays both the updated values of XY. From then on, the code is working fine.
    I'm also not updating the first row and so I didnt perform any logic in AM for the first row.
    Please help me out in finding out the reason for this strange behavior.

    This nature is fine, basically initially your EO x and y columns are null and unless you do a commit, these values don't go in db. The third column will take x and Y coumns values from db and multiply and will get null.
    To solve this issue, you get the values from VO columns x and y in PPR and and put x*y in the third column of Vo, IN THAT ROW.or you can directly get hold of the bean which hold the value of x*y and use setValue after getting x*y.
    ---Mukul

  • Strange behavior in a table with dropTarget and delete action

    I am having a strange behavior in a table with drag and drop and action component to delete row.
    Steps:
    Drag the first row to the table and appears in the destination table (works well)
    Select and change the value by 156, appears an error (works fine)
    delete the row, the row disappears (works well)
    Add the first row again and the value is 156 instead of 158 (why ????)
    I guess the error is the deletion that is not correct, but do not know how?
    Can anyone help?
    I add the source code if you see where I'm wrong
    Java class:
    +public class BeanExample {+
    private ArrayList<RowExample> starttValues;
    private ArrayList<RowExample> endValues;
    +public BeanExample() {+
    super();
    +}+
    +public void setStarttValues(ArrayList<BeanExample.RowExample> starttValues) {+
    this.starttValues = starttValues;
    +}+
    +public ArrayList<BeanExample.RowExample> getStarttValues() {+
    +if (starttValues == null) {+
    starttValues = new ArrayList<BeanExample.RowExample>();
    starttValues.add(new RowExample("1", new Number(158)));
    starttValues.add(new RowExample("21", new Number(12565464)));
    +}+
    return starttValues;
    +}+
    +public void setEndValues(ArrayList<BeanExample.RowExample> endValues) {+
    this.endValues = endValues;
    +}+
    +public ArrayList<BeanExample.RowExample> getEndValues() {+
    +if (endValues == null) {+
    endValues = new ArrayList<BeanExample.RowExample>();
    +}+
    return endValues;
    +}+
    +public void validatorExample(FacesContext facesContext, UIComponent uIComponent, Object object) {+
    Number number = (Number)object;
    +if ((number.longValue() % 2) == 0) {+
    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ES PAR", "ES PAR");
    throw new ValidatorException(message);
    +}+
    +}+
    +public DnDAction handleDrop(DropEvent dropEvent) {+
    Transferable transferable = dropEvent.getTransferable();
    DataFlavor<RowKeySet> rowKeySetFlavor = DataFlavor.getDataFlavor(RowKeySet.class, "loteDrag");
    RowKeySet rowKeySet = transferable.getData(rowKeySetFlavor);
    +if (rowKeySet != null) {+
    CollectionModel dragModel = transferable.getData(CollectionModel.class);
    +if (dragModel != null) {+
    Object currKey = rowKeySet.iterator().next();
    dragModel.setRowKey(currKey);
    RowExample table = (RowExample)dragModel.getRowData();
    getEndValues().add(new RowExample(table.getId(), table.getValue()));
    return dropEvent.getProposedAction();
    +}+
    +}+
    return DnDAction.NONE;
    +}+
    +public void borrarFila(ActionEvent actionEvent) {+
    endValues.remove(0);            RequestContext.getCurrentInstance().addPartialTarget(FacesContext.getCurrentInstance().getViewRoot().findComponent("pc1:t2"));
    +}+
    +public static class RowExample {+
    private String id;
    private Number value;
    +public RowExample(String id, Number value) {+
    super();
    this.id = id;
    this.value = value;
    +}+
    +public void setId(String id) {+
    this.id = id;
    +}+
    +public String getId() {+
    return id;
    +}+
    +public void setValue(Number value) {+
    this.value = value;
    +}+
    +public Number getValue() {+
    return value;
    +}+
    +}+
    +}+JSF
    +<?xml version='1.0' encoding='windows-1252'?>+
    +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"+
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    +<jsp:directive.page contentType="text/html;charset=windows-1252"/>+
    +<f:view>+
    +<af:document id="d1">+
    +<af:form id="f1">+
    +<af:panelGroupLayout id="pgl1">+
    +<af:table value="#{beanExample.starttValues}" var="row"+
    rowBandingInterval="0" id="t1" rowSelection="single"
    displayRow="selected" contentDelivery="immediate">
    +<af:column sortable="false" headerText="Id" align="start" id="c2">+
    +<af:outputText value="#{row.id}" id="ot1"/>+
    +</af:column>+
    +<af:column sortable="false" headerText="Value" align="start" id="c1">+
    +<af:outputText value="#{row.value}" id="ot2"/>+
    +</af:column>+
    +<af:collectionDragSource actions="COPY" modelName="loteDrag"/>+
    +</af:table>+
    +<af:panelCollection id="pc1">+
    +<f:facet name="toolbar" >+
    +<af:toolbar id="dc_t2" >+
    +<af:commandToolbarButton shortDesc="Delete"+
    icon="/imagesDemo/delete_ena.png"
    id="dc_ctb3" immediate="true"
    +actionListener="#{beanExample.borrarFila}"/>+
    +</af:toolbar>+
    +</f:facet>+
    +<af:table value="#{beanExample.endValues}" var="row"+
    +rowBandingInterval="0" id="t2">+
    +<af:column sortable="false" headerText="Id" align="start" id="c3">+
    +<af:outputText value="#{row.id}" id="ot3"/>+
    +</af:column>+
    +<af:column sortable="false" headerText="Value" align="start" id="c4" >+
    +<af:inputText value="#{row.value}" autoSubmit="true" id="it1" validator="#{beanExample.validatorExample}"/>+
    +</af:column>+
    +<af:collectionDropTarget actions="COPY" modelName="loteDrag"+
    +dropListener="#{beanExample.handleDrop}"/>+
    +</af:table>+
    +</af:panelCollection>+
    +</af:panelGroupLayout>+
    +</af:form>+
    +</af:document>+
    +</f:view>+
    +</jsp:root>+

    I think the problem is the validator
    I changed the practical case, I added an InputText to enter new values in the first row.
    +<af:inputText immediate="true" label="new value" id="it2"+
    +valueChangeListener="#{beanExample.newvalue}" autoSubmit="true"/>+
    +public void newvalue (ValueChangeEvent valueChangeEvent) {+
    +String valor = (String)valueChangeEvent.getNewValue();+
    +Number valorNumber=null;+
    +try {+
    +valorNumber = new Number (valor);+
    +} catch (SQLException e) {+
    +}+
    +RowExample example = (RowExample) endValues.get(0);+
    +example.setValue(valorNumber);+
    +example.setId(valorNumber.toString());+
    +RichTable table = (RichTable)FacesContext.getCurrentInstance().getViewRoot().findComponent(id);+
    +RequestContext.getCurrentInstance().addPartialTarget(table);+
    +}+
    Case 1
    I drag the first row to the target table (ok)
    The new row appears (ok)
    Enter the value 77 in the InputText (ok)
    id content and value change (ok)
    Case2
    I drag the first row to the destination table
    The new row appears (ok)
    Change the value of the first row by 80 (ok)
    errors appears (by validator) (ok)
    Enter the value 77 in the InputText (ok)
    the id is changed but the value NO (*KO*)
    I do not understand the behavior
    Edited by: josefuente on 27-oct-2010 16:03

  • Strange behavior with Firefox

    Hi Team,
    I am using HTMLDB V2.0 and Firefox V1.5.0.1. I used wizard to create a report/form application. However, when I press a button to update the form all the buttons line up in a vertical row and I then have to press the same button again.
    My application is 30412 at htmldb.oracle.com. The problem is occurring at page 4. Go to page 3 (2nd tab) and select any record. You will be directed to page 4. Then when you press any button (cancel, create, delete, apply changes) on page 4, page 4 is refreshed and the buttons strangely line up in a vertical column. I then have to press the same button again before the update occurs.
    I have the same report/form setup on pages 1 and 2 and it is working fine on those pages.
    This strange behavior is not occurring in IE. I also notice that the font size is bigger in IE .
    I would appreciate any help you might offer.
    I really enjoy working with HTMLDB.
    Thanks, Andy

    Sorry about that. I removed all the authorization schemes from the application. I also changed the authentication scheme to HTMLDB. Let me know if I need to do something more for you to get access.
    Thanks for looking at it.
    I think it may have something to do with the "button, alternative 3" template from theme 3 that I am using. When I switch to the "button" template from theme 3 then the strange behavior goes away in Firefox.
    Andy

  • Strange behavior with Label#setWrapText(true) in GridPane.

    I've got a strange behavior with a Label, which has setWrapText(true) in a GridPane.
    Check out the sample and click the button.
    You see, that the GridPane suddenly behaves as if it had GridPane.setVGrow and HGrow set for the lblStatus.
    (it takes the full available space).
    Furthermore the first column shrinks to a minimum, so that lblText1 can't display its text anymore.
    Tested with 2.1 GA.
    Any help with that?
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    public class TestApp4 extends Application {
        public static void main(String[] args) {
            launch(args);
        @Override
        public void start(final Stage stage) throws Exception {
            GridPane gridPane = new GridPane();
            gridPane.setPadding(new Insets(2, 2, 2, 2));
            Label lblText1 = new Label();
            lblText1.textProperty().set("Some text");
            Label lblText2 = new Label();
            lblText2.textProperty().set("Some other text");
            Button btnClick = new Button();
            btnClick.textProperty().set("Click me");
            final Label lblStatus = new Label();
            lblStatus.setWrapText(true);
            gridPane.add(lblText1, 0, 0, 1, 1);
            gridPane.add(lblText2, 1, 0);
            gridPane.add(lblStatus, 0, 2, 2, 1);
            gridPane.add(btnClick, 0, 3, 2, 1);
            btnClick.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent actionEvent) {
                    lblStatus.setText("very long text, very long text, very long text, very long text,very long text, very long text");
            gridPane.setGridLinesVisible(true);
            Scene scene = new Scene(gridPane, 300, 300);
            stage.setScene(scene);
            stage.show();
    }Edited by: csh on 19.07.2012 03:35

    It seems the Label doesn't like it, that it is in a GridCell with rowspan = 2
    If it is in a normal cell (no rowspan), it works.
    If I add ColumnConstraints to the gridpane, it kind of works, but the Label still occupies more space than it should.
    Edited by: csh on 19.07.2012 03:51

  • 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 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?

  • 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 with csv flat file integration

    Hi,
    i've a real strange behavior with csv flat file integration.
    I've defined the file inbound with | as separator
    Here is the sender payload result, extra columns appears !
    <row>
      <VAL1>D</VAL1>
      <VAL2 />
      <VAL3>01</VAL3>
      <VAL4 />
      <VAL5 />
      <VAL6>003160000</VAL6>
      <VAL7 />
      <col>003160001</col>
      <col />
      <col>2</col>
      <col />
      <col>91200604212</col>
      <col />
      <col>VIRTUAL DJ HOME EDITION</col>
      <col />
      <col>2</col>
      <col />
      <col>2</col>
      <col />
      <col />
      <col>2</col>
      <col />
      </row>
    When i changed the separator to ; in my file and in the file inbound it gives the following.
    Everything is ok.
    <row>
      <VAL1>D</VAL1>
      <VAL2>01</VAL2>
      <VAL3 />
      <VAL4>003160000</VAL4>
      <VAL5>003160001</VAL5>
      <VAL6>7</VAL6>
      <VAL7>91200604212</VAL7>
      <col>VIRTUAL DJ HOME EDITION</col>
      <col>10</col>
      <col>10</col>
      <col />
      <col>10</col>
      </row>
    Why using a different separator would change the payload ?
    It will be a good thing for me if I could use the pipe separator.
    Thanks

    Can you give the steps you're using to get this error? I'm not seeing any problem here.
    1) Create a new audio project (44.1 KHz).
    2) Arm the record head in track 1 by pressing the "R" button in that track. Verify audio levels.
    3) Record by pressing the record button in the audio controls.
    4) Stop recording by pressing the stop button.
    5) Play back the resulting audio. Sounds fine.
    6) Select File > Export.
    7) Change the file format to WAVE file. Change the bit depth to 16 bit, change the sample rate to 44.1 KHz.
    8) Type the name SAVETEST.wav and click on the Export button.
    9) Play back the resulting WAV file in QuickTime Player, Apple Loops Utility, etc. and it seems just fine.
    What am I missing that you're doing?

  • Strange behavior: action method not called when button submitted

    Hello,
    My JSF app is diplaying a strange behavior: when the submit button is pressed the action method of my managed bean is not called.
    Here is my managed bean:
    package arcoiris;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.model.SelectItem;
    public class SearchManagedBean {
        //Collected from search form
        private String keyword;
        private String country;
        private int[] postcode;
        private boolean commentExists;
        private int rating;
        private boolean websiteExists;
        //Used to populate form
        private List<SelectItem> availableCountries;
        private List<SelectItem> availablePostcodes;
        private List<SelectItem> availableRatings;
        //Retrieved from ejb tier
        private List<EstablishmentLocal> retrievedEstablishments;
        //Service locator
        private arcoiris.ServiceLocator serviceLocator;
        //Constructor
        public SearchManagedBean() {
            System.out.println("within constructor SearchManagedBean");
            System.out.println("rating "+this.rating);
        //Getters and setters
        public String getKeyword() {
            return keyword;
        public void setKeyword(String keyword) {
            this.keyword = keyword;
        public String getCountry() {
            return country;
        public void setCountry(String country) {
            this.country = country;
        public boolean isCommentExists() {
            return commentExists;
        public void setCommentExists(boolean commentExists) {
            this.commentExists = commentExists;
        public int getRating() {
            return rating;
        public void setRating(int rating) {
            this.rating = rating;
        public boolean isWebsiteExists() {
            return websiteExists;
        public void setWebsiteExists(boolean websiteExists) {
            this.websiteExists = websiteExists;
        public List<SelectItem> getAvailableCountries() {
            List<SelectItem> countries = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue("2");
            si_1.setLabel("ecuador");
            si_2.setValue("1");
            si_2.setLabel("colombia");
            si_3.setValue("3");
            si_3.setLabel("peru");
            countries.add(si_1);
            countries.add(si_2);
            countries.add(si_3);
            return countries;
        public void setAvailableCountries(List<SelectItem> countries) {
            this.availableCountries = availableCountries;
        public List<SelectItem> getAvailablePostcodes() {
            List<SelectItem> postcodes = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue(75001);
            si_1.setLabel("75001");
            si_2.setValue(75002);
            si_2.setLabel("75002");
            si_3.setValue(75003);
            si_3.setLabel("75003");
            postcodes.add(si_1);
            postcodes.add(si_2);
            postcodes.add(si_3);
            return postcodes;
        public void setAvailablePostcodes(List<SelectItem> availablePostcodes) {
            this.availablePostcodes = availablePostcodes;
        public List<SelectItem> getAvailableRatings() {
            List<SelectItem> ratings = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue(1);
            si_1.setLabel("1");
            si_2.setValue(2);
            si_2.setLabel("2");
            si_3.setValue(3);
            si_3.setLabel("3");
            ratings.add(si_1);
            ratings.add(si_2);
            ratings.add(si_3);
            return ratings;
        public void setAvailableRatings(List<SelectItem> availableRatings) {
            this.availableRatings = availableRatings;
        public int[] getPostcode() {
            return postcode;
        public void setPostcode(int[] postcode) {
            this.postcode = postcode;
        public List<EstablishmentLocal> getRetrievedEstablishments() {
            return retrievedEstablishments;
        public void setRetrievedEstablishments(List<EstablishmentLocal> retrievedEstablishments) {
            this.retrievedEstablishments = retrievedEstablishments;
        //Business methods
        public String performSearch(){
            System.out.println("performSearchManagedBean begin");
            SearchRequestDTO searchRequestDto = new SearchRequestDTO(this.keyword,this.country,this.postcode,this.commentExists,this.rating, this.websiteExists);
            SearchSessionLocal searchSession = lookupSearchSessionBean();
            List<EstablishmentLocal> retrievedEstablishments = searchSession.performSearch(searchRequestDto);
            this.setRetrievedEstablishments(retrievedEstablishments);
            System.out.println("performSearchManagedBean end");
            return "success";
        private arcoiris.ServiceLocator getServiceLocator() {
            if (serviceLocator == null) {
                serviceLocator = new arcoiris.ServiceLocator();
            return serviceLocator;
        private arcoiris.SearchSessionLocal lookupSearchSessionBean() {
            try {
                return ((arcoiris.SearchSessionLocalHome) getServiceLocator().getLocalHome("java:comp/env/ejb/SearchSessionBean")).create();
            } catch(javax.naming.NamingException ne) {
                java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
                throw new RuntimeException(ne);
            } catch(javax.ejb.CreateException ce) {
                java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ce);
                throw new RuntimeException(ce);
    }Here is my jsp page:
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
             <html>
                 <head>
                     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                     <META HTTP-EQUIV="pragma" CONTENT="no-cache">
                     <title>JSP Page</title>
                 </head>
                 <body>
                     <f:view>
                         <h:panelGroup id="body">
                             <h:form id="searchForm">
                                 <h:panelGrid columns="2">
                                     <h:outputText id="keywordLabel" value="enter keyword"/>   
                                     <h:inputText id="keywordField" value="#{SearchManagedBean.keyword}"/>
                                     <h:outputText id="countryLabel" value="choose country"/>   
                                     <h:selectOneListbox id="countryField" value="#{SearchManagedBean.country}">
                                         <f:selectItems id="availableCountries" value="#{SearchManagedBean.availableCountries}"/>
                                     </h:selectOneListbox>
                                     <h:outputText id="postcodeLabel" value="choose postcode(s)"/>   
                                     <h:selectManyListbox id="postcodeField" value="#{SearchManagedBean.postcode}">
                                         <f:selectItems id="availablePostcodes" value="#{SearchManagedBean.availablePostcodes}"/>
                                     </h:selectManyListbox>
                                     <h:outputText id="commentExistsLabel" value="with comment"/>
                                     <h:selectBooleanCheckbox id="commentExistsField" value="#{SearchManagedBean.commentExists}" />
                                     <h:outputText id="ratingLabel" value="rating"/>
                                     <h:selectOneListbox id="ratingField" value="#{SearchManagedBean.rating}">
                                         <f:selectItems id="availableRatings" value="#{SearchManagedBean.availableRatings}"/>
                                     </h:selectOneListbox>
                                     <h:outputText id="websiteExistsLabel" value="with website"/>
                                     <h:selectBooleanCheckbox id="websiteExistsField" value="#{SearchManagedBean.websiteExists}" />
                                     <h:commandButton value="search" action="#{SearchManagedBean.performSearch}"/>
                                 </h:panelGrid>
                             </h:form>
                         </h:panelGroup>
                     </f:view>
                 </body>
             </html>
         here is my faces config file:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE faces-config PUBLIC
      "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
      "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
        <managed-bean>
            <managed-bean-name>SearchManagedBean</managed-bean-name>
            <managed-bean-class>arcoiris.SearchManagedBean</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <navigation-rule>
           <description></description>
            <from-view-id>/welcomeJSF.jsp</from-view-id>
            <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>index.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>The problem occurs when the field ratingField is left blank (which amounts to it being set at 0 since it is an int).
    Can anyone help please?
    Thanks in advance,
    Julien.

    Hello,
    Thanks for the suggestion. I added the tag and it now says:
    java.lang.IllegalArgumentException
    I got that from the log:
    2006-08-17 15:29:16,859 DEBUG [com.sun.faces.el.ValueBindingImpl] setValue Evaluation threw exception:
    java.lang.IllegalArgumentException
         at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.faces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:178)
         at com.sun.faces.el.impl.ArraySuffix.setValue(ArraySuffix.java:192)
         at com.sun.faces.el.impl.ComplexValue.setValue(ComplexValue.java:171)
         at com.sun.faces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:234)
         at javax.faces.component.UIInput.updateModel(UIInput.java:544)
         at javax.faces.component.UIInput.processUpdates(UIInput.java:442)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIForm.processUpdates(UIForm.java:196)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:363)
         at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:81)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:595)
    2006-08-17 15:29:16,875 DEBUG [com.sun.faces.context.FacesContextImpl] Adding Message[sourceId=searchForm:ratingField,summary=java.lang.IllegalArgumentException)Do you see where the problem comes from??
    Julien.

  • Problem when creating a calculated column "Item has already been added"

    Hi,
    I built an a set of lists and custom content types which are made available under http://moss/callcenter. When I want to create a new calculated column for one of my custom content types i get the following error
    Item has already been added. Key in
    dictionary: 'Strasse_Strasse'  Key being added: 'Straße_Straße'
    This is rather strange as I don't even get as far as creating that new column. The error occurs right when I select the type calculated column, even before I enter a name for the new column. How ever, when I want to create a calculated column in root site collection (http://moss/) this error does not occur and I can create the new column.
    Any ideas anyone?
    Thank you,
    Christoph

    hi,
    you can try below thing
    http://blogs.msdn.com/b/timquin/archive/2009/02/11/sharepoint-item-has-already-been-added-key-in-dictionary-484-key-being-added-484.aspx
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • E6 Key Lock Strange Behavior

    My E6-00 is running Belle.  The key lock switch displays very strange behavior.  When I slide it to lock the phone, there will be two or three vibrations and the phone will momentarily lock and then unlock again.  I have to slide it three or four times to actually get it to lock and stay locked.  Behavior when unlocking is identical - sliding the switch will make the phone vibrate two or three times, and the phone will unlock for a split second before re-locking itself.  I have to slide the switch three or four times to actually unlock it.
    The flashlight works fine.  It seems like the switch engages once when it is pushed, and then somehow engages again at the top of its movement.
    This is incredibly annoying.  Is it a known problem?  A software defect?  Hardware?  Or something else?

    I dont have that problem.
    Have you tried to do a soft reset?
    meny-settings-phone-phone management-fabric settings-restore
    Otherwise a hard reset (wipe the c and d comparment and sdhc card, After that, a reinstallment of Belle through Nokia Suite.
    Dont reinstall backups of apps and a lots of old material...only contacts and the most important I think could be the solution. This goes for many people who having problem after Belle update. I call it spring cleaning.
    Nokia 808 again (delight Belle), Nokia E7 and X7 ( again, all on Delight Belle...after some time on Nokia Lumia 925 (retired), 1020 (not that great)and Lumia 820 (Replaced my router at home, great for internet sharing).., N9 The best device ever (use it as much as Lumia 1020), Nokia 700 (Sport Phone/My Love :-) ) Nokia 701, Nokia E6 (Should have a follow-up from Nokia among with larger screen, NFC, Autofocus), Lumia 800 (Retired After 6 weeks), -Sports Tracker-Nokia Internet Radio-Handy Safe-Skype-Bambuser-Screenshot app pro-fMobi-ComingNext-Manual TaskSwitcher-jagiTimer-Easy StopWatch-Boldbeast-Equalizer-Financial Calculator-WiMP Music-YTasks-Davi-Thumbnail Folders-BizCalendar-Tiny7-Situations-nn reeder-Sport Timer-CameraLover-CameraPro-GrabRadio-LiveScore-Poddi-Gravity-SkyFilesPro

Maybe you are looking for

  • Ipod Mini Beeping, folder icon, battery icon, doesn't work

    My iPod mini, has a beeping sound when attached to the USB port and the folder icon keeps coming up, then the Apple logo come up, then the battery icon come up. iTunes cannot see it either.

  • How to run a Java project in NWDS...

    Hi All, First of all , i dont know if i am writing in the right forum for this question. I am new in NWDS. My question is, how can i run my java project in NWDS without  having any portal available (we had some problems running projects in EP 2004 an

  • Fast Roaming and CCKM

    We have a WISM blade with two controllers enabled. Single mobility group and no AP groups. We keep having random disconects when our users are in Citrix. Some sugestions I read say that I should enable CCKM. We turned on 802.1x+CCKM on one controller

  • Something keeps changing my search engine to Yahoo in stead of Google.

    I noticed this evening that my search engine was Yahoo in stead of Google. I changed it back to Google and later closed the browser and then opened it again and it had switched me back to Yahoo again. I had also noted a toolbar a day or 2 ago that sh

  • Issue with event struct reading controls

    Hello all. I'm having issue reading my control clusters after triggering an event. Here is what I was trying to do: 1) I have a control with several booleans 2) A mouse up on the cluster triggers an event. 3) Although it's not pictured, I was using t