EndpointConfigurator is breaking my composites

Hi,
I have run into a problem with Deploying my compisites via a deployment plan.
Due to our cluster setup we need to have diffrent server url's to deploy to then the composites need to refer to each other.
We need to deploy to devsoainternal.ad.ic.ac.uk:80
Composites need to refer to devsoa.imperial.ac.uk:443
We achieved on 11.1.1.2 this by putting the following into AIAInstallProperties:
<pips>
<IC_Global>
<version>11.1.1.5.0</version>
<server>
<soaserverhostname>devsoa.imperial.ac.uk</soaserverhostname>
<soaserverport>443</soaserverport>
</server>
</IC_Global>
<IC_Deploy>
<version>11.1.1.5.0</version>
<server>
<soaserverhostname>devsoainternal.ad.ic.ac.uk</soaserverhostname>
<soaserverport>80</soaserverport>
</server>
</IC_Deploy>
</pips>
This way we can have deployment plans of the form:
<DeploymentPlan component="TEST_FIRE_FORGET" version="3.0">
<PreInstallScript/>
<Configurations>
<EndpointConfigurator target-server="pips.IC_Global" dir="${AIA_HOME}/pips/ICPatches/wls000001"/>
</Configurations>
<Deployments>
<Composite compositeName="CreateInvoiceListEbizOSSReqABCSImpl" compositedir="${AIA_HOME}/pips/ICPatches/wls000001/CreateInvoiceListEbizOSSReqABCSImpl" revision="1.0" wlserver="pips.IC_Deploy" action="deploy"/>
</Deployments>
</DeploymentPlan>
This configured the endpoint to the IC_Global value (which is devsoa.imperial.ac.uk)
but when it deployed the composite it connected to IC_Deploy (which is devsoainternal.ad.ic.ac.uk)
This worked fine in 11.1.1.2
In 11.1.1.5 something has changed. Instead of configuring the endpoints in the composite to devsoa.imperial.ac.uk, the endpointconfigurator is using devsoainternal.ad.ic.ac.uk.
Of course when they execute they all break because the server address is wrong.
If I change the deployment to point to devsoa.imperial.ac.uk I can view the composite and see that the endpoints are now correct. The problem is the deployment process fails because it can't see devsoa.imperial.ac.uk.
Can anyone tell me why Endpointconfigurator is ignoring it's target-server tag in 11.1.1.5 and just using the deployment server?
Thanks
Robert

Hi,
The following may work for you (It works in 11.1.1.5). (This solution didn’t come from Oracle)
First a bit of history:
In 11.1.1.2 You had to explicitly call the endpoint Configurator in your deployment plans. This was flexible as you could deploy to one server but have end points configured to point to a different address.
In 11.1.1.5 They moved the call to endpoint Configurator into the deployment code. This meant that the endpoints were always configured to point to the same location that you deployed to.
My ‘fix’ was to remove this automatic call to endpoint Configurator and put it back in the deployment plan. This meant that:
1.     All your deployment plans need a call to endpoint Configurator
2.     You can now configure endpoint Configurator to point to a different server that you deploy to.
So the instructions of how to implement this are as follows:
Alter the file $AIA_HOME/Infrastructure/Install/AID/lib/AIDDeploymentLibraryTasks.xml at line 160 it calls the EndPointConfigurator and passes the server refered to by wlserver. Comment out this line
(The line to comment is the one with the RJM REMOVED text. I have included the bit before and after as it may be a different line number in 11.1.1.6)
<pre>
<!-- Check for no-action before validations -->
<if>
<equals arg1="@{action}" arg2="no-action" />
<then>
<echo message="No-action has been selected due to the condition specified in the policy file for the Composite: @{compositeName}"></echo>
</then>
<else>
<ValidateSOAServerDetails wlserver="@{wlserver}"/>
<!-- Perform deploy or undeploy depending on the value in action attribute -->
<!--RJM REMOVED THIS LINE <EndpointConfigurator target-server="@{wlserver}" dir="@{compositedir}" /> -->
<if>
<equals arg1="@{configplan}" arg2="null"/>
<then>
<if>
<available file="@{compositedir}/AIAConfigurationPlan.xml" type="file" />
<then>
<var name="configurationPlan" value="@{compositedir}/AIAConfigurationPlan.xml"/>
</then>
<elseif>
<available file="@{compositedir}/@{compositeName}_cfgplan.xml" type="file" />
<then>
<var name="configurationPlan" value="@{compositedir}/@{compositeName}_cfgplan.xml"/>
</then>
</pre>
Next you need to setup what end point Configurator will point to. Open the following file:
$AIA_HOME/aia_instances/$AIA_INSTANCE/config/AIAInstallProperties.xml
In this file in properties/pips you will see blocks of text like:
<pre>
<AIADemo>
<version>11.1.1.5.0</version>
<server>
<adminhostname>hostname.com</adminhostname>
<adminport>7001</adminport>
<domainname>soa_domain</domainname>
<username>weblogic</username>
<password>weblogic1</password>
<servertype>Cluster</servertype>
<soaserver>SOA_Cluster</soaserver>
<soaserverhostname>devsoainternal.ad.ic.ac.uk</soaserverhostname>
<soaserverport>80</soaserverport>
</server>
</AIADemo>
</pre>
Copy and paste this for each server you want to redeploy to and fill in the correct details.
Change the tag name from AIADemo to some string e.g. IC_Deploy
Not add a configuration section to your deployment plans so they are similar to the following:
<pre>
<DeploymentPlan component="ICIS-OSS-TCA-PIP-001" version="3.0">
<PreInstallScript/>
<Configurations>
<EndpointConfigurator target-server="pips.IC_Global" dir="${AIA_HOME}/pips/ICPatches/wls000013"/>
</Configurations>
<Deployments>
<Composite compositeName="COMPISITENAME" compositedir="${AIA_HOME}/pips/ICPatches/wls000013/COMPISITENAME" revision="1.0" wlserver="pips.IC_Deploy" action="deploy" overwrite="false"/>
</Deployments>
</DeploymentPlan>
</pre>
Here you can see that if have set endpoint Configurator to run in the directory ${AIA_HOME}/pips/ICPatches/wls000013 and to configure the endpoints to point to pips.IC_Global
This setup should work for you but it is not an official oracle solution.
Robert

Similar Messages

  • Composite control - change text property of textbox from .cs file

    Hi All,
    I have created a composite control with dropdowns and hiddenfield for datepicker. Now when I change the value of dropdown from browser - client side then its value is retained on postback. But when I change value programmatically its not reflected on
    screen.
    using System;
    using System.Text;
    using System.Collections;
    using System.Collections.Generic;
    using System.Globalization;
    using System.ComponentModel;
    using System.Drawing;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.Design;
    using System.Web.UI.WebControls;
    using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
    namespace GOV.Framework.Portal.Controls
    /// <summary>
    /// Simple DateTimePicker control that uses jQuery UI DatePicker to pop up
    /// a date, time or both picker.
    /// </summary>
    [ToolboxBitmap(typeof(System.Web.UI.WebControls.Calendar)), DefaultProperty("SelectedValue"),
    ToolboxData("<{0}:DateTimePicker runat=\"server\"></{0}:DateTimePicker>"), PersistenceMode(PersistenceMode.InnerProperty)]
    public class DateTimePicker : WebControl
    #region "Global Variables"
    public enum DisplayControls
    TextBox,
    Dropdown
    public enum DisplayModes
    Button,
    ImageButton,
    AutoPopup,
    Inline,
    public enum DisplayTypes
    Time,
    Date,
    DateTime
    public enum DisplayMonthTypes
    Full,
    Short
    private enum DisplayYearTypes
    Full,
    Short
    private DropDownList ddlDay = new DropDownList();
    private DropDownList ddlMonth = new DropDownList();
    private DropDownList ddlYear = new DropDownList();
    private TextBox txtDate = new TextBox();
    private Label lblMsg = new Label();
    private System.Web.UI.WebControls.Image imgCal = new System.Web.UI.WebControls.Image();
    private HiddenField hdnDate = new HiddenField();
    private DisplayModes _DisplayMode = DisplayModes.ImageButton;
    private DisplayControls _DisplayControl = DisplayControls.TextBox;
    private DisplayTypes _DisplayType = DisplayTypes.DateTime;
    private int _StepMinutes = 1;
    private int _StepHours = 1;
    private DateTime? _MinDate = null;
    private DateTime? _MaxDate = null;
    private string _OnClientSelect = "";
    private string _ButtonImage = "../Images/calendar.png";
    private string _CalendarCss = "WebResource";
    private string _CalendarJs = "../scripts/timepicker.js";
    private DisplayMonthTypes _DisplayMonthType = DisplayMonthTypes.Full;
    private DisplayYearTypes _DisplayYearType = DisplayYearTypes.Full;
    private int _minYear = DateTime.Now.Year - 25;
    private int _maxYear = DateTime.Now.Year;
    private int _minMonth = 1;
    private int _maxMonth = 31;
    private int _minDay = 1;
    private int _maxDay = 28;
    private string _dateControlClientId = string.Empty;
    DateTime? _SelectedDate = null;
    private bool _DisplayMessageLabel = true;
    private short _tabIndex;
    private const string vwst_SelectedDate = "_SelectedDate";
    #region "ErrorMessages"
    private const string SelectedDate_GreaterThan_MaxDate = "SelectedDate can not be greater than MaxDate";
    private const string MaxDate_LessThan_SelectedDate = "MaxDate can not be less than SelectedDate";
    private const string SelectedDate_LessThan_MinDate = "SelectedDate can not be less than MinDate";
    private const string MinDate_GreaterThan_SelectedDate = "MinDate can not be greater than SelectedDate";
    #endregion
    #endregion
    #region "Properties"
    #region "Private Properties"
    [Description("Determines display full or short(yy) year")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayTypes), "string")]
    private DisplayYearTypes DisplayYearType
    get
    return _DisplayYearType;
    set
    _DisplayYearType = value;
    [Description("Determines minimum year to be displayed in dropdown : Default currentyear - 25")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayTypes), "int")]
    private int MinYear
    get
    if (MinDate != null)
    _minYear = MinDate.Value.Year;
    else
    _minYear = DateTime.Now.Year - 25;
    return _minYear;
    //set
    // _minDisplayYear = value;
    [Description("Determines maximum year to be displayed in dropdown : Default currentyear")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayTypes), "int")]
    private int MaxYear
    get
    if (MaxDate != null)
    _maxYear = MaxDate.Value.Year;
    else
    _maxYear = DateTime.Now.Year;
    return _maxYear;
    //set
    // _maxDisplayYear = value;
    private string DateControlClientId
    get
    if (DisplayControl == DisplayControls.Dropdown)
    _dateControlClientId = hdnDate.ClientID;
    else
    _dateControlClientId = txtDate.ClientID;
    return _dateControlClientId;
    [Description("Determines minimum month of min date : default 1")]
    [Category("DateTime Selection"), DefaultValue(1)]
    private int minMonth
    get
    if (MinDate != null)
    _minMonth = MinDate.Value.Month;
    else
    _minMonth = 1;
    return _minMonth;
    [Description("Determines max months of max date: Default 12")]
    [Category("DateTime Selection"), DefaultValue(12)]
    private int maxMonth
    get
    if (MaxDate != null)
    _maxMonth = MaxDate.Value.Month;
    else
    _maxMonth = 1;
    return _maxMonth;
    [Description("Determines minimum day : Defualt 1")]
    [Category("DateTime Selection"), DefaultValue(1)]
    private int minDay
    get
    if (MinDate != null)
    _minDay = MinDate.Value.Day;
    else
    _minDay = 1;
    return _minDay;
    [Description("Determines max day: Defualt last day of max month")]
    [Category("DateTime Selection"), DefaultValue(30)]
    private int maxDay
    get
    if (MaxDate != null)
    _maxDay = MaxDate.Value.Day;
    else
    _maxDay = DateTime.DaysInMonth(MaxYear, maxMonth);
    return _maxDay;
    #endregion
    #region "Public Properties"
    /// <summary>
    /// The currently selected datetime
    /// </summary>
    [Category("DateTime Selection")]
    public DateTime? SelectedValue
    get
    DateTime dt = new DateTime();
    if (DisplayControl == DisplayControls.TextBox && txtDate.Text != "")
    DateTime.TryParse(txtDate.Text, out dt);
    else if (DisplayControl == DisplayControls.Dropdown && hdnDate.Value != "")
    DateTime.TryParse(hdnDate.Value, out dt);
    if (dt != null && dt != new DateTime())
    _SelectedDate = dt;
    else
    _SelectedDate = null;
    return _SelectedDate;
    set
    if (!value.HasValue)
    txtDate.Text = "";
    hdnDate.Value = "";
    else
    if (value != null && MinDate != null && value < MinDate)
    throw new ArgumentOutOfRangeException("SelectedValue", SelectedDate_LessThan_MinDate);
    if (value != null && MaxDate != null && value > MaxDate)
    throw new ArgumentOutOfRangeException("SelectedValue", SelectedDate_GreaterThan_MaxDate);
    string dateFormat = this.DateTimeFormat;
    //if ( dateFormat == "Auto")
    // dateFormat = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
    if (DisplayControl == DisplayControls.TextBox)
    txtDate.Text = value.Value.ToString(dateFormat);
    else if (DisplayControl == DisplayControls.Dropdown)
    hdnDate.Value = value.Value.ToString(dateFormat);
    _SelectedDate = value;
    if (DisplayControl == DisplayControls.Dropdown)
    setDropDownValue(value);
    [Description("Determines display textbox or dropdowns")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayModes), "TextBox")]
    public DisplayControls DisplayControl
    get { return _DisplayControl; }
    set { _DisplayControl = value; }
    [Description("Determines how the datepicking option is activated")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayModes), "ImageButton")]
    public DisplayModes DisplayMode
    get { return _DisplayMode; }
    set { _DisplayMode = value; }
    [Description("Determines what datetimepicker should return")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayTypes), "DateTime")]
    public DisplayTypes DisplayType
    get
    return _DisplayType;
    set
    _DisplayType = value;
    [Description("Increment minute factor when using the time picker.")]
    [Category("DateTime Selection"), DefaultValue(1)]
    public int StepMinutes
    get
    return _StepMinutes;
    set
    _StepMinutes = value;
    [Description("Increment hour factor when using the time picker.")]
    [Category("DateTime Selection"), DefaultValue(1)]
    public int StepHours
    get
    return _StepHours;
    set
    _StepHours = value;
    private string _DateTimeFormat = CultureInfo.CurrentCulture != null ? CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern : "dd/MM/yyyy";
    [Description("Determines the Date Format used. Auto uses CurrentCulture.DateTimeFormat.ShortDatePattern. Format: MM month, dd date, yyyy year symbol")]
    [Category("DateTime Selection"), DefaultValue("dd/MM/yyyy")]
    public string DateTimeFormat
    get
    return _DateTimeFormat;
    set
    _DateTimeFormat = value;
    [Description("Minumum allowable date. Leave blank to allow any date")]
    [Category("DateTime Selection"), DefaultValue(typeof(DateTime?), null)]
    public DateTime? MinDate
    get
    return _MinDate;
    set
    if (value != null && SelectedValue != null && value > SelectedValue)
    throw new ArgumentOutOfRangeException("MinDate", MinDate_GreaterThan_SelectedDate);
    _MinDate = value;
    [Description("Maximum allowable date. Leave blank to allow any date.")]
    [Category("DateTime Selection"), DefaultValue(typeof(DateTime?), null)]
    public DateTime? MaxDate
    get
    return _MaxDate;
    set
    if (value != null && SelectedValue != null && value < SelectedValue)
    throw new ArgumentOutOfRangeException("MaxDate", MaxDate_LessThan_SelectedDate);
    _MaxDate = value;
    [Description("Client event handler fired when a date is selected")]
    [Category("DateTime Selection"), DefaultValue("")]
    public string OnClientSelect
    get
    return _OnClientSelect;
    set
    _OnClientSelect = value;
    [Description("Url to a Calendar Image. Applies only if the DisplayMode = ImageButton")]
    [Category("DateTime Resource"), DefaultValue("../Images/calendar.png")]
    public string ButtonImage
    get { return _ButtonImage; }
    set { _ButtonImage = value; }
    [Category("DateTime Resource"), Description("The CSS that is used for the calendar or empty for default."), DefaultValue("WebResource")]
    public string CalendarCss
    get { return _CalendarCss; }
    set { _CalendarCss = value; }
    [Description("Location for the calendar JavaScript or empty for default.")]
    [Category("DateTime Resource"), DefaultValue("../scripts/timepicker.js")]
    public string CalendarJs
    get { return _CalendarJs; }
    set { _CalendarJs = value; }
    [Description("Determines what to Display full Month name or short month name")]
    [Category("DateTime Selection"), DefaultValue(typeof(DisplayTypes), "string")]
    public DisplayMonthTypes DisplayMonthType
    get
    return _DisplayMonthType;
    set
    _DisplayMonthType = value;
    [Description("Display static label for msg below date control")]
    [Category("DateTime Selection"), DefaultValue(true)]
    public bool DisplayMessageLable
    get { return _DisplayMessageLabel; }
    set { _DisplayMessageLabel = value; }
    [Bindable(true)]
    [DefaultValue("false")]
    public override short TabIndex
    get
    return _tabIndex;
    set
    _tabIndex = value;
    ddlDay.TabIndex = value;
    ddlMonth.TabIndex = value;
    ddlYear.TabIndex = value;
    imgCal.TabIndex = value;
    #endregion
    #endregion
    #region "Events"
    public DateTimePicker()
    this.Width = Unit.Pixel(80);
    /// <summary>
    /// Load all controls
    /// </summary>
    /// <param name="e"></param>
    protected override void OnInit(EventArgs e)
    base.OnInit(e);
    //Controls.Clear();
    //CreateAndAddControls();
    /// <summary>
    /// Add Child controls - Dropdowns and textbox;
    /// </summary>
    protected override void CreateChildControls()
    base.CreateChildControls();
    Controls.Clear();
    CreateAndAddControls();
    /// <summary>
    /// Load all controls
    /// </summary>
    /// <param name="e"></param>
    protected override void OnLoad(EventArgs e)
    base.OnLoad(e);
    if (DisplayControl == DisplayControls.Dropdown)
    if (ddlDay.Items.Count == 0 || ddlMonth.Items.Count == 0 || ddlYear.Items.Count == 0 || !Page.IsPostBack)
    FillDropdowns();
    generateDisplayMessage();
    protected override void LoadViewState(object savedState)
    base.LoadViewState(savedState);
    protected override void LoadControlState(object savedState)
    base.LoadControlState(savedState);
    protected override object SaveViewState()
    if (HasControls() && Page.IsPostBack)
    ddlDay.SelectedValue = "11";
    object obj = base.SaveViewState();
    return obj;
    protected override void TrackViewState()
    base.TrackViewState();
    /// <summary>
    /// Most of the work happens here for generating the hook up script code
    /// </summary>
    /// <param name="e"></param>
    protected override void OnPreRender(EventArgs e)
    base.OnPreRender(e);
    // Register resources
    this.RegisterResources();
    string script = GenerateScript();
    Page.ClientScript.RegisterStartupScript(this.GetType(), "_cal" + this.ID, script, true);
    /// <summary>
    /// Render Control
    /// </summary>
    /// <param name="writer"></param>
    public override void RenderControl(HtmlTextWriter writer)
    if (this.DisplayMode != DisplayModes.Inline)
    base.RenderControl(writer);
    else
    writer.Write("<div id='" + this.ClientID + "Div'></div>");
    if (HttpContext.Current == null)
    if (this.DisplayMode == DisplayModes.Button)
    writer.Write(" <input type='button' value='...' style='width: 20px; height: 20px;' />");
    else if ((this.DisplayMode == DisplayModes.ImageButton))
    string img;
    if (this.ButtonImage == "WebResource")
    img = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "jQueryDatePicker.Resources.calendar.png");
    else
    img = this.ResolveUrl(this.ButtonImage);
    writer.AddAttribute(HtmlTextWriterAttribute.Src, img);
    writer.AddAttribute("hspace", "2");
    writer.RenderBeginTag(HtmlTextWriterTag.Img);
    writer.RenderEndTag();
    /// <summary>
    /// Render Control
    /// </summary>
    /// <param name="writer"></param>
    protected override void Render(HtmlTextWriter writer)
    RenderControls(writer);
    #endregion
    #region "Methods"
    /// <summary>
    /// Set properties of control
    /// </summary>
    private void CreateAndAddControls()
    txtDate.ID = "_txtDate";
    txtDate.CssClass = "dpDate";
    ddlDay.ID = "_ddlDay";
    ddlMonth.ID = "_ddlMonth";
    ddlYear.ID = "_ddlYear";
    imgCal.ID = "_imgCal";
    imgCal.CssClass = "trigger";
    imgCal.ImageUrl = this.ButtonImage;
    //imgCal.Visible = false;
    hdnDate.ID = "_hdnDate";
    lblMsg.ID = "_lblMsg";
    lblMsg.CssClass = "MsgLabel";
    if (DisplayControl == DisplayControls.Dropdown)
    txtDate.Visible = false;
    this.Controls.Add(ddlDay);
    this.Controls.Add(ddlMonth);
    this.Controls.Add(ddlYear);
    this.Controls.Add(hdnDate);
    else
    txtDate.Visible = true;
    this.Controls.Add(txtDate);
    this.Controls.Add(imgCal);
    this.Controls.Add(lblMsg);
    /// <summary>
    /// Add Controls to the control
    /// </summary>
    private void RenderControls(HtmlTextWriter writer)
    //if (ChildControlsCreated)
    // return;
    AddAttributesToRender(writer);
    writer.AddAttribute(HtmlTextWriterAttribute.Class, "datePickerTable", false);
    writer.RenderBeginTag(HtmlTextWriterTag.Table);//start of table
    writer.RenderBeginTag(HtmlTextWriterTag.Tr);//start of tr1
    if (DisplayControl == DisplayControls.Dropdown)
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    ddlDay.RenderControl(writer);
    writer.RenderEndTag();
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    ddlMonth.RenderControl(writer);
    writer.RenderEndTag();
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    ddlYear.RenderControl(writer);
    writer.RenderEndTag();
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    hdnDate.RenderControl(writer);
    writer.RenderEndTag();
    else
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    txtDate.RenderControl(writer);
    writer.RenderEndTag();
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    //Control ltrl1 = new LiteralControl();
    //writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "None");
    //writer.RenderBeginTag(HtmlTextWriterTag.Div);
    ////ltrl1.RenderControl(writer);
    //imgCal.RenderControl(writer);
    //writer.RenderEndTag();//end of div
    writer.Write("<div style=\"display:none\">");
    imgCal.RenderControl(writer);
    writer.Write("</div>");
    writer.RenderEndTag();
    writer.RenderEndTag();//end of tr1
    writer.RenderBeginTag(HtmlTextWriterTag.Tr);//start of tr
    writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "4", false);
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    lblMsg.RenderControl(writer);
    writer.RenderEndTag();
    writer.RenderEndTag();// end of tr2
    writer.RenderEndTag();// end of table
    //string newTable = "<table class='datePickerTable'";
    //string endTable = "</table>";
    //string newTr = "<tr>";
    //string endTr = "</tr>";
    //string newTd = "<td>";
    //string endTd = "</td>";
    ////Controls.Clear();
    //InitControls();
    //Controls.Add(new LiteralControl(newTable + newTr + newTd));
    //if (DisplayControl == DisplayControls.Dropdown)
    // Controls.Add(ddlDay);
    // Controls.Add(new LiteralControl(endTd + newTd));
    // Controls.Add(ddlMonth);
    // Controls.Add(new LiteralControl(endTd + newTd));
    // Controls.Add(ddlYear);
    // Controls.Add(new LiteralControl(endTd + newTd));
    //Controls.Add(txtDate);
    //Controls.Add(hdnDate);
    //Controls.Add(new LiteralControl(endTd + newTd));
    //Controls.Add(new LiteralControl("<div style=\"display:none\">"));
    //Controls.Add(imgCal);
    //Controls.Add(new LiteralControl("</div>"));
    //Controls.Add(new LiteralControl(endTd + endTr));
    //Controls.Add(new LiteralControl(newTr + "<td colspan=4>"));
    //Controls.Add(lblMsg);
    //Controls.Add(new LiteralControl(endTd + endTr + endTable));
    /// <summary>
    /// Code that embeds related resources (.js and css)
    /// </summary>
    /// <param name="scriptProxy"></param>
    protected void RegisterResources()
    // Load the calandar script
    string script = this.CalendarJs;
    // Load jQuery Calendar Scripts
    if (script == "WebResource")
    Page.ClientScript.RegisterClientScriptResource(this.GetType(), "jQueryDatePicker.Resources.ui.datepicker.js");
    else if (!string.IsNullOrEmpty(script))
    Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "__jqueryCalendar", this.ResolveUrl(script));
    // Load the related CSS reference into the page
    script = this.CalendarCss;
    if (script == "WebResource")
    script = Page.ClientScript.GetWebResourceUrl(this.GetType(), "jQueryDatePicker.Resources.ui.datepicker.css");
    else if (!string.IsNullOrEmpty(script))
    script = this.ResolveUrl(this.CalendarCss);
    // Register Calendar CSS 'manually'
    string css = @"<link href=""" + script + @""" type=""text/css"" rel=""stylesheet"" />";
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "_calcss", css, false);
    /// <summary>
    /// Converts a date to a JavaScript date string in UTC format
    /// </summary>
    /// <param name="date"></param>
    /// <returns></returns>
    private static string EncodeJsDate(DateTime date)
    return "new Date(\"" + date.ToString("U") + " UTC" + "\")";
    /// <summary>
    /// Generate Javascript for Datepicker plugin
    /// </summary>
    /// <returns></returns>
    private string GenerateScript()
    // To capture and map the various option parameters
    StringBuilder sbOptions = new StringBuilder(512);
    sbOptions.Append("{");
    //jQuey Script
    StringBuilder sbStartupScript = new StringBuilder(400);
    sbStartupScript.AppendLine("jQuery(document).ready( function() {");
    string dateFormat = this.DateTimeFormat;
    if (!string.IsNullOrEmpty(dateFormat))
    dateFormat = this.DateTimeFormat.Replace("MMM", "M").Replace("MM", "mm");
    sbOptions.Append("dateFormat: '" + dateFormat + "'");
    //string onSelect = this.OnClientSelect;
    if (this.DisplayMode == DisplayModes.Button)
    sbOptions.Append(",showOnFocus: false, showTrigger: '<button type=\"button\" class=\"trigger\">...</button>'");
    else if (this.DisplayMode == DisplayModes.ImageButton)
    string img = this.ButtonImage;
    if (img == "WebResource")
    img = Page.ClientScript.GetWebResourceUrl(this.GetType(), "jQueryDatePicker.Resources.calendar.png");
    else
    img = this.ResolveUrl(this.ButtonImage);
    sbOptions.Append(",showOnFocus: false, showTrigger: '#" + imgCal.ClientID + "'");
    sbOptions.Append(", onSelect: DateSelectedFromCalendar ");
    if (this.MinDate.HasValue)
    sbOptions.Append(",minDate: new Date(" + MinDate.Value.Year.ToString() + "," + (MinDate.Value.Month - 1).ToString() + "," + MinDate.Value.Day.ToString() + ")");
    if (this.MaxDate.HasValue)
    sbOptions.Append(",maxDate: new Date(" + MaxDate.Value.Year.ToString() + "," + (MaxDate.Value.Month - 1).ToString() + "," + MaxDate.Value.Day.ToString() + ")");
    sbOptions.Append(",yearRange:' " + this.MinYear.ToString() + ":" + this.MaxYear.ToString() + "'");
    //end of options
    sbOptions.Append("}");
    // Write out initilization code for calendar
    if (this.DisplayMode != DisplayModes.Inline)
    sbStartupScript.AppendLine("var cal = jQuery('#" + this.DateControlClientId + "').datepick(" + sbOptions.ToString() + ");");
    else
    sbStartupScript.AppendLine("var cal = jQuery('#" + this.ClientID + "Div').datepick(" + sbOptions.ToString() + ");");
    sbStartupScript.AppendLine("var dp = jQuery.datepicker;");
    if (this.SelectedValue.HasValue && this.SelectedValue.Value > new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc))
    sbStartupScript.AppendLine("dp.setDateFor(cal[0],new Date('" + txtDate.Text + "'));");
    sbStartupScript.AppendLine("dp.reconfigureFor(cal[0]);");
    //******************* When dropdown changes then reflect it in calendar
    if (DisplayControl == DisplayControls.Dropdown)
    sbStartupScript.AppendLine("\r\n\r");
    sbStartupScript.Append("$('#" + ddlDay.ClientID);
    sbStartupScript.Append(",#" + ddlMonth.ClientID);
    sbStartupScript.Append(",#" + ddlYear.ClientID + "').change(function() {");
    // disable months and days when they are less then day months of minimum date
    sbStartupScript.Append("$ddlDay=$('#" + ddlDay.ClientID + "');");
    sbStartupScript.Append("$ddlMonth=$('#" + ddlMonth.ClientID + "');");
    sbStartupScript.Append("$ddlYear=$('#" + ddlYear.ClientID + "');");
    sbStartupScript.AppendLine("var minYear=" + this.MinYear.ToString() + ";");
    ///disable months of minimum year which are less then minumum date month
    sbStartupScript.AppendLine("if($ddlYear.val()<=minYear && $('#" + this.DateControlClientId + "').val!=''){ alert('true');");
    sbStartupScript.AppendLine("var minMonth=" + this.minMonth.ToString() + ";");
    sbStartupScript.AppendLine("if($ddlMonth.val()<=minMonth){");//start of if of minMonth
    sbStartupScript.AppendLine("$ddlMonth.val(minMonth);");
    sbStartupScript.AppendLine("var minDay=" + this.minDay.ToString() + ";");
    sbStartupScript.AppendLine("$ddlMonth.find('option:lt('+minMonth+')').hide();");
    sbStartupScript.AppendLine("if($ddlDay.val()<=minDay)");
    sbStartupScript.AppendLine("$ddlDay.val(minDay);");
    sbStartupScript.AppendLine("}");// end of if of minMonth
    sbStartupScript.AppendLine("else {");
    sbStartupScript.AppendLine("$ddlDay.find('option').show();");
    sbStartupScript.AppendLine("}");// end of else part of min month
    sbStartupScript.AppendLine("$ddlDay.find('option:lt('+minDay+')').hide();");
    sbStartupScript.AppendLine("}");// end of if part of min Year
    sbStartupScript.AppendLine("else {");
    sbStartupScript.AppendLine("$ddlMonth.find('option').show();");
    sbStartupScript.AppendLine("}");// end of else part of min Year
    ///set date in calendar
    sbStartupScript.AppendLine();
    sbStartupScript.Append("$('#" + this.DateControlClientId + "').datepick('setDate', new Date(\n\r\r ");
    sbStartupScript.Append("$('#" + ddlYear.ClientID + "').val(),");
    sbStartupScript.Append("$('#" + ddlMonth.ClientID + "').val()-1,");
    sbStartupScript.Append("$('#" + ddlDay.ClientID + "').val()));");
    sbStartupScript.AppendLine("} );");
    //******************* When calendar changes then reflect it in dropdown
    sbStartupScript.AppendLine("\r\n\r");
    sbStartupScript.AppendLine("function DateSelectedFromCalendar(dates) {");
    if (DisplayControl == DisplayControls.Dropdown)
    sbStartupScript.AppendLine("$('#" + ddlDay.ClientID + "').val(dates.length ? dates[0].getDate() : '');");
    sbStartupScript.AppendLine("$('#" + ddlMonth.ClientID + "').val(dates.length ? dates[0].getMonth() +1 : '');");
    sbStartupScript.AppendLine("$('#" + ddlYear.ClientID + "').val(dates.length ? dates[0].getFullYear() : '');");
    if (!string.IsNullOrEmpty(this.OnClientSelect))
    sbStartupScript.AppendLine(this.OnClientSelect + "();");
    sbStartupScript.AppendLine("}");
    //******************* Validation Script
    sbStartupScript.AppendLine("\r\n\r");
    sbStartupScript.AppendLine("$('form').validate({");
    sbStartupScript.AppendLine("errorPlacement: $.datepick.errorPlacement,");
    sbStartupScript.AppendLine("rules: {");
    sbStartupScript.AppendLine(this.DateControlClientId + ": {");//start of format picker
    sbStartupScript.AppendLine("required: true, dpDate: true}");//end of formate picker
    sbStartupScript.AppendLine("}, ");// end of rules
    sbStartupScript.AppendLine("messages: {");
    sbStartupScript.AppendLine(this.DateControlClientId + ": 'Please enter a valid date (" + this.DateTimeFormat + ")'");
    sbStartupScript.AppendLine("}");// end of messages
    sbStartupScript.AppendLine("});"); //end of validate function
    //******************* close document ready function
    sbStartupScript.AppendLine("} );");
    return sbStartupScript.ToString();
    /// <summary>
    /// Fill day month and year dropdown
    /// </summary>
    private void FillDropdowns()
    //Fill Day Dropdown
    ListItem liDay = new ListItem("Day", "0");
    ddlDay.Items.Add(liDay);
    for (int i = 1; i <= 31; i++)
    ListItem li = new ListItem(i.ToString(), i.ToString());
    ddlDay.Items.Add(li);
    //Fill Month Dropdown
    ListItem liMonth = new ListItem("Month", "0");
    ddlMonth.Items.Add(liMonth);
    string monthName = string.Empty;
    for (int i = 1; i <= 12; i++)
    switch (DisplayMonthType)
    case DisplayMonthTypes.Full:
    monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i);
    break;
    case DisplayMonthTypes.Short:
    monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(i);
    break;
    ListItem li = new ListItem(monthName, i.ToString());
    ddlMonth.Items.Add(li);
    //Fill Year Dropdown
    ListItem liYear = new ListItem("Year", "0");
    ddlYear.Items.Add(liYear);
    string yearDisplay = string.Empty;
    for (int i = MinYear; i <= MaxYear; i++)
    switch (DisplayYearType)
    case DisplayYearTypes.Full:
    yearDisplay = i.ToString();
    break;
    case DisplayYearTypes.Short:
    yearDisplay = i.ToString().Substring(2);
    break;
    ListItem li = new ListItem(yearDisplay, i.ToString());
    ddlYear.Items.Add(li);
    setDropDownValue(this.SelectedValue);
    private void generateDisplayMessage()
    if (this.DisplayMessageLable)
    if (this.DisplayControl == DisplayControls.TextBox)
    lblMsg.Text = this.DateTimeFormat;
    if (this.MinDate != null && this.MinDate.Value != new DateTime())
    lblMsg.Text += " From " + this.MinDate.Value.ToString(this.DateTimeFormat);
    if (this.MaxDate != null && this.MaxDate.Value != new DateTime())
    lblMsg.Text += " To " + this.MaxDate.Value.ToString(this.DateTimeFormat);
    private void setDropDownValue(DateTime? dt)
    if (ddlDay.Items.Count != 0 && ddlMonth.Items.Count != 0 && ddlYear.Items.Count != 0)
    if (dt != null && dt != new DateTime())
    ddlDay.SelectedValue = ddlDay.Items.FindByValue(dt.Value.Day.ToString()).Value;
    ddlMonth.SelectedValue = ddlMonth.Items.FindByValue(dt.Value.Month.ToString()).Value;
    ddlYear.SelectedValue = ddlYear.Items.FindByValue(dt.Value.Year.ToString()).Value;
    else
    ddlDay.SelectedValue = "0";
    ddlMonth.SelectedValue = "0";
    ddlYear.SelectedValue = "0";
    #endregion
    }Usage Of Code in .ascx<cc2:DateTimePicker ID="dtpDOB" DisplayType="Date" DisplayMode="ImageButton" ButtonImage="../Images/calendar.png" runat="server"Changing Value from .cs file dtpDOB.SelectedValue = DateTime.Parse("01/01/2001");It is not reflected in screen

    Hello,
    According to your code, it's an ASP.NET user control problem. Please post in
    ASP.NET forums where more web developers will give you help.
    Thanks for your understanding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to get plain old S-video and Composite out from a MBP?

    Hi,
    this question is about someone's MacBook Pro he newly bought with adapters to get both DVI and Svideo/Composite Out.
    He got Mini DisplayPort to DVI-D converter, and a DVI-I to video converter, that cannot be plugged into a DVI-D port. Apple removed the analog capability of its adapter, that's bad. But what's badder is there doesn't seem to have any Mini DisplayPort to Svideo/Composite adapter, as there was with previous generation machines.
    How can someone easily output analog video from MBP?

    In fact, I recognize that these standards are old, which doesn't mean they're not up-to-date. Similar example, VGA connector is old, but perfectly useful, even in 2009. I recently plugged a 22" LCD with VGA and DVI on the same computer (a bland desktop PC), and there was strictly no difference. Same color depth, same crisp display. Even looking at a corner with a magnifier, nothing was different.
    So, changing standards just for the sake of it doesn't make any sense.
    Agreed that, as a pro, Apple would like me to buy their pro line, but nowhere in the pro line does an easy solution exists for S-Video and composite out. The solution you posted exists, but is unwieldly and not neat at all, if it doesn't break the Mac's connector under its weight. If a manufacturer can do this kind of adapter, Apple can do it better, and make a bigger profit out of it.
    For the adapter you posted, I don't ever buy anything that is not at least Mac+Windows compatible, or at a minimum is open-source, so anyone with programming skills can make something. The manufacturer also doesn't give a clue on how this works. I guess some sort of virtual driver sits in the system as a virtual IEEE1394 port so any program requiring FW can work transparently. Still, incompatible with the OS that most manufacturer ship their new PCs with, poor commercial decision, wether you like the OS or not.
    Adding FW in the MB unibody design wouldn't have cost anout $30. Rather, we're talking about a 25 cents chip, a 25 cents connector, which they would have rounded up to $20 and still, that was present in previous-gen MB. After all, they are indeed selling a matte screen on the MBP 17" for $50 more, despite them removing a single piece of glass which may cost, well, let's be fair, $5 to manufacture? That's dishonest. And capitalistically justified.
    So far, choosing a Mac for one's needs is no easy task: older white MacBooks have the same power as unibodies, excellent connectivity, top notch transfer speeds, BUT are heavier, as not as ecologically friendly nor do they have future-proof RAM standard. The unibodies are sleekier, easily recycled and will be able to be upgraded in the near future BUT is most likely unable to use current devices and have slower transfer speeds.
    For Pro models, the newer ones have great efficiency, much power and flexibility with their dual GPU BUT lost the option of matte screen, although their other pro-oriented monitors still default to matte. Only the 17" has the option. If a pro already finds his 15,4" bulky and with ample reserve power, will he buy the bigger and heavier 17"? Probably not.
    I understand that Apple way of doing business is keeping only what's essential with no unnecessary options (I'm looking at you, Asus, with you at least 10 different versions of you netbook). But this time, not everyone can find what he or she wants in Apple's line of laptops, as opposed to the iPod thing, where virtually any possible preference is covered.

  • Unable to find line break between two lines in attachment file.

    Dear all I will be very great full if someone help me out,
    I am trying to send mail through SMTP server with an attachment of oracle report, but I am unable to find line break between two lines, when I down load the attachment from mail and open attach.txt file by double click on it. Next line starts right after previous line ends, it should starts with new line.
    In order to send an attachment file, I am reading source file line by line and put MIME protocol’s attachment instance, contain of source file is being properly written into target file if I open that attachment on cmd prompt.
    Following code may help you to understand the case.
    Thanks in advance.
    My code is as follows:-
    create or replace procedure bec_file_test
    v_subject varchar2, -- Subject of the email
    v_body varchar2, -- Body of the email
    v_from VARCHAR2 default 'XYZ.com', -- sender mail id
    v_to varchar2 default 'XYZ.com', -- Field To of the email
    v_cc varchar2 default 'XYZ.com' -- cc address
    ) is
    -- variable to hold the smtp server connection
    v_smtp_connection utl_smtp.connection;
    -- variable to hold the smtp host name
    v_smtp_host varchar2(100) default 'mail.bec-group.com';
    -- variable to hold the smtp port
    v_smtp_port number default 25;
    -- composite of {CR}{LF} caridge return and line feed.
    CRLF varchar2(2):=CHR(13)||CHR(10);
    cursor pr_rec is
    select requisition_no,line_no,release_no,a.contract,
    a.project_id,substr(a.activity_seq,1,11)ACT_SEQ,
    substr(a.part_no,1,12)PART_NO,
    substr(a.description,1,32)DESCRIPTION,
    substr(a.Bal_qty,1,8) BAL_QTY,
    substr(a.unit_meas,1,5)UOM,
    a.wanted_receipt_date WAN_REC_DT,
    a.latest_order_date LAT_ORD_DT
    from bec_pr_line_rep a
    where a.Bal_qty>0 and a.header_state not in 'Closed'
    and upper(a.state1) like 'RELEASED' and a.contract not in ('U1ENG','ULENG','U1FND','U2FND')
    and a.buyer_code='70306'
    order by a.part_no;
    begin
    declare
    fHandle UTL_FILE.FILE_TYPE;
    v_msg_line varchar2(2000);
    -- v_buffer varchar2(20000);
    --ALTER SYSTEM SET utl_file_dir = 'D:\Database\temp'
    --COMMENT='Temporary change on Dec 14'
    --SCOPE=SPFILE;
    SELECT name, value
    FROM gv$parameter
    WHERE name = 'utl_file_dir';
    --drop directory my_directory
    --CREATE or replace DIRECTORY my_directory AS 'D:\database\temp';
    --GRANT read,write ON DIRECTORY my_directory TO PUBLIC;
    begin ---writing data into a file.
    fHandle := UTL_FILE.FOPEN('MY_DIRECTORY', 'pending_pr_summry.txt', 'w');
    UTL_FILE.put_line(fHandle, ' Pending PR to process (detail report)');
    UTL_FILE.put_line(fHandle,TO_CHAR(SYSDATE,'MM-DD-YY HH:MI:SS AM'));
    UTL_FILE.put_line(fHandle, '--------------------------------------------------------------------------------------------------------------------------------------------------');
    UTL_FILE.put_line(fHandle, 'Req.no. li Re Site Prj Id Act seq Part no Description Qty UOM want rec dt lat ord dt' );
    UTL_FILE.put_line(fHandle, '--------------------------------------------------------------------------------------------------------------------------------------------------');
    for pr_temp in pr_rec loop
    begin
    v_msg_line:=to_char(rpad(pr_temp.requisition_no,12,' ')||'|'||
    lpad(pr_temp.line_no,3,' ')||'|'||
    lpad(pr_temp.release_no,3,' ')||'|'||
    rpad(pr_temp.contract,7,' ')||'|'||
    lpad(nvl(pr_temp.project_id,' '),7,' ')||'|'||
    lpad(nvl(pr_temp.act_seq,' '),12,' ')||'|'||
    lpad(pr_temp.part_no,12,' ')||'|'||
    rpad(pr_temp.description,35,' ')||'|'||
    lpad(pr_temp.bal_qty,10,' ')||'|'||
    rpad(pr_temp.uom,6,' ')||'|'||
    lpad(pr_temp.wan_rec_dt,14,' ')||'|'||
    lpad(pr_temp.lat_ord_dt,14,' '));
    UTL_FILE.put_line(fHandle,v_msg_line);
    end;
    end loop;
    UTL_FILE.put_line(fHandle, '--------------------------------------------------------------------------------------------------------------------------------------------------');
    UTL_FILE.put_line(fHandle, ' Regards : IFSAPP ( Application owner ) ');
    UTL_FILE.FCLOSE(fHandle); ------------writing into file is successfuly done here!
    --Reading of file starts here containt will be added in attchment file
    fHandle :=UTL_FILE.FOPEN('MY_DIRECTORY','pending_pr_summry.txt','R' );
    -- establish the connection to the smtp server
    v_smtp_connection := utl_smtp.open_connection(v_smtp_host, v_smtp_port); /** OPEN CONNECTION ON THE SERVER **/
    -- perform a handshake with the smtp server
    utl_smtp.helo(v_smtp_connection, v_smtp_host); /** DO THE INITIAL HAND SHAKE **/
    -- set the 'from' address of the message
    utl_smtp.mail(v_smtp_connection, v_from);
    -- add the recipient to the message
    utl_smtp.rcpt(v_smtp_connection, v_to);
    -- send the email
    utl_smtp.open_data(v_smtp_connection);
    v_msg_line:='Date: ' || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' ) || CRLF ||
    'From: ' || v_from || CRLF ||
    'Subject: ' || v_subject || CRLF ||
    'To: ' || v_to || CRLF ||
    'Cc: ' || v_cc || CRLF ||
    'MIME-Version: 1.0'|| CRLF || -- Use MIME mail standard
    'Content-Type: multipart/mixed;'||CRLF ||
    ' boundary="-----SECBOUND"'||CRLF||
    CRLF ||'-------SECBOUND'|| CRLF ||
    'Content-Type: text/plain;'|| CRLF ||
    'Content-Transfer_Encoding: 7bit'|| CRLF ||
    CRLF ||v_body|| CRLF;     -- Message body
    utl_smtp.write_data(v_smtp_connection,v_msg_line);
    v_msg_line:='-------SECBOUND'|| CRLF ||
    'Content-Type: application/octet-stream;'|| CRLF ||
    'Content-Type: text/plain;'|| CRLF ||
    'name="pending_pr_summry.txt"'|| CRLF ||
    'Content-Transfer_Encoding: 8bit'|| CRLF ||
    'Content-Disposition: attachment;'|| CRLF ||
    ' filename="pending_pr_summry.txt"'|| CRLF || CRLF;     -- Content of attachment
    utl_smtp.write_data(v_smtp_connection,v_msg_line);
    -- check file is opened
    IF utl_file.is_open(fHandle) THEN
    -- loop lines in the file
    LOOP
    BEGIN -- Content of attachment
    utl_file.get_line(fHandle,v_msg_line);
    v_msg_line:=concat(v_msg_line,CRLF);
    utl_smtp.write_data(v_smtp_connection,v_msg_line);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    EXIT;
    END;
    END LOOP;
    END IF;
    --end of attachment containt     
    utl_smtp.write_data(v_smtp_connection,v_msg_line);
    UTL_FILE.FCLOSE(fHandle);
    utl_smtp.close_data(v_smtp_connection);
    utl_smtp.quit(v_smtp_connection);
    exception
    when utl_smtp.invalid_operation then
    dbms_output.put_line(' Invalid Operation in Mail attempt using UTL_SMTP.');
    when utl_smtp.transient_error then
    dbms_output.put_line(' Temporary e-mail issue - try again');
    when utl_smtp.permanent_error then
    dbms_output.put_line(' Permanent Error Encountered.');
    when others then
    dbms_output.put_line('Exception: SQLCODE=' || SQLCODE || ' SQLERRM=' || SQLERRM);
    RAISE;
    end;
    end bec_file_test;

    Pending PR to process (detail report)01-17-13 12:43:19 PM--------------------------------------------------------------------------------------------------------------------------------------------------Req.no. li Re Site Prj Id Act seq Part no Description Qty UOM want rec dt lat ord dt--------------------------------------------------------------------------------------------------------------------------------------------------MAT/250370 | 2| 1|ISCSP | 4977| 100004207| 0104000016|Angle 50 X 50 X 6 IS:2062 Grade |500|kg |30-NOV-2012| 20-nov-2012MAT/250370 | 3| 1|ISCSP | 4977| 100004207| 0105000002|Channel 100 X 50 IS:2062 Grade A | 1000|kg | 30-NOV-2012| 20-nov-2012MAT/250579 | 2| 1|NMDCJ | 6001| 100005580| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 2991|kg | 13-DEC-2012| 03-dec-2012MAT/250606 | 2| |NMDCJ | 6002| 100005860| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 4500|kg | 29-DEC-2012| 19-dec-2012MAT/250607 | |1|NMDCJ|6001|100005580| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 1500|kg | 29-DEC-2012| 19-dec-2012MAT/250194 | 3| 1|NMDCJ | 6002| 100005818| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 3939|kg | 29-DEC-2012| 19-dec-2012MAT/250606 | 4| 1|NMDCJ | 6002| 100005860| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 39000|kg | 29-DEC-2012| 19-dec-2012MAT/250607 | 4| 1|NMDCJ | 6001| 100005580| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 17500|kg | 29-DEC-2012| 19-dec-2012MAT/250194 | 2| 1|NMDCJ | 6002| 100005818| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 12183|kg | 29-DEC-2012| 19-dec-2012MAT/250606 | 6| 1|NMDCJ | 6002| 100005860| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 9500|kg | 29-DEC-2012| 19-dec-2012MAT/250607 | 6| 1|NMDCJ | 6001| 100005580| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 4500|kg | 29-DEC-2012| 19-dec-2012MAT/250194 | 6| 1|NMDCJ | 6002| 100005818| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 17500|kg | 29-DEC-2012| 19-dec-2012MAT/250607 | 7| 1|NMDCJ | 6001| 100005580| 0109020008|TMT Bar 32 mm Fe 415 IS:1786 | 22000|kg | 29-DEC-2012| 19-dec-2012MAT/250194 | 7| 1|NMDCJ | 6002| 100005818| 0109020008|TMT Bar 32 mm Fe 415 IS:1786 | 27060|kg | 29-DEC-2012| 19-dec-2012MAT/251138 | 1| 1|NMDCJ | 6002| 100005825| 3501000001|Cement 50 kg | 1|pkt | 25-DEC-2013| 14-dec-2013--------------------------------------------------------------------------------------------------------------------------------------------------
    where as source file is like that:-
    Pending PR to process (detail report)
    01-17-13 12:43:19 PM
    Req.no. li Re Site Prj Id Act seq Part no Description Qty UOM want rec dt lat ord dt
    MAT/250370 | 2| 1|ISCSP | 4977| 100004207| 0104000016|Angle 50 X 50 X 6 IS:2062 Grade | 5500|kg | 30-NOV-2012| 20-nov-2012
    MAT/250370 | 3| 1|ISCSP | 4977| 100004207| 0105000002|Channel 100 X 50 IS:2062 Grade A | 1000|kg | 30-NOV-2012| 20-nov-2012
    MAT/250579 | 2| 1|NMDCJ | 6001| 100005580| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 2991|kg | 13-DEC-2012| 03-dec-2012
    MAT/250606 | 2| 1|NMDCJ | 6002| 100005860| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 4500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250607 | 2| 1|NMDCJ | 6001| 100005580| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 1500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250194 | 3| 1|NMDCJ | 6002| 100005818| 0109020002|TMT Bar 10 mm Fe 415 IS:1786 | 3939|kg | 29-DEC-2012| 19-dec-2012
    MAT/250606 | 4| 1|NMDCJ | 6002| 100005860| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 39000|kg | 29-DEC-2012| 19-dec-2012
    MAT/250607 | 4| 1|NMDCJ | 6001| 100005580| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 17500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250194 | 2| 1|NMDCJ | 6002| 100005818| 0109020004|TMT Bar 16 mm Fe 415 IS:1786 | 12183|kg | 29-DEC-2012| 19-dec-2012
    MAT/250606 | 6| 1|NMDCJ | 6002| 100005860| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 9500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250607 | 6| 1|NMDCJ | 6001| 100005580| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 4500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250194 | 6| 1|NMDCJ | 6002| 100005818| 0109020006|TMT Bar 25 mm Fe 415 IS:1786 | 17500|kg | 29-DEC-2012| 19-dec-2012
    MAT/250607 | 7| 1|NMDCJ | 6001| 100005580| 0109020008|TMT Bar 32 mm Fe 415 IS:1786 | 22000|kg | 29-DEC-2012| 19-dec-2012
    MAT/250194 | 7| 1|NMDCJ | 6002| 100005818| 0109020008|TMT Bar 32 mm Fe 415 IS:1786 | 27060|kg | 29-DEC-2012| 19-dec-2012
    MAT/251138 | 1| 1|NMDCJ | 6002| 100005825| 3501000001|Cement 50 kg | 1 |pkt | 25-DEC-2013| 14-dec-2013
    Ignore alignment. It is well formatted in source file.

  • LE7:Score Layout:Global Format:Maximum Bars per Line - Line Break Bug!

    Hello
    This problem occurs in Logic Express version 7.
    (I am using MacOS version 10.4.2 on an eMac)
    I am currently compiling and editing a large score for a big band composition consisting of 22 parts:
    Flute 1
    Flute 2
    Clarinet 1
    Clarinet 2
    Alto Sax 1
    Alto Sax 2
    Tenor Sax 1
    Tenor Sax 2
    Baritone Sax
    Trombone 1
    Trombone 2
    Trombone 3
    Trombone 4
    Trumpet 1
    Trumpet 2
    Trumpet 3
    Trumpet 4
    Guitar
    Keyboard
    Electric Bass
    Percussion 1 (Kit)
    Percussion 2 (Aux)
    I am creating the score in a separate file, and I am combining parts into 1 stave each by instrument like this:
    Flute 1 & 2
    Clarinet 1 & 2
    Alto Sax 1 & 2
    Tenor Sax 1 & 2
    Baritone Sax
    Trombone 1 - 4
    Trumpet 1 - 4
    Guitar
    Keyboard (2 staves)
    Bass
    Percussion
    Each instrument, with the exception of keyboard which has 2 staves, consists of one stave, making up systems of twelve staves each. By sizing down each score style to 2,
    I have managed to fit 2 systems onto each page, therefore significantly reducing the amount of paper needed.
    The problem comes when organising the layout of my score,
    in particular, the line breaks. Using layout:global format, I have limited the maximum number of bars per line to 8, both in the page edit and normal score mode.
    I am trying to divide up my score so that there are 8 bars per system. Using the white arrow tool, I am dragging bars up and down in order to achieve this.
    However, when I get 30 odd bars in, I discover a system with 12 bars crammed into it - and even printing it off, it is clear that the system could benefit with less bars; the notation is squashed up together and not very easy to read.
    THIS IS THE ACTUAL PROBLEM:
    So I tried using the white arrow to move the last 4 bars down onto the next system, and a bug occurs where I end up with about 20 bars on the system, oddly distorted, the first few bars of which are squashed up together at the beginning of the line, and the last bar of which is stretched far off the right hand side of the page out of view. Then the next 20 or so bars are no where to be seen (probably far off the right hand side of the page) before the system below.
    If you dont know what I am talking about, I could provide a screenshot if you request.
    I have tried everything to get 8 bars on that particular system; dragging the stretched bar downwards, dragging squashed bars downward, moving bars down 1 by 1, moving bars onto the system above, moving bars away from the system below (to make room for the 4 bars that I want to move from above), adding more bars and dragging them down, but none of these methods have worked. I am either stuck with 12 bars crammed onto one system and 4 bars on the next or an oddly distorted version of the system which cannot possibly be read. Even when I settle with the unsatistactory former, I encounter further problems on subsequent systems below, some systems of which are already distorted.
    All I want is to have 8 bars per system, it should not be too much to ask! The layout:global format:maximum-bars-per-line calculation seems to be redundant, even when I reset the default line breaks - it just does not automatically set 8 bars per line, which it should do. Is there not an option to determine bars individually by number onto their respective lines, without having to use the white arrow graphic layout tool?
    The problem is extremely frustrating, and it is preventing me from completing, presenting and handing in a score for my university music composition.
    I have no other score producing software, and starting it
    from scratch on paper is going to take me weeks, because it consists of 830 12/8 bars in 22 parts, and I need to get it ready by next term!
    Any help would be extremely helpful and much appreciated, especially a patch or a useful way round. It could be related to memory, or hard drive space, as I have experienced similar problems in the past, where my score has been stretched off the page during a time when I have had little disk space...and this is a very large piece of music which might stretch the score capabilities of Logic.
    If so, has anyone got any suggestions?
    Thanks!
    Rory
    eMac   Mac OS X (10.4.2)  
    eMac   Mac OS X (10.4.2)  

    nope just cutting should work.
    here are some things to try:
    1. try assigning a different score style. for the regions. duplicate and then adjust the default ones if necessary.
    2. try creating a new instrument set. in fact delete them and make a new one (use the key command: create instrument set from selected)
    3. it may be a formatting problem so check:
    in global layout constant spacing (try 8 or 9) and proportional spacing (try 45 or so). then try factory defaults.
    4. try copying and pasting the midi into a brand new region and looking at the score for that.
    5. try fiddling with the layout tool drqagging bars up or down.
    normally simply cutting the region of just one object is enough to force a redraw. maybe try it on all of the regions. what happens when you double click on a region?

  • A more successful experiment in creating compositable user interfaces for Config Dialogs

    A couple weeks ago I posted an experiment in creating compositable user interfaces using transparent subpanels. The approach might best be described as, "It at least was notable for being novel."
    Today, I'm posting another attempt, this one along more traditional lines, and far more successful. Particularly notable: this one can do all the arbitrary composition of the last one AND it solves the TAB order problem.
    This solution uses a picture control and renders N copies of a control. When the user tabs to a control or moves the mouse over the control, a real control slides into that position to be able to catch the events (update mouse over draw state, highlight for keyboard focus, handle typing, etc). When the Value Change occurs, a master array of data is updated and the picture control is updated.
    This is something that has been attempted in various forms in the past, but there are two aspects of this particular implementation that make it nice:
    its programmatic interface for specifying the behavior of the various objects should make it fairly easy for a user of the framework to programmatically generate their dialogs
    it handles the TAB problem without flickering, something I haven't seen in other attemps
    This idea spawns out of conversation about the previous experiment -- thanks to those of you who posted on various forums, e-mailed me, or, in a couple cases, showed up at my desk. That last one is not something I'm encouraging unless you work at NI... just saying. :-)
    Now, this experiement has already yeilded some interesting conversation. We note that as long as controls are instantiated independent of each other -- that is, no property of one control depends upon the property of another control -- this dialog system scales nicely. But in this experiment, I implemented Radio Buttons, which interact with each other -- when one is set True, the others go False. As soon as controls start interacting with each other (such as graying out one control when a checkbox is toggled, or having expandable sections, or really complex cases like updating a graph as some options change, like happens in some Express VI config dialogs) then we start needing ways to refer to the other controls. This rapidly moves us in one of two directions: naming controls or creating references. The naming approach is definitely my preference as it fits better with dataflow and I can do some interesting effects with breaking apart some of the tree. But all of this quickly starts sounding like "Please implement a XAML parser in LabVIEW." For those of you unfamiliar with XAML, in the world of UI design, it might very well be the coolest thing since sliced bread. A XAML string would indeed fit with dataflow, and we could start building that up. I hesitate to head down this road for two reasons. One, as many have noted, there's really not a good XML parsing library written in LabVIEW that can give me a useful DOM tree. Two, that's a huge project and my gut sense is that you'd have to complete a fairly large chunk of it before you'd start seeing any return on investment. But it is worth thinking about -- I might be wrong. Wouldn't be the first time. This code that I've posted today can at least get you started on the generation side if one of you decides to become industrious.
    I'm turning my attention away from this project for now... coding in G is lots of fun, and I wish I could spend more days doing it, but this has been a side project and it's time to get back to my assigned projects in text programming. Building a powerful platform for automatic UI generation in LabVIEW would be really useful -- I see lots of requests for this sort of thing, and other languages are pulling ahead of us in this domain.
    [UPDATE 5/17/2012 - There is an improved version.]
    Solved!
    Go to Solution.
    Attachments:
    ConfighThroughCtrlCreation.zip ‏558 KB

    Elijah K wrote:
    Thanks for posting this Aristos.  I would normally be one of those to go bug you at your desk, but in case I'm not the only one with this question... which particular flickering problem are you referring to?  The act of switching tabs?  In all honesty, I've never noticed...
    When you move controls around on the screen, normally you try to Defer Panel Updates while you do that. But Defer Panel Updates has an effect on control's abilities to catch certain mouse clicks, so when you're trying to move a control to catch the mouse, you have to work a lot without Defer Panel Updates, so if you're adjusting captions, etc, to match the new location, you can see flicker as properties adjust. You can move the control off-screen, as long as you have already updated the picture control to reflect the changes. It took a while to catch all the ways that the flickering can crop up. I think I got 'em all.
    Attached are the VIs saved for LV 2009. Actually, they're saved for LV 8.6, but it doesn't work in 8.6 because of a bug in the picture control that existed back then.
    Attachments:
    ComposableUI_LV2009.zip ‏391 KB

  • The editable rectangles of my still photos in the composition panel suddenly stopped showing up.

    Hi There, Adobe Community!
    I am relatively new to After Effects CC and am using it to create a stop motion film with a large amount of photos.
    Usually, when importing the individual images into my composition panel, a sequence of editable rectangles appears in the compostition panel allowing me to edit the frame length of the still photos.
    After around 950 imported images, the little rectangles suddenly stopped showing up. But when looking at a preview of the project, it's as if the photos are in there, in the sequence they should be. I'm just unable to edit them like the previous ones with recangles showing.
    I probably am not describing this too well, so here is a screen shot which hopefully makes my problem somewhat more clear. The area of issue is where you see the descending sequence of boxes in the comp panel. The red tracking bar is there to show that there are still photos continuing the sequence, I just can't see the boxes for em..
    thank you so much for any help in the matter!

    So I guess you are talking about the layers in the timeline go missing, not the handles in the Comp Window.
    I think you have run into a display bug. Try selecting the top hundred or so layers and pre-compose them. If the missing layers appear then that's the problem. I have had it happen a couple of times before in previous versions of AE..
    Here's a workflow hint for you, break your comps up into short sequences instead of trying to do a 4 or 5 minute piece with 900 layers in a single comp. You'll find editing and changing a lot easier.
    I would also pre-mix your music. AE is a really terrible music mixer....

  • How to? change to different paragraph style only after column/frame break

    I'm all over paragraph styles and next styles option, all good, sweet. Love em but...
    But when I'm flowing in a long document with multiple text frames on different pages I would like the first paragraph in each of those text frames to be paragraphy style A, then using next styles let it follow on through B, C, etc, till then next time it see's a column/page/frame break character then go back to heading style A.
    I can't find a way to do this for love nor money.
    I've used objecy styles with paragraphy styles and next style turned on but this only seams to work on the first text box not the remaining text boxes that have flowed on text.
    HELP!!!!

    Eugene Tyson wrote:
    For Paragraph Style A go to the Keep Options in the style, and select to Start on Next Page or Next Column or Next Frame - whichever suits.
    Then it automagically does it
    If the content being flowed-in is correctly tagged with style names, then this would work.
    However, I believe the OP wants any paragraph that follows a flow break to be tagged with a specific style. If this is correct, either a script or a plug-in is probably necessary. in-tools.com has some terrific commercial composition tool products; perhaps one can do at least the first step - assigning a style to a paragraph that follows a break.
    In InDesign, assigning specific styles to the subsequent paragraphs based on the Next Style property, requires selecting the paragraphs to be assigned. I'm not sure if there's a plug-in or script that can use the break to trigger the Apply Next Style feature.
    Then, of course, is the question of how should this automation work if editing causes text to reflow across breaks. It's possible this could become the "yo-yo" effect that happens when more consecutive paragraphs than can fit in a text container are tagged with the keep options next and previous.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices
    Message was edited by: peter at knowhowpro

  • Will Apps play on TV with  composite A/V cable?

    I need help. I am a music teacher and have downloaded some great Christmas apps. onto my TOuch I want to show them on a tv or an LCD projector. I have a composite cable and have everything hooked up, but I can't get a signal on my projector. When I hook it to my tv, I get sound, but no video from the app. What am I doing wrong? I am running out of time before Christmas break to show my kids some great stuff. HELP! Kelly

    Right now only the videos & youtube app are the only ones that have video out with the cable.

  • "Break out" black and pms for prepress?

    Help please?
    I am working in Illustrator CS4, and finished a 2-sided mailer/postcard for a client in cmyk. After emailing the final PDF to the client, the client responded back to me with their print provider's request for— "native file, with black and PMS broken out". 
    First—the file was set up as CMYK, so I am asuming it was partly a lazy reponse/request? (not realizing it was set up as CMYK).
    Second—I typically I send files to commercial print providers as a PDF (Press Quality or PDF/X:1a)—is this not sufficient for them—and why?
    I appreciate any insight on this for my own edification, and I'd like to know if they asked for this beacuse they don't have certain "break out" capabilities on their end? ...OR if it's because PDF's do not provide them with editability (which I thought they did)?
    Lastly, I would specifically like to know what steps I should take to prepare CMYK colors "broken out".  (Step by step please?)
    Thank you VERY much in advance.
    Chemol

    Jet,
    Thanks for your feedback.
    Given that this "separations request" came from the print sales rep—versus the prepress department, I am inclined to think it was "partly a lazy reponse/request (not realizing it was set up as CMYK)."  ....as I stated in my initial posting. Hence, this whole discussion could be moot.
    That said, I do have the Adobe Print Publishing Guide, but not much insight on file separations/what to actually look for. Also, the book does not suggest "separations" for print vendor file prep procedure—just save as PDF/X-1 or PDF/x-3.
    I have tried to research this topic and I am not finding much on "real world" reasoning or situational application—ie: why some print vendors ask for it, while others do not. When is it expected, what is good practice? Are separations for PMS only? Situationally speaking—would a designer actually send a file to a printer broken down/separated by colour—translating a 2 spot colour, 2 sided card (2 pages) into 4 pages—one page per colour? Is that done in the native program ie: illustrator, or is there a SAVE feature that breaks it out for you? questions, questions......
    Yes I have Acrobat Pro and have viewed it already via that method, though I am not sure what I am supposed to gain by it, it or look for specifically?
    Yes, I also have a colour laser printer—I printed the separations (Host Based) instead of Composite—all 4 sheets came out in various degrees of black (similar to viewing an image via individual Channels in Photoshop). Again, not sure what I need to look for here, beyond the cool effect of an infrared appearance. ??
    Yes, I stated in my original message that I was using Ilustrator CS4.
    2-sided postcard:
    I know not to use a "multicolour black" for text, and as I mentioned in my first response to you colour question:
    1 background black (C50, M40, Y40, K100)
    black text ink (K100)
    There are no spot colours, and the commerical printer is a highly reputable large printing company.
    Good suggestion about uploading it for evaluation, and perhaps I will look for a site like that.
    Thx.

  • Stopping user compare when saving composite roles in 4.6c basis pack 25?

    One of the environments I look after is a 4.6c system with basis pack 25 – they can’t upgrade as it breaks a great deal of very heavy customisation in that system.
    We have encountered an issue with the saving of composite roles in that system - when a role is saved we must sit through a very long period of “user distribution in role XXX” while the system performs a user compare of every singular role in that composite role.  This is very painful as it can take nearly half an hour simply to save the composite role – we then need to rebuild the menu and compress it (we use the composite role’s menu structure).  The odd thing is that this behaviour wasn’t apparent for many years – it suddenly started happening about 2-3 years ago to a previous administrator but he wasn’t aware of any changes going through, it just began to force these lengthy compares on him when saving composites.
    I’ve tried in vain to disable this forced compare on every save – I’ve tried the PRGN_CUST modifications including adding the lines “AUTO_USERCOMPARE” with a value of “NO” and “USRCOMPARE_PFUD” with a value of “YES” to try and stop the profile generator from doing this but to no avail.  Unless these settings need a restart of the system to take effect (do they?) I’m at a loss to find any other options.
    The menu setting in the profile generator of “automatic user master adjustment when saving role” is switched off – though setting “auto_usercompare” seems to have broken the ability to bring up the “settings: role maintenance” dialogue box anyway.
    We have a very large number of roles to modify and would be grateful if anyone could offer any advice here.
    Thanks
    DT

    the problem with your issue is that none of use can reproduce that phenomenon, since none of use has that combination of primal release/support package level at hand any longer (at least i think so). so there's only two options left to you:
    first: update this special application until the problem goes away - do so by adding note after note on the very subject, like the one i mentioned plus [905924|https://websmp130.sap-ag.de/sap(bD1kZSZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=905924&nlang=EN&smpsrv=https%3a%2f%2fwebsmp107%2esap-ag%2ede] plus [662484|https://websmp130.sap-ag.de/sap(bD1kZSZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=662484&nlang=EN&smpsrv=https%3a%2f%2fwebsmp107%2esap-ag%2ede] and stop only when you hit one that is not implementable using SNOTE but only by implementing a support-package -> this will obviously be the point where you're stuck then.
    (and yes - for the sake of rob burbank: there are several other ways to implement corrections aside from SNOTE).
    second: open a call with SAP. mind you, this might become a lenghty one since they will also give you note after note ...
    as i said, i'm pretty sure no one in here can help you doing a proper analysis anymore (but maybe i'm wrong).
    anyone - any other (better) suggestions?

  • Question regarding Composite granularity in SOA Suite

    I have a question about service granularity in a SOA Suite composite. In your experience, what is the best way to implement an Enterprise Business Service in SOA Suite?
    Say I have a service interface/wsdl that looks something like:
    Customer
    + getCustomer
    + createCustomer
    + updateCustomer
    + .....
    Would the operations on the service be best implemented as BPEL processes each living in their own composite, or as multiple processes in one composite with a mediator(based on the ebs wsdl) in front of them? I'm also using OSB, so I could do the routing there to each of the separate composites if I break up the operations into a composite for each. But that seems like the amount of composites would become unmaintainably high.
    If I use the mediator to expose the ebs wsdl, then I would just use OSB for virtualization, throttling, etc.
    Not too sure which way to go with this design, but any experienced input is appreciated. I did notice that AIA implements each operation as a separate composite.
    Thanks.

    As per the AIA architecture we should use Mediator in EBS layer, because of below reasons.
    1. OSB is not part of SOA until 11g,
    2. You have to re write the code for exposing EBS in OSB Layer, thats a huge work.
    Both Mediator and OSB does the same thing, ofcouse there are some differences
    As per your design if you use OSB for virtualization, that is fine, but you will be having one more layer of virtualization before it hits the actual composites, which will definately hit the performance, extra care we need take for OSB layer.
    In my current project, we tried both the approach that you wanted to try.
    Approach 1 : Exposing EBS in OSB Layer.
    Tried rewriting the EBS wsdl because the port information will not be available by default, without that we will not be able to create proxy services in OSB.
    Then for how many wsdl files you will rewrite the code, then you need to update the MDS as well with those.
    Did a small POC and then decided to go with as is. Probably we will have OSB layer in AIA 12 g
    Approach 2 : We are using OSB wrapper for thirdparty web services and adapter services not the provider abcs services. I feel this is overhead.
    Thanks,
    Vijay

  • Composite with dependency not working after soa server restart

    Hello,
    I have composite application that invokes another composite application. After deploying those work fine. But after restarting soa server the one having dependency does not work any more. To soa server log I get following:
    <Jul 1, 2010 11:45:29 AM EEST> <Error> <oracle.integration.platform> <SOA-20003> <Unable to register service.
    oracle.fabric.common.FabricException: Error in getting XML input stream: http://Yacico:8001/soa-infra/services/default/validationForCC/getStatusByCC?WSDL: Response: '503: Service Unavailable' for url: 'http://Yacico:8001/soa-infra/services/default/validationForCC/getStatusByCC?WSDL'
    at oracle.fabric.common.metadata.MetadataManagerImpl.getInputStreamFromAbsoluteURL(MetadataManagerImpl.java:276)
    Caused By: java.io.FileNotFoundException: Response: '503: Service Unavailable' for url: 'http://Yacico:8001/soa-infra/services/default/validationForCC/getStatusByCC?WSDL'
    <Jul 1, 2010 11:45:30 AM EEST> <Error> <oracle.integration.platform> <SOA-20020> <Deployment of composite "POProcessing" failed: Unable to find a WSDL that has a definition for service {http://oracle.com/sca/soapservice/POProcessing/POProcessing/receivePO}receivePO and port execute_pt. Please make sure that the port attribute for the binding defined in the composite file is correct by checking the namespace, service name, and port name. In addition, check that the WSDL associated with the binding namespace is imported and currently reachable (check the import nodes at the top of the composite file). Finally, validate the HTTP proxy settings for the server..>
    So POProcessing does not work any more after server restart. validationForCC works fine also after server restart. Url http://...validationForCC/getStatusByCC?WSDL points to wsdl file and is visible by browser.
    I use soa suite 11g patch set 2 (11.1.1.3) running on redhat enterprise linux 5.
    Any idea what is the problem?
    Is it somehow possible to configure which composites are started first during server startup?
    regards, Matti
    Edited by: user10197965 on Jul 1, 2010 2:28 AM

    Yes, I did that. I'm not all that happy about this as a solution either, but it's better than making multiple copies.
    We have since found out that his is a known bug and that it is fixed in some, but not all, deployments.
    -------- see below -------------
    Composites With WSDL Dependencies Fail To Deploy Following SOA Server Restart [ID 1272070.1]          
    Modified:Jul 19, 2012 Type:PROBLEM Status:MODERATED Priority:3                         
    In this Document
         Symptoms
         Cause
         Solution
         References
    This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
    Applies to:
    Oracle SOA Platform - Version 11.1.1.3.0 and later
    Information in this document applies to any platform.
    Symptoms
    A SOA Project has an external reference to a Web Service or a reference to another Composite.
    When the SOA Server is started, the Composite is trying to access the WSDL of it's referenced Web Service in order to load data structures. If SOA can not find the WSDL then the Composite fails to load/deploy.
    Once this happens the Composite can not be started, or shutdown, from Enterprise Manager Fusion Middleware Control Application.
    Related Error Messages:
    [ERROR] [SOA-20020] ... Unable to find a WSDL that has a definition for service ... Please make sure that the port attribute for the binding defined in the composite file is correct by checking the namespace, service name, and port name. In addition, check that the WSDL associated with the binding namespace is imported and currently reachable (check the import nodes at the top of the composite file). Finally, validate the HTTP proxy settings for the server.]
    javax.wsdl.WSDLException: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds
    Cause
    When SOA Server is restarting the Composite can not access the WSDL of it's referenced Web Service (it is not available).
    In the first scenario there are two Composites on the same server: CompositeA and CompositeB.
    In SOA Suite 11g there is no possibility to specify the load order for the composites. If CompositeA references CompositeB and if CompositeA is firstly loaded then it can not access the WSDL from CompositeB and the issue occurs.
    In the second situation there is one Composite on the server (CompositeA) which references an external WebService (ExternalWS). If the ExternalWS is not available when the SOA Server is starting then this issue occurs.
    Solution
    Solution 1
    Redeploy the affected Composite into the SOA Server.
    You can do that but it is not advisable in a production environment and in a development environment it will take a lot of time to redeploy the composite manually
    Solution 2
    Copy the abstract WSDL locally into the project.
    This is documented in these articles in our Knowledge base:
    •     Document:1155033.1 Node Restart Cause Composites To Become Unavailable. Response: '503: Service Unavailable'
    •     Document:1151973.1 Boot Order Of The Composites Upon Soa Suite Restart
    Steps:
    o     a. Copy and use the WSDL file in the Project
    o     b. Edit the WebService Adapter
    o     c. Change the "WSDL URL" to point to the WSDL copied into the project
    o     d. Redeploy the Project
    o     e. Make this configuration with all the Projects that have a references with other Web Services
    Solution 3
    Use shared artifacts in Metadata Service (MDS). A WSDL used by more than one composite is a shared artifact per definition. If the WSDL structure is changed (that is not happening frequently in a production environment), you will normally deploy a composite with a new version because overwriting it will break your production environment. Moreover, in a development environment you will need a proper process in place where different developers access the same artifacts within MDS. In addition, when you use external WSDLs (owned by third parties), you will have a proper process/agreement in place to be notified about modifications affecting your applications.
    1.     In order to use shared artifacts a MDS connection must be configured in jDeveloper:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/sca_lifecycle.htm#SOASE85488
    2.     Deploy the shared artifacts:
    o     a. Create a JAR profile and include the artifacts to share
    o     b. Create a SOA bundle that includes the JAR profile
    o     c. Deploy the SOA bundle to the application server
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/sca_lifecycle.htm#SOASE85472
    If the shared artifacts (WSDLs) needed are from other composites this step can be skipped
    3.     Create a new WebService
    o     a. When completing the "WSDL URL" click on "Find existing WSDL's"
    o     b. Select "Resource Palette"
    o     c. Go to the SOA-MDS
    o     d. Select a WSDL from a Composite or the one deployed at step 2.
    Known Restriction 1
    The port and the location for the WSDL reference is not completed automatically by jDeveloper in the composite.xml file. This information must be inserted manually. In Bug:10287325 is raised this issue and it is available for SOA 11gPS2+.
    Known Restriction 2
    Another issue regarding MDS caching is raised in Bug:10218147 - the MDS cache is not refreshed when an artifact is deployed or deleted.
    In order to refresh this cache the server must be restarted. This Bug resolves the issue but in a production environment the server restart will be the preferred option. The reason for that is because in a production environment you never deploy single composites under the same version after artifacts (WSDLs) have been modified.
    The fix for the Bug:10218147 can be an acceptable solution in development environment where redeployment would be quicker than restarting the server.
    Bug:10218147 is available for SOA 11gPS2+.
    To find out more information about how to use Shared Metadata check the following documentation:
    Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite 11g
    41 Deploying SOA Composite Applications
    41.7.3 Deploying and Using Shared Metadata Across SOA Composite Applications in Oracle JDeveloper
    URL:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/sca_lifecycle.htm#CACFEAJJ
    Solution 4
    The last solution is to use an UDDI (Universal Description Discovery and Integration).
    Oracle recommends Oracle Service Registry 11g (OSR). The advantage is that you can use OSR and SOA Suite in a Shared WebLogic Domain.
    http://www.oracle.com/technetwork/middleware/registry/overview/index.html
    http://blogs.oracle.com/governance/2010/05/oracle_service_registry_11gr1.html
    To find out more information about Oracle Service Registry check the following documentation:
    Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite 11g
    33 Configuring Service and Reference Binding Components
    33.1.3 Changing the Endpoint Reference and Service Key for Oracle Service Registry Integration
    http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10226/bc_config.htm#SOAAG37248
    Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite 11g
    A BPEL Process Activities and Services
    A.4 Publishing and Browsing the Oracle Service Registry
    http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10224/bp_appx_ref.htm#SOASE85561
    Oracle Fusion Middleware Service Registry 11g
    http://download.oracle.com/otndocs/tech/soa/OSR11gR1ProductDocumentation.pdf
    Solution 5
    In case you have BPM Components in the Composites deployed check the following note:
    Document 1317803.1 Soa Suite Composite Fails To Deploy Upon Restart Of Managed Server
    The issue is caused by the Bug:11822470 SOA SUITE COMPOSITE FAILS TO DEPLOY UPON RESTART OF MANAGED SERVER
    References
    BUG:10218147 - WSDL CHANGES NEED SOA SUITE SERVER RESTART
    BUG:10278478 - WHEN SOA SERVER IS RESTARTED, SOME SOA COMPOSITES COULD NOT LOAD/BE DEPLOYED
    BUG:10287325 - ABSTRACT WSDL NOT AVAILABLE WHEN COMPOSITE STARTED
    BUG:10311698 - WHEN SOA SERVER IS RESTARTED, SOME SOA COMPOSITES CAN NOT BE STARTUP / SHUTDOWN
    BUG:11822470 - SOA SUITE COMPOSITE FAILS TO DEPLOY UPON RESTART OF MANAGED SERVER
    @ BUG:9267312 - MDS ARTIFACTS ARE STILL CACHED AFTER DELETING
    @ BUG:9708488 - AFTER SOA RESTART, ALL PROCESSES HAVE TO BE REDEPLOYED
    @ BUG:9749845 - SCHEMA CACHE STARTS EMPTY AFTER RE-START, BUT NOT AFTER DEPLOYMENT
    NOTE:1151973.1 - Boot Order Of The Composites Upon Soa Suite Restart
    NOTE:1155033.1 - Node Restart Cause Composites To Become Unavailable. Response: '503: Service Unavailable'
    NOTE:1317803.1 - Soa Suite Composite Fails To Deploy Upon Restart Of Managed Server
    Bug 11822470 : SOA SUITE COMPOSITE FAILS TO DEPLOY UPON RESTART OF MANAGED SERVER                    
                   Bug Attributes     
    Type     B - Defect     Fixed in Product Version     11.1.1.6
    Severity     2 - Severe Loss of Service     Product Version     11.1.1.4
    Status     80 - Development to QA/Fix Delivered Internal     Platform     912 - Microsoft Windows (32-bit)
    Created     Mar 1, 2011     Platform Version     2003
    Updated     Oct 12, 2012     Base Bug     N/A
    Database Version     N/A     Affects Platforms     Generic
    Product Source     Oracle          
    Abstract: SOA SUITE COMPOSITE FAILS TO DEPLOY UPON RESTART OF MANAGED SERVER
    *** 03/01/11 08:07 am ***
    Customer has a project consists of two services for interaction with the
    process and one reference to an external service.
    On deployment of the process to an Enterprise Environment, the process works
    as expected. However, upon a restart of the managed server, the process will
    then fail to deploy.
    Workaround used is to redeploy the project again.
    Bug 10278478 : WHEN SOA SERVER IS RESTARTED, SOME SOA COMPOSITES COULD NOT LOAD/BE DEPLOYED                    
                   Bug Attributes     
    Type     B - Defect     Fixed in Product Version     
    Severity     2 - Severe Loss of Service     Product Version     11.1.1.3.0
    Status     92 - Closed, Not a Bug     Platform     226 - Linux x86-64
    Created     Nov 10, 2010     Platform Version     RED HAT ENTERPRISE LINUX 5
    Updated     Dec 10, 2010     Base Bug     N/A
    Database Version     N/A     Affects Platforms     Generic
    Product Source     Oracle          
    Abstract: WHEN SOA SERVER IS RESTARTED, SOME SOA COMPOSITES COULD NOT LOAD/BE DEPLOYED
    Detailed Problem Description
    ====================
    When a SOA composite get dependencies with other SOA composites located on the same server, if the dependency is still not loaded, the SOA composite will not be loaded, and there is no possibilities for Entreprise Manager console to restart it (EM crash). The only way to make it working is to redeployed the SOA composite from jDeveloper that is not acceptable in a production environment.
    The composite that has the issue cannot be start-up or shut-down, although the Enterprise Manager do not show any errors with it.

  • Bulleted list, type breaking to next line

    I'm working in ID CS3. I set up a nested style sheet for a bulleted list. However, the type is breaking too soon--there is still space on the line for more text, but it is breaking it. When I backspace the type trying to bring it up, it will do it, but when I add a word space back in, it jumps down to the next line.
    It is not doing this with other styles I have set up. I tried changing the style to Adobe Single-line composer, but that didn't help.
    (p.s. I'm a long-time Quark user who has been migrating over to InDesign)

    Welcome to the paragraph composer. InDesign's text composition engine is
    far more advanced than XPress'. It looks at the entire paragraph.
    You can turn it off, but I don't advise it. Instead, if you need words
    to stay together, use a no break attribute (create a character style for
    it).
    You say it's off, but there's no way it would be acting that way if it
    were. Look in the paragraph panel and the paragraph styles.
    Bob

  • Could uninstalling 'nvidia' package break X?

    For some reason or another, I skipped the install of the "nvidia" specific driver. I basically forgot to copy my xorg.conf to /etc/X11, but in the process, I uninstalled the nvidia software and I couldn't boot into X. I believe some of the messages were "can't load vesa" and "can't load fbdev" modules. basically I installed by "pacman -S xorg". It worked untill I uninstalled Nvidia driver (because I installed this first before copying over xorg.conf from /root. At this point I figured maybe it was something where I had to reboot for it to work. At that point, I got a ram fs shell! My question is, is there certain things that can / cannot break X? Thanks for any suggestions.

    ok, here is my xorg.conf:
    # nvidia-xconfig: X configuration file generated by nvidia-xconfig
    # nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Dec 13 18:55:42 PST 2007
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen1" RightOf "Screen0"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    RgbPath "/usr/share/X11/rgb"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "extmod"
    Load "glx"
    Load "dbe"
    Load "xtrap"
    Load "record"
    Load "freetype"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    #DisplaySize 520 320 # mm
    ### Comment all HorizSync and VertRefresh values to use DDC:
    Identifier "Monitor0"
    VendorName "WDE"
    ModelName "L2410NM"
    HorizSync 30.0 - 80.0
    VertRefresh 56.0 - 75.0
    Option "DPMS"
    EndSection
    Section "Monitor"
    Identifier "Monitor1"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "SWcursor" # [<bool>]
    #Option "HWcursor" # [<bool>]
    #Option "NoAccel" # [<bool>]
    #Option "ShadowFB" # [<bool>]
    #Option "UseFBDev" # [<bool>]
    #Option "Rotate" # [<str>]
    #Option "VideoKey" # <i>
    #Option "FlatPanel" # [<bool>]
    #Option "FPDither" # [<bool>]
    #Option "CrtcNumber" # <i>
    #Option "FPScale" # [<bool>]
    #Option "FPTweak" # <i>
    #Option "DualHead" # [<bool>]
    Identifier "Card0"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "G71 [GeForce 7300 GS]"
    BusID "PCI:3:0:0"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "SWcursor" # [<bool>]
    #Option "HWcursor" # [<bool>]
    #Option "NoAccel" # [<bool>]
    #Option "ShadowFB" # [<bool>]
    #Option "UseFBDev" # [<bool>]
    #Option "Rotate" # [<str>]
    #Option "VideoKey" # <i>
    #Option "FlatPanel" # [<bool>]
    #Option "FPDither" # [<bool>]
    #Option "CrtcNumber" # <i>
    #Option "FPScale" # [<bool>]
    #Option "FPTweak" # <i>
    #Option "DualHead" # [<bool>]
    Option "RenderAccel" "true"
    Option "NoLogo" "true"
    Option "AGPFastWrite" "true"
    Option "EnablePageFlip" "true"
    Identifier "Card1"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "C51 [Quadro NVS 210S/GeForce 6150LE]"
    BusID "PCI:0:5:0"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "AddARGBGLXVisuals" "True"
    SubSection "Display"
    Viewport 0 0
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    Modes "1920x1200" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1920x1200" "1024x768" "800x600" "640x480"
    EndSubSection
    EndSection
    Section "Screen"
    Identifier "Screen1"
    Device "Card1"
    Monitor "Monitor1"
    Option "AddARGBGLXVisuals" "True"
    SubSection "Display"
    Viewport 0 0
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    Section "Extensions"
    Option "Composite" "Enable"
    EndSection

Maybe you are looking for