Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Joe Wolken

#1
We are trying to implement ODF to email PDF formatted Invoices to customers.  The invoice application creates a single PDF file with hundreds of invoices each evening.  A specific customer number may be on many invoices within the PDF load file.  OnDemand Loader successfully segments the PDF load file based on a change in Invoice #.  The result is that CustomerNo 123 may end up with 5 or more invoices that can each be searched and retrieved individually from the OnDemand Client.

We have a unique ODF Bundle configured for each CustomerNo that has an SQL Source defined as CUSTOMERNO = '123'. We have a Distribution associated with that same CustomerNo = 123. So that each Distribution gets an email with their CustomerNo invoices.

This all works great, EXCEPT.  If there are multiple invoices for CustomerNo 123 within a Load, the ODF Bundle only retrieves 1 of the invoices matching the CustomerNo.  We can not figure out how to configure ODF to continue searching OnDemand and retrieve all of the invoices for this CustomerNo. 

I am hoping this is a simple configuration error on our part and not a limitation of ODF.

Has anyone configured a similar use case and provide advice?

BTW, the server is running CMOD for Windows v.10.5.0.2

Thanks,
#2
Upon closer examination we found that there were files in OnDemand that had the exact same set of indexing information.  It appears that the business application sent the same file more that once.  So when using the ONDDOC Get API it probably created the first PDF file then overlayed it with the second file that had the exact same filename.  Hence the file count mismatch compared to the number of indexing records.  In this case, this is an acceptable (and even desirable) outcome because it effectively eliminated the duplicate files for us.

We are closing the support case with IBM as it was 'User error'. 

Thanks Justin for prompting the reexamination of the data.
#3
Justin,

You bring up a good point that if the filename created by the concatenation of the index values is not unique then the output files can potentially overwrite each other making the total number of output files less than the number of retrievals (message 66 or 67).

However, in this case the value of the MANIFESTID for each document should be unique (forcing the creation of a unique filename). I verified this by using the same Named Query in the OnDemand Client, sorting the list by MANIFESTID, and analyzing a list of hits for duplicates and finding them to all be unique.

I have opened a support ticket with IBM and provided them with their requested information and am waiting for a response.  I will post again if this is resolved.
#4
I am using a current CMOD Linux v.10.5 server.  I use the OnDemand Client to query the list of documents that I want to retrieve. I then create a Public Saved Named Query "DE2024"  It shows me 220 documents in the hit list in the Client.

I then run the ARSDOC GET API to extract the 220 PDF files from to a directory on the server.  The API messages show 220 documents retrieved.  The System Log shows 220 message 66 and 67 messages. BUT, I only get 219 PDF files in the directory. 

Why would I get fewer files in the directory?  How do I debug the missing file? 

I try running the same command for named queries for larger sets of files and find that again I am missing files from what I see in the System Log. 

Here is my command:
arsdoc get -v -h PROD -f "MERCH" -G "MERCH" -d /backup -o "(RUNDATE)(INVOICE)(LOC)(CONTAINER)(MANIFESTID)(NAME)" -q "DE2024"
#5
The extra files range in size from 20KB to several MB.  They appear to be the size of the PDF files that we trying to archive, with the exact same filenames but just with an extra .OUT1 extension.  The files are for various Applications, but they are all very simple PDF Indexer Applications with a single Trigger field zone and multiple index field zones, similar to the following:

COORDINATES=IN
TRIGGER1=UL(7.03,1.32),LR(7.54,1.59),*,'1',(TYPE=GROUP)
FIELD1=UL(0.35,1.31),LR(1.24,1.60),0,(TRIGGER=1,BASE=0)
FIELD2=UL(1.18,1.32),LR(3.53,1.59),0,(TRIGGER=1,BASE=0)
FIELD3=UL(3.70,1.31),LR(4.45,1.60),0,(TRIGGER=1,BASE=0)
FIELD4=UL(4.39,1.31),LR(5.13,1.60),0,(TRIGGER=1,BASE=0)
FIELD5=UL(1.02,2.43),LR(2.63,2.89),0,(TRIGGER=1,BASE=0)
FIELD6=UL(3.60,2.43),LR(5.09,2.89),0,(TRIGGER=1,BASE=0,DEFAULT='BLANK')
FIELD7=UL(5.63,2.45),LR(7.09,2.88),0,(TRIGGER=1,BASE=0,DEFAULT='BLANK')
FIELD8=UL(7.77,2.45),LR(8.42,2.92),0,(TRIGGER=1,BASE=0)
FIELD9=UL(0.35,1.67),LR(3.79,1.90),0,(TRIGGER=1,BASE=0)
INDEX1='RUNDATE',FIELD3,(TYPE=GROUP)
INDEX2='LOC',FIELD4,(TYPE=GROUP)
INDEX3='INVOICE',FIELD1,(TYPE=GROUP)
INDEX4='NAME',FIELD9,(TYPE=GROUP)
INDEX5='CONTAINER',FIELD2,(TYPE=GROUP)
INDEX6='MANIFESTID',FIELD5,(TYPE=GROUP)
INDEX7='TRACKINGNUM',FIELD6,(TYPE=GROUP)
INDEX8='HAWB',FIELD7,(TYPE=GROUP)
INDEX9='DESTCNTRY',FIELD8,(TYPE=GROUP)
INDEXSTARTBY=1
RESTYPE=ALL

Thanks,
#6
I am finding several thousand files on the OnDemand v.10.5 RHEL server that have the files names that end in
.PDF.out0
.PDF.out1
.PDF.out2
.PDF.out3

We are using the PDF Indexer to index and load new PDF files. It seems that all new files have been loading successfully. Are these temp files?   What process added created these files?  Can they be deleted?

Any clues would be helpful.

Thanks,
#7
I think we are finding that on Sunday only the QUSROND Server job is not yet started before the MONOUTQ job, so the MONOUTQ job is trying to process the spool file from the outq before the server job is ready.  Would this cause the spool file to be sent to the Error outq in Error status?
#8
We have a spool file report created daily at about 3:00am and sent to the OnDemand iSeries monitored output queue.  The report processes successfully six days a week, but the Sunday morning report always gets sent to the Error output queue in HELD status and No message 88 (failed load) get generated in the System Log.  If later in the week the file gets released and moved back to the monitored output queue then it loads without issue.

Is there any scenario where a spool file load can fail from the monitored output queue without generating a message 88?  Given that this only happens on the weekend, could there be any system events that we should look at?

We have a ticket open with IBM support and the response so far has just been to look for message 88 records, which do not exist.

Thanks,
#9
Justin,
Thanks for your thoughts. I normally work with OnDemand iSeries, but this is on an OnDemand Windows implementation.

I will install the most current v.10.5.0.7 server fix pack on the server and try again. I will update this post with the results.

Joe
#10
More details from the Trace log:

I turned on the ODF program tracing and reran the ODF process to try to email send an OnDemand distribution using the SMTP Server:

This information was added to the arsodf.xml file:
<SMTPServer>smtp.office365.com</SMTPServer>
<SSL>false</SSL>

What I found in the Trace log file was that when I set <SSL>false</SSL> I get the following error:

<message>451 5.7.3 STARTTLS is required to send mail [PH0PR07CA0058.namprd07.prod.outlook.com 2023-11-01T15:45:01.489Z 08DBD9EA97EE27A0]

   com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2373)
   com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1808)
   com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1285)
   javax.mail.Transport.send0(Transport.java:231)
   javax.mail.Transport.send(Transport.java:100)
   ODFProcessDist.sendMail(ODFProcessDist.java:910)
   ODFProcessDist.process(ODFProcessDist.java:242)
   ODFProcessDist.main(ODFProcessDist.java:1203)</message>

When I tried setting <SSL>true</SSL> I get a different error:

<message>Could not connect to SMTP host: smtp.office365.com, port: 25Caused by: Unrecognized SSL message, plaintext connection?
   com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2211)
   com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:722)
   javax.mail.Service.connect(Service.java:342)
   javax.mail.Service.connect(Service.java:222)
   javax.mail.Service.connect(Service.java:171)
   javax.mail.Transport.send0(Transport.java:230)
   javax.mail.Transport.send(Transport.java:100)
   ODFProcessDist.sendMail(ODFProcessDist.java:910)
   ODFProcessDist.process(ODFProcessDist.java:242)
   ODFProcessDist.main(ODFProcessDist.java:1203)</message>

It appears that I need to be sharing this information the Email Server admin.  Does a change need to be made on the Email Server?  Or is a configuration change needed within ODF?  What should I be asking from the Email Server admin?

Thanks,
Joe
#11
I am working on a functioning Windows v.10.5 server and trying to distribute my first ODF email.  The OnDemand Monitor is showing Processed Report Bundles status of Error with message num = ARS4703E.

If I look at the OnDemand System Log folder I see the same error as msg num = 446 (ODF Distribution processing failed.  The detailed message says:
ARS4703E Unable to run command >C:\PROGRA~1\IBM\OnDemand\V10.5\jre\bin\java.exe< The error number is 17

I confirmed that the java.exe program exists in this path.  I can see the temp folders being created in the ARSTMP folder.  Each folder contains the object file and the XML with the distribution info.  So it looks like ODF is working except for being able to invoke the java.exe??

Am I missing some setup needed to run the Java.exe from OnDemand?

Thanks,

Joe
Joe
#12
Within the Administration Client Application Group list there is now the ability to enable 'Document Activity Tracking (going forward) for the 'Last Load', 'Last Query' and 'Last Retrieve'.

Does anyone have and willing to share the SQL statements (I image one SQL each for Load, Query and Retrieve) to run that would result in a list of all of the Application Groups with their most recent dates for each.  I assume the data would come from the System Log.

I am looking for historical data.  For example, seeing if the most recent retrieval for some reports was 1 year ago, I would not have that if I just now turned on the Document Activity Tracking, since it only populates day forward.

Thanks,
Joe
#13
Looking at the OnDemand v.7.5 'What's New' document, I see there is a new option on the ARRRPTOND command to PDF.

"Convert to PDF prior to Index and archive.
Support for converting SCS and AFPDS spooled files to PDF during load time
The Add Report (ADDRPTOND) command now supports the ability to convert an input spooled file from SCS or AFPDS to PDF before indexing and loading into Content Manager OnDemand. Subsequent retrievals of the archived data are displayed and printed as PDF. The new support requires IBM Transform Services for i licensed program product (5770-TS1)."

I can not find any documentation on how this is implemented. Is anyone using this successfully?
Does it require new Applications be created that is defined as PDF?
Does it require use the PDF Indexer feature?

Thanks,
Joe
#14
Someone, (not me) ran the ARSDOC Delete command and fat fingered one of the index values and deleted the wrong document. Is the delete absolutely permanent?  Or, is there any was to 'undelete' the document short of doing a recovery from backup media? 

Thanks,
Joe
#15
I have found that when using the STRMONOND command from the iSeries to monitor an output queue for new spool files to load to a Windows Server that the command ALWAYS uses the 'Check First' value for matching the Application Group name to use to archive on the Windows Server.
It seems to ignore the 'Check next' and 'Check Last' values when searching for an existing Application Group to use for archive.
Instead it generates a message 88 in the system log saying that the Application Group does not exist.  It only read from the Check First value.

Is this anyone else's experience?

Thanks,
Joe