====== Transports SAP ====== [[http://wiki.sdn.sap.com/wiki/display/ABAP/Transport+Guide|Transport Guide]] [[sap:gestion_conf|Gestion de configuration]] Les [[abap:packages|packages]] sont liés à des routes de transport. ====== Tcodes ====== * SE01 : Transport Organizer (extended view, celle avec les onglets) * SE03 : Transport Organizer Tools (le menu avec plein de programmes chouettes) * SE10 : Transport Organizer (le tout simple) * RSWBO099(programme) : Débloquer les objets d'un ordre ([[http://www.sap-quest.com/topic36.html|Sauce]]) ===== OT ===== ==== Liste d'objets ==== === Ajouter une entrée de table === [[http://www.saptechnical.com/Tips/Basis/Transport/TableEntries.htm|Source]] * Dans une vue d'OT (exemple se10), sélectionner la tâche ou l'OT et cliquer sur ''Afficher la liste d'objets''. * Passer en édition. * Ajouter une entrée ''R3TR'' ''TABU'' ''''. Double cliquer dessus. * Ajouter une (ou plusieurs) clé. Pour avoir le détail des champs de la clé, double cliquer sur le champ. * Taper la clé souhaitée. ===== Tables ===== * E070 : Transport headers * E071 : Transport content * TPALOG : Log des transports (TPALOGHDR) ===== Module Fonctions ===== (R/3 4.6C) Note : le COFILE est une structure qui contient toutes les infos sur l'OT (notamment s'il est libéré et les CR des transports). * TR_READ_GLOBAL_INFO_OF_REQUEST : Lecture du COFILE * BAPI_CTREQUEST_RELEASE : Libération * TMS_UI_IMPORT_TR_REQUEST : Transport * TMS_MGR_IMPORT_TR_REQUEST : Transport (sans dialog) ===== Development class ===== Pour transporter une classe de développement entière : * Afficher la classe en SE80 * Clic droit sur la classe > Autres fonctions > Écrire entrée de transport ===== Transporter des textes longs SO10 ===== Utiliser le programme ''RSTXTRAN''. Cf. [[http://scn.sap.com/docs/DOC-30691|procédure]]. ===== Transporter une variante ===== Passer par la ''se38'', dans l'écran de sélection, cocher ''variantes''. Dans l'écran suivant il y a une entrée de menu pour transporter les variantes. ===== Tranche de numéro ===== Pour rechercher des tranches de numéro dans les OT : * Dans ''E071'', rechercher lignes de type ''R3TR'' ''TABU'' ''NRIV''. ===== Transport de classe de message ===== * Pour transporter une classe complète : ''R3TR'' ''MSAG'' * Pour transporter un message individuel : ''LIMU'' ''MESS'' ===== Traduction (SE63) ===== Transport des traductions : ''SLXT''. ===== Import ===== Pour un "transport" intermandant : sur la même machine, utiliser ''SCC1''. Les logs d'import sont consultables dans la ''SCC3''. Il est possible de déclencher certains traitements depuis les OT. Exemple en ajouter l'objet suivant : ''R3TR'' ''XPRA'' ''RV80HGEN'' (programme de génération des routines form). __**NB :**__ Cela ne fonctionne que pour les programmes. Pour exécuter une variante, il faut donc faire un petit programme "wrapper" qui va appeler la variante et qui sera celui que l'on appellera via l'OT. (//NE PAS OUBLIER de transporter la variante !//) Exemple : SUBMIT RGUGBR00 USING SELECTION-SET 'ALL'. **PS** : Cette méthode, bien qu'élégante, ne semble pas fonctionner : le user ''DDIC'' semble incapable de trouver la variante et l'OT tombe en CR12. Pour contourner cette limitation, copier le programme afin de rajouter les valeurs par défaut du selection-screen en dur puis passer ce nouveau programme en XPRA. ===== Import d'OT par COFILE ===== Pour installer des outils externes, une possibilité est de passer par les COFILE. Cf. notes : * http://scn.sap.com/thread/1358805 * http://scn.sap.com/thread/880295 ===== Libération ===== Il existe un [[http://scn.sap.com/community/abap/blog/2012/09/26/home-made-transport-request-sequencer|séquenceur d'OT]] capable de déduire la séquence de libération/transport par rapport aux dépendances. Une fois installé, exécuter le programme ''ZCEX_TRDA_START''. En général il est préférable de transporter d'abord les OT de workbench. Exceptions : * Règles de substitution CO : si implémentées dans une copie en Z, il faut transporter le custo correspondant en priorité. ==== Activation check ==== Il est possible de vérifier l'activation des objets grâce au FM ''RS_INACTIVE_OBJECTS_LIST''. Run sans arg, l'écran de résultat affiche des boutons (par user/request/**TOUT LES OBJETS** !!).