User Defined CFL

Hi All,
How do I create User Defined Choose From LIst in user defined form?
Regards,
Siva Kumar

hi ,
There is no direct way to create a user defined CFL.
There are two ways of creating user defined CFL.
One way is to assign a default CFL for your field, and catch the event after the the CFL Loads and reload the matrix with your user defined table and can use the CFL as usual.
The other way is to catch the key_down event of your field and check whether the charpressed is tab key or not.
Create a user defined form with a matrix filled with your defined table and keep a choose button and send the selected value to your field .
In these ways you can create a User defined CFL ...
Hope this helps you
Regards,
Jagadeesh.v

Similar Messages

  • CFL for user defined object in matrix

    I am creating CFL for city .For this I created a user defined table and later registred it to create the object of City.I created the CFL for City as ,
    Private Sub AddCFL()
            Dim intI As Integer
            Dim objCFLsName As SAPbouiCOM.ChooseFromListCollection
            Dim objParaName As SAPbouiCOM.ChooseFromListCreationParams
            Dim objCFLName As SAPbouiCOM.ChooseFromList
            Dim objCons As SAPbouiCOM.Conditions
            Dim objCon As SAPbouiCOM.Condition
            Try
                objForm = SBO_Application.Forms.ActiveForm
                For intI = 0 To objForm.DataSources.UserDataSources.Count - 1
                    If objForm.DataSources.UserDataSources.Item(intI).UID = "CityName" Then
                        Exit Sub
                    End If
                Next
                objForm.DataSources.UserDataSources.Add("CityName", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
                objCFLsName = objForm.ChooseFromLists
                objParaName = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
                objParaName.MultiSelection = False
                objParaName.UniqueID = "CFL"
                objParaName.ObjectType = "City"
                objCFLName = objCFLsName.Add(objParaName)
                objCons = objCFLName.GetConditions
                objCon = objCons.Add
                objCon.Alias = "U_Active"
                objCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
                objCon.CondVal = "Y"
                objCFLName.SetConditions(objCons)
            Catch ex As Exception
                SBO_Application.MessageBox("AddCFL()=" & ex.Message)
            End Try
        End Sub
    I want to load city names in matrix using this cfl.For this, I added few blank rows in matrix.Then I binded the matrix as ,
    Private Sub BindMatrix()
            Dim objColumns As SAPbouiCOM.Columns
            Dim objColumn As SAPbouiCOM.Column
            Dim matDetails As SAPbouiCOM.Matrix
            objColumn = objColumns.Item("CityName")
                objColumn.DataBind.SetBound(True, "", "CityName")
                objColumn.ChooseFromListUID = "CFL"
                objColumn.ChooseFromListAlias = "CityName"
                objColumn.Editable = True
    matDetails.LoadFromDataSource()
    End Sub
    Problem is created by ChooseFromListAlias .It gives error as,
    Data Source - Alias Not Found
    If I remove that statement, the cfl fires when I press tab in the matrix.But I can not set value in the matrix.

    I created CFL as,
    Private Sub AddCFL()
            Dim intI As Integer
            Dim objCFLsName As SAPbouiCOM.ChooseFromListCollection
            Dim objParaName As SAPbouiCOM.ChooseFromListCreationParams
            Dim objCFLName As SAPbouiCOM.ChooseFromList
            Dim objCons As SAPbouiCOM.Conditions
            Dim objCon As SAPbouiCOM.Condition
            Try
                objForm = SBO_Application.Forms.ActiveForm
                For intI = 0 To objForm.DataSources.UserDataSources.Count - 1
                    If objForm.DataSources.UserDataSources.Item(intI).UID = "CityName" Then
                        Exit Sub
                    End If
                Next
                objForm.DataSources.UserDataSources.Add("CityName", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
                objCFLsName = objForm.ChooseFromLists
                objParaName = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
                objParaName.MultiSelection = False
                objParaName.UniqueID = "CFL"
                objParaName.ObjectType = "City"
                objCFLName = objCFLsName.Add(objParaName)
                objCons = objCFLName.GetConditions
                objCon = objCons.Add
                objCon.Alias = "U_Active"
                objCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
                objCon.CondVal = "Y"
                objCFLName.SetConditions(objCons)
            Catch ex As Exception
                SBO_Application.MessageBox("AddCFL()=" & ex.Message)
            End Try
        End Sub
    Private Sub BindMatrix()
            Dim objColumns As SAPbouiCOM.Columns
            Dim objColumn As SAPbouiCOM.Column
            Dim matDetails As SAPbouiCOM.Matrix
            Try
                If SBO_Application.Forms.ActiveForm.UniqueID = "TourDetails" Then
                    matDetails = SBO_Application.Forms.ActiveForm.Items.Item("matDetails").Specific
                Else
                    matDetails = objForm.Items.Item("matDetails").Specific
                End If
                objColumns = matDetails.Columns
                objColumn = objColumns.Item("#")
                objColumn.DataBind.Bind("objDT", "#")
                objColumn.Editable = False
                objColumn = objColumns.Item("CityName")
                'If strPara = "Edit" Then
                objColumn.DataBind.Bind("objDT", "CityName")
                'Else
                '    objColumn.DataBind.SetBound(True, "", "CityName")
                'End If
                objColumn.ChooseFromListUID = "CFL"
                'objColumn.ChooseFromListAlias = "CityName"
                objColumn.Editable = True
                objColumn.Width = 290
                objColumn = objColumns.Item("NoOfVisits")
                objColumn.DataBind.Bind("objDT", "NoOfVisits")
                objColumn.Editable = True
                objColumn = objColumns.Item("FromDate")
                objColumn.DataBind.Bind("objDT", "FromDate")
                objColumn.Editable = True
                objColumn.Width = 80
                objColumn = objColumns.Item("ToDate")
                objColumn.DataBind.Bind("objDT", "ToDate")
                objColumn.Editable = True
                objColumn.Width = 80
                matDetails.LoadFromDataSource()
            Catch ex As Exception
                SBO_Application.MessageBox("BindMatrix()=" & ex.Message)
            End Try
        End Sub
    Edited by: Dilip Kumbhar on Mar 31, 2010 10:02 AM

  • Problem Occurs when CFL is added with User defined field

    form-672-BOM
    item-3-datagrid
    U_EmpNo - user defined field column
    if i will give following codes under form load event will CFL bound with U_EmpNo
    or else plz suggest me with write codes
    oForm = SBO_Application.Forms.Item("672")
                oItem = oForm.Items.Item("3")
                oClmn = oItem.Specific
                oClmns = oClmn.Item("U_EmpNo")
                oClmns.DataSources.UserDataSources.Add("U_EmpNo", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
                MessageBox.Show("Did")
                AddChooseFromList()
                oClmns.DataBind.SetBound(True, "", "U_EmpNo")
                oClmns.ChooseFromListUID = "CFL1"
                oClmns.ChooseFromListAlias = "CardCode"

    hi

  • Make CFL for user defined tables in Crystal Report 8.8 ?

    Hi Experts
    Use Follwing qry for CFL ( user defined tables) in Crystal Report But its not Show CFL after run the Report in SAP B1 8.8
    Period@Select T0.*  from @OICC T0
    Thanks & Regards
    Dinesh Lade

    Hi,
    As far as i know, SBO can't figure out in such instance what are you doing, try linking it to an original table.
    I usually use OADM for this purpose.
    Hope this helps.
    Regards,
    Daniel

  • Problen in ChooseFromList & User Defined Object

    Hello.
    I'm trying to use a [ChooseFromList] that calls info from one User Table called @LABS this table is MasterData type.
    I add a User Defined Object in runtime, called UO_Labs
    Then, I add one ChooseFromList to my form (This form was made in ScreenPainter)
    The user object was created fine, the ChooseFromList is added fine, the form loads fine, but, when I press tab or the button of the ChooseFromList I get this error: "Internal error (-1003) ocurred [Message 131-183]"
    I try to use my ChooseFromList in one Matrix and in one EditText objects. And gives me the same error in both objects.
    I'm using SAP 2007 PL 35
    This is my code:
    Adding the User Defined Object -
    Dim UO As SAPbobsCOM.UserObjectsMD
    UO = CompanyObj.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD)
    UO.ManageSeries = SAPbobsCOM.BoYesNoEnum.tNO
    UO.CanCancel = SAPbobsCOM.BoYesNoEnum.tYES
    UO.CanClose = SAPbobsCOM.BoYesNoEnum.tYES
    UO.CanDelete = SAPbobsCOM.BoYesNoEnum.tYES
    UO.CanFind = SAPbobsCOM.BoYesNoEnum.tYES
    UO.CanLog = SAPbobsCOM.BoYesNoEnum.tNO
    UO.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO
    UO.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tYES
    UO.Code = "UO_Labs"
    UO.Name = "Laboratory Info."
    UO.ObjectType = SAPbobsCOM.BoUDOObjType.boud_MasterData
    UO.TableName = "LABS"
    If UO.FormColumns.Count = 0 Then UO.FormColumns.Add()
    UO.FormColumns.SonNumber = 0
    UO.FormColumns.FormColumnAlias = "Code"
    UO.FormColumns.FormColumnDescription = "Code"
    UO.FormColumns.Add()
    UO.FormColumns.SonNumber = 0
    UO.FormColumns.FormColumnAlias = "Name"
    UO.FormColumns.FormColumnDescription = "Name"
    If UO.Add() <> 0 Then
          Application.MessageBox(CompanyObj.GetLastErrorDescription)
    End If
    END Adding the User Defined Object -
    This code adds my UDO and it works fine, has data and do the work.
    Adding the [ChooseFromList] Object -
    '// form object is send in parameters.
    Dim oCFLs As SAPbouiCOM.ChooseFromListCollection = f.ChooseFromLists
    Dim oCFL As SAPbouiCOM.ChooseFromList
    Dim oCFL_CP As SAPbouiCOM.ChooseFromListCreationParams
    Dim matrix As SAPbouiCOM.Matrix = form.Items.Item("matrix").Specific
    oCFL_CP = App.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
    oCFL_CP.MultiSelection = False
    oCFL_CP.ObjectType = "UO_Labs"
    oCFL_CP.UniqueID = "cfl_Labs"
    oCFL = oCFLs.Add(oCFL_CP)
    matrix.Columns.Item("labCode").ChooseFromListUID = "cfl_Labs"
    matris.Columns.Item("labCode").ChooseFromListAlias = "Code"
    form.Refresh()
    END Adding the [ChooseFromList] Object -
    Thanks for your time...
    Greetings
    Gabriel Vasquez.

    Hi Gabriel,
    Please check in B1 if the UDO is created correctly, specifically the CanFind option. I got that error once, with one of my addons, that somehow was created with CanFind=tNo, despite my code indication CanFind=tYes...
    Also, try adding the CFL directly in the XML form.
       <column uid="C_labCod" type="116" title="Lab. Code" description="Laboratory Code" visible="1" AffectsFormMode="1" width="70" disp_desc="1" editable="1" right_just="0" val_on="Y" val_off="N" backcolor="-1" forecolor="-1" text_style="0" font_size="-1" ChooseFromListUID="cfl_Labs" ChooseFromListAlias="Code">
          <databind databound="1" table="@LABS" alias="U_labCode"></databind>
          <ExtendedObject linkedObject="" LinkedObjectType=""></ExtendedObject>
       </column>
       <ChooseFromListCollection>
          <action type="add">
             <ChooseFromList UniqueID="-1" ObjectType="-1" MultiSelection="0" IsSystem="1"></ChooseFromList>
             <ChooseFromList UniqueID="cfl_Labs" ObjectType="UO_Labs" MultiSelection="0" IsSystem="0"></ChooseFromList>
          </action>
       </ChooseFromListCollection>
    Also, it's a good practice to your SAP partner's NameSpace as prefix to UDOs, UDTs, UDFs and UDKeys, in order to avoid conflicts with other partner's add-ons.
    Regards,
    Vítor Vieira

  • User defined table usage

    Dear Experts,
    I would appriciate your advice on the sales budget screen that I am currently woking on.
    the screen contains a matrix with a cfl on the product group column and a couple of columns stand for  sale figures for each  month.
    this screen will be called form the BP form. so i would pass the selected BP code to my form.
    I am not sure whether a user defined table is the answer to this job.
    if i add productGroup,productCode,cardcode,Jan,Feb, ...  user defined fields to this table then the system will add Code and Name fields automatically to this table, if the userdeined table is the right way to go for this job, what values i should held for the code and name fields considering both of these fields are stand alone primary key fields.
    Many thanks.
    Maryam.

    I usually load the same value into both fields, but since the code field is only eight bytes its kind of limiting.  If you don't have any information to load in the table that would be unique, like a date or year field, (or your product code if its less than 9 bytes & will be unique) then a sequential number works fine.  There are threads on this forum that show different ways to do it, but one way is basically to select max(code) from the table, convert the value to numeric, add one to it and then use it as the value for both fields.
    Here's a link to a thread I posted with some code on the specifics of assigning the next sequential number as code and name:
    [Re: Unique Value in Code and Name]
    Edited by: John Chadwick on Sep 18, 2009 2:53 PM

  • Error while processing a user defined screen

    Dear Experts,
    We have developed an add on for our client in which we have a user defined screen before adding the GRPO. While adding that we are getting the error to generate this document first define the numbering series in the administration module.
    this is happening only after we upgraded to the 2007 B PL 10 version. till that there was no problem. We are unable to remove and replace the UDO and UDT as we have data in it.
    due to this we are unable to proceed with the GRPO.
    Please help us.
    thanks and regards,
    Yeshwanth Prakash

    Hi,
    Please search the forum before posting a new message.
    There are endless posts about that error.
    Regards,
    Vítor Vieira

  • Issue with xsd Data type mapping for collection of user defined data type

    Hi,
    I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
    Here is the code snippet.
    sample.java
    @WebMethod
    public QueryPageOutput AccountQue(QueryPageInput qpInput)
    public class QueryPageInput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class QueryPageOutput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class Account_IO implements Serializable, Cloneable {
    protected ArrayList <AccountIC> fintObjInst = null;
    public ArrayList<AccountIC>getfintObjInst()
    return (ArrayList<AccountIC>)fintObjInst.clone();
    public void setfintObjInst(AccountIC val)
    fintObjInst = new ArrayList<AccountIC>();
    fintObjInst.add(val);
    Public class AccountIC
    protected String Name;
    protected String Desc;
    public String getName()
    return Name;
    public void setName(String name)
    Name = name;
    For the sample.java code, the wsdl generated is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions
    name="SimpleService"
    targetNamespace="http://example.org"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <wsdl:types>
    <xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://example.org/types"/>
    <xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
    </xs:schema>
    <xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
    xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://examples.org"/>
    <xs:complexType name="queryPageOutput">
    <xs:sequence>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="queryPageInput">
    <xs:sequence>
    <xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    <xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
    <xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
    <import namespace="http://example.org/types"/>
    <xsd:complexType name="AccountQue">
    <xsd:sequence>
    <xsd:element name="arg0" type="ns1:queryPageInput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQue" type="tns:AccountQue"/>
    <xsd:complexType name="AccountQueResponse">
    <xsd:sequence>
    <xsd:element name="return" type="ns1:queryPageOutput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="AccountQueInput">
    <wsdl:part name="parameters" element="tns:AccountQue"/>
    </wsdl:message>
    <wsdl:message name="AccountQueOutput">
    <wsdl:part name="parameters" element="tns:AccountQueResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleService">
    <wsdl:operation name="AccountQue">
    <wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    <wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="AccountQue">
    <soap:operation soapAction=""/>
    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
    <wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
    <soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
    Can some one help me with this.
    Thanks,
    Sudha.

    Did you try adding the the XmlSeeAlso annotation to the webservice
    @XmlSeeAlso({<package.name>.AccountIC.class})
    This will add the schema for the data type (AccountIC) to the WSDL.
    Hope this helps.
    -Ajay

  • Error in conditional map using User Defined Function

    All,
    In my mapping I basically have a user defined function that returns the filename of my inbound file from the adapter-specific message attributes (file adapter).  I know this is coded properly because if I simply assign this function to my destination field I can see the filename in the payload XML.
    However if I conditionally check that returned value using if,then,else I get an error message stating:
    "During the application mapping com/sap/xi/tf/_MaterialData2ZcustProdMastMulti_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformation"
    Essentially in my if I'm checking if the value returned by my user defined function is equal to the constant "SOMECONSTANT" then I'm setting my destination field to some other constant value.  Otherwise it's equal to a different constant value.
    Any thoughts?

    Claus,
    Thanks for the help.  I actually had figured the problem out on my own.  Sorry for not updating the thread sooner.  What happened was this (as I suspected it wasn't related to my user defined function).  For the newbies out there (of which I'm one) the problem was I was comparing strings in the graphical mapping tool using the Boolean "EQUALS" rather than the Text "EQUALSS".
    Can you give yourself points for solving

  • Using user-defined data types in Forms 6i

    When I use the following code in Oracle Forms 6i
    PROCEDURE test IS
    prcl prcl_ty;
    BEGIN
    prcl := prcl.setParcel('xxx-xx-xxxx');
    END;
    I get 'Error 801'. However the above does work in SQL editor. The online help says PL/SQL8 client-side program units cannot support Oracle 8 object-related functionality and I suspect this is the reason I get the error from Forms. Is there a work-around for this.
    The TYPE is defined as:
    CREATE OR REPLACE
    TYPE PRCL_TY AS OBJECT
    (parcel VARCHAR2(11),
    MEMBER FUNCTION getBook RETURN VARCHAR2,
    MEMBER FUNCTION getMap RETURN VARCHAR2,
    MEMBER FUNCTION getItem RETURN VARCHAR2,
    MEMBER FUNCTION getItem_NS RETURN VARCHAR2,
    MEMBER FUNCTION getSplit      RETURN VARCHAR2,
    MEMBER FUNCTION find RETURN VARCHAR2,
    MEMBER FUNCTION find (yr in VARCHAR2) RETURN VARCHAR2,
    MEMBER FUNCTION isValid RETURN BOOLEAN,
    MEMBER FUNCTION toString                     RETURN VARCHAR2,
    MEMBER FUNCTION toString (par IN VARCHAR2) RETURN VARCHAR2,
    STATIC FUNCTION setParcel (istr IN VARCHAR2 DEFAULT '000-00-000A') RETURN prcl_ty) -- to be used as a constructor
    NOT FINAL
    CREATE OR REPLACE
    TYPE BODY PRCL_TY AS
    MEMBER FUNCTION getBook RETURN VARCHAR2 IS
    BEGIN
    return substr(self.parcel,1,3);
    END;
    MEMBER FUNCTION getMap RETURN VARCHAR2 IS
    BEGIN
    return substr(self.parcel,4,2);
    END;
    MEMBER FUNCTION getItem RETURN VARCHAR2 IS
    BEGIN
    return substr(self.parcel,6);
    END;
    MEMBER FUNCTION getItem_NS RETURN VARCHAR2 IS
    BEGIN
    return substr(self.parcel,6,3);
    END;
    MEMBER FUNCTION getSplit RETURN VARCHAR2 IS
    BEGIN
    return substr(self.parcel,9,1);
    END;
    MEMBER FUNCTION find RETURN VARCHAR2 IS
    found varchar2(1);
    BEGIN
    begin
    select 'x'
         into found
         from casrp
         where cp_book_num = self.getBook
         and cp_map_num = self.getMap
         and cp_item_num = self.getItem
              and rownum = 1;
         return 'CASRP';
         exception
         when NO_DATA_FOUND then
         begin
    select 'x'
         into found
         from pro_prop
         where pp_book_num = self.getBook
         and pp_map_num = self.getMap
         and pp_item_num = self.getItem
              and rownum = 1
              and NOT EXISTS (select 'x'
                                  from cncl_prcl
                                  where cr_book_num = self.getBook
                                  and cr_book_num = self.getMap
                                       and cr_book_num = self.getItem
                                       and rownum = 1);
         return 'PRO_PROP';
         exception
         when NO_DATA_FOUND then
              return '';
         end;
    end;
    END;
    MEMBER FUNCTION find (yr IN VARCHAR2) RETURN VARCHAR2 IS
    found varchar2(1);
    BEGIN
    begin
    select 'x'
         into found
         from casrp
         where cp_book_num = self.getBook
         and cp_map_num = self.getMap
         and cp_item_num = self.getItem
              and cp_tax_yr = yr
              and rownum = 1;
         return 'CASRP';
         exception
         when NO_DATA_FOUND then
         begin
    select 'x'
         into found
         from pro_prop
         where pp_book_num = self.getBook
         and pp_map_num = self.getMap
         and pp_item_num = self.getItem
              and pp_tax_yr = yr
              and rownum = 1
              and NOT EXISTS (select 'x'
                                  from cncl_prcl
                                  where cr_book_num = self.getBook
                                  and cr_book_num = self.getMap
                                       and cr_book_num = self.getItem
                                       and cr_tax_yr = yr
                                       and rownum = 1);
         return 'PRO_PROP';
         exception
         when NO_DATA_FOUND then
              return '';
         end;
    end;
    END;
    MEMBER FUNCTION isValid RETURN BOOLEAN IS
    i number;
    BEGIN
    for i in 1..8 loop
         if substr(parcel,i,1) not between '0' and '9' then
         return FALSE;
         end if;
         end loop;
         if nvl(substr(parcel,9,1),'#') not between 'A' and 'Z' and
         nvl(substr(parcel,9,1),'#') != '#' then
         return FALSE;
         end if;
         return TRUE;
    END;
    MEMBER FUNCTION toString RETURN VARCHAR2 IS
    BEGIN
    return self.toString('-');
    END;
    MEMBER FUNCTION toString (par IN VARCHAR2) RETURN VARCHAR2 IS
    BEGIN
    return self.getBook||par|| self.getMap||par|| self.getItem;
    END;
    STATIC FUNCTION setParcel (istr IN VARCHAR2 DEFAULT '000-00-000A') RETURN prcl_ty IS
    len number;
    pos number;
         lastch varchar2(1);
    temp varchar2(30);
    invalid_format exception;
         pragma exception_init(invalid_format,-9001);
    BEGIN
    temp := upper(istr);
    -- Find 1st occurance of '-'. If not in correct postion, pad book num with zeros.
         pos := instr(temp,'-',1,1);
    if pos > 0 then
         if pos != 4 then
    temp := lpad(substr(temp,1,pos-1),3,'0')||substr(temp,pos);
         end if;
    -- Find 2nd occurance of '-'. If not in correct postion, pad map num with zeros.
         pos := instr(temp,'-',1,2);
         if pos != 7 then
    temp := substr(temp,1,4)||lpad(substr(temp,5,1),2,'0')||substr(temp,pos);
         end if;
         -- Pad item num
         len := length(temp);
         lastch := substr(temp,len);
         temp := substr(temp,1,7)||lpad(substr(temp,8,len-1),3,'0');
         if lastch between 'A' and 'Z' then
              temp := temp||lastch;
         end if;
    end if;
    temp := replace(temp,'-','');
         if prcl_ty(temp).isValid then
    return (prcl_ty(temp));
         else
         raise invalid_format;
         end if;
    END;
    END;
    Rich Hall
    [email protected]

    You are correct in your assumptions. Client side PLSQL does not support user defined types like the one you are trying to use.
    There are no workarounds I am afraid.

  • How to pop-up a text box for a grid item on a user defined table?

    Hello,
    I have a user defined table with a grid & one of the columns is for comments. What I'm trying to do is to pop up a text box when double clicking in the column field. This would be the same as the Item Details column in the Sales Order ittems grid.
    Thanks,
    Ron

    Please post your question on SDK forum.  Only SDK could meet your need.
    Thanks,
    Gordon

  • Adding user-defined number of text fields.

    Okay I am having problems, obviously. I am developing a program where the user will enter X and Y values and the program will calculate the relational data. However, I can't even get a start.
    First of all, the user defines the number of pairs of points they want to define. For example, they have 20 points, each with its own X and Y, so they click on 20 and then okay in the first window.
    The next window will then take their answer and display X and Y text fields for as many points as they defined. However, I can't figure out any way to do this.
    Feel free to run the program, the problem lies in the method setTextFields(). Help please!
    import javax.swing.*;               //FOR SWING COMPONENT CLASSES
    import java.awt.*;                  //FOR CONTAINER CLASS
    import java.awt.event.*;            //FOR EVENT HANDLING
    public class RegressInput extends JFrame
        private JComboBox listJComboBox;        //COMBO BOX TO HOLD HOW MANY PAIRS OF DATA POINTS THE USER HAS TO ENTER
        private JButton answerButton;           //BUTTON TO CLICK AFTER SELECTING PAIRS OF DATA POINTS
        private JPanel textFieldTopPanel;       //TEXT FIELD TOP PANEL
        private JPanel textFieldBottomPanel;    //TEXT FIELD BOTTOM PANEL
        private JPanel textFieldPanel;           //TEXT FIELD PANEL   
        private CardLayout cardSelector;        //DECLARE CARD LAYOUT OBJECT   
        private JPanel cardDeck;                //DECLARE CARD PANEL OBJECT
        public RegressInput(String title)
            super(title);               //CALL SUPERCLASS CONSTRUCTOR
            //CREATE A CONTAINER
            Container container = getContentPane();
            //INSTANTIATE CARD LAYOUT OBJECT
            cardSelector = new CardLayout();
            //INSTANTIATE PANEL OBJECT
            cardDeck = new JPanel();
            //SET LAYOUT OF CARD DECK PANEL TO CARD LAYOUT
            cardDeck.setLayout(cardSelector);
            //DEFINE LABEL FOR FIRST CARD
            Label question = new Label("How many PAIRS of data would you like to enter?");
            //BUTTON TO SUBMIT NUMBER OF POINTS TO PLOT
            answerButton = new JButton("OK");
            listJComboBox = new JComboBox( getArray() );//USE getArray() METHOD TO SET ITEM LIST OF THE COMBO BOX
            listJComboBox.setMaximumRowCount(10);       //SETS THE VISIBLE NUMBER OF ITEMS TO THE USER
            Label xValues = new Label("X Values");      //LABEL FOR X values
            Label yValues = new Label("Y Values");      //LABEL FOR Y values
            //BUILD CARD DECK
            JPanel comboBoxCard = new JPanel();     //CREATE FIRST CARD
            comboBoxCard.add(question);             //ADD question LABEL TO FIRST CARD
            comboBoxCard.add(listJComboBox);        //ADD listJComboBox TO FIRST CARD
            comboBoxCard.add(answerButton);         //ADD answerButton TO FIRST CARD
            textFieldTopPanel = new JPanel();       //CREATE TOP PANEL OF SECOND CARD
            textFieldTopPanel.add(xValues);         //ADD xValues Label TO SECOND CARD
            textFieldTopPanel.add(yValues);         //ADD yValues Label TO SECOND CARD
            textFieldBottomPanel = new JPanel();    //CREATE BOTTOM PANEL OF SECOND CARD
            textFieldBottomPanel.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));    //SET LAYOUT FOR BOTTOM PANEL
            textFieldPanel = new JPanel();          //CREATE PANEL FOR SECOND CARD
            textFieldPanel.setLayout(new BorderLayout(10, 10)); //SET LAYOUT FOR SECOND CARD
            textFieldPanel.add(textFieldTopPanel, "North"); //ADD textFieldTopPanel TO NORTH
            textFieldPanel.add(textFieldBottomPanel, "South");  //ADD textFieldBottomPanel TO SOUTH
            cardDeck.add(comboBoxCard, "Step 1");       //ADD FIRST CARD TO DECK
            cardDeck.add(textFieldPanel, "Step 2");     //ADD SECOND CARD TO DECK
            container.add(cardDeck);                    //ADD CARD DECK TO CONTAINER
            //DEFINE BUTTON HANDLER OBJECT
            ButtonHandler buttonHandler = new ButtonHandler();
            //ADD ACTION LISTENER FOR BUTTONS
            answerButton.addActionListener(new ButtonHandler());
        }//END RegressInput() CONSTRUCTOR
        //METHOD TO CREATE AND RETURN AN ARRAY OF VALUES FOR JComboBox
        private String[] getArray()
            //CREATE ARRAY TO HOLD 30 VALUES
            int numbers[] = new int[29];
            //CREATE int IN ORDER TO START THE ARRAY AT 2 INSTEAD OF 1
            int number = 2;
            //ASSIGN VALUES FROM 2 TO 30 TO numbers[] ARRAY
            for(int count=0; count < 29; ++count)
                numbers[count] = number;        //SETS EACH INDEX TO number
                number++;                       //INCREMENTS number
            }//END for LOOP
            //CREATE pairs[] ARRAY TO HOLD 30 STRINGS
            String pairs[] = new String[29];
            //ASSIGN VALUES 1 TO 30 IN STRING ARRAY FOR COMBO BOX
            for(int count = 0; count < 29; ++count)
                pairs[count] = "" + numbers[count];
            }//END for LOOP
            return pairs;//RETURNS pairs[] ARRAY FOR THE LIST ITEMS IN listJComboBox
        }//END getArray() METHOD8
        //RETURNS THE ITEM SELECTED BY THE USER FROM THE JComboBox
        private int getValue()
            //ASSIGNS STRING VALUE OF THE JComboBox TO A WRAPPER
            Integer v = new Integer((String) listJComboBox.getSelectedItem());
            //ASSIGNS WRAPPER VALUE TO int
            int value = v.intValue();
            //RETURN VALUE OF SELECTED ITEM
            return value;
        }//END getValue()
        private void setTextFields()
        {//HERE LIES THE PROBLEM! WHAT GOES IN THIS METHOD????
            for(int count = 0; count < (2 * getValue()); ++count)
        }//END setTextFields()
        //BUTTON EVENT HANDLER CLASS
        private class ButtonHandler implements ActionListener
         //PROCESS EVENT
            public void actionPerformed(ActionEvent e)
                //WHICH BUTTON CAUSED THE EVENT?
                if(e.getSource() == answerButton)
                    cardSelector.last(cardDeck);
                    cardDeck.setSize(600,600);
                }//END if STATEMENT
            }//END actionPerformed()
        }//END ButtonHandler CLASS
    }//END RegressInput CLASSHere is main:
    import javax.swing.JFrame;
    public class TestSharpStats
         public static void main(String[] args)
            //DEFINE FRAME OBJECT
            RegressInput window = new RegressInput("Hi");     //SETS TITLE BAR
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      //CLOSES WINDOW
            window.setSize(400, 600);    //SET FRAME SIZE
            window.setResizable(true);  //PREVENTS USER FROM RESIZING WINDOW
            window.setVisible(true);     //SETS window TO VISIBLE
        }//END main()
    }//END TestSharpStats CLASS

    muit-post: http://forum.java.sun.com/thread.jspa?messageID=4442652

  • How to let the user define the colors for each plots in the graph (I use LabVIEW 7)?

    How to let the user define the colors for each plots in the graph (I
    use LabVIEW 7)?

    Hi,
    Take a look at this example, it uses property nodes to select tha
    active plot and then changes the color of that plot.
    If you want to make the number of plots dynamic you could use a for
    loop and an array of color boxes.
    I hope this helps.
    Regards,
    Juan Carlos
    N.I.
    Attachments:
    Changing_plot_color.vi ‏38 KB

  • How do you use user defined error messages in Value Help?

    Hi,
    I'm currently working on a Modifiable Value Help Selector in Web Dynpro Java, and I want to use a user defined error message when I validate the values entered by a user. Currently, it's returning its default error message ("Character <string> does not match...").
    Since the project requires a different error message, is there a way to override the default error message and use my defined error message instead?
    Thanks!

    Hi Angelo,
    I am not sure why message area is showing both Custom and inbuilt messages but you can try the following:
    i guess you must be using reportContextAttribute exception for showing Error messages on the input fields as well.in that case you can disable the message area so messages will appear only on the Context level ie; on input fields.
    For other messages apart from validation messages you can enable the message area before reporting the exception.
    make sure the boolean context variable which will be used for enabling and disabling the message area should have Readonly property set as true.
    I am not sure whether this is the only solution for this but you can try and see if it works.
    Siddharth

  • How to provide value to a User Defined field thru java code

    I am using OIM 11.1.1.5.
    I have a user defined field called Unique-Customer-Number. This field need to be pre-populated during user creation (using OIM Web UI) and the value comes from a java code.
    Can any of you tell me the high level steps to implement this.
    Thanks!
    Kabi

    Thanks Rajiv,
    I just followed everything on metalink 1262803.1. My console shows the followings during Metadata import.
    weblogicImportMetadata.bat :-
    Starting import metadata script ....
    Please enter your username :weblogic
    Please enter your password :
    Please enter your server URL [t3://localhost:7001] :t3://10.10.99.99:7001
    Connecting to t3://10.10.99.99:7001 with userid weblogic ...
    Successfully connected to Admin Server 'adm_server01' that belongs to domain 'server01'.
    Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead.
    Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.For more help, use help(domainRuntime)
    Disconnected from weblogic server: adm_eimsdv1s01
    End of importing metadata script ...
    Exiting WebLogic Scripting Tool.
    How I will I know that my plugin/ event-Handler is registered successfully. Is there any screen where I can see all registered plugins ?

Maybe you are looking for

  • Connecting ATV to SP4805 Projector

    Has anyone had any success connecting AppleTV to Screenplay SP4805?  I have spent several hours to no avail: tried all settings, also flashed the 4805 to latest firmware 1.3.2.  The projector does not recognise any signal from the 4805.  I have set t

  • Webdynpro to oracle db

    hi experts, created one webdynpro application which connect to Oracle database, directly without webservices and ejbs. my code is as follows: Connection con = null;     Statement stmt = null;     DataSource ds=null;     ResultSet rs=null;     try    

  • Deactivate change pointer in particular article type

    Dear all expert We are using IDOC type Wp_plu02 for outbound article processing we also activate change pointer setting on IDOC type wp_plu02 but now we want to do deactivate change pointer in particular article type (project articles) how we can do

  • Top 10 SQL's  by Physical reads

    Dear experts, Oracle version - 11.1.0.7 Do we have a way to pull top 10 SQL's (physical reads) for a 24 hour period based on AWR data or other V$ views. Thanks

  • Specifying the current database in MSSQL

    How do you change the "Current" database using the JDBC:ODBC driver ? I know you could refer to a table in MSSQL by using database.owner.table but I was wondering if you could specify the current database in some manner ? Can you do it through the co