DBUPDATELOBS Throws an error inserting photos

 19 Replies
 4 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
msquibb
New Member Send Private Message
Posts: 2
New Member

We are trying to create a process to update our employee photos that we pull from an external system and insert them into our Windows based Infor environment. We are using a process nearly identical to what was posted here (the only difference being we name the picture files with the employee name and id). When we run the command while logged on to the user as DOMAIN\lawson, we receive the following error:

C:\>dbupdatelobs -I D:\PhotoUploads ltmtest Employee
User : DOMAIN\lawson, LongName Lawson Installer
Error: com.lawson.security.authen.SecurityAuthenException: 843627620: security.authen.os_account_not_configured

AMS has thus far been unable to tell us what this means. Has anyone seen anything similar?

Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member

Hi msquibb - It looks to me like the Windows user that is calling the dbupdatelobs utility isn't linked to a Actor Identity record that tells Landmark who they are (and grants them access). 

For example, I have an ActorIdentity associated with service OCC02DV003 (our LMRK DEV server) that links my server OS identity (meadek) with my Actor record (10040732).  I also have identities for login authentication (SSOPV2) and S3 Authentication (LSFSDPRD).

Kelly Meade
J. R. Simplot Company
Boise, ID
Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member
By the way, doing this as "Lawson" is safest, and it should already have an identity. If you continue to have the problem, you may want to validate that user "Lawson" is actually being used on the server.

If it still doesn't work, it may be a file rights issue. We're on Unix, but we've found that the rights on $LASYSDIR/env.id sometimes get changed and cause an error. We've also had problems with rights for other files in $LAENVDIR/java/thirdParty/. Most of these files need to be executable by anyone in the "Lawson" group (in unix). I'm not sure how that translates to Windows.
Kelly Meade
J. R. Simplot Company
Boise, ID
msquibb
New Member Send Private Message
Posts: 2
New Member
It looks like I was given the wrong Lawson user in which to use. Our domain Lawson user isn't provisioned in the system, instead the local server's Lawson user was. Once I was able to run with the correct credentials, everything worked as advertised. Thank you for giving me the information we needed to get to the proper solution!
Katie
Basic Member Send Private Message
Posts: 12
Basic Member
Did you get this working within Process Automation? If so, did you use one system command node to open the Landmark command line and run the cd, sudo, and dbupdatelobs commands? I have a system command node trying to run the cd and dbupdatelobs commands at the Landmark command line, but it doesn't seem to be working though it isn't returning any errors or other output.

[code]D:\lmenv\enter.cmd cd D:\image_share dbupdatelobs -I "D:\image_share" lmghr Employee [/code]
David Williams
Veteran Member Send Private Message
Posts: 1127
Veteran Member
I don't believe Infor hosted clients can run SysCommand commands. Are you hosted?
David Williams
Katie
Basic Member Send Private Message
Posts: 12
Basic Member
Yes, we are hosted.  We were given the impression that although we didn't get access to the Landmark command line, that we would be able to automate the dbupdatelobs command to run daily instead of having to put in a request each time we wanted to have it run.  It sounds like that may not be the case.  Thanks for your quick reply!
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
We are Infor hosted and have several process flows that use syscommand for many different commands. One thing to check is in your configuration, what user do you have setup to run that command? I think we have the "Lawson" user setup for that.
Katie
Basic Member Send Private Message
Posts: 12
Basic Member
We are not using the lawson user since we are hosted, but we are using a lawson equivalent user.

Terry, are you using the SysCommand node in your flows to run commands from the Landmark command line? If so, can you share the syntax of how you got them working?
Katie
Basic Member Send Private Message
Posts: 12
Basic Member
Thanks for your help, everyone -- I finally got it working! I just needed to add the "&&" between my commands. Here is the command that worked.

D:\lmenv\enter.cmd && cd D:\image_share && dbupdatelobs -I "D:\image_share" lmghr Employee
Chris
Advanced Member Send Private Message
Posts: 20
Advanced Member
Awesome, thank you for posting this - I am going to try this with IPA today as well to load in 12,000 pdf files ott he 'EmploeeDocument' business class. Does anyone know where these files live? Are they stored in a blob in the DB or on the app server somewhere? I am worried about size limits...many thanks! Chris
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
Posted By Katie on 04/01/2016 7:21 PM
We are not using the lawson user since we are hosted, but we are using a lawson equivalent user.

Terry, are you using the SysCommand node in your flows to run commands from the Landmark command line? If so, can you share the syntax of how you got them working?

Katie - all our syscommands in flows are for LSF server, not Landmark. But I'm assuming you should be able to do the same on the Landmark server. 

 


Chris
Advanced Member Send Private Message
Posts: 20
Advanced Member

I am getting the same error as you were with the DOMAIN\Lawson account - how did you run the dbupdatelobs as the other user account? Many thanks! Chris

NEVER MIND - FIGURED IT OUT now I just need to find the file specs/headers for loading documents for document attachments!

 

Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member
Hi Chris - regarding your question about where the documents live, the data is converted and stored in a LOB field on the database. What table will depend on whether your system was set up with split-lob (lob fields in different tables from the non-lob fields) or not.

If you are not split-lob, then the lob fields will be within the main business class table.

On DB2 with split-lob, the lob fields are in S${whatever}, where {whatever} is the table prefix. For example, the Employee LOB fields are in S$EMPL and the EmployeeDocument LOB fields are in S$EMDOC.

I hope this helps.

Kelly
Kelly Meade
J. R. Simplot Company
Boise, ID
Chris
Advanced Member Send Private Message
Posts: 20
Advanced Member
OK, has anyone had any experience with loading documents into the EmployeeDocument. The dbupdaelobs program runs and says it updated 1 record, but I do not see the document under "attachments" in the resource record. Any help is appreciated! Chris
Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member
I haven't tried to do anything with that BC, but kust to be sure, have you confirmed where documents end up when you upload them via the application rather than via dbupdatelobs? Maybe it's putting them somewhere goofy...
Kelly Meade
J. R. Simplot Company
Boise, ID
Chris
Advanced Member Send Private Message
Posts: 20
Advanced Member

Thanks Kelly - I have not been able to find where these successful imports are landing - so that is kinda scary. I looked in the DB in the EMPLOYEEDOCUMENT table and there is nothing there and nothing showing in the RC under "attachments" - so I am not sure where they are going!

Chris

Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member
Hi Chris - I just uploaded an attachment via Rich Client, and the filename and mimetype ended up in EmployeeDocument.DFTITLE and DFMIMETYPE and the actual file data ended up in S$EMDOC.DFFILE. Dbupdatelobs should work the same way.

Just for curiosity, does your "D:\image_share" folder contain a file named "EmployeeDocument.csv" and does that file include all the key values required for that business class (HROrg, Employee, SeqNbr) along with the full absolute path to each document you are trying to upload? Be sure to read the dbupdatelobs useage and be sure you're following it completely - file must have headers, comma separated format, all unique index fields, absolute path, etc.

Kelly Meade
J. R. Simplot Company
Boise, ID
Woozy
Veteran Member Send Private Message
Posts: 709
Veteran Member
By the way, just because it says it updated 1 record, it may not be referencing what you think it's referencing.

You could try this query to see if the employee you tried to update has any attachment records (you may need to adjust for your db):
select
ed.*
,'xxxx' as "<<>>"
,ed_lob.*
from
{dbschema}.employeedocument as ed
join {dbschema}.S$EMDOC as ed_lob
on ed_lob.uniqueid = ed.uniqueid
where ed.employee = {employee}
Kelly Meade
J. R. Simplot Company
Boise, ID
Chris
Advanced Member Send Private Message
Posts: 20
Advanced Member
Kelly, this is SO helpful!! I will look at the query to see if I can find the docs. I really am appreciative for the S$EMDOC.DFFILE table!!!

Just for curiosity, does your "D:\image_share" folder contain a file named "EmployeeDocument.csv" - Yes, it does.

and does that file include all the key values required for that business class (HROrg, Employee, SeqNbr) along with the full absolute path to each document you are trying to upload? Here is what is in that file:
HROrganization Employee SequenceNumber DocumentFile.File DocumentFile.Title DocumentFile.MimeType
1000 12345 1 D:\lmktest\documents\12345.pdf 12345.pdf application/pdf


Be sure to read the dbupdatelobs useage and be sure you're following it completely - file must have headers, comma separated format, all unique index fields, absolute path, etc. - I will look at it again for sure!! I gotta be close!

Thanks again!