Problem Set Linked Table
Hi to all,
Im using SAP B1 2005B SP:00 PL01. I created a UDT. Now iv created a UDF in a master form from where i want to link the values of the UDT to this field.. Now wen i go to use the SET LINKED TABLE option the length automatically gets set to 8.. Now wen i try to add the field i get the erro saying "Alphanumeric Column size cannot be decreased." Help would be appreciated
Regards
Aris
Hi Aristotle,
To resolve this, please follow the instructions below:
1. Create the UDF with Type - Alphanumeric and Structure - Text
2. Now check the box Set Linked Table - note that the structure is regular again.
3. Now add the table and the error is displayed.
4. Now uncheck the box 'Set Linked Table' and set the Structure to Text again and recheck the box 'Set Linked Table'.
5. Now add the UDF and see that it is sucessful.
Regards,
Adrian
Similar Messages
-
What is 'Set Linked table' used for on UDF set up? I couldn't find any explanation in the help file.
thanks
Tools > customization tools > UDF management
Add
x Set Linked tableHi.....
UDO means User Defined Object or you can say User Defined Table also.
Go to Customisation Tool and create one No Object User Defined Table.
Then create any UDF at Marketing Doc Level and while creating this UDF just link this No Object User Defined Table in to Set Linked Table Dropdown......
Then chekc this UDF at Marketing Doc Level wherever you created. You foind the Dropdown with this UDO.......
Regards,
Rahul -
Hi all,
What is the use of set Linked Table in FieldData Window.
How to use this.
please give some step by step explanation.
Thanx in advance
MohanaHI Mohana,
If you have added a user defined field into a SYSTEM field, and used a linked table: is this automatic (brings you a combobox).
if you would like to use on your form, you must have to use combo box to display code/name of user linked table, and use validvalues of combobox to display the selection list.
Here is sample code which displays from the sales order the shipping types (ordr is the basic table, oshp is a connected table). You can also create some kind of forms from user-defined tables.
Sub ComboDesc()
Dim oForm As SAPbouiCOM.Form = sbo_application.Forms.Add("TEST_MTX")
oForm.Visible = True
Dim oitem As SAPbouiCOM.Item = oForm.Items.Add("MTX", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
With oitem
.Top = 5
.Left = 5
.Width = oForm.Width - 15
.Height = oForm.Height - 15
.AffectsFormMode = False
End With
Dim oMatrix As SAPbouiCOM.Matrix = oitem.Specific
Dim oColumns As SAPbouiCOM.Columns = oMatrix.Columns
Dim oDBDataSource As DBDataSource = oForm.DataSources.DBDataSources.Add("ORDR")
Dim oColumn As SAPbouiCOM.Column = oColumns.Add("#", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON)
With oColumn
.TitleObject.Caption = "#"
.Description = .TitleObject.Caption
.Width = 30
.DataBind.SetBound(True, "ORDR", "DocEntry")
.Editable = False
.ExtendedObject.linkedobject = BoLinkedObject.lf_Order
End With
oColumn = oColumns.Add("COL0", SAPbouiCOM.BoFormItemTypes.it_EDIT)
With oColumn
.Width = 80
.TitleObject.Caption = "Document Number"
.Description = .TitleObject.Caption
.Editable = False
.DataBind.SetBound(True, "ORDR", "DocNum")
.DisplayDesc = True
.Visible = True
End With
oColumn = oColumns.Add("COL1", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
With oColumn
.Width = 80
.TitleObject.Caption = "ShipType"
.Description = .TitleObject.Caption
.Editable = False
.DataBind.SetBound(True, "ORDR", "TrnspCode")
.DisplayDesc = True
.Visible = True
End With
Dim vv As SAPbouiCOM.ValidValues = oColumn.ValidValues
vv.Add("-1", "<>")
Dim ors As SAPbobsCOM.Recordset = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
ors.DoQuery("select * from OSHP")
Do While Not (ors.EoF)
vv.Add(ors.Fields.Item(0).Value, Left(ors.Fields.Item(1).Value, 30))
ors.MoveNext()
Loop
oMatrix.Columns.Item("COL1").Editable = True
oMatrix.Columns.Item("COL1").Visible = True
oDBDataSource.Query()
oMatrix.LoadFromDataSource()
End Sub
Regards
Janos. -
Problem setting link color!
Can someone tell me how to correctly override browser
preferences for link color and visited color by using style sheets?
I can't seem to make it stick.
Thanks!In its most simple scenario and covering all links in a
document:
a:link {color: green;}
a:visited: {color: gray;}
a:hover: {color: blue;}
a:focus {color: blue;}
a:active {color: blue;}
If you want a more advanced read, this tutorial might be
helpful:
http://www.projectseven.com/tutorials/css/pseudoclasses/index.htm
Al Sparber - PVII
http://www.projectseven.com
Extending Dreamweaver - Nav Systems | Galleries | Widgets
Authors: "42nd Street: Mastering the Art of CSS Design"
"robertgravesly" <[email protected]> wrote
in message
news:f840kj$gjg$[email protected]..
> Can someone tell me how to correctly override browser
preferences for link
> color and visited color by using style sheets? I can't
seem to make it
> stick.
>
> Thanks! -
Dear everyone,
I tried to add an aplhanumeric UDF and set it to 4. The system returns an error "Aplhanumeric column size cannot be decreased". If i linked that UDF to another UDT, the length is limited in 8. How could i solve the above problem??
Regards,
KitThis is a known bug in 2005 SP1, SAP Note 960134 details it and a workaround.
Simply using the DI API to create the field will also get round the problem.
Another simple workaround I found was to:-
a) set the new field to alpha size 1
b) tick and then untick the "set linked table" checkbox
c) now set the field size to whatever you want and click on add
John. -
Crystal report XI error while Linking tables
We have just purchased Crystal Report XI license copy but as we going to create new report there is problem in linking tables
i.e while pressing LINK tab after selecting ODBC databse name application going shut down.Please suggest.Thanks in advanceI would make verify the database within Crystal report and then re publish it again. It seems it doesn't get the connection to the db.
Have you refreshed the database within Crystal Reports?
As Graham said, does it open in Crystal Viewer?
another thing would be to add the DSN (System DSN) onto your client machine as well. Maybe it is not getting a right connection.
Try it and let us know.
Kind Regards
Jehanzeb -
Problem about fill set up table
Hi all,
I got a problem when I run the fill set up table for sales billing data source. what I did is:
first delete the setup table then oli9bw->type in a sales document no.(as I only want this order data), then give a run name, last execute, but I got the message as follow:
Data source 2LIS_13_VDITM contains data still to be transferred
Could you pls explain what this means, and what should I do to solve the problem
ThanksSet up table definition
Setup table is store the historical data, where as the delta records are updated in delta queue not to set up table.
So once historical data is loaded you can delete the contents of the set up table.
name is extract sturcture of your data source + setup
also data is taken from setup table when an init / full/ full repair load is done.
so in order to take ur records from the table delete the setup table(LBWG) and initialize it with ur records.
You can find the contents SE16
Filling set up tables
transac LBWG
+ SBIW -> Logistics -> Managing Transfer Information Structures-> Setup of Statistical Data-> Application-Specific Setup of Statistical Data
set up tables
Set up tables
Set up tables
view of set up tables data in se11??????????
Set Up tables..
lo: delete set up tables: DOUBT
LBWQ is the extraction queue and RSA7 is delta queue. Data is sent to delta queue from extraction queue through collective job scheduled in transaction LBWE.
when we want to extract the data using LO Cockpit, the data will be come to the extraction queue first and from there it will processed to the delta queue. SO lbwq works as a outbound queue.
If the update mode is Unserialised V3 then as soon as the document is posted it comes update table which you can see in Tr. Code SM13. After the jonb is scheduled the records come to RSA7 i.e delta queue from which BW pulls the data
If you use u201CQueued Deltau201Dupdate method then the data moves to Extraction queue(LBWQ). Then run Collective update to move the data from LBWQ into Delta Queue (RSA7). Then schedule the data using the infopackage by selecting Delta Load in the update tab.
So in If you are going to do Setup table filling, delete the data from LBWQ.
The usage of Extraction queue(LBWQ) comes in to picture in delta loading. But actually system starts collecting the data (whenever there is document creation in R/3) after activating the EXtraction structure.
Steps to Be Performed
We know that there are 4 types of delta extraction that are available in LO. If you use u201CQueued Deltau201Dupdate method then the data moves to Extraction queue(LBWQ). Then run Collective update to move the data from LBWQ into Delta Queue (RSA7). Then schedule the data using the infopackage by selecting Delta Load in the update tab.
Here is Roberto's weblog:
/people/sap.user72/blog/2005/02/14/logistic-cockpit--when-you-need-more--first-option-enhance-it
/people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
/people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
check this out...
LBWQ - T code is for what?
Ttransaction LBWQ
What is LBWQ?
Assign points if it helps
Hope it helps
regards
Bala -
Problems updating a linked table
Hi,
I am running a win 7 with Excel 2013, 64 bit, Swedish version. I try to update a linked table in the data modell and get an error message saying:
============================
Exception from HRESULT: 0x800A03EC
============================
Call Stack:
============================
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at Microsoft.Office.PowerPivot.ExcelAddIn.ExcelInterOpUtil.GetLinkedTableExcelTableName(String modelTableName, Workbook workbook)
at Microsoft.AnalysisServices.XLHost.Modeler.ClientWindow.FixLinkedTableExcelTableName(LinkedTableInfo tableInfo)
at Microsoft.AnalysisServices.XLHost.Modeler.ClientWindow.UpdateAllLinkedTablesClick()
============================
The file is saved as .xlsx so there shouldn't be a compatibility problem. I have also tried removing the added rows to make sure the added data didn't contain any bad data and running the file on a different computer but the problem keeps showing up.
Anyone having any ideas on how to solve this?
//Caj
CstenDoes anyone have a suggestion for Csten?
Thanks!
Ed Price, Azure & Power BI Customer Program Manager (Blog,
Small Basic,
Wiki Ninjas,
Wiki)
Answer an interesting question?
Create a wiki article about it! -
Problem to acces linked table from Microsoft Access 2010
We have a couple of MS access databases that have linked tables from oracle Database. When the user try to view the content of the table it gets an error saying that the table or view does not exist.
But if i create a new MS access db and link the same tables with the same user, we are able to view the content of the table. So it does not seem to be related to permissions...
If we delete the linked table and try to re-attached them we got the same error
Anyone have a clue ?It looks like this is a question that should be addressed in our ORACLE ODBC community, since it has to to with MS Access links to an Oracle DB via (I presume) an Oracle ODBC driver.
This community is for Oracle Heterogeneous Gateways. That is, Oracle DB links into 3rd party databases.
Thanks!
Matt -
I am developing a desktop application in Wpf using MVVM and Entity Frameworks. I have the following tables:
1. Party (PartyId, Name)
2. Case (CaseId, CaseNo)
3. Petitioner (CaseId, PartyId) ............. Link Table
I am completely new to .Net and to begin with I download Microsoft's sample application and
following the pattern I have been successful in creating several tabs. The problem started only when I wanted to implement many-to-many relationship. The sample application has not covered the scenario where there can be a any-to-many relationship. However
with the help of MSDN forum I came to know about a link table and managed to solve entity framework issues pertaining to many-to-many relationship. Here is the screenshot of my application to show you what I have achieved so far.
And now the problem I want the forum to address is how to bind a combo box so that it retrieves Party.Name for the corresponding PartyId in the Link Table and also I want to populate it with Party.Name so that
users can choose one from the dropdown list to add or edit the petitioner.Hello Barry,
Thanks a lot for responding to my query. As I am completely new to .Net and following the pattern of Microsoft's Employee Tracker sample it seems difficult to clearly understand the concept and implement it in a scenario which is different than what is in
the sample available at the link you supplied.
To get the idea of the thing here is my code behind of a view vBoxPetitioner:
<UserControl x:Class="CCIS.View.Case.vBoxPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:v="clr-namespace:CCIS.View.Case"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
d:DesignWidth="300"
d:DesignHeight="200">
<UserControl.Resources>
<DataTemplate DataType="{x:Type vm:vmPetitioner}">
<v:vPetitioner Margin="0,2,0,0" />
</DataTemplate>
</UserControl.Resources>
<Grid>
<HeaderedContentControl>
<HeaderedContentControl.Header>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Margin="2">
<Hyperlink Command="{Binding Path=AddPetitionerCommand}">Add Petitioner</Hyperlink>
| <Hyperlink Command="{Binding Path=DeletePetitionerCommand}">Delete</Hyperlink>
</TextBlock>
</StackPanel>
</HeaderedContentControl.Header>
<ListBox BorderThickness="0" SelectedItem="{Binding Path=CurrentPetitioner, Mode=TwoWay}" ItemsSource="{Binding Path=tblParties}" />
</HeaderedContentControl>
</Grid>
</UserControl>
This part is working fine as it loads another view that is vPetioner perfectly in the manner I want it to be.
Here is the code of vmPetitioner, a ViewModel:
Imports Microsoft.VisualBasic
Imports System.Collections.ObjectModel
Imports System
Imports CCIS.Model.Party
Namespace CCIS.ViewModel.Case
''' <summary>
''' ViewModel of an individual Email
''' </summary>
Public Class vmPetitioner
Inherits vmParty
''' <summary>
''' The Email object backing this ViewModel
''' </summary>
Private petitioner As tblParty
''' <summary>
''' Initializes a new instance of the EmailViewModel class.
''' </summary>
''' <param name="detail">The underlying Email this ViewModel is to be based on</param>
Public Sub New(ByVal detail As tblParty)
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Me.petitioner = detail
End Sub
''' <summary>
''' Gets the underlying Email this ViewModel is based on
''' </summary>
Public Overrides ReadOnly Property Model() As tblParty
Get
Return Me.petitioner
End Get
End Property
''' <summary>
''' Gets or sets the actual email address
''' </summary>
Public Property fldPartyId() As String
Get
Return Me.petitioner.fldPartyId
End Get
Set(ByVal value As String)
Me.petitioner.fldPartyId = value
Me.OnPropertyChanged("fldPartyId")
End Set
End Property
End Class
End Namespace
And below is the ViewMode vmParty which vmPetitioner Inherits:
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports CCIS.Model.Case
Imports CCIS.Model.Party
Imports CCIS.ViewModel.Helpers
Namespace CCIS.ViewModel.Case
''' <summary>
''' Common functionality for ViewModels of an individual ContactDetail
''' </summary>
Public MustInherit Class vmParty
Inherits ViewModelBase
''' <summary>
''' Gets the underlying ContactDetail this ViewModel is based on
''' </summary>
Public MustOverride ReadOnly Property Model() As tblParty
'''' <summary>
'''' Gets the underlying ContactDetail this ViewModel is based on
'''' </summary>
'Public MustOverride ReadOnly Property Model() As tblAdvocate
''' <summary>
''' Gets or sets the name of this department
''' </summary>
Public Property fldName() As String
Get
Return Me.Model.fldName
End Get
Set(ByVal value As String)
Me.Model.fldName = value
Me.OnPropertyChanged("fldName")
End Set
End Property
''' <summary>
''' Constructs a view model to represent the supplied ContactDetail
''' </summary>
''' <param name="detail">The detail to build a ViewModel for</param>
''' <returns>The constructed ViewModel, null if one can't be built</returns>
Public Shared Function BuildViewModel(ByVal detail As tblParty) As vmParty
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Dim e As tblParty = TryCast(detail, tblParty)
If e IsNot Nothing Then
Return New vmPetitioner(e)
End If
Return Nothing
End Function
End Class
End Namespace
And final the code behind of the view vPetitioner:
<UserControl x:Class="CCIS.View.Case.vPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
Width="300">
<UserControl.Resources>
<ResourceDictionary Source=".\CompactFormStyles.xaml" />
</UserControl.Resources>
<Grid>
<Border Style="{StaticResource DetailBorder}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Petitioner:" />
<ComboBox Grid.Column="1" Width="240" SelectedValuePath="." SelectedItem="{Binding Path=tblParty}" ItemsSource="{Binding Path=PetitionerLookup}" DisplayMemberPath="fldName" />
</Grid>
</Border>
</Grid>
</UserControl>
The problem, presumably, seems to be is that the binding path "PetitionerLookup" of the ItemSource of the Combo box in the view vPetitioner exists in a different ViewModel vmCase which serves as an ObservableCollection for MainViewModel. Therefore,
what I need to Know is how to route the binding path if it exists in a different ViewModel?
Sir, I look forward to your early reply bringing a workable solution to the problem I face.
Warm Regards,
Arun -
A Chairde,
Am having problems setting up MPLS between a AS5350 and 7609 , I have used commands stated in this link, enable MPLS incrementally on a network.
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/switch_c/xcprt4/xcdtagc.pdf
The commands below are added to each router, and some troubleshooting.
7609
ip cef distributed
interface Loopback0
ip address 192.168.254.1 255.255.255.255
tag-switching advertise-tags
interface GigabitEthernet3/12
ip address 192.168.230.162 255.255.255.248
mpls label protocol tdp
tag-switching ip
AS5350
ip cef
mpls label protocol tdp
tag-switching advertise-tags
interface Loopback0
ip address 192.168.254.2 255.255.255.255
interface FastEthernet0/0
ip address 192.168.230.161 255.255.255.248
duplex auto
speed auto
mpls ip
h323-gateway voip interface
h323-gateway voip id cnibhco111 ipaddr 192.168.230.129 1719
h323-gateway voip h323-id cnibhco112
h323-gateway voip tech-prefix 71401
h323-gateway voip tech-prefix 0030
h323-gateway voip bind srcaddr 192.168.230.161
ip rsvp bandwidth 64 64
cnibhco112#sh tag-switching tdp neighbor
Peer TDP Ident: 192.168.254.1:0; Local TDP Ident 192.168.230.161:0
TCP connection: 192.168.254.1.49842 - 192.168.230.161.711
State: Oper; PIEs sent/rcvd: 18/23; Downstream
Up time: 00:12:54
TDP discovery sources:
FastEthernet0/0, Src IP addr: 192.168.230.162
Addresses bound to peer TDP Ident:
192.168.100.17 192.168.100.25 159.107.212.49 172.16.8.81
192.168.230.130 192.168.230.77 192.168.230.81 192.168.254.1
192.168.210.6 192.168.127.6 192.168.210.106 192.168.127.66
192.168.127.138 192.168.210.146 192.168.210.142 192.168.210.122
192.168.210.17 192.168.230.140 192.168.230.26 192.168.230.74
192.168.230.10 192.168.230.14 192.168.127.130 192.168.127.142
192.168.230.6 192.168.230.70 192.168.230.34 192.168.210.178
192.168.200.25 192.168.210.126 192.168.232.1 192.168.231.1
192.168.200.17 192.168.210.102 190.168.200.245 190.168.200.225
190.168.201.241 192.168.230.98 192.168.210.14 190.168.201.201
190.168.201.209 192.168.210.162 192.168.210.210 190.168.201.205
192.168.230.38 190.168.200.249 190.168.200.217 190.168.200.253
192.168.230.162
cnibhco112#
cnibhco112#sh tag-switching forwarding-table 192.168.254.1 detail
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
cnibhco112#traceroute 192.168.254.1
Type escape sequence to abort.
Tracing the route to 192.168.254.1
1 192.168.230.162 0 msec 0 msec *
cnibhco112#traceroute 192.168.230.162
Type escape sequence to abort.
Tracing the route to 192.168.230.162
1 192.168.230.162 0 msec 0 msec *
cnibhco112#Ro,
Thanks for the respone, have been playin, with MPLS for last few hours.
The routing between the loopbacks is now working, can PING 7609 Loopback from AS5350 ,and vice versa. (used static routes).
Having problem with TDP / LDP on routers,
mpls label protocol ldp / tdp command works correctly on both routers, but the
tag-switching tdp router-id Loopback0 force
command works on the 7609, but when I add it onto the AS5350 , the command "mpls ldp router-id Loopback0 force" appears on the startup script.
The opposite is true for the 7609 , you add MPLS LDP command, and TAG-SWITCHING command appears instead.
Any Ideas, as different configs of this leave me with forwarding table with both tags added, but not been able to ping the loopbacks !!!
When I can ping bot loopbacks, the OUTGOING TAG , disapears.....
Problem is LOOPBACK Commands on bot routers default to LDP (AS5350) , or TDP (7609). Any Ideas ...
mpls label protocol tdp
tag-switching tdp router-id Loopback0 force
mpls label protocol tdp
mpls ldp router-id Loopback0 force
cnibhco100#sh tag-switching forwarding-table 192.168.254.2 detail
Local Outgoing Prefix Bytes tag Outgoing Next Ho
tag tag or VC or Tunnel Id switched interface
18 17 192.168.254.0/24 0 Gi3/12 192.168.2
MAC/Encaps=14/18, MRU=1500, Tag Stack{17}
00097CA3293000127FCDBA808847 00011000
No output feature configured
Per-packet load-sharing
cnibhco100#traceroute 192.168.254.2
Type escape sequence to abort.
Tracing the route to 192.168.254.2
1 192.168.230.161 [MPLS: Label 17 Exp 0] 0 msec 0 msec 0 msec
2 192.168.230.162 0 msec 0 msec 0 msec
But no PINGING 192.168.254.2
cnibhco112#sh tag-switching forwarding-table 192.168.254.1 detail
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
17 18 192.168.254.0/24 1915668 Fa0/0 192.168.230.162
MAC/Encaps=14/18, MRU=1500, Tag Stack{18}
00127FCDBA8000097CA329308847 00012000
No output feature configured
Per-packet load-sharing
cnibhco100#sh tag-switching forwarding-table 192.168.254.2 detail
Local Outgoing Prefix Bytes tag Outgoing Next Ho
tag tag or VC or Tunnel Id switched interface
18 17 192.168.254.0/24 752551 Gi3/12 192.168.2
MAC/Encaps=14/18, MRU=1500, Tag Stack{17}
00097CA3293000127FCDBA808847 00011000
No output feature configured
Per-packet load-sharing
WHEN BOTH LOCAL AND OUTGOING TAG, CANNOT PING EITHER WAY !!!
HAVE LABEL PROTOCOL AND LOOPBACK FORCE on AS5350
HAVE LABEL PROTOCOL ON 7609
WHEN ADD LOOPBACK FORCE on 7609 , CAN PING BOTH LOOPBACKS,
BUT OUTGOING TAG DISAPEARS
cnibhco112#PING 192.168.254.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.254.2, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
cnibhco112#sh tag-switching forwarding-table 192.168.254.1 detail
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
17 Untagged 192.168.254.0/24 598678 Fa0/0 192.168.230.162
MAC/Encaps=0/0, MRU=1504, Tag Stack{}
No output feature configured
Per-packet load-sharing
cnibhco112#
mpls label protocol tdp
tag-switching tdp router-id Loopback0 force -
Simple Query in Oracle Linked Table in MS Access causes full table scan.
I am running a very simple query in MS ACCESS to a linked Oracle table as follows:
Select *
From EXPRESS_SERVICE_EVENTS --(the linked table name refers to EXPRESS.SERVICE_EVENTS)
Where performed > MyDate()
or
Select *
From EXPRESS_SERVICE_EVENTS --(the linked table name refers to EXPRESS.SERVICE_EVENTS)
Where performed > [Forms]![MyForm]![Date1]
We have over 50 machines and this query runs fine on over half of these, using an Oracle Index on the "performed" field. Running exactly the same thing on the other machines causes a full table scan, therefore ignoring the Index (all machines access the same Access DB).
Strangely, if we write the query as follows:
Select *
From EXPRESS_SERVICE_EVENTS
Where performed > #09/04/2009 08:00#
it works fast everywhere!
Any help on this 'phenominon' would be appreciated.
Things we've done:
Checked regional settings, ODBC driver settings, MS Access settings (as in Tools->Options), we have the latest XP and Office service packs, and re-linked all Access Tables on both the slow and fast machines independantly).Primarily, thanks gdarling for your reply. This solved our problem.
Just a small note to those who may be using this thread.
Although this might not be the reason, my PC had Oracle 9iR2 installed with Administratiev Tools, where user machines had the same thing installed but using Runtime Installation. For some reason, my PC did not have 'bind date' etc. as an option in the workarounds, but user machines did have this workaround option. Strangely, although I did not have the option, my (ODBC) query was running as expected, but user queries were not.
When we set the workaround checkbox accordingly, the queries then run as expected (fast).
Once again,
Thanks -
Oracle 11gr2 ODBC - error updating linked table (Ora 01722 and 01461)
Good day folks,
My shop has just moved to 11gR2 client and server. We were previously using 11gR1 with no issues (and before that, 10, 9, 8, etc). After moving from 11r1 to 11r2, we began getting errors from some of our MS Access ODBC applications with linked Oracle tables. The error would occur when executing an UPDATE statement that had a table join in it. Here is a simple example:
UPDATE TableX SET TableX.Fieldx = “valuex” WHERE TableX.Fieldx = TableZZZ.Fieldx AND TableZZZ.fieldzzz is not null
Currently, after moving to 11r2 client, an update query like the one above will error out in one of the following ways:
- odbc -- update on a linked table failed - Ora 01722 invalid number
- ORA-01461: can bind a LONG value only for insert into a LONG column
- Or it will say that the records were not updated because they are locked.
In some cases, I have noticed some records being updated that were not supposed to be updated.. records that the where clause was meant to exclude. That is very unsettling.
I understand that perhaps an update statement shouldn’t be joining table and perhaps it should be done over a couple calls, but the reality is – this code is out there in abundance and if there is a solution that doesn’t amount to my changing all this code or reverting to 11gR1, I would love to find it.
Since the query runs fine using SQL Plus and also runs fine if I run it against a local table in Access rather than a linked Oracle table – I figured the issue was possibly with the Oracle 11r2 ODBC driver. So, I switched the Oracle ODBC driver (sqora32.dll version 11.2.0.1 with version 11.1.0.7), and the problem went away.
I believe this verifies the issue resides with Oracle ODBC version 11.2.0.1. Can anyone help? I'm assuming it's not particularly wise to simply swap sqora32.dll files on all my clients machines, so I am searching for an actual solution here instead.
I also did performed ODBC tracing to see what Access is handing to the Oracle ODBC driver. I then used database or SQLNet tracing to see what the ODBC driver was handing off to SQLNet/database.
The results are in the following post:
Thanks guys!!SQLNET TRACE
If you want an Admin level trace, I can have one right away.
(856) [13-JUN-2010 22:11:00:657] nsopen: opening transport...
(856) [13-JUN-2010 22:11:00:657] nttcni: Tcp conn timeout = 60000 (ms)
(856) [13-JUN-2010 22:11:00:657] nttcni: trying to connect to socket 1364.
(856) [13-JUN-2010 22:11:00:688] nttcni: connected on ipaddr 142.139.221.62
(856) [13-JUN-2010 22:11:00:688] nttcon: set TCP_NODELAY on 1364
(856) [13-JUN-2010 22:11:00:688] nsopen: transport is open
(856) [13-JUN-2010 22:11:00:688] nsnainit: inf->nsinfflg[0]: 0x61 inf->nsinfflg[1]: 0x61
(856) [13-JUN-2010 22:11:00:688] nsopen: global context check-in (to slot 0) complete
(856) [13-JUN-2010 22:11:00:688] nscon: doing connect handshake...
(856) [13-JUN-2010 22:11:00:688] nscon: sending NSPTCN packet
(856) [13-JUN-2010 22:11:00:688] nscon: sending 233 bytes connect data
(856) [13-JUN-2010 22:11:00:688] nsdo: 233 bytes to NS buffer
(856) [13-JUN-2010 22:11:00:719] nscon: got NSPTRS packet
(856) [13-JUN-2010 22:11:00:719] nscon: sending NSPTCN packet
(856) [13-JUN-2010 22:11:00:719] nscon: sending 233 bytes connect data
(856) [13-JUN-2010 22:11:00:719] nsdo: 233 bytes to NS buffer
(856) [13-JUN-2010 22:11:00:735] nscon: got NSPTAC packet
(856) [13-JUN-2010 22:11:00:735] nscon: connect handshake is complete
(856) [13-JUN-2010 22:11:00:735] nscon: nsctxinf[0]=0x61, [1]=0x21
(856) [13-JUN-2010 22:11:00:735] nsnainconn: inf->nsinfflg[0]: 0x61 inf->nsinfflg[1]: 0x21
(856) [13-JUN-2010 22:11:00:735] nsnasend: bytes to send: 158
(856) [13-JUN-2010 22:11:00:735] nsdo: 158 bytes to NS buffer
(856) [13-JUN-2010 22:11:00:735] nsnareceive: buffer address: 0x132c34 bytes wanted: 2048
(856) [13-JUN-2010 22:11:00:735] nsnareceive: calling NS to receive 2048 bytes into address 0x132c34
(856) [13-JUN-2010 22:11:00:766] nsdo: 153 bytes from NS buffer
(856) [13-JUN-2010 22:11:00:766] nsnareceive: received 153 bytes
(856) [13-JUN-2010 22:11:00:766] nsnareceive: no more data to receive - returning
(856) [13-JUN-2010 22:11:00:766] nsnareceive: total bytes received: 153
(856) [13-JUN-2010 22:11:01:063] nsnasend: bytes to send: 77
(856) [13-JUN-2010 22:11:01:063] nsdo: 77 bytes to NS buffer
(856) [13-JUN-2010 22:11:01:063] nsnareceive: buffer address: 0x132c34 bytes wanted: 2048
(856) [13-JUN-2010 22:11:01:063] nsnareceive: calling NS to receive 2048 bytes into address 0x132c34
(856) [13-JUN-2010 22:11:01:079] nsdo: 64 bytes from NS buffer
(856) [13-JUN-2010 22:11:01:079] nsnareceive: received 64 bytes
(856) [13-JUN-2010 22:11:01:079] nsnareceive: no more data to receive - returning
(856) [13-JUN-2010 22:11:01:079] nsnareceive: total bytes received: 64
(856) [13-JUN-2010 22:11:01:079] naun5authent: Authentication type is 0
(856) [13-JUN-2010 22:11:01:079] nsnasend: bytes to send: 1862
(856) [13-JUN-2010 22:11:01:079] nsdo: 1862 bytes to NS buffer
(856) [13-JUN-2010 22:11:01:079] nsnareceive: buffer address: 0x132c34 bytes wanted: 2048
(856) [13-JUN-2010 22:11:01:079] nsnareceive: calling NS to receive 2048 bytes into address 0x132c34
(856) [13-JUN-2010 22:11:01:141] nsdo: 165 bytes from NS buffer
(856) [13-JUN-2010 22:11:01:141] nsnareceive: received 165 bytes
(856) [13-JUN-2010 22:11:01:141] nsnareceive: no more data to receive - returning
(856) [13-JUN-2010 22:11:01:141] nsnareceive: total bytes received: 165
(856) [13-JUN-2010 22:11:01:141] nsnasend: bytes to send: 33
(856) [13-JUN-2010 22:11:01:141] nsdo: 33 bytes to NS buffer
These lines are present using both version of sqora32.dll
(856) [13-JUN-2010 22:11:01:141] nszgwop: SQLNET.WALLET_OVERRIDE not found, using default.
(856) [13-JUN-2010 22:11:01:157] nscontrol: Vect I/O support: 0(856) [13-JUN-2010 22:11:01:391] nioqrc: Recieve: returning error: 3111
(856) [13-JUN-2010 22:11:01:391] nsdo: sending NSPTMK packet
(856) [13-JUN-2010 22:11:01:391] nserror: nsres: id=0, op=77, ns=12630, ns2=0; nt[0]=0, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
These lines only happen when using the R2 version of sqora32.dll
(856) [13-JUN-2010 22:11:01:719] nioqrc: Recieve: returning error: 3111
(856) [13-JUN-2010 22:11:01:719] nsdo: sending NSPTMK packet
(856) [13-JUN-2010 22:11:01:860] nserror: nsres: id=0, op=0, ns=12630, ns2=0; nt[0]=0, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
(856) [13-JUN-2010 22:21:03:782] nstimarmed: no timer allocated -
Query builder and multiple linked tables...
Hi all,
I have a database with a large table (50+ fields) and lots of tables (at
least 10 tables) linked to the bigger one.
I can link 7 or 8 tables using Query builder but after that, it gets slow
and slower.
I can't link other tables since it appear to hang.
How can I solve this?
Here is a sample of the large table (articles):
- id_art
- code_art
- material_id_art (fk)
- color_id_art (fk)
- finishing_id_art /fk)
- and so on... with other fields set as foreign keys.
The color table is:
- id_col
- colid_col
- name_col
- language_col
The table view is:
id_col colid_col name_col language_col
1 1 rosso it
2 1 red uk
3 1 rojo es
The other tables follow the same color table specification.
I would like to obtain all articles with color_id_art field equal to the
color.colid_col field AND color.language_col equal to a session variable
(language). This session variable contains 'it', 'uk', or 'es', depending
on user selection on other pages.
I can use query builder to do something similar with few tables but when
the linked tables are 10 or more the query builder began to slow down too
much and is totally unusable.
Is there a way to create such a query manually?
I'm not a SQl programmer so, I have not all the knowledge to do this.
Can anyone point me in the right direction or point me to some tutorial
about such a problem?
I thank you in advance.
tonyCiao Tony,
Well, the main table is 4000+ records
I´ve heard of other users having similar issues with this (or more) amount of data, what´s not surprising, because every time you´re making a change to your query, the Query Builder tries to refresh the browser
I think that the problem is related to too much inner joins and too many WHERE clauses with AND condition
maybe this might add to the problem, but I´m pretty convinced that the major bottleneck is the substantial amount of records your main table has.
Günter, can I ask you how would you manage a multilingual product catalog where the main table (products) has lots of linked details tables (color, finishing, structure...) to be translated on a number of languages?
this is indeed a little tricky by nature, however I think that storing e.g. all the international color names in a table is too complicated, when you could simply...
a) check the currently running language session variable
b) define a PHP if/else condition which will "virtually" translate the stored "id_col" values, example:
if ($_session['language'] == "uk") {
$pattern = array("1", "2", "3", "4");
$replace = array("red", "blue", "black"', "green");
$colors = str_replace($pattern, $replace, $row_queryname['columnname']);
else {
$pattern = array("1", "2", "3", "4");
$replace = array("rosso", "blu", "nero"', "verde");
$colors = str_replace($pattern, $replace, $row_queryname['columnname']);
3. later in your page "echo" the alias variable $colors, which should return different results depending on the currently active language session variable
Cheers,
Günter Schenk
Adobe Community Expert, Dreamweaver -
3 way one-to-many through a single link table
I have 3 tables that are linked through one to many relationships in a single link table. Here's the real relationships:
assay(id)
multiplex(id, assays)
markerset(id, assays, multiplexes)
Here's the database schema:
assay(id, name)
markerset(id, name)
multiplex(id, name)
assay_marker_set(assay_id[not null], marker_set_id[not null], multiplex_id[nullable])
I've mapped one-to-many relationships between markersets and assays, and multiplexes and assays, and BOTH of these one-to-manys need to be writable. In the record creation process, assays are associated with markersets, and then assays are associated with multiplexes, which in turn are associated with markersets.
Here's our dilemma. When committing multiplexes through a unit of work, the one-to-many with assays can't see the one-to-many with markersets, so the commit fails because the markerset key is null.
We've gotten around the problem by creating a postSave() method in markerset that writes multiplex changes once they are created. But again, in a unitofwork commit, saving a markerset fires the postSave() method, which writes assays and multiplexes that have not yet been written to the database.
We've gotten around THAT by only turning on postSave() when creating multiplexes, not when associating assays with markersets.
My question is, is there a more conventional approach to this problem? Clearly, the database needs to be reworked, but time constraints and the quantity of data to be curated makes changing the schema impossible. Or have we arrived at the most sensible solution to a ridiculous problem? Currently what we have works, it's just incredibly complicated, and nearly unmaintainable.
Thanks for the time to even read this post, and mocking is permitted ;-)
Paul Cooper
GlaxoSmithKline US BioinformaticsLooks like your object model does not match your data model.
From you object model you seem to have,
Assay
MarkerSet 1-m Assay, 1-m Multiplex
Multiplex 1-m Assay
From your data model you have,
Assay 1-m AssayMarkerSetAssociation
MarkerSet 1-m AssayMarkerSetAssociation
Multiplex 1-m AssayMarkerSetAssociation
AssayMarkerSetAssociation 1-1 Assay, 1-1 MarkerSet, 1-1 Multiplex
(your object model seems to be also missing the name)
I'm not exactly sure how you have your mapping working, but it would seem the best solution is to introduce an AssayMarkerSetAssociation object into your object model.
If you do not wish to use this object in your model, you could just use it internally to store the relationship and still have get/set methods for the relationships that you want that initialize themselves from the associations.
So your object model would be,
Assay
MarkerSet 1-m AssayMarkerSetAssociation (+ getAssays, getMultiplexes methods)
Multiplex 1-m AssayMarkerSetAssociation (+ getAssays, method)
AssayMarkerSetAssociation 1-1 Assay, 1-1 MarkerSet, 1-1 Multiplex
In general you seem to be able to get your mapping working without changing your object model, but are probably better off for maintainability to change your model slightly.
Maybe you are looking for
-
How can I enlarge my notes on the yellow notepad?
How can I enlarge print on the yellow notepad?
-
Having with more than one clause
Hi Is posssible to have a query with more than one clause in having condition Example In my query I have Count , Sum and AVG , I need to use 3 conditions in having, Is It possible ? Thank you in advance
-
Use unicode in JOptionInputDialog with indexOf?
I cannot use indexOf for unicode. Is there any alternative / solution? public static void main(String[] args) { // The following is perfect. String nonAsciiString="中國茶在中國生產。China."; int nonAsciiInt=nonAsciiString.indexOf("生"
-
Installing BlazeDS on shared tomcat instance
Is it possible to successfully install BlazeDS on a shared Tomcat instance, where I may not be able to add files to the tomcat/lib folder or modify the catalina.properties file? I need tu support custom authentication, as described here: http://op
-
Java.lang.UnsatisfiedLinkError:displayHelloWorld
I'm new at JNI. While trying the ubiquitous HelloWorld test program(source code download from http://java.sun.com/docs/books/tutorial/native1.1/stepbystep/index.html), I keep getting this error. Exception in thread "main" java.lang.UnsatisfiedLinkErr