Sunteți pe pagina 1din 59

RCAP ET SUITE

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Domain
Domain : C'est la dfinition technique
d'un type de donne.
Exemple, un type pour dfinir un
oprateur, et que ce type n'existe pas.

Je peux reprsenter un oprateur par


les caractres [ + - * / ] dans mon
programme.

Je cre donc un "Domain" qui


m'indique qu'un oprateur est une
chaine de caractres de longueur 1 qui
peut prendre uniquement les valeurs
[ + - * / ].

Je cr donc un domaine de nom


"ZOperator"

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Domain
Data type est le type primitif (CHAR
signifie "Character String").

Dans l'onglet Pl. Valeurs , on peut


restreindre les valeurs possible.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Data Element
Un Data Element est un type fonctionnel, c'est dire une surcouche d'un type technique (le
"Domain").
Dans notre exemple, le domain "ZOPERATOR" n'est pas utilisable dans du code ABAP. On ne peut
pas crire par exemple :

DATA : v_operator TYPE zoperator.

En ABAP, on ne code qu' partir des types fonctionnels, et non des domaines.

Le data element sert dfinir les libells associ ce type, il sert dfinir l'aide en ligne, et il sert
porter le "sens fonctionnel" de la donne.

Un domaine (dfinition technique d'un type), peut par exemple signifier que l'on a besoin d'une
chaine de caractres d'une longueur de 8.

Ce mme domaine peut tre utilis par 2 data elements diffrents, par exemple :
un premier data element qui reprsente un numro d'abonn.
un autre data element qui reprsente un numro de plaque d'immatriculation.

Mme si ces deux types sont identiques au sens technique (mme domaine : chaine de caractres
de longueur 8 ), dans un programme le sens fonctionnel est diffrent.
On a donc deux "types fonctionnels" diffrents, qui sont les "data elements", tous les deux
associs au mme domaine.
Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Data Element
Pour en revenir notre exemple d'oprateur, si je cre le data element
Z_OPERATOR (le nom est volontairement diffrent, mais peut trs bien tre
identique au domaine associ) :

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Rcap
Un "Domain" est la dfinition technique d'un type. Par exemple une chaine de
caractres d'une longueur 10.

Un "Data Element" est la dfinition fonctionnelle d'un type. Par exemple un numro
de compte bancaire. Il est associ un "Domain" qui possde les caractristiques
voulues.

Un "Data Element" est associ un seul "Domain".

Un "Domain" peut tre utilis par n "Data Elements".

Un "Data Element" contient la dfinition des libells et de l'aide la recherche.

Un programme ABAP fait toujours rfrence des "Data Element", jamais des
"Domain"."

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Le Dictionnaire de donnes

Le dictionnaire de donnes sert


d'interface avec la base de donne.

Il permet de dclarer galement des


objets ( structures, types, vues ..) qui
pourront tre partags par tous les
programmes.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
TYPES ABAP

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les variables de type caractre

Type C: chane de caractres dfinie en taille


Type STRING: chane de caractres sans limite de longueur
Type N: chaine numriques pour stocker les nombres sous
forme de chaine de caractres

DATA ma_variableTYPE n.
DATA ma_variable(n)TYPE c. (n = longueur de la
chane)
DATA ma_variableTYPE string.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les variables de type numrique
Type I: nombre entier
Type P: numrique avec virgule position fixe (max 15
caractres)
Type F: chaine au format scientifique

DATA ma_variableTYPE i.
DATA ma_variable(n)TYPE pDECIMALS 3. ( n =
nombre de caractres)
DATA ma_variableTYPE f.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les autres types de variables

Type D: date (format YYYYMMDD)


Type T: heure (format HHMMSS).
Type X: hexadcimal (jusqu' 65535)
Type XSTRING: hexadcimal (pas de limite de longueur)

DATA ma_variableTYPE xstring.


DATA ma_variableTYPE x.
DATA ma_variableTYPE t.
DATA ma_variableTYPE d.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les principales variables systme
Les variables systmes sont utilises par le systme pour retouner certaines
informations dont vous aurez besoin lors de vos traitements.

La session en cours :

SY-UNAME : Le login de l'utilisateur connect,

SY-MANDT : Le mandant,

SY-LANGU : La langue de connexion,

Le temps :

SY-DATUM : La date du jour,

SY-UZEIT : L'heure.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les principales variables systme
Le programme en cours :
SY-CPROG : Le nom du programme en cours et le nom du programme appelant dans
une procdure,
SY-DBNAM : Le nom de la base de donnes logique lie un programme excutable,
SY-DYNGR : Groupe de l'cran laquelle appartient l'cran actuel,
SY-DYNNR : Nombre de l'cran actuel,
SY-REPID : Nom de l'actuel programme ABAP,
SY-TCODE : Le code de transaction du programme actuel.

Les programmes ABAP :


SY-ABCDE : Elle contient l'alphabets (A.. Z),
SY-ULINE : Ligne horizontale avec longueur 255 utilis dans la cration de listes,
SY-VLINE : Ligne verticale, utilis dans la cration de listes,
SY-INDEX : Dans une boucle, elle contient le numro de la ligne lue,
SY-FDPOS : L'emplacement du curseur dans les oprations de chane. Utilises avec
le CO, CN, CA, NA, CS, NS, CP, et NP,
SY-TABIX : Ligne actuelle d'une table interne,
SY-TFILL : Aprs les dclarations DESCRIBE TABLE, LOOP AT, et READ TABLE, SY-
TFILL contient le nombre de lignes dans la table interne,
SY-DBCNT : Le nombre d'entres de table transformes. Il est fix par ABAP
commandes DELETE, FETCH, insrer, modifier et UPDATE.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les principales variables systme
Les crans :
SY-CUCOL : Position du curseur horizontal. Le compteur commence la colonne 2.
SY-CUROW : Position du curseur vertical. Le compteur commence la ligne 1.
SY-DATAR : Cette zone contient 'X' si au moins un champ de saisie l'cran a t
chang par l'utilisateur, sinon il est vide.
SY-LOOPC : Nombre de lignes affiches dans un contrle Table. Peut tre utilis
pour la fonctionnalit de dfilement.
SY-SCOLS : Nombre de colonnes sur l'cran actuel.
SY-SROWS : Nombre de lignes sur l'cran actuel.
SY-STEPL : Index de la ligne courante dans un Table Control. SY-STEPL n'a pas de
valeur significative en dehors de la boucle(par exemple, lors de l'vnement POV
pour une ligne de tableau).
SY-TITLE : Il contient le texte qui apparat dans la barre de titre de l'cran. Pour les
crans de slection et les listes, c'estle nom du programme, il peut tre modifi en
utilisant l'instruction SET TITLEBAR.
SY-UCOMM : Il contient le code de la fonction qui a dclench l'entre le PAI.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les constantes

Une constante est une variable dont la valeur ne change pas.

CONSTANTS wc_oui(3)TYPE cVALUE 'oui'.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les types mtiers SAP
SAP est orient mtier.
C'est pour cette raison que lorsqu'on travaille sur un numro de
rfrence (Table MARA, zone MATNR) nous ne dclarons pas une
variable de cette faon :
DATA ma_reference(18)TYPE c.
mais comme ceci :
DATA ma_referenceTYPE matnr.
DATA : ma_table_interneTYPE STANDARD TABLE OF matnr.

En rgle
D ATA gnrale,
m a_ref il est
erence(18)TYPE c. conseill d'utiliser des types mtier. Le code
en sera plus lisible.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Schma SAP des
diffrents types de
variables

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
STRUCTURES & TABLES INTERNES

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les structures
Les structures sont des "tableaux" dans lesquels il est possible
de rassembler plusieurs variables.
D ATA :BEG IN O F m a_structure_s,
m a_zone_1TYPE c,
m a_zone_2TYPE i,
m a_zone_3LIKE m a_zone_1,
EN D O F m a_structure_s.

Pour atteindre une zone de la structure,


m a_structure_s-m a_zone_1.(le trait d'union est trs im portant)
Pour transfrer le contenu d'une zone vers une autre :
m a_structure_s-m a_zone_1 = m a_structure_s-m a_zone_2.
Pour transfrer le contenu d'une structure vers une autre
lorsqu'elle sont identiques :
m a_structure_1_s = m a_structure_2_s.
Pour transfrer le contenu des zones identiques deux
structures :
M O VE-CO RRESPO N D IN G m a_structure_1_sTO m a_structure_1_2 .

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Les types propres au programme
L'instruction TYPES permet de dclarer des types propres au
programme.
TYPES :BEG IN O F m on_type_1,
m a_zone_1TYPE c,
m a_zone_2TYPE i,
EN D O F m on_type_1 .

Ensuite nous utilisons le type de cette faon :


D ATA m a_variableTYPE m on_type_1.

TYPES begin of ty_personne, v_personne1-nom = 'Grin'.


nom TYPE c length 10, v_personne1-prenom =
prenom TYPE c length 10, 'Alexandre'.
age TYPE i, v_personne2-age = 28.
end of ty_personne.
v_personne2-nom =
DATA : v_personne1 TYPE 'Morisseau'.
ty_personne, v_personne2-prenom =
v_personne2 TYPE ty_personne. 'Bertrand'.
v_personne2-age = 30.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Qu'est-ce qu'une table interne ABAP et comment la crer?
Les tables internes sont l'quivalent en ABAP des tableaux (en C, C++), ou des
Vecteurs java.
La table interne pour fonction de stocker des informations rcupres depuis des
tables en base, afin de les manipuler directement dans le code ABAP.

Une table interne contient un nombre n d'enregistrements du mme type, et la taille


d'une table interne est dynamique (elle grossit en fonction du nombre
d'enregistrements que l'on insre).

Syntaxe :
TYPES ty_prenom(10) TYPE c.
DATA it_liste_prenom TYPE TABLE OF ty_prenom.

Cette table it_liste_prenoms pourra contenir un nombre n de prnoms, et il sera


possible d'ajouter, supprimer, modifier, parcourir les lments de cette table grce
des multiples instructions.

Il existe plusieurs types de tables internes (standard table, sorted tables, hashed
tables, ...).

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Une table de structures
Dans la pratique, 99% des tables internes que lon cr sont des tables contenant
des enregistrement d'un type structure (par exemple une table de personnes).

TYPES begin of ty_personne,


nom TYPE c length 10,
prenom TYPE c length 10,
age TYPE i,
end of ty_personne.
DATA it_personnes TYPE STANDARD TABLE OF ty_personne.

Chaque ligne de la ligne (chaque enregistrement), est alors une structure.

Il est tout fait possible, au lieu de faire rfrence un type, de faire rfrence une
donne de ce type.

DATA wa_sflight TYPE sflight.


DATA it_sflight TYPE STANDARD TABLE OF wa_sflight.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Exemple
Nous voulons stocker des enregistrements de la table SFLIGHT

Nous voulions toutes les caractristique d'un enregistrement.

On ne prend que les champs qui nous intressent .

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Rcap

Referringtolocaldatatyp
e
Referring to local data
object
Referring to data type in
ABAP dictionary

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
APPEND
l'instruction APPEND permet dajouter
des donnes la table interne.

On dfinit d'abord la zone de travail


(work area), c'est--dire dfinir une
chane de champ avec une structure
similaire la ligne de la table interne.

On place ensuite les donnes dans la


zone de travail et on utilise l'instruction
APPEND pour ajouter les donnes de la
zone de travail la table interne.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
SELECT INTO
Gnralement, les tables internes sont utilises pour conserver temporairement les
donnes des tables de la base de donnes pour qu'elles s'affichent l'cran ou soient
traites ultrieurement.

Pour remplir la table interne avec des valeurs de base de donnes, on utilise l'instruction
SELECT pour lire les enregistrements de la base de donnes un par un, on les place
dans la zone de travail, puis APPEND les valeurs dans la zone de travail la table
interne.

Aprs ENDSELECT, la table interne IT_EMPLOYEE contient tous les enregistrements


prsents dans la table ZEMPLOYEE.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
SELECT INTO TABLE
En utilisant INTO TABLE, nous pouvons lire plusieurs enregistrements dans la table
interne directement. Aucune zone de travail utilise dans ce cas. Cette instruction select
ne fonctionnera pas en boucle, donc aucun ENDSELECT n'est requis.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Lire depuis une IT
Les donnes peuvent tre lues partir d'une table interne l'aide des 2 instructions
suivantes.
READ TABLE Permet de lire une ligne
LOOP AT / ENDLOOP Permet de lire plusieurs lignes

La syntaxe de READ TABLE est :

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
READ ..
Dans l'instruction READ TABLE, nous devons spcifier INDEX ou KEY mais pas les deux
en mme temps.

Si nous voulons lire la troisime ligne de la table interne spcifier l'index comme 3 dans
la clause INDEX de l'instruction READ : Index est un numro de ligne relatif de la table
interne.

Si l'enregistrement est trouv, l'enregistrement trouv est copi dans la zone de travail et
SY-SUBRC est mis 0. Sinon, SY-SUBRC est rgl sur 4 et la zone de travail reste
inchange.

Nous pouvons galement lire une ligne de la table interne en fonction de la valeur dans
un champ particulier en utilisant la clause KEY de l'instruction READ.

Si plus d'une ligne trouve dans la table interne avec la mme valeur spcifie dans la
clause KEY, seule la premire ligne sera rcupre.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
READ .. WITH KEY

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
LOOP AT
La syntaxe de l'instruction LOOP est la suivante.
LOOP AT [INTO Workarea] [DE] [TO] [expression WHERE].
ENDLOOP.

Les lignes sont lues partir de la table interne une la fois et places dans la zone de
travail.

Les lignes entre LOOP et ENDLOOP sont excutes pour chaque enregistrement lu de la
table interne.

Une fois que toutes les lignes de la table interne sont traites, le contrle passe la ligne
suivante aprs l'instruction ENDLOOP.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
REQUETE OPEN SQL

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
SELECT est l'instruction openSQL pour lire
les donnes de la base de donnes. La
syntaxe gnrale de l'instruction SELECT
est la suivante.

SELECT <result>
INTO <target>
FROM <source>
[WHERE <condition>]

Clause Description
SELECT <result> Specifies which columns you want to read, whether one
line or many lines needs to selected, and whether duplicate
entries are allowed
INTO <target> Determines the target area into which the selected data is
to be placed
FROM <source> Specifies the database table from which the data is to be
selected
WHERE <condition> specifies which lines are to be read by specifying conditions
for the selection

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Premire requte depuis notre table

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Explication
WA_EMPLOYEE est la zone de travail : work area contient UN enregistrement de la
table ZEMPLOYEE la fois.

SELECT * spcifie que toutes les lignes et colonnes sont lues dans la base de
donnes.

SELECT - ENDSELECT fonctionne dans une boucle, donc le code entre SELECT et
ENDSELECT sera excut pour chaque enregistrement trouv dans la table de base
de donnes.

Les instructions WRITE sont utilises pour afficher les valeurs dans la liste.

Si l'instruction SELECT renvoie un enregistrement, alors la valeur de la variable


systme SY-SUBRC est mise zro sinon une valeur non nulle sera dfinie.

Aprs l'excution de l'instruction SELECT, la valeur de la variable systme SY-


DBCNT contient le nombre d'enregistrements lus dans la base de donnes. La
valeur de SY-DBCNT est nulle si aucun enregistrement n'est lu de la base de
donnes.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Condition where

Attention : case sensitive

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
INTO CORRESPONDING FIELDS OF
Que faire si nous voulons slectionner uniquement certaines colonnes de la table
de base de donnes au lieu de toutes les colonnes?

Nous devons alors spcifier la liste de champs (noms de champ) dans l'instruction
SELECT au lieu de spcifier .

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
INTO CORRESPONDING FIELDS OF TABLE

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
ALV : RAPPEL ET SUITE

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
ALV : Introduction
Le SAP List Viewer est un outil gnrique qui fournit des donnes sous forme de
tableau (lignes et colonnes), avec fonctions intgres pour manipuler la sortie (tri,
totaux, filtre, ordre des colonnes, cache, etc.) , Fichiers CSV, etc.)

Il est galement possible de rendre ALV ditable via la commande ALV.

Le nom ALV provient de "ABAP List Viewer", comme nomm initialement car il tait
uniquement disponible en ABAP. C'est maintenant un concept plus gnral, qui est
disponible en java aussi (depuis 7.1).

L'outil ALV propose plusieurs types d'affichage.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Fonctions modules standars
ALV est cr par un ensemble de modules de fonctions standard fournis par SAP
qui diminuent sensiblement le temps de dveloppement du rapport.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
My first ALV_GRID : z_initial_alv1

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
EXPORT PARAMS OF REUSE_ALV_GRID_DISPLAY
I_callback_program : report id

I_bypassing_buffer : 'X'

I_buffer_active : ' '

I_callback_pf_status_set : routine where a user can set his own pf status or change the
functionality of the existing pf status.

I_callback_user_command : routine where the function codes are handled.

I_structure name : name of the dictionary table

Is_Layout : structure to set the layout of the report

It_fieldcat : internal table with the list of all fields and their attributes which are to be
printed (this table can be populated automatically by the function)

It_events : internal table with a list of all possible events of ALV and their corresponding
form names.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG
Le field catalog est un tableau qui contient des informations sur les champs
afficher sur la sortie ALV.

Nous devons d'abord construire un field catalog avant d'afficher n'importe quelle
sortie dans l'ALV.
Nous disposons des trois mthodes suivantes pour crer un catalogue de champs.

1. Automatiquement travers une structure de dictionnaire de donnes : done


2. Manuellement dans le programme ABAP
3. Semi-automatiquement en combinant les deux procdures ci-dessus utilise
dans les cas suivants
Nous voulons afficher tous les champs de la structure DDIC mais nous
voulons modifier certains attributs tels que les descriptions, etc.
Nous voulons afficher la plupart des champs, c'est--dire que nous voulons
masquer certains champs.
Ajouter de nouveaux champs.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG MANUEL
REPORTZ_AS_FCMANUEL.
*DATA declaration
DATA:it_sbookTYPETABLEOFsbook.
DATA:it_fieldcatTYPEslis_t_fieldcat_alv,
wa_fieldcatTYPEslis_fieldcat_alv.

*Fetch data from the database


SELECT*FROMsbookINTOTABLEit_sbook.

*Build field catalog


wa_fieldcat-fieldname='CARRID'." Fieldname in the data table
wa_fieldcat-
seltext_m='Airline'." Column description in the output
APPENDwa_fieldcatTOit_fieldcat.
wa_fieldcat-fieldname='CONNID'.
wa_fieldcat-seltext_m='Con.No.'.
APPENDwa_fieldcatTOit_fieldcat.
wa_fieldcat-fieldname='FLDATE'.
wa_fieldcat-seltext_m='Date'.
APPENDwa_fieldcatTOit_fieldcat.
wa_fieldcat-fieldname='BOOKID'.
wa_fieldcat-seltext_m='Book.ID'.
APPENDwa_fieldcatTOit_fieldcat.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG MANUEL
wa_fieldcat-fieldname='PASSNAME'.
wa_fieldcat-seltext_m='PassengerName'.
APPENDwa_fieldcatTOit_fieldcat.

*Pass data and field catalog to ALV function module to display ALV list
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat=it_fieldcat
TABLES
t_outtab=it_sbook
EXCEPTIONS
program_error=1
OTHERS=2.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG SEMI AUTOMATIC
Pour gnrer un field catalogue semi-automatique:

1. Dclarez une table interne de type SLIS_T_FIELDCAT_ALV.


2. Appelez le module de fonction REUSE_ALV_FIELDCATALOG_MERGE et passez
la structure DDIC de la table de sortie et la table interne pour le field catalogue.
Le module de fonction gnre le catalogue de champs et remplit la table interne
en consquence.
3. Lire les lignes que nous souhaitons modifier et adaptez les champs en
consquence. Si la table de sortie contient plus de champs que ceux stockes
dans le dictionnaire de donnes, on doit ajouter une ligne pour chaque nouveau
champ au field catalogue.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG SEMI AUTOMATIC
TYPES:BEGINOFwa_sbook,
status(4).
INCLUDESTRUCTUREsbook.
TYPES:ENDOFwa_sbook.
DATA:it_sbooktypeTABLEOFwa_sbook.
DATA:it_fieldcatTYPEslis_t_fieldcat_alv,
wa_fieldcatTYPEslis_fieldcat_alv.

*Fetch data from the database


SELECT*UPTO10ROWSFROMsbookINTOTABLEit_sbook.

*Build field catalog


wa_fieldcat-fieldname='STATUS'." Fieldname in the data table
wa_fieldcat-seltext_m='Status'." Column description in the output
APPENDwa_fieldcatTOit_fieldcat.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG SEMI AUTOMATIC
*Merge Field Catalog
CALLFUNCTION'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name='SBOOK'
CHANGING
ct_fieldcat=it_fieldcat
EXCEPTIONS
inconsistent_interface=1
program_error=2
OTHERS=3.

*Pass data and field catalog to ALV function module to display ALV list
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat=it_fieldcat
TABLES
t_outtab=it_sbook
EXCEPTIONS
program_error=1
OTHERS=2.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG SEMI AUTOMATIC

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
Auto Width Adjust in ALV grid display
datawa_fieldlayouttypeslis_layout_alv.

wa_fieldlayout-colwidth_optimize='X'.

*Pass data and field catalog to ALV function module to display ALV
list
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat=it_fieldcat
is_layout=wa_fieldlayout
TABLES
t_outtab=it_sbook
EXCEPTIONS
program_error=1
OTHERS=2.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
AFFICHER ICONE

TYPES:BEGINOFwa_sbook,
status(4).
INCLUDESTRUCTUREsbook.
TYPES:iconTYPEc," Add field to hold traffic light value
ENDOFwa_sbook.
DATA:it_sbookTYPETABLEOFwa_sbook.
DATA:wa_sbookTYPEwa_sbook.
DATA:it_fieldcatTYPEslis_t_fieldcat_alv,
wa_fieldcatTYPEslis_fieldcat_alv.
DATAwa_fieldlayoutTYPEslis_layout_alv.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
AFFICHER ICONE
...

*Assign different traffic lights to each row based on condition


LOOPATit_sbookINTOwa_sbook.
IFwa_sbook-luggweightLE0.
wa_sbook-icon=1." Red Traffic Light
ELSEIFwa_sbook-luggweightLE10.
wa_sbook-icon=2." Yellow Traffic Light
ELSE.
wa_sbook-icon=3." Green Traffic Light
ENDIF.
MODIFYit_sbookFROMwa_sbookTRANSPORTINGicon.
CLEAR:wa_sbook.
ENDLOOP.

*Build field catalog ...


wa_fieldlayout-colwidth_optimize='X'.
wa_fieldlayout-lights_fieldname='ICON'.

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
FIELD CATALOG ATTRIBUTS
Les diffrents attributs possibles sont:
Row_pos (position de ligne): Seulement pertinent si la liste doit tre multi-
ligne (deux ou trois lignes) par dfaut. Ainsi, cet attribut peut tre utilis pour
maintenir un certain niveau d'alignement dans la sortie.
Col_pos (position de la colonne): Ce paramtre est pertinent lorsque les
champs de la sortie doivent tre diffrents de la squence des champs de la
table interne utilise pour l'affichage. Le paramtre spcifie la position de
colonne relative du champ dans la sortie de liste. L'ordre des colonnes peut
tre modifi de manire interactive par l'utilisateur. Si ce paramtre est initial
pour toutes les entres de catalogue de champ, les colonnes apparaissent
dans la squence de champ de table interne.
Fieldname (nom de champ): C'est le nom du champ de table interne pour
lequel les paramtres sont passs dans le catalogue.
Tabname (table de sortie interne): Nom de la table de sortie interne qui
contient le champ FIELDCAT-FIELDNAME ci-dessus. de donnes

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
TRICK

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
AIDE

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable
AIDE

Ce document est la proprit dIliade Consulting. Il ne peut tre utilis, reproduit ou divulgu sans son autorisation crite pralable

S-ar putea să vă placă și