Ajouter un nouvel onglet dans un TABSTRIP existant d’un DYNPRO ABAP

  1. Copier le push button (i.e. titre de l’onglet) d’un onglet existant et le copier dans la « ligne de titre des onglets » ;
  2. ne pas oublier d’affecter une commande utilisateur (UCOMM) au push button ;
  3. le type de la fonction doit être « P » (local GUI func) ;
  4. Assigner également un nom de sous-écran dans le champ Référence ;
  5. Enfin, créer une zone de sous-écran dans l’onglet ;
  6. Son nom doit être celui renseigné dans la configuration du push button.

Ajouter un champ spécifique dans un ordre ALM

  1. Alimenter le customer include CI_AUFK (ce qui modifiera les structures AUFK et BAPI_TE_AUFK) ;
  2. créer un append de la structure IBAPI_CAUFVD_UPDATE avec les mêmes champs qu’à l’étape précédente, mais typés BAPIUPDATE ;
  3. implémenter la BAdI IBAPI_ALM_ORD_MODIFY (méthode IF_EX_IBAPI_ALM_ORD_MODIFY~MODIFY_INPUT_DATA) ;
    • l’implémentation doit lire EXTENSION_IN (utiliser CL_ABAP_CONTAINER_UTILITIES=>READ_CONTAINER_C) puis modifier les données d’entête CT_HEADER_INT (identifiables par ORDERID) et CT_HEADER_INT_UP (avec ABAPI_TRUE pour les champs modifiés).

Attention !
Les champs spécifiques ne sont pas automatiquement remontés par la BAPI standard BAPI_ALM_ORDER_GET_DETAIL, ils doivent être lus directement dans AUFK (à ma connaissance).

Reminder – CL_HTTP_CLIENT

Lors de l’utilisation de la classe standard CL_HTTP_CLIENT, ne pas oublier de toujours fermer le connexion, avec la méthode CLOSE.

Oui, j’ai perdu presque une journée entière à cause de cela…

Ajuster un table control

Je mets ici un copier-coller rapide et moche de la procédure à suivre pour ajuster un table control (j’en ai eu récemment besoin pour ajouter une colonne et la position au bon endroit).
Ne faisant que rarement des table controls (au profit des ALV), je ne connaissais pas par coeur cette marche à suivre.

Source : https://help.sap.com/saphelp_nw74/helpdata/en/fb/ac5f4261ae11d295b10000e82de14a/content.htm

Adjusting Table Controls
Functions:

Description:

Restrictions:

Transaction variants and screen variants

You can:

Change the column sequence
Change the column width
Hide columns
Revoke the ready for input status of individual columns
Preassign values to table control fields
Completely hide the table control
You cannot change column headings.

GuiXT

The following commands are available:

ColumnHeader [Old] « New » ColumnWidth [Heading] Number ColumnOrder [Heading] Number NoInput [Table, Column name]

ColumnWidth [Heading] 0 hides an entire column.

You can also reposition or hide the table control.

None

Administrator Function for Table Control Settings

(see below)

Adjusting tables at client level. You can:

Change the column sequence
Change the column width
Hide columns
Configure the number of fixed columns
Hide or show gridlines in the table control
You cannot revoke the ready for input status of individual columns.

You cannot change column headings.

You can adjust the layout of a table control at two levels:

User level, and
Client level
User Level

The Table controls function in the upper right corner of the table control allows you to personalize the basic table settings delivered with the system.

Table control adjustments made at user level take priority over adjustments made at client level. Note the following exceptions:

Hidden columns remain invisible
Columns not ready for input remain locked
Screen variant default values are adopted
The first two points are important, otherwise columns could be seen or changed by user groups that they should not be available to.

Client Level

There are two ways of how you can adjust the layout of a table control on a client-wide basis:

Using the administrator function for table control settings, or
Using a transaction or screen variant
You use the administrator functions for table control settings if you want to make the following changes in one client only:

Change the column sequence
Change the column width
Hide columns
If you want to revoke the ready for input status of individual columns or preassign values to table control fields, you must create a screen variant since the administrator function for table controls does not support this. You should also use a screen variant for adjusting table controls if you want to copy the table control settings to other clients. Since screen variants can be transported, their corresponding table control layouts can be transported as well.

Administrator Function for Table Control Settings

Users with authorization ‘TCTR’ in authorization object ‘S_ADMI_FCD’ can define a layout variant of a table control as a standard setting. This setting (variant) then becomes the table control’s global setting for all users whenever they start the transaction. If you do not define a system-wide variant, the system interprets the screen definition as the global setting.

In order to define a table control for the entire system, proceed as follows:

Start the transaction in question and navigate to the appropriate table control.
Use the Table controls icon to activate the Global settings variant (if this is not already the case).
Adjust the table control to your specifications (column width and column position can be adjusted; all columns you do not need can be hidden by setting their width to zero).
One column of the table control must remain visible.

Choose Administrator from the dialog box that appears when you activate the Table settings icon.

The table control attributes are displayed in the table Current settings. No value appears in the field Length for those columns whose width has been set to zero; you can deactivate them by selecting the setting Invisible.
You can also change other attributes of the current table control configuration. You can:
Hide additional columns using the Invisible checkbox

Configure the number of fixed columns

Hide or display the gridlines in the table control

Choose Activate to transfer your settings to the rest of the system. The settings activated are the basic settings for each user.
If you close the dialog box without choosing Activate, the settings remain unchanged.

Call the transaction a second time and check your new settings.
Repeat the steps listed above if you want to alter the table control settings yet again. Each time you activate new settings, this variant overwrites the existing one.