User Tools

Site Tools


abap:tables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
abap:tables [2015/06/25 16:24] – [Tables des autorisations] ginkoabap:tables [2020/02/18 17:16] (current) – [DDIC] ginko
Line 11: Line 11:
     * Dans la configuration SM30 standard, un OT de custo est demandé pour toute modif     * Dans la configuration SM30 standard, un OT de custo est demandé pour toute modif
     * Le mandant doit être ouvert pour pouvoir modifier les valeurs     * Le mandant doit être ouvert pour pouvoir modifier les valeurs
 +
 +===== Types de db tables =====
 +Il existe 3 types de table de db :
 +
 +  * __transparent__ : la représentation de la table dans SAP est identique à sa représentation dans la db (même nom, même champs, etc) ; on y accède en Open SQL comme en Native SQL
 +  * __pooled__ : toutes les pooled tables sont stockées dans une même table physique, la table pool ; on y accède seulement en Open SQL et son accès est restreint (ex. : pas de jointures) ; utilisé pour des petites tables
 +  * __cluster__ : comme pour les pooled tables, les cluster table sont stockées dans un même table cluster ; les cluster table sont soumises aux mêmes restrictions d'accès que les pooled table ; en revanche les cluster tables permettent d'implémenter des genres de jointures "naturelles" (et **//statiques//**) car on peut déclarer des clés communes pour plusieurs tables, elles sont alors stockées conjointement et donc lues ensemble de façon très efficace
 +
 +Sauce :
 +
 +  * [[https://help.sap.com/saphelp_nwpi71/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm|SAP Help]]
 +  * [[http://www.saptechnical.com/Tutorials/ABAP/Pool/Index.htm|Transparent vs pooled vs cluster]]
  
 ===== Définition des tables dans le code ===== ===== Définition des tables dans le code =====
Line 17: Line 29:
  
 Cela a des conséquences avec les commandes qui travaillent implicitement avec des clés comme ''INSERT'', ''MODIFY'' ou encore ''COLLECT''. Cela a des conséquences avec les commandes qui travaillent implicitement avec des clés comme ''INSERT'', ''MODIFY'' ou encore ''COLLECT''.
 +===== Z-tcode for table =====
 +Pour donner l'accès en lecture à une table, il suffit de créer une transaction (se93) de type ''transaction with parameters''.
 +  * Remplir le champ transaction avec ''SE16''
 +  * Cocher ''Skip initial screen''
 +  * Mettre ''DATABROWSE-TABLENAME'' et en valeur la table ou la vue souhaitée
  
 +D'un point de vue autorisation, l'accès à la SE16 n'est pas nécessaire. Les objets testés sont ''S_TCODE'', évidemment et ''S_TABU_DIS'', ce qui vérifie donc le groupe d'autorisation adossé à la table ou la vue.
 +
 +Je n'ai pas l'impression qu'il soit possible d'assigner des objets d'autorisation (par exemple division pour accès à MARA). Dans ce cas, soit passer par un report ALV spé, soit faire un report avec un ''CALL TRANSACTION'' qui appelle notre "transaction with parameters".
 ===== DDIC ===== ===== DDIC =====
   * DD02L : Table des tables et structures de tables.   * DD02L : Table des tables et structures de tables.
 +  * DD03L : Table fields
 +  * DD04L : Data elements
 +  * DD04T : Data element texts
  
 ===== Useful tables ===== ===== Useful tables =====
-  * T100 : table des messages (se91). +  * T100 : table des messages (se91) 
-  * TRDIR (TRDIRT) : table des programmes (se38).+  * TADIR : programmes (catalogue des objets) 
 +  * TFDIR : modules fonction 
 +  * TRDIR (TRDIRT) : table des programmes (se38)
   * TSTC (TSTCT): table des transactions (se93)   * TSTC (TSTCT): table des transactions (se93)
 +  * TDEVC : packages
 +  * REPOSRC : programmes (auteur, modification)
 +  * SEOCLASS : classes
 +  * D010INC : Inclusions de programmes
 +  * EUOBJ : type des objets de développement
  
 ==== Tables des descriptions ==== ==== Tables des descriptions ====
Line 35: Line 65:
   * AGR_FLAGS : Attributs des rôles (flag composite)   * AGR_FLAGS : Attributs des rôles (flag composite)
   * AGR_TCODES : Transactions   * AGR_TCODES : Transactions
 +  * AGR_1016 : Rôle <-> Profile
 +  * AGR_1250 : Rôle/Objet <-> Profile
   * AGR_1251 : Valeurs dans les champs des objets   * AGR_1251 : Valeurs dans les champs des objets
   * AGR_1252 : Valeurs des niveaux organisationnels   * AGR_1252 : Valeurs des niveaux organisationnels
Line 44: Line 76:
   * TOBJ : Définition des objets d'autorisation - champs (SU21)   * TOBJ : Définition des objets d'autorisation - champs (SU21)
   * TACT & TACTZ : Activités ''ACTVT''   * TACT & TACTZ : Activités ''ACTVT''
 +
 +==== Opérations sur les tables ====
 +  * **READ TABLE**
 +  * **LOOP AT**
 +  * **INSERT**
 +  * **COLLECT**
 +  * **APPEND**
 +  * **MODIFY** équivalent de ''UPDATE'' en OpenSQL. /!\ Pas du tout l'équivalent du ''MODIFY'' en OpenSQL !! <!\ S'utilise soit à partir d'un ''INDEX'' ou d'une clé (qui doit donc être déclarée !).<code abap>DATA itab TYPE TABLE OF plop WITH KEY primary_key k1 k2. " Attention, le clé primaire **DOIT** s'appeler 'primary_key' !
 +MODIFY TABLE itab FROM wa.</code>
 +  * **DELETE**
 +  * **SORT**
abap/tables.1435242245.txt.gz · Last modified: 2015/06/25 16:24 by ginko