‎2006 Sep 18 3:25 PM
Tengo una solicitud de pedidos en ALV, en el programa tengo el parametro:
PARAMETERS: p_solici LIKE eban-afnam.
El tema es que le tengo que hacer un match Code de ese parametro y no se como, si alguien me da una mano mejor.
Muchas gracias!!!
‎2006 Sep 18 3:42 PM
Revisa el nombre de la ayuda que tiene asociada el campo en la tabla mediante la transacción se11. a la definición en el programa le debes de pone p_solici LIKE eban-afnam USING "NOMBRE DE LA AYUDA" HELP.
No recuerdo bien la sintaxis pero por ahà va el asunto.
Saludos
‎2006 Sep 18 4:03 PM
El tema es que ese campo no tiene ninguna ayuda de busqueda en el elemento de datos.
Lo que tengo que hacer es una tabla interna con los valores del match Code, pero la verdad no se como empezar.
‎2006 Sep 18 4:30 PM
You can do like this :
bye
a.
SELECT-OPTIONS : s_tabnr FOR t_rett-ztabnr
NO-EXTENSION
NO INTERVALS,
......
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_tabnr-low.
REFRESH scr_fields.
scr_fields-fieldname = 'S_TABNR-LOW'.
APPEND scr_fields.
scr_fields-fieldname = 'P_TDLNR'.
APPEND scr_fields.
scr_fields-fieldname = 'P_CAUS-LOW'.
APPEND scr_fields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = c_prog
dynumb = sy-dynnr
TABLES
dynpfields = scr_fields
EXCEPTIONS
undefind_error = 08
OTHERS = 04.
IF sy-subrc NE 0.
EXIT.
ELSE.
PERFORM z_valreq_tabnr CHANGING s_tabnr-low.
ENDIF.
----
Form z_valreq_tabnr
----
FORM z_valreq_tabnr CHANGING p_s_tabnr_low.
DATA: l_cod TYPE zsh_rettifiche-ztabnr,
w_tit(30) TYPE c. "Match code title
DATA:
l_zztr TYPE zshtrtabzztr,
l_lifnr TYPE lfa1-lifnr,
l_tdlnr TYPE vfkp-tdlnr,
l_caus TYPE zsh_rettifiche-zcaus_odt,
l_len TYPE i.
w_tit = text-002.
READ TABLE scr_fields INDEX 2.
l_tdlnr = scr_fields-fieldvalue.
READ TABLE scr_fields INDEX 3.
l_caus = scr_fields-fieldvalue.
IF l_tdlnr IS INITIAL.
l_tdlnr = '%'.
ELSE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = l_tdlnr
IMPORTING
output = l_tdlnr.
ENDIF.
IF l_caus IS INITIAL.
l_caus = '%'.
ELSE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = l_caus
IMPORTING
output = l_caus.
ENDIF.
READ TABLE scr_fields INDEX 1.
l_cod = scr_fields-fieldvalue.
TRANSLATE l_cod USING '*%+_'.
IF l_cod IS INITIAL.
l_cod = '%'.
ENDIF.
CLEAR l_values.
REFRESH l_values.
CLEAR i_values.
REFRESH i_values.
CLEAR zsh_rettifiche.
CLEAR: s_tabnr,
p_caus.
SELECT ztabnr tdlnr zcaus_odt cod_rettifica
FROM zsh_rettifiche INTO TABLE l_values
WHERE zdaterett EQ '00000000'.
SORT l_values BY tabnr zcaus_odt.
DELETE ADJACENT DUPLICATES FROM l_values.
LOOP AT l_values.
i_values = l_values-tabnr.
APPEND i_values.
CLEAR i_values.
i_values = l_values-tdlnr.
APPEND i_values.
CLEAR i_values.
SELECT SINGLE name1 FROM lfa1
INTO i_values
WHERE lifnr = l_values-tdlnr.
APPEND i_values.
CLEAR i_values.
i_values = l_values-zcaus_odt.
APPEND i_values.
CLEAR i_values.
i_values = l_values-cod_rettifica.
APPEND i_values.
CLEAR i_values.
ENDLOOP.
REFRESH i_tabf.
CLEAR i_tabf.
i_tabf-tabname = 'ZSH_RETTIFICHE'.
i_tabf-fieldname = 'ZTABNR'.
i_tabf-selectflag = 'X'.
APPEND i_tabf.
CLEAR i_tabf.
i_tabf-tabname = 'ZSH_RETTIFICHE'.
i_tabf-fieldname = 'TDLNR'.
i_tabf-selectflag = ' '.
APPEND i_tabf.
CLEAR i_tabf.
i_tabf-tabname = 'LFA1'.
i_tabf-fieldname = 'NAME1'.
i_tabf-selectflag = ' '.
APPEND i_tabf.
CLEAR i_tabf.
i_tabf-tabname = 'ZSH_CAUS_RETTIF'.
i_tabf-fieldname = 'ZCAUS_ODT'.
i_tabf-selectflag = ' '.
APPEND i_tabf.
CLEAR i_tabf.
i_tabf-tabname = 'ZSH_RETTIFICHE'.
i_tabf-fieldname = 'COD_RETTIFICA'.
i_tabf-selectflag = ' '.
APPEND i_tabf.
----
*Function for help values
*(EXPORTING) :
*w_tit : Menu title
*(IMPORTING) :
*l_cod : '%'.
*Table:
*i_tabf : menu
*i_values : field names
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
titel = w_tit
IMPORTING
select_value = l_cod
TABLES
fields = i_tabf
valuetab = i_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
IF sy-subrc EQ 0.
s_tabnr-low = l_cod.
ENDIF.
ENDFORM. " z_valreq_tabnr
‎2006 Sep 18 3:45 PM
Friend,
Welcome to SDN.
Kindly post your query in English, so friends here can
understand. We being learners all the time can learn new things incase of any info or advice if you have any problem.
Kind Regards
Eswar