Bug 133780 Execution sequence of valueExpr(DataItem) and onCreate() is not correct.
In the attached design. There is a DataItem in the table footer that I used to do a sum of the "Amount" column. In the test, I write the onCreate() method as: params["amount"]=Total.sum(row["AMOUNT"]); It passes the aggregation value to a parameter. In the "valueExpr" I write as: "AMOUNT:" + params["amount"] The expression is expected to export the sum. Actual output is: AMOUNT:null Followings are the definitions from Rom Text Spec & Rom Scripting Spec, valueExpr usually should be evalated after the onCreate() method. DataItem.valueExpr: The expression is usually evaluated when the report is rendered, not in the Factory, though it may be evaluated in the Factory also. onCreate: Executed when the element is created in the Factory. Called after the item is created, but before the item is saved to the report document file.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/TextItemExecutor.java
executePlainText( textItem, emitter );
		}
	}
	/**
	 * execute the html text.
	 * 
	 * @param design
	 * @param emitter
	 */
	protected void executeHtmlText( TextItemDesign design,
			IContentEmitter emitter )
	{
		IForeignContent content = report.createForeignContent( );
		assert ( content instanceof ForeignContent );
		IContent parent = context.getContent( );
		context.pushContent( content );
		openResultSet( design );
		accessQuery( design, emitter );
		initializeContent( parent, design, content );
		processAction( design, content );
		processBookmark( design, content );
		processStyle( design, content );
		processVisibility( design, content );
		HashMap exprs = design.getExpressions( );
		if ( exprs != null && !exprs.isEmpty( ) )
		{
			HashMap results = new HashMap( );
			Iterator iter = exprs.entrySet( ).iterator( );
			while ( iter.hasNext( ) )
			{