User Tools

Site Tools


abap:screens

This is an old revision of the document!


Développement d'écrans SAP

Gestion des touches de fonction

Il faut créer un statut dans le menu painter (se41) puis appeler ce statut dans un module PBO.

MODULE set_status OUTPUT.
 
  SET PF-STATUS 'TEST'.
 
ENDMODULE.

Gestion du titre

Il faut créer un “titre” dans le menu painter (se41) puis appeler ce titre dans un module PBO.

MODULE set_title OUTPUT.
 
  SET TITLEBAR sy-dynnr.
 
ENDMODULE.

Gestion du cursor

/!\ Cette commande compile également dans les modules PAI mais est ineffective ! /!\

MODULE set_cursor OUTPUT.
 
  SET CURSOR FIELD g_cursor.
 
ENDMODULE.

Gestion des messages d'erreur

/!\ En dehors d'un écran, un message va s'afficher dans un écran vide /!\

  • Une instruction MESSAGE dans le PBO va afficher une popup.
  • Une instruction MESSAGE dans le PAI va afficher un message dans la barre d'état.
  • Un message de type E, “erreur” interrompt le PAI et reboucle immédiatement sur le PBO du même écran. Les autres types de messages sont passants.

Le traitement PAI des erreurs se fait par module : on utilise la syntaxe FIELD ... MODULE ... pour associer un module à un champ en particulier. On peut associer plusieurs champs à un module en utilisant l'instruction CHAIN. Source

Manipulation dynamique des champs

Help SAP : Setting Attributes Dynamically. Avec notamment la table de vérité pour les champs ACTIVE, INPUT, OUTPUT, and INVISIBLE.

Affichage dynamique des icônes

Sauce

* In this sample program, there is a button on screen 100
* which has the name of THISBUTTON, and is set as output
* only.
 
report zrich_0001.
 
type-pools: icon.
 
data: thisbutton(30) Type c.</b>
 
 
call screen 100.
*&---------------------------------------------------------------------*
*&      Module  status_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module status_0100 output.
 
write icon_green_light as icon to thisbutton.
concatenate thisbutton 'This is the button' into thisbutton
            separated by space.
 
endmodule.                 " status_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  user_command_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module user_command_0100 input.
 
  leave program.
 
endmodule.                 " user_command_0100  INPUT

NB Si le bouton a été déclaré dans le screen painter, veiller à bien cocher Zone d'édition, sinon l'icône ne changera pas.

Affichage des décimales

Pour afficher les décimales, il est possible de typer les champs

Publication templates vers serveur ITS

Depuis la SE38 ou la SE80, Utilitaires > Autres utilitaires > Modèle Service Internet > Créer (function code ITS_TEMPLATE_CREATE) et spécifier le service internet cible avec le thème 99 et le bon style de génération. Une fois le template généré, ne pas oublier de le publier.

abap/screens.1445877588.txt.gz · Last modified: 2015/10/26 17:39 by ginko