Error: Data set doesn't exist

twc
Member Posts: 28
Hi,
I going mad because of this error. I'm searching in a Table and by modifying a Dataset I get the messagge that the Dataset does not exist.
The code should set a tag by the last dataset of given set with fix "Item No.". Because of this a should modify the second-last found dataset.
Here the code:
PlanningBuffer.SETCURRENTKEY("Item No.",Date,Sort);
PlanningBuffer.COPYFILTERS("Planning Buffer");
OldItem := '';
lbo_First := TRUE;
IF PlanningBuffer.FIND('-') THEN BEGIN
REPEAT
IF (PlanningBuffer."Item No." <> OldItem) AND (NOT lbo_First) THEN BEGIN
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY;
END;
OldItem := PlanningBuffer."Item No.";
lre_PlanningBuffer.COPY(PlanningBuffer);
message('I[%1],M[%2]',PlanningBuffer."Item No.",PlanningBuffer."Buffer No.");
lbo_First := FALSE;
UNTIL PlanningBuffer.NEXT = 0;
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY; // here the error
END;
Thanks a lot and regards,
Tommaso
I going mad because of this error. I'm searching in a Table and by modifying a Dataset I get the messagge that the Dataset does not exist.
The code should set a tag by the last dataset of given set with fix "Item No.". Because of this a should modify the second-last found dataset.
Here the code:
PlanningBuffer.SETCURRENTKEY("Item No.",Date,Sort);
PlanningBuffer.COPYFILTERS("Planning Buffer");
OldItem := '';
lbo_First := TRUE;
IF PlanningBuffer.FIND('-') THEN BEGIN
REPEAT
IF (PlanningBuffer."Item No." <> OldItem) AND (NOT lbo_First) THEN BEGIN
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY;
END;
OldItem := PlanningBuffer."Item No.";
lre_PlanningBuffer.COPY(PlanningBuffer);
message('I[%1],M[%2]',PlanningBuffer."Item No.",PlanningBuffer."Buffer No.");
lbo_First := FALSE;
UNTIL PlanningBuffer.NEXT = 0;
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY; // here the error
END;
Thanks a lot and regards,
Tommaso
Tommaso Cereghetti
IT-Consultant
IT-Consultant
0
Comments
-
Is the buffer a temporary table?
You do a
lre_PlanningBuffer.COPY(PlanningBuffer);
If this is a temporary table and the record does not exist you can try an INSERT instead of the Modify.
If the record does exist you can try to get it instead of the copy.0 -
Thank you for your answer.
Yes, the buffer is a temporary table.
But I should not insert a new dataset, I should only change the value of the field Action. What is surprising is that I cann't change a dataset that I have only just found.Tommaso Cereghetti
IT-Consultant0 -
That is the problem with temporary tables. They only exist in the variable.
If you define a second table then this is empty.
With normal tables you can do
Cust.GET;
Cust.Name := NewName;
Cust2 := Cust;
Cust2.MODIFY;
This you cannot do with temporary tables.
You realy need to modify the orriginal table.0 -
That was the problem!
Thank you very much!Tommaso Cereghetti
IT-Consultant0
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
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 322 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions