{"id":1569,"date":"2016-01-06T09:43:22","date_gmt":"2016-01-06T08:43:22","guid":{"rendered":"http:\/\/www.capri-soft.de\/blog\/?p=1569"},"modified":"2016-01-14T13:40:41","modified_gmt":"2016-01-14T12:40:41","slug":"ibm-doors-dxl-rekursiv-durch-alle-module-eines-folders-iterate-recursive-all-formal-modules-of-a-folder","status":"publish","type":"post","link":"https:\/\/www.capri-soft.de\/blog\/?p=1569","title":{"rendered":"IBM Doors DXL: Rekursiv durch alle Module eines Folders \/ Iterate recursive all formal modules of a folder"},"content":{"rendered":"<h1>Problem<\/h1>\n<p>Es soll durch alle Module eines Ordners \/ Folders und deren Unterordner \/ Subfolders iteriert werden.<br \/>\nAll modules of a folder in a project (not the project itself) shall be iterated:<\/p>\n<h1>Ansatz &#8211; Approach<\/h1>\n<p>Das Skript aus dem vorherigen Artikel &#8222;Iterate all modules&#8220; wird um eine Rekursion erweitert<br \/>\nThe script &#8222;Iterate all modules&#8230;&#8220; will be extended with a recursive call. <\/p>\n<h1>Solution &#8211; L\u00f6sung<\/h1>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nstring startFolder=&quot;\/Project\/Folder\/&quot;;\r\nint moduleCount=0;\r\n\r\nvoid forAllModulesInFolder(Folder f)\r\n{\r\n  Item itemRef;\r\n  string shType;\r\n  string sItemNameFull;\r\n  string sItemName;\r\n  Module moduleReference;\r\n\r\n  for itemRef in f do\r\n  {\r\n    shType = type(itemRef);\r\n    print shType &quot;\\t&quot;;\r\n\r\n    sItemNameFull = fullName(itemRef);\r\n    print sItemNameFull &quot;\\t&quot;;\r\n\r\n    sItemName = name(itemRef);\r\n    print sItemName &quot;\\n&quot;;\r\n\r\n  if(shType==&quot;Folder&quot;)\r\n  {\r\n    string selectedFolder = sItemNameFull;\r\n    Folder f=folder selectedFolder;\r\n    forAllModulesInFolder(f);\r\n  }\r\n\r\n  if(shType==&quot;Formal&quot;)\r\n  {\r\n    moduleReference = read(sItemNameFull,false,true);\r\n    filtering off;\r\n    \/\/ do s.th. with the moduleReference\r\n    close(moduleReference);\r\n    moduleCount++;\r\n  }\r\n}\r\n\r\n\/\/ Main-Method\r\nvoid main(void)\r\n{\r\n  string selectedFolder = startFolder;\r\n  Folder f=folder selectedFolder;\r\n  forAllModulesInFolder(f);\r\n  print &quot;Affected Modules: &quot; moduleCount &quot;\\n&quot;;\r\n}\r\n\r\nmain();\r\n<\/pre>\n<p>F\u00fcr das ganze Projekt siehe auch&#8230;<br \/>\nFor the whole project also see&#8230;<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"NAdMiWx0kY\"><p><a href=\"https:\/\/www.capri-soft.de\/blog\/?p=1219\">IBM Doors DXL: Durch alle Module eines Projektes Module iterieren\/laufen \/ Iterate all modules in a project<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;IBM Doors DXL: Durch alle Module eines Projektes Module iterieren\/laufen \/ Iterate all modules in a project&#8220; &#8212; Capri-Soft Knowledge database\" src=\"https:\/\/www.capri-soft.de\/blog\/?p=1219&#038;embed=true#?secret=fWms6fvkJd#?secret=NAdMiWx0kY\" data-secret=\"NAdMiWx0kY\" width=\"474\" height=\"267\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.capri-soft.de%2Fblog%2F%3Fp%3D1569&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px;margin-top:5px;\"><\/iframe>","protected":false},"excerpt":{"rendered":"<p>Problem Es soll durch alle Module eines Ordners \/ Folders und deren Unterordner \/ Subfolders iteriert werden. All modules of a folder in a project (not the project itself) shall be iterated: Ansatz &#8211; Approach Das Skript aus dem vorherigen Artikel &#8222;Iterate all modules&#8220; wird um eine Rekursion erweitert The script &#8222;Iterate all modules&#8230;&#8220; will &hellip; <a href=\"https:\/\/www.capri-soft.de\/blog\/?p=1569\" class=\"more-link\"><span class=\"screen-reader-text\">IBM Doors DXL: Rekursiv durch alle Module eines Folders \/ Iterate recursive all formal modules of a folder<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[22,19],"tags":[],"class_list":["post-1569","post","type-post","status-publish","format-standard","hentry","category-dxl","category-ibm-doors"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4yGeN-pj","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1569"}],"version-history":[{"count":2,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1569\/revisions"}],"predecessor-version":[{"id":1585,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1569\/revisions\/1585"}],"wp:attachment":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}