|
G'day John,
have you tried specifying *NONE for the "String
delimiter" (STRDLM) parameter - which unfortunately for your purposes
defaults to *DBLQUOTE?
Steve Scheele
Systems Manager
CPI Group
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of jmmckee
Sent: Friday, 16 October 2009 11:53 AM
To: Midrange Systems Technical Discussion
Subject: Re: CPYFRMIMPF error 98
Thanks for the elaboration on the format. I'll look at the bad file
tomorrow, However, I copied the file as-is to a PF and set up a field
on the text portion. Checked for pipe in the text area and found none.
Ahead of the text portion, there are five other fields. They are easy
to scan, since the content does not change length. Still pipe
delimited. Content like date and time. I'm not sure I understand why
the fields even need the pipe, since the only variable length field is
the last one. Makes me wonder what would happen if I used tr to change
the pipes to tabs. That is essentially what Excel did.
Wild idea: Since I know the number of fields, is there a SQL statement
that could be run over the PF to select the recordsthat don't have the
right number of pipes?
But, since nothing was identified as being in error, I am quite
confident this will happen again. at a most awkward time.
John
-----Original message-----
From: "sjl" sjl_abc@xxxxxxxxxxx
Date: Thu, 15 Oct 2009 19:23:19 -0500
To: midrange-l@xxxxxxxxxxxx
Subject: Re: CPYFRMIMPF error 98
John -of a
For one thing, Microsoft doesn't subscribe to the standard definition
delimited file.values
For example, when Client Access is used to download data as a
comma-delimited file, it places double quotes around the alpha field
with a comma separator between the fields.like:
For example:
If the IBM I file definition is:
Cusno signed 8/0
Name Alpha 40
then the comma-delimited file created by client access would look
fields.
12345678,"John McKee"
87654321,"Steve Landess"
On the other hand, Microsoft only puts a comma separator between the
If you export the same data from an Excel spreadsheet to a .CSV file,you'll
get:agency
12345678,John McKee
87654321,Steve Landess
I would speculate that if the file being produced by your outside
does not have double quotes around the alpha fields, CPYFRMIMPF willlikely
have a problem if there happens to be a pipe character embedded/within/ one
of the alpha data fields, since without the double quotes around thefield
value it will think it represents the end of a field value.such
- sjl
"jmmckee" <jmmckee@xxxxxxxxxxxxxx> wrote in message
news:mailman.6833.1255643131.1811.midrange-l@xxxxxxxxxxxxxxx
According to an IBM link retrieved by Google, it is triggered for
things as finding a delimiter where it shouldn't be, or not findingone
where it was expected.informative
Documented error code? What a concept!
John McKee
-----Original message-----
From: Jerry Adams Jerry@xxxxxxxxxxxxxxx
Date: Thu, 15 Oct 2009 15:31:35 -0500
To: Midrange Systems Technical Discussion midrange-l@xxxxxxxxxxxx
Subject: RE: CPYFRMIMPF error 98
What is "reason code 98"?
Jerry C. Adams
IBM System i Programmer/Analyst
--
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of jmmckee
Sent: Thursday, October 15, 2009 3:06 PM
To: Midrange Systems Technical Discussion
Subject: Re: CPYFRMIMPF error 98
My job is set for 4 0 *SECLVL
Even with that, there doesn't seem to be anything particularly
ERRRCDFILE(QTEMP/ERRORSin the job log segment, below.
CPYFRMIMPF FROMSTMF('/QDLS/TRL/INBOUND/100909.CMT')
TOFILE(SSYSRCM/SPBTRCP
4) MBROPT(*REPLACE) RCDDLM(*CRLF) FLDDLM('|')
workedTWO)
ERRRCDOPT(*REPLACE)
Ownership of object QCPIMTEMPS in QTEMP type *USRSPC changed.
Ownership of object QACPTEMP01 in QTEMP type *USRSPC changed.
Ownership of object QACPTEMP01 in QTEMP type *USRSPC changed.
Member TWO file ERRORS in QTEMP cleared.
Ownership of object QCFT509818 in QTEMP type *USRSPC changed.
Ownership of object Q2F628 in QTEMP type *FILE changed.
Member SPBTRCP4 file SPBTRCP4 in SSYSRCM cleared.
The copy did not complete for reason code 98.
Copy command ended because of error.
I can't see any reason why QDLS would be an issue, since this has
IFS.for almost two months. However, I copied the file, using QSH to the
MBROPT(*Same result:
CPYFRMIMPF FROMSTMF('/McKee/100909.CMT') TOFILE(SSYSRCM/SPBTRCP4)
ERRRCDOPT(REPLACE) RCDDLM(*CRLF) FLDDLM('|') ERRRCDFILE(QTEMP/ERRORS TWO)
wrote:*REPLACE)
Ownership of object QCPIMTEMPS in QTEMP type *USRSPC changed.
Ownership of object QACPTEMP01 in QTEMP type *USRSPC changed.
Ownership of object QACPTEMP01 in QTEMP type *USRSPC changed.
Member TWO file ERRORS in QTEMP cleared.
Ownership of object QCFT509818 in QTEMP type *USRSPC changed.
Ownership of object Q2F698 in QTEMP type *FILE changed.
Member SPBTRCP4 file SPBTRCP4 in SSYSRCM cleared.
The copy did not complete for reason code 98.
Copy command ended because of error.
John
-----Original message-----
From: Charles Wilt charles.wilt@xxxxxxxxx
Date: Thu, 15 Oct 2009 14:48:07 -0500
To: Midrange Systems Technical Discussion midrange-l@xxxxxxxxxxxx
Subject: Re: CPYFRMIMPF error 98
John,
You should see error messages in the job jog. What are they?
Charles
On Thu, Oct 15, 2009 at 3:20 PM, jmmckee <jmmckee@xxxxxxxxxxxxxx>
CPYFRMIMPF.I have received a file from an outside agency that chokes
andThe fields are pipe delimited. I have looked at the raw file
linesdon't see anything REALLY obvious - the file is several hundred
long. I can open this thing in Excel just fine, but there is no
portion,option to save it with pipe delimiters. There is a free text
delimiter.which, I suspect, prompted the need to use the pipe as a
results are
The agency has converted this file multiple times, and the
anthe same. Other files are just fine. When I attempted to use
how toerror file, I got nothing in the created member.
Is this why some of you loathe CPYFRMIMPF? Any suggestions on
sure Iisolate and fix the error(s) causing CPYFRMIMPF to choke? Not
Can SQLhave the time to write the program to split this thing apart.
mailingbe used in some way to identify or clean up the file?
John McKee
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailinglist--
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailinglist--
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailinglist
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
listlist
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxx--
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
#####################################################################################
This message may contain privileged and confidential information intended only for
the use of the recipient/s named above. If you are not the intended recipient of this
message you are hereby notified that any use, dissemination, distribution or
reproduction of this message is prohibited. If you have received this message in
error please notify the sender immediately. Any views expressed in this message are
those of the individual sender and may not necessarily reflect the views of the
company. Whilst all internet e-mails are scanned for known viruses, no liability will
be accepted for any damage caused by this email or its attachments due to viruses,
interference, interception, corruption or unauthorised access.
#####################################################################################
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.