B1if - User defined Authentication
Hello!
I would like to authenticate users against an company database in a scenario. The documentation for this topic (Ref 02 - Scenario Dev - 4. Develop a user defined Authentication) wasn't updated since 2010-06-21.
Can someone show me a way how to check the username and password of an SAP-User? How can I save the SessionID for this authenticated user for re-use?
Thanks in advance!
Martin Samlaus
Jochen,
I have not tried this, but maybe it could work:
1. Create a new application that uses SSO as the authentication scheme. Name the cookie in the authentication scheme. Create one page in this application. Give a link to this application/page to your OID (internal) users.
2. In the Post Authentication Process of this application's authentication scheme, do this:
owa_util.redirect_url('f?p=XXXXX:1:&SESSION');
...where XXXXX is the application ID of the main application.
3. For the main application, leave the authentication scheme as is but also provide the same cookie name as for the SSO-authenticated application. Give a link to any page in this application to your non-internal users.
When internal users use the link to the SSO application they will first have to authenticate using the SSO login page, then they'll be taken to page 1 in application XXXXX. When the page sentry in that application checks for the existence of a suitable session cookie, it will find it, the cookie having already been set by the authentication scheme in the SSO-authenticated application, which uses the same cookie name as that expected by application XXXXX.
When non-internal users use the link you gave them, the default authentication scheme will present the application's login page and they'll authenticate there.
Scott
Similar Messages
-
I developed our own Authentication, Identity Assertion & Authorization providers
for weblogic 8.1 SP1. In the authenticator MBean i have one method which takes
user defined object as a argument and returns a user defined object. i am able
to call all the methods which takes java objects(for example: String, int, ArrayList,
HashMap, Etc...) as a argument and returns also a java object but when i user
any user defined object then it gives exception. if in the argument i used user
defined object then it is not able to call that method telling NoSuchMethodException.
Is there any way to use user defined object as an argument to MBean method?
can anyone please help us as we r in the final stage of the project?
Thanks
Lakshmi"Lakshmi Padhy" <[email protected]> wrote in message
news:3fc2f50c$[email protected]..
>
I developed our own Authentication, Identity Assertion & Authorizationproviders
for weblogic 8.1 SP1. In the authenticator MBean i have one method whichtakes
user defined object as a argument and returns a user defined object. i amable
to call all the methods which takes java objects(for example: String, int,ArrayList,
HashMap, Etc...) as a argument and returns also a java object but when iuser
any user defined object then it gives exception. if in the argument i useduser
defined object then it is not able to call that method tellingNoSuchMethodException.
>
Is there any way to use user defined object as an argument to MBeanmethod?
>
I seem to remember that jmx only supports scalar datatypes. Ask in the
weblogic.developer.interest.management newsgroup. -
Using User Defined Object in B1if
Hello Expert,
I am trying to configure the B1if scenario for User Defined Object, But when i check the consistency of the scenario there are three issues
1. 0142 vBIU warning - inbound - channel: defined object identifier is not listed in the repository
2. 0259 vBIU inconsistency - outbound - details: 'Service Method Identifier' is not correct
3. 0262 vBIU inconsistency - outbound - details: 'Get Method Identifier' is not correct
I have prepared the Test as a UDO in SAP B1.
*CONFIGURATION*
Scenario Step Definition INBOUND - CHANNEL
Channel : INB_B1_EVNT_ASYN_EVT
Type : SAP Business One
Mode : Asynchronous
Trigger : B1Event
Object : Test
Identification Parameter : n.a.
Namespace Definition : n.a.
Retrieval
Method : Retrieval
Adapter : DI API
Type : Service
Rule Document :
id : GeneralService
type : get
method : getByParams
tag : TestParams
keys : Code(Code)
Outbound Phase
Channel : OUT_B1
Type : SAP Business One
Format : DI Service
Regards
Vijay BarapatreHi All,
I have a UDO with one Table and Code and Name as fields, when I add data in SAP with the default screen I want to trigger it in B1IF, I have tried identifier 152, 153 and many more.
But my trigger keeps returning blank so it doesn't go through to my processes.
<?xml version="1.0" encoding="utf-8" ?>
- <Msg xmlns="urn:com.sap.b1i.vplatform:entity" xmlns:b1il="urn:com.sap.b1i.sim:b1ilog" xmlns:b1im="urn:com.sap.b1i.sim:b1imessage" xmlns:bfa="urn:com.sap.b1i.bizprocessor:bizatoms" xmlns:sim="urn:com.sap.b1i.sim:entity" xmlns:vpf="urn:com.sap.b1i.vplatform:entity" MessageId="13102816541180273503C0A80079CC46" BeginTimeStamp="20131028165411" recording="true" logmsg="0009" msglogexcl="false" MessageLog="true">
- <Header>
<msglog step="Default message log" always="false" b1ifactive="true" />
- <Resumption>
<starter ipo="/vP.0010000119.in_BEAE/com.sap.b1i.vplatform.runtime/INB_B1_EVNT_ASYN_EVT/INB_B1_EVNT_ASYN_EVT.ipo/proc" />
</Resumption>
<IPO Id="INB_B1_EVNT_ASYN_EVT" tid="13102815571480273490C0A8007961AC" />
<Sender Id="0010000119" />
</Header>
- <Body>
- <Payload Role="T" Type="B1Event" add="">
- <Event xmlns="" B1EventFilter="false">
- <b1e:b1events xmlns:b1e="urn:com.sap.b1i.sim:b1event">
- <b1e:b1event>
<b1e:eventsource>MobiPay</b1e:eventsource>
<b1e:objecttype>FC_PODO</b1e:objecttype>
<b1e:transactiontype>A</b1e:transactiontype>
<b1e:usercode>manager</b1e:usercode>
<b1e:userid>manager</b1e:userid>
- <b1e:keys count="1">
- <b1e:key>
<b1e:name>Code</b1e:name>
<b1e:value>test 2</b1e:value>
</b1e:key>
</b1e:keys>
<b1e:sourcesite>BDRAPER</b1e:sourcesite>
<b1e:sourceport>1433</b1e:sourceport>
<b1e:sourcetype>6</b1e:sourcetype>
<b1e:sld value="BDRAPER!!MobiPay" />
</b1e:b1event>
</b1e:b1events>
- <b1ie:B1IEvent xmlns:b1ie="urn:com.sap.b1i.sim:b1ievent" SysId="0010000119" SysTypeId="B1.9.0" Task="I" LocalObjectType="FC_PODO">
- <b1ie:PrimaryKeyList>
<b1ie:PrimaryKey Key="Code" Value="test 2" />
</b1ie:PrimaryKeyList>
</b1ie:B1IEvent>
</Event>
</Payload>
<Payload Role="S" />
</Body>
</Msg>
Please help,
Regards,
Brenden Draper. -
Not getting alerts even after applied the monitoring policy on user defined group.
Hi,
recently we have installed OEM Ops center 12c for monitoring our oracle servers. I have created a user defined group and applied a userdefined monitoring policy on that group. I have threshold 70% as crtical and 50 % as warning in my monitoring policy.
Some of my servers are having 77% disk utlization and im not getting any alerts for that.
What will be the problem?
When i see the membership of particular group (group -> membership in center pane), im not able to see the monitoring policy name on the monitoring policy column but i have applied policy on that group.
Please help me to resolve the issue.
Thanks,
VeijarHi Stijn,
Thanks for the response.
You are right. I was sending personalized iBot to group 'Financial Analyst'. A non-OBI user(Reshmi) belongs to this group.
But still problem has not been completely resolved.Still users in group either Administrator/Financial Analyst not getting alert via mail.
Atleast the users in Administrator group should get alert via mail, since both are defined in rpd.
Now when i send non-personalized ibot to group 'Financial Analyst', All the users other than Reshmi get alert on their dashboard but they don't get alert
via mail.Also Reshmi does not get alert via mail and error file shows error like -
No devices for user: Reshmi.
Now i am not getting the error nQSError: 43001 Authentication failed for Reshmil in repository Star: invalid user/password. (08004)
which i was getting earlier while sending personalized ibot.
I have already defined the Mail tab contents using Job Manager. Also i have selected User Destinations both Interactive Dashboard and Active Delivery
Profile.
Why the users don't get alert via mail? What could be the problem? -
How register user defined listener name with OEM
DEFAULT LISTENER
[oracle@localhost ~]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 06-SEP-2010 10:03:46
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
USER DEFINED LISTENER
[oracle@localhost ~]$ lsnrctl status LISTENER_LIMCAMP
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 06-SEP-2010 10:04:03
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.106.72)(PORT=1521)))
STATUS of the LISTENER
Alias LISTENER_LIMCAMP
Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date 03-SEP-2010 19:42:11
Uptime 2 days 14 hr. 21 min. 52 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /ora10gsoft/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /ora10gsoft/oracle/product/10.2.0/db_1/network/log/listener_limcamp.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.106.72)(PORT=1521)))
Services Summary...
Service "LIMCAMP" has 1 instance(s).
Instance "LIMCAMP", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
I am able to connected thru listener.
But my OEM database control showing
Host localhost.localdomain
Port 1521
SID LIMCAMP
Oracle Home /ora10gsoft/oracle/product/10.2.0/db_1
Status Down
Host localhost.localdomain
Port 1521
Name LISTENER
Oracle Home /ora10gsoft/oracle/product/10.2.0/db_1
Location /ora10gsoft/oracle/product/10.2.0/db_1/network/admin
Details TNS-12541: TNS:no listener
My OEM taking the default LISTENER( which is not running). how to register OEM to take the listener (LISTENER_LIMCAMP).# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain
192.168.106.72 localhost.localdomain
would you please have a look into the below link which is the issue on the same server.
Heartbeat failed to connect to standby : archive files not transfering....
Edited by: SAKTHIVEL on Sep 6, 2010 11:45 AM -
Cannot logon user defined in header variable!
Dear Guru's
I'm seeing this this error when I type the URL. "Cannot logon user defined in header variable!"
I have stopped and sterted the portal.
I could not find the authschemes.xml (if this is related)
Thanks,
EP6 SP2
NarenHi ,
Please explain what exactly you want to do ..If you want to use Header Variables for User Authentication go through this links
http://help.sap.com/saphelp_nw2004s/helpdata/en/68/5ddc40132a8531e10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/68/5ddc40132a8531e10000000a1550b0/frameset.htm
Thanks n Regards
Santosh
Reward if helpful !!! -
No value is select from user define table
Hi ALL,
i am using B1if , i am sending data B1 to isr , i am using user define table but problem no value is select from user define table .
my table ID is @SSRPOD
<payload operation="">
<ns0:MT_POD_B1_System xmlns:ns0="http://xxxx.com/SC/B1/Dlvr/CustDlvr/ExtPrfOfDlvr">
<POD>
<Header>
<SalesOrderNumber>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_SalOrdNo" />
</SalesOrderNumber>
<ArrivalDate>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_TaxDate" />
</ArrivalDate>
<Detail>
<DOLineQuantity>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_Quantity" />
</DOLineQuantity>
<UOM>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_Unitmsr" />
</UOM>
</Detail>
</Header>
</POD>
</ns0:MT_POD_B1_System>
</payload>
I have set following things.
Inbound Channel
scenirio step identifier :z.xxxx
Inbound Channel(IPO):INB_B1_EVNT_ASYN_EVT
InboundType:Asynchronous
Process Trigger:B1Event
Identification Method: B1Event
Identification Parameter:n.a
Identifier:?????
Identifier Namespace:??????
can anyone help me?
Edited by: Sinha_Sinha on Feb 3, 2012 7:47 AMFound an authorization object was missing, that enabled the case types to show but hitting the GO button brought a page that can not be viewed in IE. on to the next hurdle..........
-
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 PrakashHi,
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,
RonPlease 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 CLASSmuit-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
Maybe you are looking for
-
I can't open Lightroom 5 in Windows 7 notes Catalog Error
I can't open Lightroom 5 in Windows 7. I keep getting a window titled "Confirm" and it notes an "Unexpected error opening catalog" and "The catalog could not be opened due to an unextected error". 3 choices come up: Try Again Choose A Differ
-
How can you move your music and stuff to computer?
Okay I have an iphone and a macbook. I have all my stuff synced on my iphone contacts, music, dates ect. Well i just updated my computer with leopard and didnt back-up my music on my computer. So all my stuff is on my phone. The only thing from my ph
-
Date Stamping pics to be printed
I would like to select a number of photos that are going to be printed either with a service or on my printer and add a date stamp to all of the selected photos. All I have been able to do now is edit each picture and add a date on them one at a time
-
Nokia E51 problem in the recorder or push to talk ...
sometimes the recorder button (on left side) works and sometimes it doesnt.does any body have this problem?
-
When saving a credit note the following message is appearing 'Action stopped by add-on (UI-API-7780) [Message 66000-152]'. What does this mean? Thanks Lisa