Tutoriel ABAP Subscreens: Appelez le sous-écran dans SAP

Table des matières:

Anonim

Avant de lire ce didacticiel, assurez-vous de ce qu'est un programme de dialogue…

APPELER SOUS-ÉCRAN

  • Un sous-écran est un écran indépendant qui s'affiche dans une zone d'un autre écran («principal»).
  • Les sous-écrans vous permettent d'intégrer un écran dans un autre au moment de l'exécution. Vous pouvez inclure plusieurs sous-écrans sur l'écran principal.
  • Le terme sous-écran s'applique à la fois à l'écran que vous intégrez et à la zone de l'écran principal dans laquelle vous le placez. Ce didacticiel concerne les zones de sous-écran. Les écrans réels créés via la transaction SE51 sont appelés écrans de sous-écran s'ils sont définis dans les attributs d'écran.
  • Lorsque vous utilisez un sous-écran, la logique de flux de l'écran intégré est également intégrée dans la logique de flux de l'écran principal. Par conséquent, l'utilisation de sous-écrans sur les écrans revient à utiliser des inclusions dans les programmes ABAP.

Pour utiliser un sous-écran, vous devez suivre trois étapes simples

  1. Définir la ou les zones de sous-écran sur un écran
  2. Définir les écrans de sous-écran appropriés
  3. Incluez l'écran du sous-écran dans la zone du sous-écran.

En outre, vous devez ajuster le cadre du sous-écran et de l'écran principal. Vous devez le nommer dans le champ du nom du champ.
De plus, vous devez également ajuster les champs dans le sous-écran pour les faire apparaître dans l'écran principal. Dans le cas où le sous-écran est défini comme étant plus grand que la zone disponible dans l'écran principal, seule la partie du sous-écran qui correspond à la zone disponible sera visible. La zone est toujours mesurée à partir du coin supérieur gauche de l'écran. Par conséquent, vous devez prendre les précautions nécessaires lors de la définition des zones de sous-écran et de la création de sous-écrans.
EXEMPLE

Par exemple, ici, nous avons défini deux zones de sous-écran sur l'écran principal et avons attaché deux sous-écrans différents aux zones correspondantes. Chaque fois que l'écran principal est appelé, le PBO de l'écran principal est appelé. Mais avant l'affichage, les PBO de chaque écran attachés avec des zones de sous-écran sur l'écran principal sont également appelés.

Vous pouvez inclure un écran de sous-écran à l'aide de l'instruction CALL SUBSCREEN dans la logique de flux de l'écran principal.
Pour inclure un écran de sous-écran dans la zone de sous-écran de l'écran principal et appeler sa logique de flux PBO, utilisez l'instruction suivante dans l'événement PBO de l'écran principal:

PROCESSUS AVANT LA SORTIE.CALL SUBSCREEN  INCLUDING [
] .

Cette instruction assigne l'écran de sous-écran avec le numéro à la zone de sous-écran appelée . Vous pouvez également spécifier le programme dans lequel l'écran de sous-écran est défini (facultatif). Si vous ne spécifiez pas explicitement le programme, le système recherche l'écran de sous-écran dans le même programme ABAP que le programme principal. S'il ne trouve pas d'écran de sous-écran correspondant, une erreur d'exécution se produit. La logique de flux PBO de l'écran de sous-écran est également incluse au même point. Cela peut appeler les modules PBO du programme ABAP dans lequel l'écran de sous-écran est défini. À la fin du sous-écran PBO, les champs globaux du programme sont transmis à tous les champs d'écran portant le même nom dans l'écran du sous-écran. La logique de flux PBO de l'écran de sous-écran peut elle-même inclure d'autres sous-écrans.

Le nom de la zone de sous-écran doit être entré directement sans virgules inversées. Vous pouvez spécifier les noms et sous forme de littéraux ou de variables. Si vous utilisez des variables, vous devez déclarer et remplir des variables portant le même nom dans le programme ABAP. Le numéro d'écran doit comporter 4 caractères. Si vous n'affectez pas un écran de sous-écran à une zone, il reste vide.
Pour appeler la logique de flux PAI de l'écran de sous-écran, utilisez l'instruction suivante dans la logique de flux PAI de l'écran principal:

PROCESSUS APRÈS SAISIE.APPELER LE SOUS-ÉCRAN .

Cette déclaration inclut la logique de flux PAI de l'écran de sous-écran inclus dans la zone de sous-écran dans l'événement PBO. Cela peut appeler les modules PAI du programme ABAP dans lequel le sous-écran est défini. Les données sont transportées entre des champs portant le même nom dans l'écran de sous-écran et le programme ABAP soit lorsque l'événement PAI est déclenché, soit au niveau des instructions FIELD correspondantes dans la logique de flux PAI de l'écran de sous-écran.
Points à retenir

  • Les noms des éléments des sous-écrans dans un écran doivent être uniques
  • Vous ne devriez pas avoir OK_CODE ou FCODE attaché au sous-écran. Le OK_CODE de l'écran principal lui-même est OK_CODE du sous-écran
  • Les sous-écrans ne peuvent pas avoir de modules de dialogue contenant SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN ou LEAVE TO SCREEN. Cela entraînera une erreur d'exécution.
  • Vous devez l'appeler dans la logique de flux (à la fois PBO et PAI) de l'écran principal.
  • CALL SUBSCREEN n'est pas autorisé dans les instructions CHAIN… ENDCHAIN ​​et LOOP ENDLOOP
  • Impossible d'avoir un module AT EXIT-COMMAND
  • Les champs que vous utilisez sont les champs globaux. Ils doivent être déclarés dans le haut incluent
  • Si vous utilisez des sous-écrans d'un autre programme de dialogue, le transfert de données n'aura lieu que si vous ajoutez un code spécifique.