Tutoriel de programmation de boîtes de dialogue : Pool de modules dans SAP ABAP

SAP-ABAP prend en charge deux types de programmes : le programme de rapport et le programme de dialogue.

Si votre programme ABAP nécessite une intervention de l'utilisateur, la programmation par dialogue est utilisée.

Dans ce tutoriel, vous apprendrez :

Une boîte de dialogue utilisateur est toute forme d'interaction entre l'utilisateur et le programme et peut être l'une des suivantes

  • Saisie des données
  • Choisir un élément de menu
  • Cliquer sur un bouton
  • Cliquer ou double-cliquer sur une entrée

Le programme de dialogue est également utilisé lorsque nous devons naviguer d'un écran à l'autre.

Les programmes de dialogue sont créés avec le type « M » – Module Pool. Ils ne peuvent pas être exécutés indépendamment et doivent être rattachés à au moins un code transaction dans lequel vous précisez un écran initial.

Différence entre les programmes de rapport et de boîte de dialogue

Différence entre les programmes de rapport et de boîte de dialogue

Programme de rapport :

Un rapport est un programme qui lit et analyse généralement les données des tables de base de données sans modifier le base de données.

Programme de dialogue :

Un programme de dialogue vous permet de travailler de manière interactive avec le système et de modifier le contenu des tables de la base de données. Chaque programme de dialogue possède une certaine séquence d'écrans qui sont traités les uns après les autres par le système.

Un exemple de traitement de transaction dans la programmation de dialogue

Un exemple de traitement de transaction

Composants du programme de dialogue

Aimée (ici) qui implique généralement la création d'un programme autonome qui peut être exécuté indépendamment des autres objets, le développement d'un programme de dialogue implique le développement de plusieurs objets dont aucun ne peut être exécuté seul. Au lieu de cela, tous les objets sont liés hiérarchiquement au programme principal et sont exécutés dans une séquence dictée par le programme principal de dialogue..

Les composants d'un programme de dialogue sont :

Code de transaction

  • Le code de transaction démarre une séquence d'écran.
  • Vous créez des codes de transaction dans le navigateur du référentiel dans ABAP Workbench ou à l'aide de la transaction SE93.
  • Un code de transaction est lié à un programme ABAP et à un écran initial.
  • Vous pouvez démarrer une séquence d'écran à partir de n'importe quel programme ABAP à l'aide de l'instruction CALL SCREEN.

Écrans

  • Chaque dialogue dans un SAP Le système est contrôlé par un ou plusieurs écrans.
  • Vous créez des écrans à l'aide de l'outil Écran Painter dans ABAP Workbench via la transaction SE51
  • Chaque écran appartient à un Programme ABAP.
  • Ces écrans sont constitués d'un « masque d'écran » ou « mise en page » et de sa logique de flux. L'écran a une disposition qui détermine les positions des champs d'entrée/sortie et d'autres éléments graphiques tels que les cases à cocher et les boutons radio. Une logique de flux détermine le traitement logique au sein de l'écran.

Statut de l'interface graphique

  • Chaque écran possède un ou plusieurs statuts GUI qui sont des composants indépendants d'un programme.
  • Ceci contrôle les barres de menus, la barre d'outils standard, la barre d'outils d'application, avec lesquelles l'utilisateur peut choisir des fonctions dans l'application.
  • Vous les créez dans ABAP Workbench à l'aide du menu Painter.

Programme ABAP

  • Chaque écran et statut d'interface graphique du système R/3 appartient à un programme ABAP.
  • Le programme ABAP contient les modules de dialogue appelés par la logique de flux d'écran et traite également les entrées utilisateur à partir de l'état de l'interface graphique.
  • Les programmes ABAP qui utilisent des écrans sont également appelés programmes de dialogue.
  • Dans un pool de modules (programme de type M) ; le premier bloc de traitement appelé est toujours un module de dialogue. Toutefois, vous pouvez également utiliser des écrans dans d'autres programmes ABAP, tels que des programmes exécutables ou des modules fonction. Le premier bloc de traitement est alors appelé différemment ; par exemple, par l'environnement d'exécution ou un appel de procédure. La séquence d'écran est ensuite lancée à l'aide de l'instruction CALL SCREEN.

Logique de flux d'écran

La logique Screen Flow est principalement divisée en quatre composants.

  • Traiter avant la sortie (PBO) événement : qui est traité avant l'affichage de l'écran
  • Processus après la saisie (PAI) événement : qui est traité après une action de l'utilisateur sur l'écran
  • Processus sur demande d'aide (POH) : qui est traité lorsque F1 est enfoncé
  • Traiter sur demande de valeur (POV):qui est traité lorsque F4 est enfoncé

Dynapro

  • Un écran avec sa logique de flux est appelé un Dynpro (« Programme dynamique » puisque la logique de flux de l'écran influence le flux du programme).
  • Chaque dynpro contrôle exactement une étape de votre programme de dialogue.
  • Les écrans appartenant à un programme sont numéroté. La séquence de flux du tamis peut être linéaire ou cyclique. Depuis une chaîne d'écrans, vous pouvez même appeler une autre chaîne d'écrans et, après l'avoir traitée, revenir à la chaîne d'origine. Vous pouvez également remplacer l'écran suivant défini statiquement à partir des modules de dialogue du programme ABAP.

Pool de modules ABAP

  • Lors d'un événement PBO ou PAI, un Dynpro appelle un programme de dialogue ABAP. La collection de ces programmes est appelée pool de modules ABAP.
  • Par exemple, les modules appelés lors de l'événement PAI sont utilisés pour vérifier les entrées de l'utilisateur et déclencher les étapes de dialogue appropriées, telles que la tâche de mise à jour.
  • Tous les dynpros doivent être appelés de l'intérieur UN La transaction fait référence à un pool de modules commun.

Structure d'un programme de dialogue

Structure d'un programme de dialogue

Flux de processus pour un programme de dialogue

Flux de processus pour un programme de dialogue