2017-07-20 5 views
0

J'essaye de créer un script DXL qui va prendre tous les objets de l'ensemble de modules choisis et les combiner dans un nouveau module qui sera ensuite exporté vers Excel .DXL: copier des objets d'un module fermé à un second module fermé

Le problème que je rencontre est que je n'arrive pas à comprendre comment obtenir des objets d'un module qui n'est pas ouvert. Je suis ouvert à toute méthode mais j'ai essayé d'utiliser ModuleHandles. La plupart des exemples que j'ai vus sont pour déplacer des objets dans le module actuel.

Répondre

0

Vous avez besoin de deux variables de type Module, une pour le module source (par exemple mSrc), une pour le module cible (mTgt). Utilisez la commande read pour ouvrir le module source et définir la poignée résultante sur mSrc. Utilisez edit (ou create) pour ouvrir le module cible et définir la poignée résultante sur mTgt.

Ensuite, utilisez une variable de type objet pour itérer sur tous les objets de MSRC (for oSrc in mSrc ou peut-être ... in entire mSrc, selon la façon dont les vues dans vos modules de source sont mis en place), créer des objets dans le module cible (à une oTgt variable type Object) copie les attributs d'objet dont vous avez besoin de oSrc vers oTgt. Pour ce dernier, il existe une fonction copyAttribute_ dans copyops.inc.

Si vous souhaitez répliquer la hiérarchie du module source, vous aurez besoin des boucles de type for Object in Object et des commandes comme create aftercreate below etc. Peut-être il y a déjà des scripts disponibles dans IBMs DXL Forum ou sur certains des sites Web qui offrent une solution pour votre problème.