¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solução de erro em tempo de execução ao pressionar Ajuda F4 no SAP ABAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

Prezados colegas,

Estamos utilizando o FM mencionado anteriormente para a ajuda F4. No entanto, estamos recebendo um erro em tempo de execução ao pressionar a ajuda F4 para o campo de tela onde o FM foi utilizado. Eu revisei os 3 tópicos anteriores sobre este FM, mas eles só sugerem o uso do parâmetro de importação CALLBACK_FORM do FM. Depois de usar o formulário, consegui abrir a caixa de diálogo, mas ela não continha o campo de restrição de diálogo. Abaixo está o código que eu escrevi:

FORM F4CALLBACK TABLES RECORD_TAB STRUCTURE SEAHLPRES

CHANGING SHLP TYPE SHLP_DESCR

CALLCONTROL LIKE DDSHF4CTRL.

SHLP-INTDESCR-DIALOGTYPE = 'C'. "Tipo de diálogo (Diálogo com restrição de valor)

CALLCONTROL-step = 'PRESEL'. "Antes do diálogo de restrição aparecer

CALLCONTROL-MAXRECORDS = '500'. "Para obter o número máximo de hits

ENDFORM. "f_get_fullname

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = lc_fname

value_org = lc_s

dynpprog = sy-repid

dynpnr = sy-dynnr

CALLBACK_PROGRAM = SY-REPID

CALLBACK_FORM = 'F4CALLBACK'

TABLES

value_tab = lt_sc

return_tab = lt_ret

field_tab = lt_dfies

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

Por favor, ajudem-me a escrever o código apropriado para exibir a caixa de diálogo.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Amigos,

Utilize o seguinte código para resolver este problema.

FORM F4CALLBACK TABLES RECORD_TAB STRUCTURE SEAHLPRES

CHANGING SHLP TYPE SHLP_DESCR

CALLCONTROL LIKE DDSHF4CTRL.

SHLP-INTDESCR-DIALOGTYPE = 'C'. " Tipo de diálogo (Diálogo com restrição de valor)

SHLP-INTDESCR-TITLE = 'CARRINHO DE COMPRAS'.

CALLCONTROL-step = 'PRESEL'. " Antes de aparecer a caixa de diálogo de restrição

CALLCONTROL-MAXRECORDS = '500'. " Para obter o máximo número de resultados

CALLCONTROL-NO_MAXDISP = ' '.

ENDFORM.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = lc_fname

value_org = lc_s

dynpprog = sy-repid

dynpnr = sy-dynnr

CALLBACK_PROGRAM = SY-REPID

CALLBACK_FORM = 'F4CALLBACK'

TABLES

value_tab = lt_sc

return_tab = lt_ret

field_tab = lt_dfies

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Consulte a documentação do FM e clique no link CALLBACK_FORM. Pode te ajudar.

Exemplo 2:

A tabela VALUE_TAB ou a pesquisa de ajuda encontrada têm mais campos do que deveriam ser mostrados na lista de resultados. O código a seguir faz com que o campo com o nome IGNORE não seja exibido nem na lista de resultados nem no popup de seleção.

FORM F4CALLBACK

TABLES RECORD_TAB STRUCTURE SEAHLPRES

CHANGING SHLP TYPE SHLP_DESCR

CALLCONTROL LIKE DDSHF4CTRL.

DATA: FIELDPROP LIKE LINE OF SHLP-FIELDPROP.

FIELDPROP-SHLPLISPOS = 0. "Suprimir na lista de resultados

FIELDPROP-SHLPSELPOS = 0. "Suprimir no popup de seleção

MODIFY SHLP-FIELDPROP FROM FIELDPROP

TRANSPORTING SHLPSELPOS SHLPLISPOS

WHERE FIELDNAME = 'IGNORE'.

ENDFORM.

Exemplo 3:

A visualização de ActiveX deve ser suprimida, embora uma visualização de ActiveX seja possível a partir da configuração do usuário e dos parâmetros do módulo de funções. Além disso, o usuário sempre deve obter o popup de seleção antes de selecionar os dados para poder restringir ainda mais a seleção.

FORM F4CALLBACK

TABLES RECORD_TAB STRUCTURE SEAHLPRES

CHANGING SHLP TYPE SHLP_DESCR

CALLCONTROL LIKE DDSHF4CTRL.

CALLCONTROL-OCX_OFF = 'X'.

SHLP-INTDESCR-DIALOGTYPE = 'C'.

ENDFORM.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?