Discussions
Activity
Best Of...
Sign In
·
Register
Home
›
NAV/Navision Classic Client
Howdy, Stranger!
It looks like you're new here. Sign in or register to get started.
Sign In
Register
Quick Links
Categories
Recent Discussions
Activity
Best Of...
Unanswered
Categories
All Categories
73
General
73
Announcements
66.6K
Microsoft Dynamics NAV
18.7K
NAV Three Tier
38.4K
NAV/Navision Classic Client
3.6K
Navision Attain
2.4K
Navision Financials
115
Navision DOS
854
Navision e-Commerce
1K
NAV Tips & Tricks
772
NAV Dutch speaking only
615
NAV Courses, Exams & Certification
2K
Microsoft Dynamics-Other
1.5K
Dynamics AX
305
Dynamics CRM
109
Dynamics GP
10
Dynamics SL
1.5K
Other
993
SQL General
384
SQL Performance
34
SQL Tips & Tricks
34
Design Patterns (General & Best Practices)
Architectural Patterns
10
Design Patterns
5
Implementation Patterns
53
3rd Party Products, Services & Events
1.7K
General
1.1K
General Chat
1.6K
Website
79
Testing
1.2K
Download section
23
How Tos section
260
Feedback
12
NAV TechDays 2013 Sessions
13
NAV TechDays 2012 Sessions
Concatenate multiple comments
Veselin
Member
Posts:
19
2019-03-07
in
NAV/Navision Classic Client
Hello.
I need from table 5414 Prod. Order Comment Line take all comments for one production order and store all comments in table 5405 Production Order as one field.
One production order can have multiple comments. Can you give me advice?
0
Best Answer
TallyHo
Member
Posts:
416
2019-03-07
edited 2019-03-07
Answer ✓
Try something like this:
CommentLine.SETRANGE("Document Type","Document Type");
CommentLine.SETRANGE("No.","document No.");
IF CommentLine.FINDSET THEN
REPEAT
IF STRLEN(TheField) + STRLEN(CommentLine.Comment) > maxstrlen(TheField) THEN BEGIN
SalesCommentLine.Comment := COPYSTR(CommentLine.Comment,1,((STRLEN(TheField) + STRLEN(CommentLine.Comment)) - maxstrlen(TheField)));
StopLoop := TRUE;
END;
IF TheField = '' THEN
TheField := CommentLine.Comment
ELSE
TheField += CommentLine.Comment;
UNTIL (CommentLine.NEXT <= 0) OR StopLoop;
6
Answers
bostjan.les@gmail.com
Member
Posts:
30
2019-03-07
You have to do some programing. Write some code, that filters all T5414 record for one PO and adds all the comment to PO.
1
TallyHo
Member
Posts:
416
2019-03-07
edited 2019-03-07
Answer ✓
Try something like this:
CommentLine.SETRANGE("Document Type","Document Type");
CommentLine.SETRANGE("No.","document No.");
IF CommentLine.FINDSET THEN
REPEAT
IF STRLEN(TheField) + STRLEN(CommentLine.Comment) > maxstrlen(TheField) THEN BEGIN
SalesCommentLine.Comment := COPYSTR(CommentLine.Comment,1,((STRLEN(TheField) + STRLEN(CommentLine.Comment)) - maxstrlen(TheField)));
StopLoop := TRUE;
END;
IF TheField = '' THEN
TheField := CommentLine.Comment
ELSE
TheField += CommentLine.Comment;
UNTIL (CommentLine.NEXT <= 0) OR StopLoop;
6
Sign In
or
Register
to comment.
Answers
CommentLine.SETRANGE("Document Type","Document Type");
CommentLine.SETRANGE("No.","document No.");
IF CommentLine.FINDSET THEN
REPEAT
IF STRLEN(TheField) + STRLEN(CommentLine.Comment) > maxstrlen(TheField) THEN BEGIN
SalesCommentLine.Comment := COPYSTR(CommentLine.Comment,1,((STRLEN(TheField) + STRLEN(CommentLine.Comment)) - maxstrlen(TheField)));
StopLoop := TRUE;
END;
IF TheField = '' THEN
TheField := CommentLine.Comment
ELSE
TheField += CommentLine.Comment;
UNTIL (CommentLine.NEXT <= 0) OR StopLoop;