Para criar um campo Z no cabeçalho da MIRO, a BADI “BADI_FDCB_SUBBAS04” pode ser uma alternativa.
Após implementada, deve-se criar uma sub tela, com o campo desejado, e o seguintes módulos nos eventos PBO e PAI, da tela criada. Veja exemplo:
- Texto Fonte da Tela
*********************************************************************************
PROCESS BEFORE OUTPUT.
MODULE RECEIVE_DATA.
*
PROCESS AFTER INPUT.
* get again actual data from main screen
MODULE RECEIVE_ACTUAL_DATA.
*
* implement from here on customer coding
* enumerate ALL fields on the screen because of field transportation
* with or within a module
FIELD:
INVFO-ZZPROTOCOLO.
* send data back to main screen
MODULE USER_COMMAND_0100.
**********************************************************************************
- PBO
MODULE RECEIVE_DATA OUTPUT.
IF O_BADI_FDCB_SUBBAS04 IS INITIAL.
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE_FOR_SUBSCREENS
CHANGING
INSTANCE = O_BADI_FDCB_SUBBAS04
EXCEPTIONS
NO_REFERENCE = 1
NO_INTERFACE_REFERENCE = 2
NO_EXIT_INTERFACE = 3
DATA_INCONS_IN_EXIT_MANAGEM = 4
CLASS_NOT_IMPLEMENT_INTERFACE = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
* object created ?
CHECK NOT O_BADI_FDCB_SUBBAS04 IS INITIAL.
* get data from main screen
CALL METHOD O_BADI_FDCB_SUBBAS04->GET_DATA_FROM_SCREEN_OBJECT
IMPORTING
EX_INVFO = INVFO.
ENDMODULE. ” receive_data OUTPUT
- PAI
MODULE RECEIVE_ACTUAL_DATA INPUT.
** object created ?
CONSTANTS: C_AKTYP(17) TYPE C VALUE ‘(SAPLFDCB)G_AKTYP’.
FIELD-SYMBOLS: TYPE ANY.
ASSIGN (C_AKTYP) TO .
IF NE ‘A’ “H(Create)/V(modify)/A(Display)
AND NE ‘V’.
* get data from main screen
CALL METHOD O_BADI_FDCB_SUBBAS04->GET_DATA_FROM_SCREEN_OBJECT
IMPORTING
EX_INVFO = INVFO.
ENDIF.
ENDMODULE. ” receive_actual_data INPUT
MODULE USER_COMMAND_0100 INPUT.
CHECK NOT O_BADI_FDCB_SUBBAS04 IS INITIAL.
* put data to main screen
CALL METHOD O_BADI_FDCB_SUBBAS04->PUT_DATA_TO_SCREEN_OBJECT
EXPORTING
IM_INVFO = INVFO.
ENDMODULE. ” USER_COMMAND_0100 INPUT
Com esta implementação, o campo será criado no Cabeçalho da MIRO.
