| Catherine,
We felt, after much back and forth discussion, that the DAP DELETE
CLASS command was too destructive to document. We were concerned at
fieldtest that customers (in particular end-users) could easily wipe
out a major portion of their dictionary. The DAP program has no error
recovery or confirm-delete capability. We knew that developers would
have a problem, however, we felt that the UPDATE command would be able
to provide the needed capabilities (in fact, it DELETEs and then
LOADs).
If you need information about future DAP functionality, please contact
the Project Leader for the MCC Toolkit team, Darryl Black (MKNME::BLACK).
-Matt.
|
|
Darryl,
Hi, I wanted to respond to an issue raised in note 967 of the
MCC conference regarding support of the delete command.
I don't have an opinion as to whether DELETE CLASS
specifically should remain an accepted DAP command. But I do
have a concern that a specific capability be available. That
is the ability for an update job to "do the right thing" in
order to leave the dictionary in the proper state, without
knowing ahead of time what the current state is.
The desired state of the dictionary after the job runs is that
the dictionary have the current definitions loaded from the
.COM file produced by the MSL compiler. If LOAD and UPDATE
are the only DAP commands available, then the update job has
to know whether or not the class has ever been loaded into the
dictionary, so it knows which one to use. That is because LOAD
fails if the class already exists in the dictionary, and UPDATE
fails if it doesn't.
I currently have our update job use a DELETE in one DAP
invocation followed by a LOAD in another DAP invocation. The
job ignores the completion status of the DELETE invocation.
This sequence produces the desired result regardless of the
prior state of the dictionary. If you remove DELETE, is there
a way to have the update job do the right thing?
Perhaps you might modify UPDATE so it optionally deletes the
class if it is already there, but doesn't complain if it
isn't. That would give us the same capability, without
exposing DELETE CLASS to the user.
Thanks for considering this issue,
Richard Kittell
AIM Engineering
|