Pre-insert in adf

doDml insert between 4 entity
hi i have the following 4 tables
parties(id,ccode,facilityname)
part_address(id,prop_id,par_id,addressLine1,addressline2,addressline3,addressline4)
parties.id = part_address.par_id
property(id,address_line,war_id)
property.id = part_address.prop_id
ward(id,erf_no,zone)
property.war_id = ward.id
i what to insert a record in property table at the same time link the new prop id to new select party_address prop_id which is curretly link to currently selected parties.i also what to create new ward id when am creating new property, and put that new wardid in property war_id and also at the same time create party_address(addressLine1,addressline2,addressline3,addressline4) which is link to new prop.id
i try to do the following
my doDml method is
public class SmsPropertiesImpl extends EntityImpl {
    public DBSequence getId() {
        return (DBSequence)getAttributeInternal(ID);
     protected void doDML(int operation, TransactionEvent e) {
         super.doDML(operation, e);
         // insert
         if (operation == 1)  {
             EntityDefImpl SmsPartyAddressDef = SmsPartyAddressImpl.getDefinitionObject();
             SmsPartyAddressImpl newSmsPartyAddress = (SmsPartyAddressImpl)SmsPartyAddressDef.createInstance2(getDBTransaction(), null);
            // newSmsPartyAddress.setAddressLine1("Default in " + this.getAddressLine());
             newSmsPartyAddress.setAddressLine1(this.getADDRESS_LINE1());
             newSmsPartyAddress.setAddressLine2(this.getADDRESS_LINE2());
             newSmsPartyAddress.setAddressLine3(this.getADDRESS_LINE3());
             newSmsPartyAddress.setAddressLine4(this.getADDRESS_LINE4());
             newSmsPartyAddress.setPropId(this.getId().getSequenceNumber());
}i try to create this method in my partyaddres imp class but am geting the error about the string string object cannot invoke the string
public class SmsPartyAddressImpl extends EntityImpl {
    public DBSequence getId() {
        return (DBSequence)getAttributeInternal(ID);
  //this working  public static Key createPrimaryKey(DBSequence id,Number PropId) {
        return new Key(new Object[]{id,PropId});
// this not working
public String newPostal(String ADDRESSLINE1,String ADDRESSLINE2,String ADDRESSLINE3,String ADDRESSLINE4){
        return new String(new Object[]{ ADDRESSLINE1, ADDRESSLINE2, ADDRESSLINE3, ADDRESSLINE4} );
}but am not able to create the party address as it is not currently link to parties because is new
my property viewview is
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
<!---->
<ViewObject
  xmlns="http://xmlns.oracle.com/bc4j"
  Name="SmsPropertiesView"
  Version="11.1.2.60.81"
  BindingStyle="OracleName"
  CustomQuery="true"
  PageIterMode="Full"
  UseGlueCode="false"
  ComponentClass="sms1100.SmsPropertiesViewImpl">
  <DesignTime>
    <Attr Name="_codeGenFlag2" Value="Coll|VarAccess"/>
    <Attr Name="_isExpertMode" Value="true"/>
  </DesignTime>
  <ViewAccessor
    Name="Sub_lov1"
    ViewObjectName="sms1100.Sub_lov"
    RowLevelBinds="true"/>
  <ListBinding
    Name="LOV_Town"
    ListVOName="Sub_lov1"
    ListRangeSize="-1"
    ComboRowCountHint="10"
    NullValueFlag="none"
    MRUCount="0">
    <AttrArray Name="AttrNames">
      <Item Value="Town"/>
    </AttrArray>
    <AttrArray Name="DerivedAttrNames">
      <Item Value="Suburb"/>
      <Item Value="PostalCode"/>
      <Item Value="TowId"/>
    </AttrArray>
    <AttrArray Name="ListAttrNames">
      <Item Value="Town"/>
      <Item Value="Suburb"/>
      <Item Value="PostalCode"/>
      <Item Value="Id"/>
    </AttrArray>
    <AttrArray Name="ListDisplayAttrNames">
      <Item Value="Town"/>
      <Item Value="Suburb"/>
      <Item Value="PostalCode"/>
      <Item Value="DsdRegion"/>
      <Item Value="ServiceDeliveryArea"/>
    </AttrArray>
    <DisplayCriteria/>
  </ListBinding>
  <SQLQuery><![CDATA[SELECT SmsProperties.ID,
       SmsProperties.ERF_NO,
       SmsProperties.ADDRESS_LINE,
       SmsProperties.ZONE,
       SmsProperties.GPS_LONGITUDE,
       SmsProperties.GPS_LATITUDE,
       SmsProperties.TOW_ID,
       SmsProperties.WAR_ID,
        DECODE(TOW1.TOWN,NULL,TOW.TOWN,TOW1.TOWN)TOWN ,
       TOW.TOWN SUBURB,
       POSTAL_CODE,
       PADD.ADDRESS_LINE1,
       PADD.ADDRESS_LINE2,
       PADD.ADDRESS_LINE3,
       PADD.ADDRESS_LINE4
FROM SMS_PROPERTIES SmsProperties,sms_towns tow,SMS_TOWNS TOW1,  SMS_PARTY_ADDRESS PADD,SMS_POSTAL_CODES PCOD
     where SMSPROPERTIES.TOW_ID = TOW.ID
       AND TOW.TOW_ID = TOW1.ID (+)
       and TOW.PCOD_ID = PCOD.ID
and PADD.PROP_ID = SMSPROPERTIES.ID]]></SQLQuery>
  <EntityUsage
    Name="SmsProperties"
    Entity="sms1100.SmsProperties"/>
  <ViewAttribute
    Name="Id"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="Id"
    EntityUsage="SmsProperties"
    AliasName="ID"
    IsUpdateable="while_insert"/>
  <ViewAttribute
    Name="ErfNo"
    IsUnique="true"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="ErfNo"
    EntityUsage="SmsProperties"
    AliasName="ERF_NO"/>
  <ViewAttribute
    Name="AddressLine"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="AddressLine"
    EntityUsage="SmsProperties"
    AliasName="ADDRESS_LINE"/>
  <ViewAttribute
    Name="Zone"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="Zone"
    EntityUsage="SmsProperties"
    AliasName="ZONE"/>
  <ViewAttribute
    Name="GpsLongitude"
    PrecisionRule="true"
    EntityAttrName="GpsLongitude"
    EntityUsage="SmsProperties"
    AliasName="GPS_LONGITUDE"/>
  <ViewAttribute
    Name="GpsLatitude"
    PrecisionRule="true"
    EntityAttrName="GpsLatitude"
    EntityUsage="SmsProperties"
    AliasName="GPS_LATITUDE"/>
  <ViewAttribute
    Name="TowId"
    IsUnique="true"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="TowId"
    EntityUsage="SmsProperties"
    AliasName="TOW_ID"/>
  <ViewAttribute
    Name="WarId"
    IsNotNull="true"
    PrecisionRule="true"
    EntityAttrName="WarId"
    EntityUsage="SmsProperties"
    AliasName="WAR_ID"/>
  <ViewAttribute
    Name="Town"
    IsPersistent="false"
    PrecisionRule="true"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="TOWN"
    SQLType="VARCHAR"
    Precision="20"
    Expression="TOWN"
    LOVName="LOV_Town">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="60"/>
    </DesignTime>
    <Properties>
      <SchemaBasedProperties>
        <CONTROLTYPE
          Value="combo_lov"/>
      </SchemaBasedProperties>
    </Properties>
  </ViewAttribute>
  <ViewAttribute
    Name="Suburb"
    IsPersistent="false"
    PrecisionRule="true"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="SUBURB"
    SQLType="VARCHAR"
    Precision="20"
    Expression="SUBURB">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="60"/>
    </DesignTime>
  </ViewAttribute>
  <ViewAttribute
    Name="PostalCode"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="4"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="POSTAL_CODE"
    Expression="POSTAL_CODE"
    SQLType="VARCHAR">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="4"/>
    </DesignTime>
  </ViewAttribute>
  <ViewAttribute
    Name="AddressLine1"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="100"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="ADDRESS_LINE1"
    Expression="ADDRESS_LINE1"
    SQLType="VARCHAR">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </ViewAttribute>
  <ViewAttribute
    Name="AddressLine2"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="100"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="ADDRESS_LINE2"
    Expression="ADDRESS_LINE2"
    SQLType="VARCHAR">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </ViewAttribute>
  <ViewAttribute
    Name="AddressLine3"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="100"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="ADDRESS_LINE3"
    Expression="ADDRESS_LINE3"
    SQLType="VARCHAR">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </ViewAttribute>
  <ViewAttribute
    Name="AddressLine4"
    IsPersistent="false"
    PrecisionRule="true"
    Precision="50"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    AliasName="ADDRESS_LINE4"
    Expression="ADDRESS_LINE4"
    SQLType="VARCHAR">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="50"/>
    </DesignTime>
  </ViewAttribute>
  <ViewLinkAccessor
    Name="SmsTownsView"
    ViewLink="sms1100.proptowlinkLink"
    Type="oracle.jbo.RowIterator"
    IsUpdateable="false"/>
</ViewObject>Edited by: ADF99 on 2012/08/01 1:13 PM
Edited by: ADF99 on 2012/08/01 6:44 PM

can you send me the link of the javadoc
hi am in Jdeveloper 11.1.2.1.0
my Entity Object is
    <?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE Entity SYSTEM "jbo_03_01.dtd">
<!---->
<Entity
  xmlns="http://xmlns.oracle.com/bc4j"
  Name="SmsPartyAddress"
  Version="11.1.2.60.81"
  DBObjectType="table"
  DBObjectName="SMS_PARTY_ADDRESS"
  AliasName="SmsPartyAddress"
  BindingStyle="OracleName"
  UseGlueCode="false"
  RowClass="sms1100.SmsPartyAddressImpl">
  <DesignTime>
    <Attr Name="_codeGenFlag2" Value="Access|DML"/>
    <Attr Name="_isCodegen" Value="true"/>
  </DesignTime>
  <Attribute
    Name="Id"
    ColumnName="ID"
    SQLType="NUMERIC"
    Type="oracle.jbo.domain.DBSequence"
    ColumnType="NUMBER"
    TableName="SMS_PARTY_ADDRESS"
    PrimaryKey="true"
    IsUpdateable="while_insert"
    DefaultValue="@0"
    Domain="oracle.jbo.domain.DBSequence"
    RetrievedOnInsert="true"/>
  <Attribute
    Name="StartDt"
    IsNotNull="true"
    ColumnName="START_DT"
    SQLType="DATE"
    Type="oracle.jbo.domain.Timestamp"
    ColumnType="DATE"
    TableName="SMS_PARTY_ADDRESS">
    <TransientExpression><![CDATA[adf.currentDate]]></TransientExpression>
  </Attribute>
  <Attribute
    Name="EndDt"
    ColumnName="END_DT"
    SQLType="DATE"
    Type="oracle.jbo.domain.Timestamp"
    ColumnType="DATE"
    TableName="SMS_PARTY_ADDRESS"/>
  <Attribute
    Name="ParId"
    ColumnName="PAR_ID"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PARTY_ADDRESS"/>
  <Attribute
    Name="CreatedBy"
    Precision="30"
    ColumnName="CREATED_BY"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="30"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="DateCreated"
    ColumnName="DATE_CREATED"
    SQLType="DATE"
    Type="oracle.jbo.domain.Timestamp"
    ColumnType="DATE"
    TableName="SMS_PARTY_ADDRESS">
    <TransientExpression><![CDATA[adf.currentDate]]></TransientExpression>
  </Attribute>
  <Attribute
    Name="DateModified"
    ColumnName="DATE_MODIFIED"
    SQLType="DATE"
    Type="oracle.jbo.domain.Timestamp"
    ColumnType="DATE"
    TableName="SMS_PARTY_ADDRESS"/>
  <Attribute
    Name="ModifiedBy"
    Precision="30"
    ColumnName="MODIFIED_BY"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="30"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="AreId"
    ColumnName="ARE_ID"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PARTY_ADDRESS"/>
  <Attribute
    Name="AddressTypeInd"
    IsNotNull="true"
    ColumnName="ADDRESS_TYPE_IND"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PARTY_ADDRESS">
    <TransientExpression><![CDATA[1]]></TransientExpression>
  </Attribute>
  <Attribute
    Name="AddressLine1"
    Precision="100"
    ColumnName="ADDRESS_LINE1"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="AddressLine2"
    Precision="100"
    ColumnName="ADDRESS_LINE2"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="AddressLine3"
    Precision="100"
    ColumnName="ADDRESS_LINE3"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="100"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="AddressLine4"
    ColumnName="ADDRESS_LINE4"
    SQLType="INTEGER"
    Type="java.lang.Integer"
    ColumnType="INTEGER"
    TableName="SMS_PARTY_ADDRESS">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="50"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="PropId"
    ColumnName="PROP_ID"
    SQLType="NUMERIC"
    Type="oracle.jbo.domain.Number"
    ColumnType="NUMBER"
    TableName="SMS_PARTY_ADDRESS"/>
  <AccessorAttribute
    Name="SmsParties1"
    Association="sms1100.PaddParFkAssoc"
    AssociationEnd="sms1100.PaddParFkAssoc.SmsParties1"
    AssociationOtherEnd="sms1100.PaddParFkAssoc.SmsPartyAddress"
    Type="oracle.jbo.server.EntityImpl"
    IsUpdateable="true"/>
  <AccessorAttribute
    Name="SmsParties11"
    Association="sms1100.paraddreeAssociation"
    AssociationEnd="sms1100.paraddreeAssociation.SmsParties11"
    AssociationOtherEnd="sms1100.paraddreeAssociation.SmsPartyAddress1"
    Type="oracle.jbo.server.EntityImpl"
    IsUpdateable="true"/>
  <AccessorAttribute
    Name="SmsProperties"
    Association="sms1100.proppaddAssociation"
    AssociationEnd="sms1100.proppaddAssociation.SmsProperties"
    AssociationOtherEnd="sms1100.proppaddAssociation.SmsPartyAddress"
    Type="oracle.jbo.RowIterator"
    IsUpdateable="false"/>
  <Key
    Name="Avcon1200486681Addre000">
    <DesignTime>
      <Attr Name="_DBObjectName" Value="AVCON_1200486681_ADDRE_000"/>
      <Attr Name="_checkCondition" Value="ADDRESS_TYPE_IND IN (0, 1)"/>
      <Attr Name="_isCheck" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes"/>
  </Key>
  <Key
    Name="PaddPk"
    PrimaryKey="true">
    <DesignTime>
      <Attr Name="_DBObjectName" Value="PADD_PK"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsPartyAddress.Id"/>
    </AttrArray>
  </Key>
  <Key
    Name="PaddAreFk">
    <DesignTime>
      <Attr Name="_referencedKey" Value="ARE_PK"/>
      <Attr Name="_isForeign" Value="true"/>
      <Attr Name="_DBObjectName" Value="PADD_ARE_FK"/>
      <Attr Name="_isDisabledConstraint" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsPartyAddress.AreId"/>
    </AttrArray>
  </Key>
  <Key
    Name="PaddParFk">
    <DesignTime>
      <Attr Name="_referencedKey" Value="PAR_PK"/>
      <Attr Name="_isForeign" Value="true"/>
      <Attr Name="_DBObjectName" Value="PADD_PAR_FK"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsPartyAddress.ParId"/>
    </AttrArray>
  </Key>
</Entity>and my property EntityObject is
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE Entity SYSTEM "jbo_03_01.dtd">
<!---->
<Entity
  xmlns="http://xmlns.oracle.com/bc4j"
  Name="SmsProperties"
  Version="11.1.2.60.81"
  DBObjectType="table"
  DBObjectName="SMS_PROPERTIES"
  AliasName="SmsProperties"
  BindingStyle="OracleName"
  UseGlueCode="false"
  RowClass="sms1100.SmsPropertiesImpl">
  <DesignTime>
    <Attr Name="_codeGenFlag2" Value="Access|DML"/>
    <Attr Name="_isCodegen" Value="true"/>
  </DesignTime>
  <Attribute
    Name="Id"
    ColumnName="ID"
    SQLType="NUMERIC"
    Type="oracle.jbo.domain.DBSequence"
    ColumnType="NUMBER"
    TableName="SMS_PROPERTIES"
    PrimaryKey="true"
    IsUpdateable="while_insert"
    DefaultValue="@0"
    Domain="oracle.jbo.domain.DBSequence"
    RetrievedOnInsert="true"/>
  <Attribute
    Name="ErfNo"
    IsUnique="true"
    IsNotNull="true"
    Precision="80"
    ColumnName="ERF_NO"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="80"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="AddressLine"
    IsNotNull="true"
    Precision="120"
    ColumnName="ADDRESS_LINE"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="120"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="Zone"
    IsNotNull="true"
    Precision="20"
    ColumnName="ZONE"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="20"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="GpsLongitude"
    Precision="40"
    ColumnName="GPS_LONGITUDE"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="40"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="GpsLatitude"
    Precision="40"
    ColumnName="GPS_LATITUDE"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="40"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="TowId"
    IsUnique="true"
    IsNotNull="true"
    ColumnName="TOW_ID"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PROPERTIES"/>
  <Attribute
    Name="WarId"
    ColumnName="WAR_ID"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PROPERTIES"/>
  <Attribute
    Name="Addressline1"
    Precision="20"
    ColumnName="ADDRESSLINE1"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="20"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="Addressline2"
    Precision="20"
    ColumnName="ADDRESSLINE2"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="20"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="Addressline3"
    Precision="20"
    ColumnName="ADDRESSLINE3"
    SQLType="VARCHAR"
    Type="java.lang.String"
    ColumnType="VARCHAR2"
    TableName="SMS_PROPERTIES">
    <DesignTime>
      <Attr Name="_DisplaySize" Value="20"/>
    </DesignTime>
  </Attribute>
  <Attribute
    Name="Addressline4"
    Precision="4"
    Scale="0"
    ColumnName="ADDRESSLINE4"
    SQLType="NUMERIC"
    Type="java.lang.Integer"
    ColumnType="NUMBER"
    TableName="SMS_PROPERTIES"/>
  <AccessorAttribute
    Name="SmsPartyAddress"
    Association="sms1100.proppaddAssociation"
    AssociationEnd="sms1100.proppaddAssociation.SmsPartyAddress"
    AssociationOtherEnd="sms1100.proppaddAssociation.SmsProperties"
    Type="sms1100.SmsPartyAddressImpl"
    IsUpdateable="true"/>
  <AccessorAttribute
    Name="SmsTowns"
    Association="sms1100.PropTownFkAssoc"
    AssociationEnd="sms1100.PropTownFkAssoc.SmsTowns"
    AssociationOtherEnd="sms1100.PropTownFkAssoc.SmsProperties"
    Type="oracle.jbo.server.EntityImpl"
    IsUpdateable="true"/>
  <Key
    Name="Avcon1263986397Zone000">
    <DesignTime>
      <Attr Name="_DBObjectName" Value="AVCON_1263986397_ZONE_000"/>
      <Attr Name="_checkCondition" Value="ZONE IN ('0', '1', '2', '3', '4', '5')"/>
      <Attr Name="_isDisabledConstraint" Value="true"/>
      <Attr Name="_isCheck" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes"/>
  </Key>
  <Key
    Name="PropPk"
    PrimaryKey="true">
    <DesignTime>
      <Attr Name="_DBObjectName" Value="PROP_PK"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsProperties.Id"/>
    </AttrArray>
  </Key>
  <Key
    Name="PropPropUkUk">
    <DesignTime>
      <Attr Name="_isUnique" Value="true"/>
      <Attr Name="_DBObjectName" Value="PROP__PROP_UK_UK"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsProperties.TowId"/>
      <Item Value="sms1100.SmsProperties.ErfNo"/>
    </AttrArray>
  </Key>
  <Key
    Name="PropTownFk">
    <DesignTime>
      <Attr Name="_referencedKey" Value="TOW_PK"/>
      <Attr Name="_isForeign" Value="true"/>
      <Attr Name="_DBObjectName" Value="PROP_TOWN_FK"/>
      <Attr Name="_isDisabledConstraint" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsProperties.TowId"/>
    </AttrArray>
  </Key>
  <Key
    Name="PropWarFk">
    <DesignTime>
      <Attr Name="_referencedKey" Value="WAR_PK"/>
      <Attr Name="_isForeign" Value="true"/>
      <Attr Name="_DBObjectName" Value="PROP_WAR_FK"/>
    </DesignTime>
    <AttrArray Name="Attributes">
      <Item Value="sms1100.SmsProperties.WarId"/>
    </AttrArray>
  </Key>
</Entity>

Similar Messages

  • MAX + 1 Pre Insert

    Dear All
    i need to use MAX+1 instead of Sequence value in Pre Insert trigger in ADF / JSF Application ..
    and this value assigned to PK Attribute
    i unchecked Mandatory value for PK
    my problem now, system give me the value is required when i try to enter second record without commit first record as i have af:table , and i guess that it read the validation before pre insert trigger in dodml
    if (operation == DML_INSERT) {
    setContractId(GetSequenceValue("customers", "customer_id"));
    thanks
    Edited by: user8854969 on Dec 13, 2012 11:42 PM

    Tell your client to ignore the gaps...
    If you want a gapless number, you have 2 basic options:
    1). Assign the gapless number in a batch process after-the-fact
    2). Use an approach that serialises (i.e. only allows one insert at a time), by using locking or some other serialisation method. This approach limits your scalability.
    I have (almost always) used option 3: Use a sequence and ignore the fact that there are gaps. I the case where I didn't use this option, I used approach 2. You cannot do this with a trigger!
    John

  • Access pre-insert data using ViewObjects

    Hi,
    I’m trying to access pre-insert data (before super.doCommit() execution) using viewobjects, but I only obtain committed data. Is it possible to obtain pre-insert data using viewobjects?
    Here the Java code:
    String amDef = "oracle.srdemo.model.AppModule";
    String config = "AppModuleLocal";
    ApplicationModule am =
    Configuration.createRootApplicationModule(amDef, config);
    ViewObject vo = am.findViewObject("DatetestView1");
    System.out.println("Query will return "+ vo.getEstimatedRowCount()+" rows...");
    vo.executeQuery();
    while (vo.hasNext()) {
    Row curPerson = vo.next();
    System.out.println(vo.getCurrentRowIndex()+". "+
    curPerson.getAttribute("Id")+" "+
    curPerson.getAttribute("Dataini"));
    Configuration.releaseRootApplicationModule(am, true);
    I'm using JDeveloper 11g, a Fusion Web Application and ADF Business Components
    Thanks in advance.

    Hi Timo,
    According to your instructions, I obtained current ApplicationModule and the issue was solved.
    Here the Java Code to get ApplicationModule from Iterator:
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding dciter = (DCIteratorBinding)bindings.get("DatetestView1Iterator");
    DCDataControl dc = dciter.getDataControl();
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    AppModuleImpl am2 = (AppModuleImpl)am;
    ViewObject vo = (DatetestViewImpl)am2.findViewObject("DatetestView1");
    Thank you vey much,
    Olga

  • Sequence number in pre-insert form trigger

    i have two tables invoice (master) inv_detail(detail) and assign the invoice number using a sequence number,
    by writing the folowing code in the pre-insert trigger
    select a.nextval into :inv_no from dual;
    ( i make the trigger at the form level becuause i have a master (invoice) and detail (inv_detail) relation at the same screen,so i must fetch the value of the
    sequence into the :invo_no in the screen,to let the 'copy value from' property at the detail block works so the value of the foreign key will be copied from
    the sequence number at the screen.
    will this method be a good one for multi user envirment(to select the a.nextval in the pre-insert trigger at the from level?)

    Kevin, thank you for the correct explanation. I was making an assumption and of course it was wrong.
    Mohannad, please do not try to link the invoice count with the sequence number. Any time you need a count, just do a select count(*). The sequence number is ONLY a unique key, and should represent nothing else.
    People have discussed this situation heavily. If you insist on trying to ensure there are no gaps, you will:
    1. Fail -- there are many scenarios where gaps will occur.
    2. Waste your time.
    3. Whatever process you build to try to prevent gaps will cause unnecessary overhead and work for the server, and in a multi-user environment, cause processing bottlenecks due to table locks.

  • Problem with forms6i using Pre-Insert Trigger

    I created a block level pre-insert trigger to do some validations and when I save the first time with wrong data it is working fine and popping up alerts that I defined but if I press save the second time it is saving even though the data is wrong.
    This is in Applications 11.5.10 using all the property classes and running on the server.
    I created exact replica of the form(no applications, property classes
    just basic form but with same functionality) and ran it on my local machine it is working fine. It is giving error till the data is fixed.
    Anybody know why?
    Thanks in advance

    It did not work. It is still doing the samething. Actually it is popping up my alerts but saving the record first time itself. Is there any way I can tell it not to save if the data is wrong. My code is below it basically pops up the alerts but doesn't tell anywhere not to save it.
    Thanks
    VJ
    declare
         v_amount number;
         alert_id      ALERT := Find_Alert('amount_from');
         alert_id1 ALERT := Find_Alert('amount_to');
         dummy_var NUMBER;
    begin
         select max(ssibe_amount_to) into v_amount from ssibe_orderappr_tab where
              ssibe_account_number = :ssibe_orderappr.ssibe_account_number;
              if :ssibe_orderappr.ssibe_amount_from <= v_amount
              then
                   Set_Alert_Property(alert_id, ALERT_MESSAGE_TEXT, 'Amount_From should be greater than '|| v_amount);
                   dummy_var := Show_Alert(alert_id);
              else
                   IF (:SSIBE_ORDERAPPR.SSIBE_AMOUNT_TO <= :SSIBE_ORDERAPPR.SSIBE_AMOUNT_FROM)
                   THEN
                   dummy_var := Show_Alert(alert_id1);
                   end if;
              end if;
    end;

  • Date Format Issue with Pre-Insert trigger

    I have created a form wherein creation_date and last_update_date are columns in a table that needs to be populated with sysdate (in format mm/dd/yyyy hh:mi:ss am) at time of saving.
    In pre-insert triiger, if I assign date as follows , it works:
    :creation_date=sysdate;
    However this creates date in format yyyy/mm/dd.
    I would like to set it in format mm/dd/yyyy hh:mi:ss am.
    How can this be done-I tried using to_date and to_char but wont work.
    Any ideas?

    hi
    u may try this too.
    when-new-form-instance trigger:
    set_application_property(PLSQL_date_FORMAT,'DDMMYYYY HH12:MI:SS');
    set_application_property(BUILTIN_date_FORMAT,'DDMMYYYY HH12:MI:SS');
    forms_ddl('ALTER SESSION SET NLS_date_FORMAT=''DDMMYYYY HH12:MI:SS'''); sarah

  • Pre-insert trigger is not firing after post built-in

    Hi,
    I have a 10g form in which Post built-in is used in When-button-pressed Trigger. After the post command I am checking some condition,by using the same record which I have posted.But it is not working.
    I have also put the message in the pre-insert trigger but the message is not displaying.
    But the same form iis working fine in form 6i, as I have migrated the forms from form 6i to 10g.

    Yes, In that block there are other items also. I have made the required property no for all the items.
    what exactly we have is
    (if x=y then)on some condition check
    POST;
    After that, form have a select statement in which it is selecting the same row which is being posted above.
    if the select statement gives count of row zero
    raise form_trigger_failure is fired.
    and in the pre-insert trigger form is assigning a value to a block item.

  • Unable to insert the record to table using pre-insert & pre-update trigger

    Hi All,
    I have tried to insert and update the backend table using the pre-update and pre-insert triggers. But its not working for me. Please find below the code which i have used in the triggers.
    Pre-insert trigger:
    DECLARE
    v_cust_num_cnt NUMBER;
    BEGIN
              SELECT      COUNT(customer_number)
              INTO      v_cust_num_cnt
              FROM cmw_bc_mobile_number
              WHERE substr(customer_number,1,15)=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
              IF      v_cust_num_cnt = 0 THEN
                        INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER
                                                                                                   ,MOBILE_NUMBER
    ,CREATION_DATE
    VALUES
    (substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15)
    ,:BLOCKNAME.MOBILE_NUMBER
    ,SYSDATE
    COMMIT;                                                                                                    
    END IF;          
    END;
    PRE_UPDATE TRIGGER:
    BEGIN
              IF :SYSTEM.RECORD_STATUS = 'CHANGED' THEN
              UPDATE apps.cmw_bc_mobile_number
         SET mobile_number = :BLOCKNAME.MOBILE_NUMBER,
         creation_date = SYSDATE
              WHERE customer_number=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
              COMMIT;
         END IF;
    EXCEPTION
              WHEN OTHERS THEN
                   NULL;     
    END;
    Please let someone assist in gettting it resolved.
    Regards,
    Raj.

    Just use MESSAGE (we don't know what fnd_message is, that is some custom code):
    message('v_cust_num_cnt='||v_cust_num_cnt);
    IF v_cust_num_cnt = 0 THEN
      message('Now inserting...');
      INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER... 
    else
      message('Nothing to insert');
    end if;

  • Set the value in pre-insert

    Hi !!
    i am using jdeveloper 11.1.1.5
    In the pre-insert i need to perform the following operations
    I need to execute the querry
    SELECT NVL(max(oprd_seq_no),0)+1
    FROM opport_prod WHERE
    oprd_bu =:oprd_bu
    and oprd_doc_no =:oprd_doc_no;
    The result of the querry must be set to the LineNo Attribute.
    Hope my scenario is clear to u! Could any one pls help me?

    Before answering is there any chance 2 or more users can be entering lines for the same parent record at the same time? Even if it's incredibly unlikely but still possible, you must use a database sequence for a 100% guaranteed unique solution.
    CM.

  • Error from Pre-Insert Trigger

    I am using the following code in Pre-insert trigger
    purpose is that all the record which do not click by mouse (check box)
    should be cleared on the screen when commit/save.
    declare
    begin
    go_block('Bl');
    first_record;
    loop
    if :kcheck is null then
    clear_record;
    else
    Exit When :System.Last_Record = 'TRUE';
    Next_Record;
    end if;
    end loop;
    end;
    it is showing error FRM-40737
    illegal restiricted procedure NEXT_RECORD in pre-insert trigger
    when I used this code in when button press trigger it is working.????
    Message was edited by:
    Kami

    Navigation is not allowed in this kind of triggers.
    PRE-INSERT is used to, for instance, put values on non NULL column in the current record.
    If you want to navigate in the records, choose another trigger, like KEY-COMMIT for example.
    Francois

  • PRE-INSERT TRIGGER

    Dear All,
    In my pre-insert block Level triiger. I have the followed code.
    declare
    l_cnt pls_integer;
    cursor c1 is
    select count(1) into l_cnt
    from jnpp_barcode_master
    where organization_id = :ctrl_blk.inv_org_id
    and item_id = :jnpp_grv_lines.item_id
    and bar_code = :jnpp_grv_lines.bar_code
    and publication_date= :jnpp_grv_lines.publication_date;
    begin
         for r1 in c1 loop
              if l_cnt = 1 then
                   insert into jnpp_barcode_archive
                   (organization_id, item_id, bar_code, publication_date, po_list_price,
    selling_price, received_qty, reference, created_by, creation_date,
    last_updated_by, last_update_date)
    values (:ctrl_blk.inv_org_id, :jnpp_grv_lines.item_id, :jnpp_grv_lines.bar_code, :jnpp_grv_lines.publication_date, :jnpp_grv_lines.po_list_price,
    :jnpp_grv_lines.selling_price, :jnpp_grv_lines.qty, :jnpp_grv_lines.REFERNCE, :GLOBAL.X_USER_ID, sysdate,
    :GLOBAL.X_USER_ID, sysdate);          
              elsif l_cnt = 0 then
                        update jnpp_barcode_master
                        set publication_date = :jnpp_grv_lines.publication_date,reference =:jnpp_grv_lines.refernce
         where organization_id = :ctrl_blk.inv_org_id
         and item_id = :jnpp_grv_lines.item_id
         and bar_code = :jnpp_grv_lines.bar_code;
    end if;      
         end loop;
    forms_ddl('COMMIT');
    end;
    it is encountered the symbol 'INTO'.
    Im using forms 6i.
    please any one can help me.
    Thanks
    Siva

    declare
    l_cnt pls_integer;
    cursor c1 is
    select count(1) into l_cnt
    from jnpp_barcode_master
    where organization_id = :ctrl_blk.inv_org_id
    and item_id = :jnpp_grv_lines.item_id
    and bar_code = :jnpp_grv_lines.bar_code
    and publication_date= :jnpp_grv_lines.publication_date;
    begin
         for r1 in c1 loop
              if l_cnt = 1 then
                   insert into jnpp_barcode_archive
                   (organization_id, item_id, bar_code, publication_date, po_list_price,
    selling_price, received_qty, reference, created_by, creation_date,
    last_updated_by, last_update_date)
    values (:ctrl_blk.inv_org_id, :jnpp_grv_lines.item_id, :jnpp_grv_lines.bar_code, :jnpp_grv_lines.publication_date, :jnpp_grv_lines.po_list_price,
    :jnpp_grv_lines.selling_price, :jnpp_grv_lines.qty, :jnpp_grv_lines.REFERNCE, :GLOBAL.X_USER_ID, sysdate,
    :GLOBAL.X_USER_ID, sysdate);          
              elsif l_cnt = 0 then
                        update jnpp_barcode_master
                        set publication_date = :jnpp_grv_lines.publication_date,reference =:jnpp_grv_lines.refernce
         where organization_id = :ctrl_blk.inv_org_id
         and item_id = :jnpp_grv_lines.item_id
         and bar_code = :jnpp_grv_lines.bar_code;
    end if;      
         end loop;
    forms_ddl('COMMIT');
    end;
    --

  • Pre-Insert Trigger not firing

    Hi,
    I am using Oracle 10G DS with Oracle 11G XE. I tried PRE-INSERT Trigger with the Code given by Mr Hamid. However, its not working. Though, the WHEN-NEW-ITEM-INSTANCE works fine, I wish to use PRE-INSERT Trigger only.
    Can you please help me.
    My Code is shown below
    BEGIN
    SELECT asset_id_seq.nextval INTO :r_it_blk.asset_id
    FROM dual;
    END;
    Thanks in advance
    Ramesh

    Hi Hamid,
    Thank you very much for your reply.
    I tried at Block Level itself. Further, I also tried the below Code with Cursor (Block Level). Unfortunately, it is also not working. Even the Error Message is also not displayed. The User has full privileges.
    DECLARE
         CURSOR next_id IS SELECT asset_id_seq.NEXTVAL FROM dual;
    BEGIN
         OPEN next_id;
         FETCH next_id INTO :r_it_blk.asset_id;
         CLOSE next_id;
         IF :r_it_blk.asset_id IS NULL THEN
         Message('Error Generating Next Asset ID');
         RAISE Form_Trigger_Failure;
         END IF;
    END;
    Regards
    Ramesh

  • Pre-insert-trigger ignoring assignments

    Hi,
    I have this code in a PRE-INSERT-TRIGGER of a database table block:
    Select emp_seq.Nextval Into :EMP.EMPNO From dual;
    Select Sysdate Into :EMP.LASTCHANGED From dual;
    And i have this code in a PRE-UPDATE-TRIGGER of the same block:
    Select Sysdate Into :EMP.LASTCHANGED From dual;
    given scenario:
    1) query records from the table into a block:
    empno ename lastchanged
    1 Smith 01.12.2008
    2 Johnson 01.12.2008
    2) change empname in any record except no. 1:
    empno ename lastchanged
    1 Smith 01.12.2008
    2 Johannson 01.12.2008
    3) create a new record somewhere above the changed record
    empno ename lastchanged
    1 Smith 01.12.2008
    <null> <null> <null>
    2 Johannson 01.12.2008
    4) insert ename in new record
    empno empname lastchanged
    1 Smith 01.12.2008
    <null> Obama <null>
    2 Johannson 01.12.2008
    5) do_key('commit_form')
    with Forms 6.0.8.23.2 -> working fine
    with Forms 6.0.8.27.0 -> ORA-01400:: cannot insert NULL into ("EMP"."EMPNO")
    Any assignment in the pre-insert-trigger is ignored! Can anyone help me with this bug? Thanks in advance

    message(:EMP.EMPNO) is always Null ...
    Everything works if there's no update of a record with higher record-number in the transaction. But the scenario in post 1 doesnt work with Forms 6.0.8.27.0Ugh -- that's ugly!
    Unfortunately, opening a Service Request with Oracle will get you nowhere, since Oracle no longer supports Forms 6i.
    Yesterday, I experienced something very similar with the same version of Forms, specifically this part: Everything works if there's no update of a record with higher record-number in the transaction.*
    If I updated a higher record number in the block, I could NOT get Forms to subsequently store a value in a column in a prior record. I would set the value in the column, and immediately display the value, and it was null! Fortunately in my case, the stored value was only to enable skipping a database lookup in a subsequent pass, so I just skipped working on a solution.
    However, in your case, the problem is a show-stopper.
    What I found was that if I navigated back to the first record in the block, the problem went away. So maybe try this in your commit process:
        Go_block('ABC');
        First_Record;
        Synchronize;
        Commit_Form;Let us know if that works for you.

  • How to use HTML 'pre' tag in ADF pages

    Hi,
    I am using adf 11.1.1.6.0 and trying to print some formatted text from log files. It can contain either xml / log file with new lines / tabs.
    When I use hte UIX / Regular jsp, I am able to use the <pre> tag and retain the output format form end user.
    When I am migrated the same application to ADF, I am not able to get the desired output format.
    Here are my trials:
    <af:outputYext> with escape="true" : Entire output is displayed in a single paragraph. All new line/formatting has gone.
    <af:outputYext> with escape="false" : Page itself is not painting as the logout put has some special characters.
    <af:richTextEditor> readonly = true : Taking out all xml tags with in the output log
    I tried with f:verbatim as shown
    <f:verbatim><pre> </f:verbatim>
    #{dojStep.displayStepOutput}
    <f:verbatim></pre></f:verbatim>
    In this case, I get the following error: "End tag does not match start tag 'pre'."
    Can you please suggest the alternative to use the html pre tag in ADF world to print the el expression data as it is.
    Thanks,
    -Jaya.

    Hi,
    have a outputText.. with escape="false"
    and in #{dojStep.displayStepOutput} have it like this
      public String displayStepOutput(){
    StringBuilder sb = new StringBuilder();
    sb.append("<pre>");
    sb.append("your text");
    sb.append("</pre>");
    return sb.toString();
    }example-
    <af:outputText value="#{dojStep.displayStepOutput}"/>

  • Post-insert vs pre-insert

    Dear All,
    can anybody explain the difference b/w pre-insert and post-insert trigger ?
    i need such example which process something that becomes possible in one trigger and no possible in other ?
    Regards
    Kashif Butt

    Here is an example. Please remove any syntax errors before running :-)
    create sequence my_seq;
    create table table_a
    (id number(20) constraint pk_table_a primary key,
    text varchar2(100)
    create table table_b
    (id number(20) constraint pk_table_b primary key,
    a_id number(20) constraint fk1_table_b foreign key references table_a(id),
    text varchar2(100)
    Create a form with a block based on table_a with items "id" and "text"
    "id" is on null canvas (not visible), put "text" on a canvas.
    pre-insert:
    select my_seq.nextval into :table_a.id;
    This can't be done in post-insert. Then the insert will fail because it's the primary key and must be "not null"
    post-insert:
    insert into table_b(id, a_id, text)
    values(my_seq.nextval, :table_a.id, 'Inserted automatically by post-insert');
    This can't be done in the pre-insert trigger, because the foreign key constraint will require the record in table_a
    to be inserted first.

Maybe you are looking for

  • Time Machine failing to back up

    Hello Apple Community! I've got a brand new MacBook pro 13" 2.3GHz i5 model. This is my first Mac and I would just like to say I absolutely love them and can never ever see myself going back to Windows ever again Well I wanted to set up the TimeMachi

  • Error  No server was available to process the request. (Error: RFC 00101)

    Hi, I am having this error when I try to refresh a report using SDK com.businessobjects.rebean.wi.ServerException: No server was available to process the request. Please try again later. (Error: RFC 00101)         at com.businessobjects.rebean.fc.int

  • Query - strings in different format

    I am trying to query data that is not all in the same format. Example: "st. louis" , "st louis", "saint louis". does anyone have any ideas about doing this?

  • PDF as a Collection Media Format

    What do we do with channels/collections that are in PDF format? Our Education and Outreach Office was planning to upload lesson plans in PDF format. And I noticed that PDF was not one of the Collection Media Formats, only SD video, HD video and audio

  • Determine default PI message from SRM

    Hello, We are implementing SRM 7 SP10 with ECS. SRM is connected to PI 7.11 . We noticed SRM sends message "PurchaseOrderRequest_Out" during first output and "PurchaseOrderChangeRequest_Out" with any following output (whether there is a PO change or