Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Errors while Migration between Livelink to Livelink

Status
Not open for further replies.

MSD123

Programmer
Jan 24, 2012
7
Hi All,
I am migrating content from Livelink to Livelink.Whenever I am doing migration I got some errors. I have attached it below,

1. createItem(1) [Livelink Driver] Create item error: Error creating DOCUMENT "H328549-0300-50-015-0016" inside FOLDER "50 Mechanical" (Errno: Msg: The value is not one of the valid values. Err code: 101103 status: Error Creating node)

2. createItem(1) [Livelink Driver] Get item content error: File I/O Error while retrieving Livelink content. com.opentext.api.LLIOException: Premature end-of-data on socket.

3.[Livelink Driver] Create item error: Error listing attributes. Error retrieving attribute info: ? attr: Package Num => Errno: Msg: Value entered for 'Percent Complete' is too long. Maximum length 20 Err code: 101103 status: Error Creating node

Caused by: [Livelink Driver] Get item error: For input string: "Request</H1><br>Please"

Caused by: [Livelink Driver] Get item error: enumerateValues() not implemented for this datatype


If anybody will have the answer for any one of the these errors please let me know.
Thanks in Adavance.

MSD123
 
What tool are you using for the migration ?

The error message suggests that you have a Category issue, e.g. Cat X on the source system with value A selected and Category Y on the destination system which you are mapping to which does not have a value A.

Greg Griffiths
Livelink Certified Developer & ECM Global Star Champion 2005 & 2006
 
Thanks for your reply ggriffit.

I am using our Company Product Migration Studio Desktop.

It is a generic Server tool to migrate Contents between different ECM tools.

We are having our own Code to get and create the Objects from Source and Target.

If possible, could you give reasons for the each errors I have posted. I am working as Junior Developer and Tech support also new to Livelink.

Can you give any Url link to get familiar idea for My task about Livelink ECM concepts.

Thank you
 
1. createItem(1) [Livelink Driver] Create item error: Error creating DOCUMENT "H328549-0300-50-015-0016" inside FOLDER "50 Mechanical" (Errno: Msg: The value is not one of the valid values. Err code: 101103 status: Error Creating node)

all those looks like lapi errors for me.My guess is that your developers have built validation routines that I can demonstrate with a simple example.

Assume on source server you have a category with a text popup containing these valid values {'green','red','blue'}.If I add a document on this server and I am using this category as my metadata provider,I would be made to choose either one of these valid values won't you agree.There is no way in the GUI to bypass that.If using lapi it will not honor this but then your guys ares mart programmers so they read this valid values and prevent unwanted values.

Now if the target server id not contain this category definition and the program is trying to add files with value that this erver cannot refrence this could happen.

In retrospect a source target migration should at least obey these rules

Building Block objects Classifications,categories,Form templates,workflow maps,Users and Groups should all exist likewise in source and target systems and mapping correctly established

Data points such as documents and folders and other user added data can then safely be copied.


This is what commercial migrators such as GCI migration or syntergy replicator does.they take the guessing of dataid mappings between different livelink systems

I do a lot of cloning activities without commercial tools but I try to understand my source system before I attempt to copy it.livelink is so different in somany orgs but at its hearts it is tsill a very simple sytem that people can understand


Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
Thanks Appnair.

Thank you very much.

enumerateValues() not implemented for this datatype

Can you know when it will occur.

Thanks in Advance.






 
As I posted for another user a while back, lapi uses an archaic still very usable error reporting. For e.g every lapi call sends back to the caller either 0 meaning it worked and a positive number when it does not. Then in the session object it reports the error almost in layman English.


If I write this code without paying any heed to proper programming I will get errors. Shown in psuedocode

Create a session
If userid,password,lapiport or network difficulties you will get that error note that session is not established at this time.
You cannot check session without calling something in livelink

So I write AccessEnterpriseWS(session)

Now if the call succeeds then it will be zero
However if you do not pay attention to that and you try to enumerate the return value then you will get get(name) not implemented.

IF LL_OK
ENUMERATION CAN HAPPEN
NOT
DO NOT ENUMERATE VALUES
END IF

What most programmers do not understand is that LAPI is just calling a livelink server(s) just like 10 people logged in to the livelink server. Each LAPI call may never be answered by the same livelink server(if there are load balancers involved) nor can you insist on the same thread answering that. If you want a multi threaded lapi program then your lapi program threads should invoke a separate session and your program threads should never be greater than livelink threads.

So to add a document a lapi call has to independently do this not entirely correct

Establish a session with a livelink server
Wrap session and call a lapi command to get to Enterprise
Wrap session and go to a Folder
wrap session and create a Node
wrap session and add a document
wrap session and add metadata to document by calling a category definition again more lapi calls

As you can see every lapi call is completely independent of each other and programmers should not think that by getting once into livelink they will not get errors back form livelink. If you look at sample code you will see that very call is tested for success then only the next steps happen. Usually I am sure your programmers may have created higher level packages (utility classes) so that they know this

enumerateValues cannot be called unless the object that you receive is enumerable.In this case the programmer may have while programming always got good values so he could make his code work, but in this instance lapi did not give your code anything enumerable it could be undefined, livelink code may have crashed and so on. As next steps if lapi code is not to be blamed you need to look at the livelink server side and looks at that log.
When you get a return data structure like a table then think of that in like a database record or excel work sheet
Objid subtype name
1234 144 appu
3456 0 greg
When you are enumerating names in this you can ask give me table.{”name”} and lapi will say here you go {‘appu’,’greg’},but if you ask table.{“a value not in there”} you will get a non enumerable error.This is true for any language that tries to represent data structures and lapi is no less in that.
Whereas in EWS(strongly typed modern language) you will never get into that situation. Your compiler will not allow you to write that kind of code.I t will say what is that you are asking and what is the type I should be receiving it as. Hope you understand why moving to newer stuff is better. But you sacrifice it by asking many things more frequently . Lapi tried to give you a lot of information thereby reducing the round trips to livelink 
If there is time you also need to write it to support enterprise web services as lapi's time has come.

BTW I am not a trained computer science person but having worked in livelink and programmed in many different things for livelink I am sharing my thoughts.I cannot guarantee that what I am saying is all correct in computer science terminolgy.I have no qualms working in EWS ,lapi or oscript as when I do I check back my work for pitfalls and am very conservative.won't take any liberties in my coding so I am actually slower but I get by :)










Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
Certified OT Developer,Livelink ECM Champion 2008,Livelink ECM Champion 2010
 
Thanks a lot appnair.
Keep it this good response.
I don't have enough time, because these issue from Client Side.
So I have to rectify it ASAP. Still I have more Issues apart from these posts, I am trying those issues myself.

Thank you.


 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top