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
Last revisionBoth sides next revision
abap:tables [2015/06/25 15:41] – [Tables des autorisations] ginkoabap:tables [2016/11/15 18:26] – [Types de db tables] 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
 +  * 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 64:
   * 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 43: Line 74:
   * USOBX_C : Objets et valeurs proposés par transaction - customer (SU24)   * USOBX_C : Objets et valeurs proposés par transaction - customer (SU24)
   * TOBJ : Définition des objets d'autorisation - champs (SU21)   * TOBJ : Définition des objets d'autorisation - champs (SU21)
 +  * 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.txt · Last modified: 2020/02/18 17:16 by ginko