Tuesday, July 01, 2014

dynamic lookup cache enabled with 2 matched new conditions but newLookupRow is 0

The issue has been resolved following the tips below:-
Dynamic lookup error

Here are common mistakes when configuring a dynamic lookup for insert/update functionality:
  • Associated ports are not linked to the correct input port
  • Datatype mismatches between the dyn lookup in PowerCenter and the database table
  • "Insert else Update" is not selected on the dyn lookup properties tab
  • The lookup/output ports in the dynamic lookup are not sent out of the lookup (usually to a router).  Some people send the input ports out, or have the router get the data from the preceeding transformation.  Unless the dynamic lookup sends the lookup/output port out, it will not detect a change.
  • Input of a column that will always result in an "update" scenario.  For instance, if your target table has a column named "CREATE_DATE" which gets populated with the SYSDATE at the time that the record was loaded, do NOT send the CREATE_DATE column into the dynamic lookup.  The CREATE_DATE, by definition, will be different at the time that the mapping is running from the data that is already loaded into the database.  The CREATE_DATE should be carried from the transformation directly preceeding the dyanmic lookup into the router, skipping over the dynamic lookup.


9 times out of 10, most developers have tripped up and configured the dynamic lookup incorrectly per the above.



In the scenario where the dyanmic lookup is always resulting in an update flag, look at the following:
  • data type mismatches between the lookup and the database
  • associated ports are mismatched
  • input of a column that will always result in an "update."


In the unlikely scenario that all of the options above are configured correctly, but you are still getting all "update" flags from the newLookupRow, I would bet that you are doing some type of mathematic calculation on a numeric column, frequently this is some sort of dollar calculation. In some cases of mathematical calculation, a rounding error becomes an issue. For example, the database is storing $25.58 for the REVENUE column and you believe that the mapping is inputting $25.58 into the dynamic lookup, but in reality due to the way that the number is stored in the PowerCenter engine, the dynamic lookup is actually seeing $25.58000000000000001. Therefore, you are getting newLookupRow = 2. There are a couple of different ways to fix this issue and they can be found my searching my.informatica.com. Many times, enabling high precision arithmetic will do the trick. Sometimes the issue is caused by an IIF statement that looks like this:

IIF(COUNTRY='USA', REVENUE, 0)

when in reality, it should be:

IIF(COUNTRY='USA', REVENUE, 0.00)



There are also some tricks with using the scientific notation for zero (0e0) that you may want to look into.



I have been working with PowerCenter for many, many years and have always found that alleged 'bugs' with the dyanmic lookup to be attributed to mis-configuration or rounding errors.

Labels:

Wednesday, April 03, 2013

How to check whether PowerExchange Listener is running or not from PowerExchange Navigator?


It can be checked using DTLREXE utility.

c:\Informatica\PowerExchange9.1.0>dtlrexe loc=MainFrameDEV prog=ping
PWX-00750 DTLREXE Input LOC=MainFrameDEV, PROG=PING, PARMS=, UID=<>.
PWX-33304 10.*.*.*:* : taskid: 0, operation timeout: (none) secs, heartbeat interval: 30 secs
PWX-00755 DTLREXE Command OK!

Pick up the loc from dbmover.cfg.

Labels:

How to get the filename associated with various data maps in mainframe using Informatica PowerExchange?



Create dtlurdmo.ini as follows:-
OUTPUT D:\MY_PWX_SCRIPTS\TGT;
USER mypwxuser;
PWD mypwxpassword;
TARGETUSER mypwxusertgt;
TARGETPWD mypwxpasswordtgt;
SOURCE MVSDEV;
TARGET local;
DETAIL;
VALIDATE;
DM_COPY;

Run it as:-
c:\Informatica\PowerExchange9.1.0>dtlurdmo D:\MY_PWX_SCRIPTS\dtlurdmo.ini

Check Detail.logs in PWX installation directory for the filenames.

Labels:

Saturday, August 14, 2010

Informatica 8.6.0:Installing Powercenter in Windows XP Oracle 10g

Informatica 8.6.0: Installation Steps in WINDOWS XP ( Service Pack 2) Oracle 10g
/************************************************
* INFORMATICA 8.6.0 Installation Steps
* OS: WINXP(SP-2)
* Oracle 10g
*************************************************/



1. Create an user for informatica metadata:-
DROP user utopia_user cascade;
CREATE USER utopia_user IDENTIFIED BY utopia_user DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;
GRANT CONNECT,DBA TO utopia_user;

2. Installation Type
New installation.

3. Licence Key
Provide the path of the licence key.

4. Installation Directory
Provide the path.

5. HTTPS configuration
Keep default.

6. Domain configuration
New domain. While configuring domain database provide the database and the the database user info which you have created in step 1.

7. Creating domain
Accept the default name.Provide the domain name itself as domain password for easy remembering.

8. Informatica Service configuration.
Username: machinename\username
Password:

Troubleshooting
What is the powercenter administration console username/password?
>> admin/
OR
Administrator/Administrator

Labels:

Wednesday, July 08, 2009

HowToInfa: Informatica Best Practices

Import not Copy:-

While deploying a mapping from Dev to QA or QA to Prod,always try to import first.
If you face any error in importing then copy the mapping from source to target environment.
The reason for that is while copying the sources and targets gets copied as NON-SHORTCUT whereas they should have been copied as shortcut.

There might be possibility that in your project you keep all your source/target/transformation/mapplets etc into a shared folder and you are using those components in different different mappings.

In copying they will be copied not as shortcut to that folder but a separate copy which definitely you dont want.

Set relational connection in UTF8 by default
This will avoid much data corruption issues.

Relational connection changes required?-Replace if possible

You may need somtime to fix some passwords/userid/codepage/parrallism in relational connection.
Create a new with your required changes.
Replace the old with this new.
Delete the new.
This will help you avoid validating a no of sessions which might be using the old relational connection.

Labels:

Monday, July 06, 2009

HowToInfa : Undocked and now can not dock

I got the solution from ITTOOLBOX.
docking problems with powercenter designer

And it is:-
1. close all Informatica instances like Designer , Workflow manager and monitor
2. backup the registry
3. go to HKEY_CURRENT_USER
4. go to SOFTWARE --> Informatica --> POWERMART CLIENT TOOLS --> (whichever version you are using) my case 7.1 -->Designer/Workflow Monitor/WFManager --> Toolbars 7.1
5. rename the folder Tolbars 7.1 to anything like toolbars 7.1_old
6. save and exit the registry editor
7. Restart Informatica Designer/WFManager/WFMonitor

Labels:

Sunday, March 02, 2008

Informatica 7.1.5:How to replace the old connection with a new one

How to replace the existing connection with a new
one without redefining all source/target/lookup connections in every
session?


All connections whichsover you will create will be stored into INfa meta.And thus any any changes in connection will make sessions invalid.
In that case after creating your new relational connection,replace the old one with new one.You can do that from the menu CONNECTION.

Labels:

Sunday, February 17, 2008

informatica 7.1 : While starting Informatica service getting error as " the informatica service started and then stopped"

Check:-

1/
Are all folders like TgtFiles,SrcFiles,Temp,Cache,WorkflowLogs,LkpFiles,SessLogs etc in place?

2/The repository you have created is there in Informatica server setup?

Labels:

Thursday, August 02, 2007

Informatica 7.1:HIER_28056

HIER_28056 XML Reader: Error [PartialTagMarkupError] occurred while parsing.The input ended before all started tags were ended

Error:-READER_1_1_1> HIER_28056 XML Reader: Error [PartialTagMarkupError] occurred while parsing:[Error at (file /aaa/aaa/aaa/aaa/aaa/aaa.xml, line 2000, char 64 ): The input ended before all started tags were ended. Last tag started was 'dept'.]; line number [2000]; column number [64]

Reason:-This type of error may come
1/When FTP has not been done for that file from source and some corruption occurs

Solution:-Ensure FTP done properly.

HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:An exception occurred! Type:UTFDataFormatException, Message:invalid byte 2 (`) of a 2-byte sequence..]

Error:-
HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:[Error at (file /aaa/aaa/aaa/aaa.xml, line 1, char 39 ): An exception occurred! Type:UTFDataFormatException, Message:invalid byte 2 (`) of a 2-byte sequence..]; line number [1]; column number [39]

Reason:-Unsupported characters are there in teh xml file which are not supported by the encoding specified in the header.

Solution:-
1/Check for the character and the encoding.
2/If that character is apostrope then be alert about Midstream parser.Midstream parser does not allow apostrope.
3/If possible remove the charters from the xml file by editing it.
4/If needed change the encoding line to
5/If needed , edit the xml file and save it as UTF8.


HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:The buffer manager cannot provide any more buffers.]

Error:-
HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:[Error at (file /.../aaa.xml, line 10, char 56 ): An exception occurred! Type:RuntimeException, Message:The buffer manager cannot provide any more buffers.]; line number [10]; column number [56]

Reason:-
This is due to any component of that xml that has set as undefined length in the XML Source.And thats making the PowerCenter Server to consume a lot of memory to parse it.

Solution:-
1/Go to Designer-->Definition.
2/In XML Editor-->Search components in XML schema-->Advanced Options.
3/Go to Length Property. You will populate the infinite value.
4/Click on Search button to find out the matching components.
5/Change their length to some fixed value.
6/Save the mapping.


HIER_28060 XML Reader: Fatal Error:[The primary document entity could not be opened

Error:-
HIER_28060 XML Reader: Fatal Error:[The primary document entity could not be opened. Id=e:\demo\SrcFiles\data.xml]

Resolution:-
Edit the task of the worflow and check for the path of your file.

HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:Could not open DTD

Error:-
HIER_28056 XML Reader: Error [NoGrammarResolver] occurred while parsing:[Error at (file e:\demo\SrcFiles\note_ex_dtd.xml, line 2, char 34 ): An exception occurred! Type:RuntimeException, Message:Could not open DTD file 'e:\demo\SrcFiles\note.dtd'.]; line number [2]; column number [34]

Resolution:-
Check in the same location your xml file is.Is there there dtd also?

HIER_28056 XML Reader: Error [UnterminatedEntityDecl] occurred while parsing:Expected a markup declaration

Error:-
READER_1_1_1> HIER_28056 XML Reader: Error [UnterminatedEntityDecl] occurred while parsing:[Error at (file e:\demo\SrcFiles\note.dtd, line 1, char 3 ): Expected a markup declaration.]; line number [1]; column number [3]

Resolution:-
Edit your dtd file in xmlspy and remove all unwanted lines/words from begining/end.

---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Sunday, May 20, 2007

Informatica7.1:HIER_28004 XML Reader Error:Could not retrieve a block from the DTM

We use to load almost 2-3 millions data from XML per day.Nowadays we were getting a strange kind of error as in the title.
We have our mechanism which can remove the error HIER_28056.But that mecanism can not solve this error.So many files were failing.I identified that it was happening due to smaller buffer size.I increasec the DTM size and its solved.

---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Tuesday, May 01, 2007

Informatica7.1:What is version control in Informatica7.1

Version Control is a new enhancement in 7.1
It means that you can go back to any of the previous development phase of a mapping or session.

Whenver you are developing a mapping/session it will be in check out mode by itself untill explicitly you have not checked it out.

Some points to remember:-

Version controlling option you need to specify at the time of creation or later.
But once you have choosed you can not revert back yours repository at non-version mode.
---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Thursday, April 26, 2007

Informatica7.1: Sequence genarator Overflow Error

Error Message:
TRANSF_1_1_1> TT_11009 Sequence Generator Transformation: Overflow error.
TRANSF_1_1_1> Wed Apr 25 09:26:17 2007
TRANSF_1_1_1> TM_6085 The transformation [SQ_Shortcut_To_CUSTOMERADDRESS] encountered fatal error. Terminating session.
TRANSF_1_1_1> TT_11009 Sequence Generator Transformation: Overflow error.


Solution:-
Check that sequence transformation.then Enable cycle/Reset the start-end value.

---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Monday, March 12, 2007

Informatica 7.1: pmcmd can not connect to the server

Error:-

"The connect request failed because it wanted to connect to a server of type pmserver" using pmcmd...."

Solution:-

Its asking for Informatica Server Port no.Not of the repository server.check for the specific port no from workflow manager-->server configuration if you dont know it.
---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Wednesday, January 24, 2007

Informatica 7.1: Can we use Excel as target?

In case of UNIX machine neither you can make Excel as source or target as there is no ODBC driver there in UNIX for this purpose.But,in case of windows you can make Excel as source but not as target.

Workaround:-
*** Contributed By Mr. Nitant Mahajan ***
1/
In workflow manager.
Set file properties-->keep delimeter as CSV-->Optional Quotes Double
* If your data do not contain COMMA then only COMMA delimer will solve the purpose *
File should be saved into .csv format.



2/
Set the delimeter as TAB and save file as .xls



---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Informatica 7.1:Can we install two instances of INFA 7.1 into the same HP UX machine?

No for windows installation as in that case the new installation will delete the earlier services.

Yes for UNIX.But:-
1/
In that case the installation should must be done under different users account.
2/
Use different ports.


---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Tuesday, January 23, 2007

Informatica 7.1:./install: pmeval: Execute permission denied.

One of my friend has faced this problem:-
$ pwd
/home/XXXX/informatica_install/PowerCenter/ipf64
$ cd /home/XXXX/informatica_install/PowerCenter
$ chmod 777 ipf64
$ cd /home/XXXX/informatica_install/PowerCenter/ipf64
$ ./install
Please choose the language to run install in from the choices below:
1. English
2. Japanese
0. Exit
> 1
===================================================
Welcome to Informatica Installation Wizard.
All Informatica Products Copyright 1996-2007.
===================================================
Please enter your Product Key for Informatica PowerCenter: /home/XXXX/informatica_install/PowerCenter/ipf64
./install: pmeval: Execute permission denied.
grep: can't open /tmp/tkf.22131
grep: can't open /tmp/tkf.22131
grep: can't open /tmp/tkf.22131
The key you entered is key. Please enter the product license key.



Solution:-
This problem occurs when we try to enter wrong product key ( need to enter 64bit Product key instead of 32 bit product key )
Once proper key is set,things will be smooth.
HOW TO FIND YOUR UNIX IS 32bit or 64 bit



---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Informatica 7.1:Points to ponder while transferring data from

The problem I got like:

The source data is 88591 we use ETL informatica it is having 11 charcter set of data since 88591 is 1 byte of data it gives samecode for different charcterset for example it is having x(code)=man(japan),women(korean) it raises ambiguity in database for japan and korean language , and now at present target is also 88591 the same "x" is sent to target but here there own languge is set in their system , if koren guy sees it he will undersatnd it is women and if japan guy sees he will understand as man but now we are going to make target database into utf-8 and informatica run in unicode mode here the source system is in 88591 as i have told u earlier it may generate same code for some charcterset now when we load it into target which is utf-8 here it generates unique code for different charcterset but we need to identify the end user reqirement and give him yhe exact data.

example
If end user is korean in earlier case it is x but now utf-8 generates unique code so we need to tell to informatca before loading in to target there it supports all charcaterset and give unique code for each charcter set.

My intention:-
==============
We will be deciding at the time of running sessions or one time conversion yo flat file to utf-8 and then to target.


Although I know problem may seem hazy.Lets make it a lil bit clear before putting the solution.

A database named ABCD is defined to only support one character set(ISO-8859-1), data is getting populated here with data from multiple character sets like sjis,big5, GB2312 etc. We accept that the ordering of the data is according to ISO-8859/1

Slowly as time passes by ABCD will have text data in multiple different languages in multiple different character sets and later it becomes tough for identifying which language and character set the text belongs to. The UTF8 encoding of UNICODE, which keeps any current text in USASCII unchanged (the vast majority of our text data), but stores data from other character sets in 2, 3, or 4 byte units.

Now there is a requiremwnt to transfer data from ABCD toanother database named EFGH which is in UNICODE.So we need to be able to identify the character set of every text string.Lets assume we have identified that also.

Question is that how to perform that data transfer through INFA7.1


Solution:-
Thats can be done by INFA.Just keep following things in mind.

1/
Check what is the type of your source database character set ( select * from nls_database_parameters ) 2/ Check what is the type of your target database character set( select * from nls_database_parameters ) 3/ Check what data movement has been set for Informatica Server which you are to assign in your workflow.
( Go to the config file you use to pass while starting informatica server in UNIX )

Eg.
# Determine one of the two server data movement modes: UNICODE or ASCII.
# If not specified, ASCII data movement mode is assumed.
# ASCII:-PowerServer processes single byte character and does not perform codepage #conversion
#UNICODE:-Processes 2 bytes for a character.Enforce codepage validation

DataMovementMode=Unicode
/*************************************************************************************************
Set it Unicode,only then the end users will have full data else while there will be corrupt data.
If you are resetting,after resetting restart the Informatica Server service.
*************************************************************************************************/
4/
If you have set all those things right,then there is nothing to worry.Users should must see Data as per their locale.
5/
You may face some LM_ error while loading data through INFA.In that case revert me back with error log portion like
/*************************************************************************************************
MAPPING> CMN_1569 Server Mode: [UNICODE] CMN_1570 Server Codepage: [ISO
MAPPING> 8859-1 Western European]
*************************************************************************************************/
6/
If needed then disable codepage validation.

Some More pages I have referred while going through this.Mainly pages related to Oracle database.They are as follows:-
i/
A very basic knowledge about oracle character set conversion.
*** DONT ALTER YOUR DATABSE EVER TO SEE CHINESE CHARACTER - THEN YOUR DBA MAY SEND YOU TO CHINA ***
Exzilla

NLS_LANG FAQ From Oracle - Very Good One.
NLS_FAQ
HOW TO CHECK WHAT IS THE CODEPAGE FOR YOUR HPUX
---: I am not responsible for any damages happened from the suggestion of my blog :---

Reach me at : m.a.hasim@inbox.com

Labels:

Friday, January 12, 2007

Informatica 7.1: XSD and XML file for SCOTT Emp table.My first mapping in xml

1/
As a xml editor I used Stylus .
By this you can get data into xml file from EMP table.
File-->New-->DB to XML Datasource.
Connect to the databse.Select EMP table and get data as xml.

The stylus will run this following query
SELECT
XMLELEMENT(name "row",
XMLELEMENT(name "EMPNO",t.EMPNO),
XMLELEMENT(name "ENAME",t.ENAME),
XMLELEMENT(name "JOB",t.JOB),
XMLELEMENT(name "MGR",t.MGR),
XMLELEMENT(name "HIREDATE",t.HIREDATE),
XMLELEMENT(name "SAL",t.SAL),
XMLELEMENT(name "COMM",t.COMM),
XMLELEMENT(name "DEPTNO",t.DEPTNO)
)
FROM EMP t

to get data in XML.

The file is DOWNLOAD EMP XML FILE

2/
Create a schema for that emp.xml as XML-->Create Schema from XML content.
You can create a XSD or DTD ( internal/external)
DOWNLOAD EMP EXTERNAL DTD
DOWNLOAD EMP XML WITH INTERNAL DTD
DOWNLOAD EMP XSD

3/
Use that EMP XSD to create XML view.Tools-->Source Analyzer-->Import XML Defination.

4/
Develop necessary transformation and flow data.

POINTS TO PONDER:
=================

0>> Check in Workflow Manager for the path for source XML.
0>> Apply transformation if there is a need for data conversion.




---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Wednesday, January 10, 2007

Informatica 7.1: XML file as Source

What is a DTD

A DTD file contains metadata only.It contains the structure and the definitions of the elements and attributes which can be found in the main xml.

What is a XSD
Good basic tutorial is in W3Schools:-Introduction to XML Schema
XML namespace identifies a group of similar kind of elements belongs together.

What is the basic difference between XSD and DTD?

* DTD's are not namespace aware.

DTD's have #define, #include, and #ifdef -- or, less C-oriented,
the ability to define shorthand abbreviations, external content,
and some conditional parsing.

A DTD describes the entire XML document (even if it leaves "holes");
a schema can define portions.

XSD has a type system.

XSD has a much richer language for describing what element or attribute
content "looks like." This is related to the type system.

You can put a DTD inline into an XML document, you cannot do this with
XSD. This means DTD's are more secure (you only have to protect one
bytestream -- the xml/dtd -- and not multiple).

The official definition of "valid XML" requires a DTD. Since this may
be impractical, if not impossible, you often have to settle for
schema-valid, which is not quite the same.

In terms of validation functionality, XSD can define all the constraints that a DTD can define, and many more. To take a simple example, XSD can say that a particular attribute must be a valid date, or a number, or a list of URIs, or a string that is exactly 8 characters long. To take another example, XSD can define much richer constraints on uniqueness of values within a document.So
XSD provides much more control over the XML then DTD.

Can we supply a XML file having no XSD or DTD associated with it as source?


- Yes.In that case designer will read the tags for the elements,reads each element to determine their datatype and precision,their possible occurences and their position in the hierarchy.

* Mapping designer can create source qualifier from XSD/DTD supplied with the XML file.
* But this determining takes long time if the source XML is large.So its always better to have a XSD or DTD ( internal/external ) associated with that XML.
* Mapping designer can be configured to validate the input XML file as per as the supplied XSD or DTD.

What does "sequence" mean in a complex type XSD?

XSD can be of two types:-
o> Simple type XSD: Having one element inside it only.
Check XSD Simple Elements
o> Complex type XSD: Having more than one element inside that.
Check XSD Complex Elements

Whatever elements have been described inside sequence they should be in the same order in the XML file.

Check the example Check the person element

Sequence is one kind of indicator to tell the XML file how it should have elements in it,in which sequences,how many times a element may occur,are the elements/atrtributes going to appear in the XML as a group or not.

Check XSD Complex Types Indicators


What do you mean by "element type any"?


The "anyAttribute" element enables us to extend the XML document with attributes not specified by the schema.

In that case the XML file may get some more attributes from other XSD except the main XSD associated with it.

Check an example from Wschools
anyAttribute


What is pivoting in INFA?


Sometimes in the source XML we have mulitiple occurence of same elements.Like as in customer.xml file there may be two sets of address for each customer;one for home address another for office address.So in that case we wish to have two different channels towards our target in mapping.So we do pivoting in that case.



---: I am not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m.a.hasim@inbox.com

Labels:

Informatica 7.1:Error LM_36526:signal 6- Unexpected Condition Detected

PROBLEM

Sometimes unexpectedly session terminates contained mapping having router in it.The error is:
LM_36526:signal 6- Unexpected Condition Detected

Warning: Unexpcted condition at: widgfld.cpp: 11


ERROR : LM_36526 [Wed May 11 15:12:40 2005] : (29532|36) Session task instance [s_Some_session]: DTM process [pid = 14102] exited due to signal [6].


SOLUTION

1/
Take the backup of INFA metadata.

2/
Run the following query on INFA metadata and check for results:

SELECT A.SUBJ_NAME ,B.MAPPING_NAME ,C.WIDGET_ID ,C.INSTANCE_NAME
FROM OPB_SUBJECT A ,OPB_MAPPING B ,OPB_WIDGET_INST C
WHERE A.SUBJ_ID=B.SUBJECT_ID AND B.MAPPING_ID =C.MAPPING_ID AND B.VERSION_NUMBER = C.VERSION_NUMBER AND C.WIDGET_TYPE=15 AND B.IS_VISIBLE > 0 AND C.WIDGET_ID IN
(select w.WIDGET_ID from opb_widget_field wf, opb_widget w
where w.widget_type = 15 and w.widget_id = wf.widget_id and w.version_number = wf.version_number and w.is_visible > 0
and wf.widget_fld_prop = 0 and wf.porttype = 2)

3/
If the query returns more than one row then...

4/
CREATE TABLE OPB_WIDGET_FIELD_BCKUP AS SELECT * FORM OPB_WIDGET_FIELD; --Taking bkup

5/
update opb_widget_field set widget_fld_prop =
(select f2.field_id from opb_widget_field f2, opb_widget w
where f2.widget_id = opb_widget_field.widget_id and f2.version_number = opb_widget_field.version_number and f2.widget_id = w.widget_id and f2.version_number = w.version_number and w.is_visible > 0 and w.widget_type = 15 and f2.field_name =
substr(opb_widget_field.field_name,1,length(opb_widget_field.field_name)-1))
where widget_fld_prop=0 and porttype = 2 and exists (select * from opb_widget w where w.widget_type = 15 and w.is_visible > 0 and w.widget_id = opb_widget_field.widget_id and w.version_number = opb_widget_field.version_number)

6/
Run the problematic session again.

---: My blog is not responsible for any damages happened from the suggestion of my blog :---
Reach me at : m_a_hasim@yahoo.com

Labels: