Main Content


Class: slreq.Reference
Namespace: slreq

Move referenced requirement down in hierarchy

Since R2022a


tf = moveDown(ref)


tf = moveDown(ref) moves the referenced requirement ref down one spot in the hierarchy, and returns 1 if the move executes without error. The referenced requirement ref cannot be moved to a new level in the hierarchy.


You can use this method only in the PostImportFcn callback.

Input Arguments

expand all

Referenced requirement, specified as a slreq.Reference object.

Output Arguments

expand all

Move success status, returned as a 1 or 0 of data type logical.


expand all

This example shows how to move an imported referenced requirement up and down in the hierarchy in the PostImportFcn callback.

Use slreq.import to import the ReqIF™ file mySpec.reqif into Requirements Toolbox™. Name the imported requirement set myReqSet, register the script myPreImportScript2 as the PreImportFcn, and register the script movePostImport as the PostImportFcn callback to use during import. Return a handle to the requirement set.

[~,~,rs] = slreq.import("mySpec.reqif",ReqSet="myReqSet",preImportFcn="myPreImportScript2",postImportFcn="movePostImport");

The script myPreImportScript2 uses slreq.getCurrentImportOptions to get the import options, then specifies the attribute mapping file to use during import.

type myPreImportScript2.m
importOptions = slreq.getCurrentImportOptions;
importOptions.MappingFile = "myMappingFile2.xml";

The mapping file myMappingFile2.xml maps these attributes from the ReqIF file to these properties in Requirements Toolbox:

  • ReqSum to Summary

  • Desc to Description

  • ID to Custom ID

The script myPostImportScript uses slreq.getCurrentObject to get a handle to the import node, gets the requirement set that the import node belongs to. The script then finds the referenced requirement that has Summary set to Requirement 3 and moves it up. It also finds the referenced requirement that has Summary set to Requirement 1 and moves it down.

type movePostImport.m
topRef = slreq.getCurrentObject;
rs = reqSet(topRef);
ref1 = find(rs,Type="Reference",Summary="Requirement 3");
tf1 = moveUp(ref1);
ref2 = find(rs,Type="Reference",Summary="Requirement 1");
tf2 = moveDown(ref2);

Version History

Introduced in R2022a