I just run a report that lists all my parts with descriptions. (Part Table).
I then try to open the XML in IE and it will fail and tell me the line and character #.
I then open the XML in Notepad++ and go to that line. I am able to see the special character and then delete the special character from the description via Part Entry.
I have been drilling my people not to COPY and Paste descriptions. But some of the errors did come DMT a well.
Miguel A. Santillan
Compass Manufacturing Systems
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Friday, September 4, 2015 9:11 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Crystal Reports crashing on carriage returns.
Crystal Reports has begun reporting strange characters when printing Stock Status report and Job Travelers, upon further investigation, it appears that there are carriage returns in part descriptions that are showing up as ASCII or hexadecimal characters. When Crystal sees these characters in the already generated XML file it fails to print out of 8.03.410.
This either started as a result of upgrading from 408B to 410 or when we started updating parts using the DMT tool.
Has anybody else experience this with Crystal?
Thanks.
EPICORDATA – Reports – The person who ran report that received error – pull up the XML – the last record will tell you which part or job had the error. If you take that part description and drop into word you will see unwanted character. Remove the unwanted character copy – paste back to part master or job –NOTE --> check all orders, quotes, jobs, customer part number, etc. that contain this part description make sure all are corrected or it will happen again.
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Friday, September 04, 2015 9:11 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Crystal Reports crashing on carriage returns.
Crystal Reports has begun reporting strange characters when printing Stock Status report and Job Travelers, upon further investigation, it appears that there are carriage returns in part descriptions that are showing up as ASCII or hexadecimal characters. When Crystal sees these characters in the already generated XML file it fails to print out of 8.03.410.
This either started as a result of upgrading from 408B to 410 or when we started updating parts using the DMT tool.
Has anybody else experience this with Crystal?
Thanks.
[Non-text portions of this message have been removed]
display
part.partnum
part.inactive
part.partdescription view-as editor size 50 by 20.
END.
assign part.partdescription = REPLACE(part.partdescription,CHR(30),"").
Miguel A. Santillan
Compass Manufacturing Systems
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Wednesday, September 9, 2015 7:25 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: Crystal Reports crashing on carriage returns.
It is a problem with the copy and paste operation.
I found that we have at least 1,000 part descriptions now with RS or CHR(30) in our database!
This query :
FOR EACH part where part.partdescription matches "*" + CHR(30) "*":
display
part.partnum
part.inactive
part.partdescription view-as editor size 50 by 20.
END.
Will display the parts in question, but this query:
FOR EACH part where part.partdescription matches "*" + CHR(30) + "*":
assign part.partdescription = REPLACE(part.partdescription,CHR(30),"").
END
Will not work because or database is read-only in Procedure Editor. Is there a way with our current license to update via Procedure Editor and remove these part descriptions?
Can we update the part descriptions another way using 8.03.410?
Thanks./
The Record Separator is one of the characters that Epicor doesn’t strip out in Report generation and can cause problems, they do strip others.
You can correct this with DMT, Export them out into CSV then perform the update.
In 9.05 the progress license was relaxed to allow you to perform your below query.
If you don’t have DMT in 8.03 you can utilize lib/UpdateTableBuffer.r to perform this it is documented in the help.
Kind Regards,
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Wednesday, September 9, 2015 3:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: Crystal Reports crashing on carriage returns.
It is a problem with the copy and paste operation.
I found that we have at least 1,000 part descriptions now with RS or CHR(30) in our database!
This query :
FOR EACH part where part.partdescription matches "*" + CHR(30) "*":
display
part.partnum
part.inactive
part.partdescription view-as editor size 50 by 20.
END.
Will display the parts in question, but this query:
FOR EACH part where part.partdescription matches "*" + CHR(30) + "*":
assign part.partdescription = REPLACE(part.partdescription,CHR(30),"").
END
Will not work because or database is read-only in Procedure Editor. Is there a way with our current license to update via Procedure Editor and remove these part descriptions?
Can we update the part descriptions another way using 8.03.410?
Thanks./
Stephen Edginton (Beng) | Solutions & Technical Director |
||||||||
|
||||||||
Dot Net IT Limited, One St Kenelm Court, Steel Park Road, Halesowen, B62 8HD, United Kingdom.
|
DEFINE VARIABLE cNewDesc AS CHARACTER NO-UNDO.
cNewDesc = replace(Part.PartDescription, "*" + CHR(30) + "*", "").
Run lib\UpdateTableBuffer.p(input BUFFER Part:HANDLE, "PartDescription", cNewDesc).
End.
On 9 Sep 2015, at 17:36, sanfranc415@... [vantage] <vantage@yahoogroups.com> wrote:
It looks like this query will work:
For each Part where ( Part.PartDescription MATCHES "*" + CHR(30) + "*") no-lock :
DEFINE VARIABLE cNewDesc AS CHARACTER NO-UNDO.
cNewDesc = replace(Part.PartDescription, "*" + CHR(30) + "*", "").
Run lib\UpdateTableBuffer.p(input BUFFER Part:HANDLE, "PartDescription", cNewDesc).
End.
Only problem is when I run it, it reports that the shared variable LocalizationManager has not been created yet.
Stephen Edginton (Beng) | Solutions & Technical Director |
||||||||
|
||||||||
Dot Net IT Limited, One St Kenelm Court, Steel Park Road, Halesowen, B62 8HD, United Kingdom.
|
For each Part where ( Part.PartDescription MATCHES "*" + CHR(30) + "*") no-lock :and an action with:
DEFINE VARIABLE cNewDesc AS CHARACTER NO-UNDO.
cNewDesc = replace(Part.PartDescription, "*" + CHR(30) + "*", "").
Run lib\UpdateTableBuffer.p(input BUFFER Part:HANDLE, "PartDescription", cNewDesc).
End.find the BPM and run from Progress as a program?
CHR(30) is a Record Separator. Sounds like some cut and paste job…
If you could change it directly on your own, this is one way to do it -
strt = R-INDEX((Part.PartDescription),"CHR(30)").
IF (strt>0) THEN Do:
pDescNew = REPLACE(Part.PartDescription,"CHR(30)"," ").
/* DISPLAY Part.PartDescription FORMAT "x(50)" */
/* pDescNew FORMAT "x(50)" */
/* with 2 col. */
The rest of the code falls into the “do not try this at home†category.
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Wednesday, September 09, 2015 11:14 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Re: Crystal Reports crashing on carriage returns.
Any clues on the UpdateTableBuffer.r syntax to remove the CHR(30) using the procedure editor?
for each part where part.partdescription matches "*" + CHR(30) + "*" :
run lib\UpdateTableBuffer.p(
Posted by: sanfranc415@...