WebService data control data persistence issue
Hi,
We are using one Web Service data control on two jspx pages of application. The attributes from the data control are added on both the pages as data binding.
Scenario:: We submit some data from Page1 using web service data control and move to Page2. Fill some data on Page2 and again submit the request to Web Service data control and after successful response move back to Page1. Same is repeated again and again for this scenario.
Now the issue is, we submit some data from Page1, move to Page2, submit some data from Page2 and come back to Page1. If we repeat this process, then while submitting the data on Page1, the data that we submitted earlier on Page2 also get submitted, which is not expected. We only want to submit the data as per the binding on that page. Page1 is in unbounded taskflow and Page2 is in bounded taskflow.
We have tried by setting possible values like :: CacheResults: false on iterator, Refresh condition: Ifneeded, UsePersistentStructure to false on data control. Also tried to reset and clear the data control using APIs and resetInputState on bindings. But nothing is working. The only method that is working is ClearForRecreate on Page1 iterator. But since its internal method this might not be good to use it. Also after using this we stated to receive intermittent error stating AttributeList$Itr can not be cast to String and some times argument is not an array exception.
Please let me know, how i can ensure that correct data is sent to web service data control.
Using JDev 11.1.1.6.
Thanks
Solved by removing the Share Data control option in taskflow.
Thanks
Similar Messages
-
Workflow & Webservices: data flow issue
Hi
Can anyone please guide me on the following.
How the data move between task container to webservice( or to BSP page). I did required binding between workflow & task container elements.
In my case, Right BSP page[which is associate with the TASK] is being opened in browser, when workitem is executed; But data is not visible on the page.
I have maintained the ParameterIDs while creating/generating the TASK from bsp page from wf_extsrv. They are visible in workflow container.
With what these elements should be binded? Am i missing any step.
Thanking you in advance.
Regards,
Pramod.
Message was edited by: K ReddyHello Arghadip,
Yes, the attribute is empty and not is mandatory. These error occur in Standard Workflow SAP and Customer Workflow (my developments).
These error occurs if <b>some information</b> (attribute) of the workflow container that is used in <b>some data flow</b> (binding definition) will be empty.
Example: I have a SendMail step in my workflow, and the email address is one attribute from business object. Before this step (sendmail), when the previous step is concluded and if the attribute (mail address) is empty, the error ocurr's.
I believe that the email would not have to be sent for nobody, and not ocurr's an error. I think that these problem is one support package error.
Thanks,
Kleber -
Issue with webservice data control while invokin bpel process from ADF side
Hello Experts,
we are creating webservice data control to invoke bpel process from ADF side.
When I run the application and inovoke the bpel every thing is working fine.
But when we are changeing the instances from DEV to SIT the bpel url(hostname and port) will change.
So we just edited DataControls.dcx file and we just replaced the wsdl url and trying to run the applicaiton.
This time the applicaiton is not invoking the bpel process.
If I remove the webservice data control and recreate it with new WSDL url then it is working fine.
Can any one tell us what the exact issue is. Is there any other files do i need to modify or etc.
Thanks & Regards
GayazDataControls.dcx & connections.xml (.adf/META-INF)
-
Issues with result data display on ADF page from a Webservice data control
Hi,
I created a Webservice Data control and created a JSF to display the webservice response to the screen.
I dragged and dropped the input paramater to the JSF form.Also i did the same for the output result also.i drag & drop the result tag to the JSF(selected the read only form).
This webservice is a complex input and output params.
After supplying the input param to the jsf and clicked on submit, the request is going and hitting the webservice and getting proper result set also.
But the issue is , the result is not displayed on the JSF screen.
Is there any configuration needed to diaply the content on ths screen?
Version - JDev 11.1.1.4.0
Regards,
JJDear Vinod,
Thanks for the reply.
How to refresh the data container ..just to press the refresh button(F5) or is there any configuration needed to auto refresh the data container?
The following is my table definition
<af:table rows="#{bindings.LookListRow.rangeSize}"
fetchSize="#{bindings.LookListRow.rangeSize}"
emptyText="#{bindings.LookListRow.viewable ? 'No data to display.' : 'Access Denied.'}"
var="row"
value="#{bindings.LookListRow.collectionModel}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.LookListRow.collectionModel.selectedRow}"
selectionListener="#{bindings.LookListRow.collectionModel.makeCurrent}"
rowSelection="single"
binding="#{backingBeanScope.backing_lkUp.t1}"
id="t1" columnSelection="single">
<af:column headerText="#{bindings.LookListRow.hints.rowAction.label}"
sortProperty="rowAction" sortable="false"
id="c5">
<af:outputText value="#{row.rowAction}" id="ot4"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.FieldValue.label}"
sortProperty="FieldValue" sortable="false"
id="c8">
<af:outputText value="#{row.FieldValue}" id="ot8"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.FieldName.label}"
sortProperty="FieldName" sortable="false"
id="c2">
<af:outputText value="#{row.FieldName}" id="ot7"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.Description.label}"
sortProperty="Description" sortable="false"
id="c1">
<af:outputText value="#{row.Description}" id="ot2"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.StatusasofEffectiveDate.label}"
sortProperty="StatusasofEffectiveDate"
sortable="false" id="c4">
<af:outputText value="#{row.StatusasofEffectiveDate}"
id="ot5"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.LanguageCode.label}"
sortProperty="LanguageCode" sortable="false"
id="c6">
<af:outputText value="#{row.LanguageCode}" id="ot6"/>
</af:column>
<af:column headerText="#{bindings.LookListRow.hints.Version.label}"
sortProperty="Version" sortable="false" id="c3">
<af:outputText value="#{row.Version}" id="ot3">
<af:convertNumber groupingUsed="false"
pattern="#{bindings.LookListRow.hints.Version.format}"/>
</af:outputText>
</af:column>
Regards,
-JJ
Edited by: user13117752 on Jun 14, 2011 11:20 PM -
How to iterate the webservice Data control result set?
Hi all,
How to iterate the webservice Data control result set? I have an jsff page where I am displaying the single UserDetails by webservice DataContol. As per my design requirement I should iterate the DataControl resultSet to get the user details and push the same in to Managed bean. Please help me how to do this, any sample code please to iterate the resultset and get the data from it.
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<c:set var="uiBundle" value="#{adfBundle['edu.syr.oim.uiBundle']}"/>
<af:pageTemplate viewId="/templates/jsffTemplate.jspx">
<f:facet name="fTop"/>
<f:facet name="fCenter">
<af:panelGroupLayout layout="scroll" inlineStyle="width:100.0%;">
<af:panelTabbed id="pt1">
<af:showDetailItem text="#{uiBundle.PRIVACYFLAGS}" id="sdi4">
<af:panelGroupLayout id="pgl4" layout="scroll">
<af:spacer width="10" height="10" id="s3"/>
<af:panelFormLayout id="pfl6">
<af:panelLabelAndMessage label="#{uiBundle.STUDENTEMAIL}"
id="plam35">
<af:outputText value="#{bindings.stuEmail.inputValue}"
id="ot42"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.STUDENTHOMEADDRESS}"
id="plam39">
<af:outputText value="#{bindings.stuPermAddr.inputValue}"
id="ot35"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.STUDENTHOMEPHONE}"
id="plam40">
<af:outputText value="#{bindings.stuPermPhn.inputValue}"
id="ot37"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.STUDENTCURRENTPHONE}"
id="plam42">
<af:outputText value="#{bindings.stuCurrAddr.inputValue}"
id="ot40"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.STUDENTCURRENTPHONE}"
id="plam36">
<af:outputText value="#{bindings.stuCurrPhn.inputValue}"
id="ot38"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.STUDENTACAINFO}"
id="plam41">
<af:outputText value="#{bindings.stuAcad.inputValue}"
id="ot36"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.EMPHOMEADDRESS}"
id="plam38">
<af:outputText value="#{bindings.empPermAddr.inputValue}"
id="ot39"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="#{uiBundle.EMPHOMEPHONE}"
id="plam37">
<af:outputText value="#{bindings.empPermPhn.inputValue}"
id="ot41"/>
</af:panelLabelAndMessage>
</af:panelFormLayout>
</af:panelGroupLayout>
</af:showDetailItem>
</af:panelTabbed> Above is my jsff code. Here how/where to add the phase listener to paopulate the managed bean while page render. Do I need to iterate the DC to get and push the each parameter in to ManagedBean or is there any easy way to do this by EL mapping directly at jsff. Please clarify.
Thanks
klnThat is what exactly I am trying right now. I am binding each of my page fragment outputText item in to backing bean and by that way trying to populate the values.
But the issue here is, the backing bean method doesn't getting any value until I hit any of the link or the button in the fragment. While loading the page the bean set and get is null. If i hit any link or button it is filled up with the vaule. As per my design, I would like to populate the bean method along with page load before any user action. But cant able to do this!! :(
Below is my sample code what I am trying right now
<af:panelLabelAndMessage label="#{uiBundle.NETID}" id="plam13">
<af:outputText value="#{bindings.netid.inputValue}" id="ot4" binding="#{UserDataBean.netId}"/>
</af:panelLabelAndMessage>
backing bean ex:
private RichOutputText netId;
static String netidVal;
public void setNetId(RichOutputText netId) {
netidVal= netId.getValue() == null? "":netId.getValue().toString();
this.netId = netId;
public RichOutputText getNetId() {
return netId;
public String getNetIdVal() {
return netidVal;
}Thanks
kln -
Data persistence using SQL/J
Hi !
I am trying to achieve data persistence using SQL/J.
The env / tools that I am using are WLS 4.5.1
Oracle 8i, SQL/J.
SQL/J works fine with the two - tier applications but with WLS the connectivity is not been arrived at.
Any help would be wewlcome.
Thanks,
ArchanaAre you using an Oracle JDBC driver in WLS or not?
(1) If the answer is no, then you should replace:
oracle.sqlj.runtime.Oracle.connect(<url>,<user>,<pwd>);
(and similarly Oracle.getConnection())
with:
import sqlj.runtime.ref.DefaultContext;
<load JDBC driver, if necessary>
DefaultContext.setDefaultContext(new DefaultContext(<url>,<user>,<pwd>,false));
(2) Actually, forget (1): in the middle tier you should never use a default context at all (every thread must have its own connection context):
DefaultContext ctx = new DefaultContext(...);
#sql [ctx] { ..SQL statement.. };
(3) If you do not use an Oracle JDBC driver, then say in your sqlj command line:
-profile=false
(this omits Oracle customization and makes the .ser file smaller)
Also, you only need runtime.zip at runtime, anyway. And for non-Oracle JDBC drivers you can remove the whole oracle.* hierarchy from runtime.zip.
(4) You do need to deploy those .ser files with the bean. Or use -ser2class and deploy class files with the bean.
(5) Finally, it appears the WLS deployment tool has not heard about SQLJ - it may only understand .java files. In this case you have to translate all .sqlj files (and the .ser files) into .java files before putting these into WLS:
(a) run SQLJ over the .sqlj source with the -compile=false option. This produces .java files.
(b) you can also turn the .ser files into .java files by running:
java sqlj.runtime.profile.util.SerProfileToClass -nc *.ser
(issue the line without arguments to get an option synopsis)
You'd want to do (a) and (b) via a Makefile and not do it by hand more than once.
(c) During deployment time and runtime you must have runtime.zip (modulo comments in (3)) in the respective CLASSPATHS of the deployment tool and of the server.
Sorry these answers were rather generic - I still could not tell exactly how you are failing in WLS. -
Webservice Data Source is Not Overwriting after Transport
Hi,
I have a Webservice Data Source which is loading XML based Data to DSO & Then to Infocube.
In development I it is working fine even Loading Delta perfectly. Then moved it production.
Again due to some client request I have made changes in Web Service Data Source & DSO & Infocube.It is also worked fine in Development. Again moved to production.
But after moving to production all objercts of DSO/Infocube changes are fine. Even Transformation/DTP is as it is with Development for upload from DSO To Infocube.
Issue : The New Webservice datasource is not overwriting Old one, same also applies Transforamtion/DTP too.
I need How to Overwrite it Datasource/Transforamation/DTP with new objects of same in Development.
Please suggest.
Regards,
SubhadarshiHello Prem,
I think you might be working on BI 7.0 and this datasource you are talking of is a 3.x datasource?
I have observed that when we activate a 3.x datasource in 7.0 system and replicate it in BI, it shows a modified status, but when you create a dataflow above it it becomes active. I think the datasource you have sent to production has no dataflow above it. Send the dataflow above transports for the datasource and it will get activated.
Please let me know if you need any more information.
Regards,
Pankaj -
Hello Guys,
i have a little Problem with my Webservice data chart. I want to show the data I recived from webservice in a column chart. But i got some
problems and the chart isnt shown.
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.charts.ChartItem;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.graphics.IFill;
import mx.graphics.SolidColor;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
private var partiesData:ArrayCollection;
private var statesData:ArrayCollection;
private var federalResultsData:ArrayCollection;
[Bindable]private var parteien:ArrayCollection = new ArrayCollection( [
{ Partei: "", Stimmen: 0, Prozent:0},
{ Partei: "", Stimmen: 0, Prozent:0},
{ Partei: "", Stimmen: 0, Prozent:0},
{ Partei: "", Stimmen: 0, Prozent:0},
{ Partei: "", Stimmen: 0, Prozent:0},
{ Partei: "", Stimmen: 0, Prozent:0}
/*[Bindable]private var parteien:ArrayCollection = new ArrayCollection( [
{ Partei: "CDU\\CSU", Stimmen: 14658515, Prozent:33.7978146},
{ Partei: "SPD", Stimmen: 9990488, Prozent:23.0348483},
{ Partei: "FDP", Stimmen: 6316080, Prozent:14.5628467},
{ Partei: "Die Linke", Stimmen: 5155933, Prozent:11.8879206},
{ Partei: "Grüne", Stimmen: 4643272, Prozent:10.70589},
{ Partei: "Sonstige", Stimmen: 2606902, Prozent:6.01067636486}
public function electionService_loadHandler(event:LoadEvent):void
electionService.Parties.send();
electionService.TotalVotes.send();
electionService.States.send();
electionService.FederalResults.send();
public function electionService_faultHandler(event:FaultEvent):void
Alert.show("Fehler beim Laden der Remote-Daten.");
public function federalResultsHandler(event:ResultEvent):void
federalResultsData=event.result as ArrayCollection;
trace("test");
var index: int = 0;
var prozent_ges:Number = 0.0;
var stimmen_ges:Number = 0.0;
var array:Array = new Array();
var array2:Array = new Array();
var array3:Array = new Array();
for each (var p:Object in federalResultsData)
array[index]=(p.Party);
array2[index]=(p.Votes);
array3[index]=(p.Percentage);
index++
for(var i:int=0;i<5;i++)
parteien[i].Partei= array[i];
parteien[i].Stimmen= array2[i];
parteien[i].Prozent= (array3[i]*100);
for(var j:int=6;j<array3.length;j++)
prozent_ges += array3[j];
stimmen_ges += array2[j];
parteien[0].Partei += "\\CSU";
parteien[0].Stimmen += array2[5];
parteien[0].Prozent += (array3[5]*100);
parteien[5].Partei = "Sonstige";
parteien[5].Stimmen = stimmen_ges;
parteien[5].Prozent = prozent_ges;
trace("p "+parteien[0].Partei);
trace("p "+parteien[0].Stimmen);
trace("p "+parteien[0].Prozent);
trace("p "+parteien[1].Partei);
trace("p "+parteien[1].Stimmen);
trace("p "+parteien[1].Prozent);
trace("p "+parteien[2].Partei);
trace("p "+parteien[2].Stimmen);
trace("p "+parteien[2].Prozent);
trace("p "+parteien[3].Partei);
trace("p "+parteien[3].Stimmen);
trace("p "+parteien[3].Prozent);
trace("p "+parteien[4].Partei);
trace("p "+parteien[4].Stimmen);
trace("p "+parteien[4].Prozent);
trace("p "+parteien[5].Partei);
trace("p "+parteien[5].Stimmen);
trace("p "+parteien[5].Prozent);
column.dataProvider = event.result as ArrayCollection
column.executeBindings(true);
public function voteClickHandler(event:MouseEvent):void
if (totalVotesArrived)
Alert.show(electionService.TotalVotes.lastResult);
else
Alert.show("Daten sind noch nicht da...");
public function totalVotesHandler(event:ResultEvent):void
totalVotesArrived=true;
public function stateHandler (event:ResultEvent):void
statesData = event.result as ArrayCollection;
statesArrived=true;
public function stateClickHandler (event:MouseEvent):void
if(statesArrived)
Alert.show(statesData[1].Name);
else
Alert.show("Daten sind noch nicht da...");
private function fillFunction (item:ChartItem, index:Number):IFill
if(item.item.Partei == "SPD")
return new SolidColor(0xF20313,0.8);
if(item.item.Partei == "FDP")
return new SolidColor(0xFFFF1E,0.8);
if(item.item.Partei == "Die Linke")
return new SolidColor(0xEF3CE3,0.8);
if(item.item.Partei == "Grüne")
return new SolidColor(0x33B72A,0.8);
if(item.item.Partei == "Sonstige")
return new SolidColor(0xD0CDCF,0.8);
else
return new SolidColor(0x000000,0.8);
]]>
</fx:Script>
<fx:Declarations>
<fx:Boolean id="totalVotesArrived"/>
<fx:Boolean id="statesArrived"/>
<fx:Boolean id="partiesArrived"/>
<s:WebService id="electionService"
wsdl="http://gamepc06.fh-trier.de:8080/ElectionResults.asmx?wsdl"
fault="electionService_faultHandler(event)"
load="electionService_loadHandler(event)">
<s:operation name="TotalVotes"
result="totalVotesHandler(event)"/>
<s:operation name="States"
result="stateHandler(event)"/>
<s:operation name="FederalResults"
result="federalResultsHandler(event)"/>
</s:WebService>
</fx:Declarations>
<!--<s:Button id = "tvb" click="voteClickHandler(event)" label="TotalVotes" x="146" y="56"/>
<s:Button id = "stb" click="stateClickHandler(event)" label="States" x="360" y="104"/>
<mx:Button id ="tv" click="voteClickHandler(event)" label ="Total Votes" x="360" y="133" />
<s:TextArea id ="txt" x="146" y="104"/>-->
<s:Panel title="Balkendiagramm" width="874" height="100%"
color="0x000000"
borderAlpha="0.15" x="496" y="0">
<s:layout>
<s:HorizontalLayout horizontalAlign="center"
paddingLeft="10" paddingRight="10"
paddingTop="10" paddingBottom="10"/>
</s:layout>
<mx:ColumnChart id="column" height="100%" color="0x000000"
showDataTips="true" width="782">
<mx:horizontalAxis >
<mx:CategoryAxis categoryField="Partei" />
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries xField="Partei" yField="Prozent" displayName="" fillFunction="{fillFunction}" />
</mx:series>
</mx:ColumnChart>
</s:Panel>
</s:Application>
What im doing is, I crating an ArrayCollection and inizalize it with 0. So, when my webservice start the Methode federalResultsHandler
writes the data in my ArrayCollection and my chart should show this data. But the chart shows nothing, only if I use the "filled" example.
The only think what happens is, if i declare the dataprovieder in the <mx:ColumnChart ist resize the grid on the left to 34 but not the columns.
Sorry for my english, I`m from Germany and my used webservice too. But I hope you can help me anyhow.I found a workaround.
When the chart goes through a state change, the “maximum” property on the additional vertical axis defined at the series level defaults to 100 causing the line not to render as the data values are greater than 100. Setting this to a higher value (maximum="10000" ) forces the line to appear consistently after a state change.
I still believe this is a bug.
The downside is that I will have to dynamically determine the maximum vale to use at runtime, but at least I can still use state changes on two vertical axis charts. -
In office365, I am trying to access conversation history folder of another user using EWS api.The user that is trying to access has full access rights of the mailbox . If i connect to the mailbox using owa, i can access the conversation history folder
including all other folders. But when i try to connect from the code using ews api below exception is being thrown:
Microsoft.Exchange.WebServices.Data.ServiceResponseException occurred HResult=-2146233088 Message=The specified folder could not be found in the store. Source=Microsoft.Exchange.WebServices StackTrace:
Here is the relevant code
var mailbox = new Mailbox(lyncUser.UserName);
var lyncFolderId = new FolderId(WellKnownFolderName.ConversationHistory, mailbox);
var lyncFolder = Folder.Bind(_exchangeService, lyncFolderId);
Also, the exception doesn't occur if connected to WellKnownFolderName.Inbox.The WellKnowFolderEnum only works if the folder was created via the Lync 2013 client if the Mailbox is old and has been using older lync clients then you need to search for the folder via name eg see
https://msdn.microsoft.com/en-us/library/office/hh243707%28v=office.14%29.aspx . Generally you want to use both methods eg try to bind to the WellKnowFolderEnum first then use the search method if that fails.
Cheers
Glen -
Windows 8.1 Data reordering issue with Intel Adaptors
According to Intel, there is a data reordering issue with their adaptors and probably this dumb WIDI software. This is from Intel site. they say some are fixed, "A future Windows 8 fix will address this issue for other Intel wireless adapters." I
have one Nope, still broke. I get drops all the time. Brand new Toshiba laptop I7 16 gigs of ram and a SSD and a 2 gig Vid card. Would be nice to be able to play games but I get dropped all the time. Now would Microsoft quit hiding
about this, and fix the darn thing. Also i'm a system admin for 13 years. I have build over 1000 PCs and servers. I know bad software. Please fix this. PLEASE. Its not going to just go away and its not just Toshiba, I have seen other companies with the
same problem. If there is a Fix PLEASE POST IT. Or even a workaround I have tried everything.
http://www.intel.com/support/wireless/wlan/sb/CS-034535.htm
Hi,
Have your first tried the software fix under this link for your network adapter?
http://www.intel.com/support/wireless/wtech/proset-ws/sb/CS-034041.htm
Please Note: The third-party product discussed here is manufactured by a company that is independent of Microsoft. We make no warranty, implied or otherwise, regarding this product's performance or reliability.
Also, you can try to check if there is any driver update under Device manager from manufacture's website.
Kate Li
TechNet Community Support
Yep didn't work. Still get drops all the time, had to run a Cat 5E cable to my laptop from my modem, because I have Atheros Gigabyte Lan adaptor. Works Great. The Wireless still drops all the time. Has Microsoft let out the patch to fix this or is it coming in
April in the 8.1 patch that's coming. Funny thing is all for Widi, I don't even use widi, I got the software to do that from Samsung works better on my TV. Intel and Microsoft need to get this fixed. because their driving off gamers and that's the
people that make sure they buy Microsoft so they can play games. With the wireless link dead and a great laptop worthless what's the point. Ive been in IT for 13 years building PCs and Servers how I knew how to run a 60 FT Cat 5e line thru
a 2 story house and terminate it. Most people don't. Fix the problem. -
Data Load Issue "Request is in obsolete version of DataSource"
Hello,
I am getting a very strange data load issue in production, I am able to load the data upto PSA, but when I am running the DTP to load the data into 0EMPLOYEE ( Master data Object) getting bellow msg
Request REQU_1IGEUD6M8EZH8V65JTENZGQHD not extracted; request is in obsolete version of DataSource
The request REQU_1IGEUD6M8EZH8V65JTENZGQHD was loaded into the PSA table when the DataSource had a different structure to the current one. Incompatible changes have been made to the DataSource since then and the request cannot be extracted with the DTP anymore.
I have taken the follwoing action
1. Replicated the data source
2. Deleted all request from PSA
2. Activated the data source using (RSDS_DATASOURCE_ACTIVATE_ALL)
3. Re transported the datasource , transformation, DTP
Still getting the same issue
If you have any idea please reply asap.
SamitHi
Generate your datasource in R/3 then replicate and activate the transfer rules.
Regards,
Chandu. -
Hi,
Im very new to streams and having a doubt regarding ORA-01403 issue happening while replication. Need you kind help on this regard. Thanks in advance.
Oracle version : 10.0.3.0
1.Suppose there are 10 LCRs in a Txn and one of the LCR caused ORA-01403 and none of the LCRs get executed.
We can read the data of this LCR and manually update the record in the Destination database.
Eventhough this is done, while re-executing the transaction, im getting the same ORA-01403 on the same LCR.
What could be the possible reason.
Since, this is a large scale system with thousands of transactions, it is not possible to handle the No data found issues occuring in the system.
I have written a PL/SQL block which can generate Update statements with the old data available in LCR, so that i can re-execute the Transaction again.
The PL/SQL block is given below. Could you please check if there are any issues in this while generating the UPDATE statements. Thank you
/* Formatted on 2008/10/23 14:46 (Formatter Plus v4.8.7) */
--Script for generating the Update scripts for the Message which caused the 'NO DATA FOUND' error.
DECLARE
RES NUMBER; --No:of errors to be resolved
RET NUMBER; --A number variable to hold the return value from getObject
I NUMBER; --Index for the loop
J NUMBER; --Index for the loop
K NUMBER; --Index for the loop
PK_COUNT NUMBER; --To Hold the no:of PK columns for a Table
LCR ANYDATA; --To Hold the Logical Change Record
TYP VARCHAR2 (61); --To Hold the Type of a Column
ROWLCR SYS.LCR$_ROW_RECORD; --To Hold the LCR caused the error in a Txn.
OLDLIST SYS.LCR$_ROW_LIST; --To Hold the Old data of the Record which was tried to Update/Delete
NEWLIST SYS.LCR$_ROW_LIST;
UPD_QRY VARCHAR2 (5000);
EQUALS VARCHAR2 (5) := ' = ';
DATA1 VARCHAR2 (2000);
NUM1 NUMBER;
DATE1 TIMESTAMP ( 0 );
TIMESTAMP1 TIMESTAMP ( 3 );
ISCOMMA BOOLEAN;
TYPE TAB_LCR IS TABLE OF ANYDATA
INDEX BY BINARY_INTEGER;
TYPE PK_COLS IS TABLE OF VARCHAR2 (50)
INDEX BY BINARY_INTEGER;
LCR_TABLE TAB_LCR;
PK_TABLE PK_COLS;
BEGIN
I := 1;
SELECT COUNT ( 1)
INTO RES
FROM DBA_APPLY_ERROR;
FOR TXN_ID IN
(SELECT MESSAGE_NUMBER,
LOCAL_TRANSACTION_ID
FROM DBA_APPLY_ERROR
WHERE LOCAL_TRANSACTION_ID =
'2.85.42516'
ORDER BY ERROR_CREATION_TIME)
LOOP
SELECT DBMS_APPLY_ADM.GET_ERROR_MESSAGE
(TXN_ID.MESSAGE_NUMBER,
TXN_ID.LOCAL_TRANSACTION_ID
INTO LCR
FROM DUAL;
LCR_TABLE (I) := LCR;
I := I + 1;
END LOOP;
I := 0;
K := 0;
dbms_output.put_line('size >'||lcr_table.count);
FOR K IN 1 .. RES
LOOP
ROWLCR := NULL;
RET :=
LCR_TABLE (K).GETOBJECT
(ROWLCR);
--dbms_output.put_line(rowlcr.GET_OBJECT_NAME);
PK_COUNT := 0;
--Finding the PK columns of the Table
SELECT COUNT ( 1)
INTO PK_COUNT
FROM ALL_CONS_COLUMNS COL,
ALL_CONSTRAINTS CON
WHERE COL.TABLE_NAME =
CON.TABLE_NAME
AND COL.CONSTRAINT_NAME =
CON.CONSTRAINT_NAME
AND CON.CONSTRAINT_TYPE = 'P'
AND CON.TABLE_NAME =
ROWLCR.GET_OBJECT_NAME;
dbms_output.put_line('Count of PK Columns >'||pk_count);
DEL_QRY := NULL;
DEL_QRY :=
'DELETE FROM '
|| ROWLCR.GET_OBJECT_NAME
|| ' WHERE ';
INS_QRY := NULL;
INS_QRY :=
'INSERT INTO '
|| ROWLCR.GET_OBJECT_NAME
|| ' ( ';
UPD_QRY := NULL;
UPD_QRY :=
'UPDATE '
|| ROWLCR.GET_OBJECT_NAME
|| ' SET ';
OLDLIST :=
ROWLCR.GET_VALUES ('old');
-- Generate Update Query
NEWLIST :=
ROWLCR.GET_VALUES ('old');
ISCOMMA := FALSE;
FOR J IN 1 .. NEWLIST.COUNT
LOOP
IF NEWLIST (J) IS NOT NULL
THEN
IF J <
NEWLIST.COUNT
THEN
IF ISCOMMA =
TRUE
THEN
UPD_QRY :=
UPD_QRY
|| ',';
END IF;
END IF;
ISCOMMA := FALSE;
TYP :=
NEWLIST
(J).DATA.GETTYPENAME;
IF (TYP =
'SYS.VARCHAR2'
THEN
RET :=
NEWLIST
(J
).DATA.GETVARCHAR2
(DATA1
IF DATA1 IS NOT NULL
THEN
UPD_QRY :=
UPD_QRY
|| NEWLIST
(J
).COLUMN_NAME;
UPD_QRY :=
UPD_QRY
|| EQUALS;
UPD_QRY :=
UPD_QRY
|| ' '
|| ''''
|| SUBSTR
(DATA1,
0,
253
|| '''';
ISCOMMA :=
TRUE;
END IF;
ELSIF (TYP =
'SYS.NUMBER'
THEN
RET :=
NEWLIST
(J
).DATA.GETNUMBER
(NUM1
IF NUM1 IS NOT NULL
THEN
UPD_QRY :=
UPD_QRY
|| NEWLIST
(J
).COLUMN_NAME;
UPD_QRY :=
UPD_QRY
|| EQUALS;
UPD_QRY :=
UPD_QRY
|| ' '
|| NUM1;
ISCOMMA :=
TRUE;
END IF;
ELSIF (TYP =
'SYS.DATE'
THEN
RET :=
NEWLIST
(J
).DATA.GETDATE
(DATE1
IF DATE1 IS NOT NULL
THEN
UPD_QRY :=
UPD_QRY
|| NEWLIST
(J
).COLUMN_NAME;
UPD_QRY :=
UPD_QRY
|| EQUALS;
UPD_QRY :=
UPD_QRY
|| ' '
|| 'TO_Date( '
|| ''''
|| DATE1
|| ''''
|| ', '''
|| 'DD/MON/YYYY HH:MI:SS AM'')';
ISCOMMA :=
TRUE;
END IF;
ELSIF (TYP =
'SYS.TIMESTAMP'
THEN
RET :=
NEWLIST
(J
).DATA.GETTIMESTAMP
(TIMESTAMP1
IF TIMESTAMP1 IS NOT NULL
THEN
UPD_QRY :=
UPD_QRY
|| ' '
|| ''''
|| TIMESTAMP1
|| '''';
ISCOMMA :=
TRUE;
END IF;
END IF;
END IF;
END LOOP;
--Setting the where Condition
UPD_QRY := UPD_QRY || ' WHERE ';
FOR I IN 1 .. PK_COUNT
LOOP
SELECT COLUMN_NAME
INTO PK_TABLE (I)
FROM ALL_CONS_COLUMNS COL,
ALL_CONSTRAINTS CON
WHERE COL.TABLE_NAME =
CON.TABLE_NAME
AND COL.CONSTRAINT_NAME =
CON.CONSTRAINT_NAME
AND CON.CONSTRAINT_TYPE =
'P'
AND POSITION = I
AND CON.TABLE_NAME =
ROWLCR.GET_OBJECT_NAME;
FOR J IN
1 .. NEWLIST.COUNT
LOOP
IF NEWLIST (J) IS NOT NULL
THEN
IF NEWLIST
(J
).COLUMN_NAME =
PK_TABLE
(I
THEN
UPD_QRY :=
UPD_QRY
|| ' '
|| NEWLIST
(J
).COLUMN_NAME;
UPD_QRY :=
UPD_QRY
|| ' '
|| EQUALS;
TYP :=
NEWLIST
(J
).DATA.GETTYPENAME;
IF (TYP =
'SYS.VARCHAR2'
THEN
RET :=
NEWLIST
(J
).DATA.GETVARCHAR2
(DATA1
UPD_QRY :=
UPD_QRY
|| ' '
|| ''''
|| SUBSTR
(DATA1,
0,
253
|| '''';
ELSIF (TYP =
'SYS.NUMBER'
THEN
RET :=
NEWLIST
(J
).DATA.GETNUMBER
(NUM1
UPD_QRY :=
UPD_QRY
|| ' '
|| NUM1;
END IF;
IF I <
PK_COUNT
THEN
UPD_QRY :=
UPD_QRY
|| ' AND ';
END IF;
END IF;
END IF;
END LOOP;
END LOOP;
UPD_QRY := UPD_QRY || ';';
DBMS_OUTPUT.PUT_LINE (UPD_QRY);
--Generate Update Query - End
END LOOP;
END;Thanks for you replies HTH and Dipali.
I would like to make some points clear from my side based on the issue i have raised.
1.The No Data Found error is happening on a table for which supplemental logging is enabled.
2.As per my understanding, the "Apply" process is comparing the existing data in the destination database with the "Old" data in the LCR.
Once there is a mismatch between these 2, ORA-01403 is thrown. (Please tell me whether my understanding is correct or not)
3.This mismatch can be on date field or even on the timestamp millisecond as well.
Now, the point im really wondering about :
Some how a mismatch got generated in the destination database (Not sure about the reason) and ORA-01403 is thrown.
If we could update the Destination database with the "Old" data from LCR, this mismatch should be resolved isnt it?
Reply to you Dipali :
If nothing is working out, im planning to put a conflict handler for all tables with "OVERWRITE" option. With the following script
--Generate script for applying Conflict Handler for the Tables for which Supplymentary Logging is enabled
declare
count1 number;
query varchar2(500) := null;
begin
for tables in (
select table_name from user_tables where table_name IN ("NAMES OF TABLES FOR WHICH SUPPLEMENTAL LOGGING IS ENABLED")
loop
count1 := 0;
dbms_output.put_line('DECLARE');
dbms_output.put_line('cols DBMS_UTILITY.NAME_ARRAY;');
dbms_output.put_line('BEGIN');
select max(position) into count1
from all_cons_columns col, all_constraints con
where col.table_name = con.table_name
and col.constraint_name = con.constraint_name
and con.constraint_type = 'P'
and con.table_name = tables.table_name;
for i in 1..count1
loop
query := null;
select 'cols(' || position || ')' || ' := ' || '''' || column_name || ''';'
into query
from all_cons_columns col, all_constraints con
where col.table_name = con.table_name
and col.constraint_name = con.constraint_name
and con.constraint_type = 'P'
and con.table_name = tables.table_name
and position = i;
dbms_output.put_line(query);
end loop;
dbms_output.put_line('DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER(');
dbms_output.put_line('object_name => ''ICOOWR.' || tables.table_name|| ''',');
dbms_output.put_line('method_name => ''OVERWRITE'',');
dbms_output.put_line('resolution_column => ''COLM_NAME'',');
dbms_output.put_line('column_list => cols);');
dbms_output.put_line('END;');
dbms_output.put_line('/');
dbms_output.put_line('');
end loop;
end;
Reply to u HTH :
Our Destination database is a replica of the source and no triggers are running on any of these tables.
This is not the first time im facing this issue. Earlier, we had to take big outage times and clear the Replica database and apply the dump from the source...
Now i cant think about that situation. -
4G LTE data reception issue in area of work building
Hi, I'm having a data reception issue in a certain area at work. The signal indicator at the upper right of the homescreen shows "4GLTE" but this is clearly inaccurate since I am not able to navigate to websites or send/receive multimedia messages. If I move ~30 feet east in the building, the reception is restored. Two people with iPhone 5 devices have the same issue. However, the Verizon iPhone 5 allows you to turn off LTE. Once this was done and the signal fell back to 3G, reception was restored, albeit with slower speeds, but at least reception wasn't completely blocked. I understand 4G is not available in all areas, but in this case, the phone is not automatically switching to 3G and there is no workaround because there is no option to turn off LTE on the Z10. In the "Settings" -> "Network Connections" -> "Mobile Network" -> "Network Technology" dropdown, the only values are:
UMTS/GSM (when I switch to this, no networks are found)
Global (the current selection)
LTE/CDMA
This is a big problem for me because for 8+ hours in the day I can't receive MMS messages or navigate to websites.Hi, Nate650,
Sorry to hear about your problem with 4G. First, let me ask, have you updated your Z10 to the latest official software version? I had a similar problem with my Z10. After about an hour on the phone with CS, we figured out it was a problem with the tower near me. The problem was fixed by VZW and I have not had connection issues. You are right, though, about the Z10 falling back to 3G. Mine did before the update but not since.
Doc -
Logical Standby Data Consistency issues
Hi all,
We have been running a logical standby instance for about three weeks now. Both our primary and logical are 11g (11.1.0.7) databases running on Sun Solaris.
We have off-loaded our Discoverer reporting to the logical standby.
About three days ago, we started getting the following error message (initially for three tables, but from this morning on a whole lot more)
ORA-26787: The row with key (<coulmn>) = (<value>) does not exist in table <schema>.<table>
This error implies that we have data consistency issues between our primary and logical standby databases, but we find that hard to believe
because the "data guard" status is set to "standby", implying that schemas' being replicated by data guard are not available for user modification.
any assistance in this regard would be greatly appreciated.
thanks
MelIt is a bug : Bug 10302680 . Apply the corresponding Patch 10302680 to your standby db.
-
How to get material's last posting date of issuing to production order?
Hi,
In my scenario, I need to get material's last posting date of issuing to production order (e.g. mov. typ. 261).
I tried to select the material documents whose movement type is 261, and restrict the posting date from month to month each time, until the first material document is selected.
But this method seems quite inefficient.
What kind of algorithm is more effient to do this?
Thanks
WesleyHi,
select max( budat )
from mkpf
into gv_budat
where mblnr in ( select mblnr
from aufm
where aufnr = gv_aufnr "(Prod. Order)
and matnr = gv_matnr "(Issued Material)
and bwart = '261' ).
Edited by: Azeem Ahmed Matte on Mar 12, 2010 12:33 PM
Maybe you are looking for
-
Hi I am wondering if you can help. Over the last few weeks I have been having trouble with mail. I looked up the advice given to other mac users over this problem and removed the plist (?) file and then added it again once mail had begun working as I
-
Selectively restore from Time Machine after reformatting
I just reformatted my drive and reinstalled Mountain Lion and then upgraded to Mavericks. I backed up to Time Machine just before the reinstall. Time Machine did combine my first new backup with the ones before the reinstall, which I can see when I b
-
Hi i have a i phone 5 64 gb and i want to replace it
hi i hve purchased a iphone 64 bg with apple care + from canada and now i moved to india now i want to replace my i phone whats the solution for it shoud i send it back to canada with some one or what please help me. my apple care+ service is remaini
-
Hi! I had to replace my laptop and need to reinstall Photoshop Elements 8. I purchased it through adobe.com and did not receive a disc. Where can I find the install file? And yes, I would love to have PSE9, but I am saving for CS5 and would rather
-
Can I create a task that includes 2 C series modules?
I am trying to create a single task that includes 2 NI-9425 C series modules but when I wire the physical channel constant "Mod3/port0, Mod4/port0" into the DAQmx Create Virtual Channel.vi I receive error -200086 which states physical channel range s