User Tools

Site Tools


abap:table_control

Table Controls

Définition

  • Définir le table screen.
    CONTROLS: wgtc_plop TYPE TABLEVIEW USING SCREEN 0152.
  • Définir la table interne correspondante.
  • Dessiner le table control dans le screen painter :
    • Soit passer par l'assistant
    • Soit Déposer le widget table control puis des champs dans le corps du tableau et des labels dans l'entête.

F4

Cf. F4_help

Table control éditable

L'assistant gère de base ces problématiques (à vérifier).

L'alternative sans boutons :

PBO

Pour permettre à l'utilisateur de rentrer directement les valeurs en ajoutant toujours une ligne libre à la fin du tableau :

  DESCRIBE TABLE wgt_plop LINES wlv_lines.
  wgtc_plop-lines = wlv_lines + 1.

Alimentation du table control :

  LOOP AT   wgt_entrepots
  WITH CONTROL wgtc_entrepots
  CURSOR wgtc_entrepots-current_line.
    MODULE tbctl_pbo. "Le module peut ne pas être défini, la LOOP suffit
  ENDLOOP.

PAI

  LOOP AT wgt_entrepots.
    CHAIN.
      FIELD wgt_plop-field1.
      FIELD wgt_plop-field2.
      MODULE tbctl_pai ON CHAIN-REQUEST.
    ENDCHAIN.
  ENDLOOP.

Dans le module, il faut vérifier que la ligne est présente dans notre table interne. Si ce n'est pas le cas, ajouter la ligne. Une façon de gérer la suppression de ligne, c'est de considérer qu'à partir du moment où un champ particulier est vidé, c'est que la ligne doit être supprimée. Dans ce cas, dans le module PAI, supprimer la ligne wgtc_plop-current_line.

abap/table_control.txt · Last modified: 2015/12/24 14:27 by ginko