11.01.2013 Views

NX Nastran DMAP Programmer's Guide - Kxcad.net

NX Nastran DMAP Programmer's Guide - Kxcad.net

NX Nastran DMAP Programmer's Guide - Kxcad.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40<br />

Automatic Deletion of Scratch Data Blocks<br />

1.7 Automatic Deletion of Scratch Data Blocks<br />

Scratch NDDL and local data blocks are stored on the SCRATCH DBset (p. 16). A<br />

DBset is a physical file that is a subdivision of the database. To minimize the size of<br />

the SCRATCH DBset, module scratch files are automatically deleted upon completion<br />

of the module and <strong>DMAP</strong> scratch data blocks are automatically deleted after the<br />

<strong>DMAP</strong> instruction in which they are used last. The location of this <strong>DMAP</strong> instruction<br />

is called the last-time-used (LTU). An LTU is assigned to every data block. When the<br />

LTU of an Scratch NDDL data block is reached, the data block is deleted if the current<br />

qualifier values match. If the data block’s LTU is skipped, then the entire family is<br />

deleted, regardless of the current qualifier values.<br />

Special rules apply for data blocks specified in the following situations:<br />

• For a scratch data block specified before a loop and last used inside the loop,<br />

the LTU is extended to the bottom of the loop (e.g, ENDDO), meaning that<br />

the data block is deleted when the loop is exited. If the data block is Scratch<br />

NDDL, the entire family is deleted, regardless of the current qualifier values.<br />

• For a local data block created inside a <strong>DMAP</strong> loop and last used after the<br />

loop, the data block is deleted after the next execution of the top of the loop,<br />

e.g., DO WHILE, even though the data block’s LTU is located after the loop<br />

(i.e., when the loop is exited). Thus, the last generated data block can be used<br />

after the loop exits.<br />

• For a scratch data block created and last used inside a <strong>DMAP</strong> loop, the FILE<br />

statement with the SAVE keyword extends the data block’s original LTU to<br />

the bottom of the loop; otherwise, the data block is deleted at the original<br />

LTU within the loop.<br />

• For a Scratch NDDL data block used in a DBVIEW statement, the data block<br />

is deleted at the LTU of the view name or the data block name, whichever is<br />

last.<br />

DlAG 57 prints the LTU information of all data blocks and a message indicating when<br />

they are deleted.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!