jm.gonzalezconosciuto
18/02/16, 12:28:04
Buenos días :) Como están?
Me asignaron un requerimiento relacionado con la validación del campo EAN dentro de la trx MM41.
"Al crear un artículo en la transacción MM41, cuando previamente a ir al botón de 'Datos Adicionales' el foco se encuentra en las pestañas 'Catalogación', 'Compras', 'Ventas', 'Logística: CD', 'Logística: Tienda' ó 'TPV', no se realiza la validación de EANs del field exit: FIELD_EXIT_EAN11_2.
Sin embargo, si se presiona el botón 'Datos Adicionales' desde la pestaña de 'Datos Básicos' las validaciones del field exit FIELD_EXIT_EAN11_2 funcionan correctamente."
Destaco que el campo a validar se encuentra en la pestaña "Datos Básicos".
Alguna sugerencia/solución al respecto? :confused:
Desde ya, muchas gracias.
Saludos,
Edit 26.02.2016
field-symbols: <fs_okcode> type cua_code.
data: lv_okcode(22) type c value '(SAPLMGD2)RMMZU-OKCODE',
lv_okcode2(17) type c value '(SAPLMGD2)OK-CODE',
lv_stepl type sy-stepl.
get cursor line lv_stepl.
if lv_stepl eq sy-stepl.
assign (lv_okcode) to <fs_okcode>.
if <fs_okcode> is assigned and sy-tcode eq 'MM41'.
if <fs_okcode> eq 'EADE'
or input is initial
or sy-ucomm eq 'EADE'.
assign (lv_field) to <lf_table_control>.
if <lf_table_control> is assigned.
lt_control[] = <lf_table_control>[].
sort lt_control
by kzbme.
unassign <lf_table_control>.
endif.
assign (lv_field2) to <lf_table_control2>.
if <lf_table_control2> is assigned.
lt_control2[] = <lf_table_control2>[].
if sy-subrc is initial.
clear ls_control.
read table lt_control
into ls_control
with key kzbme = 'X'
binary search.
if sy-subrc is initial.
clear ls_control2.
read table lt_control2
into ls_control2
index lv_stepl.
if sy-subrc is initial.
if ls_control-kzbme eq ls_control2-hpean
and ls_control-ean11 eq ls_control2-ean11
and ls_control-numtp eq ls_control2-numtp.
clear sy-ucomm.
assign (lv_okcode) to <fs_okcode>.
if <fs_okcode> is assigned.
clear <fs_okcode>.
endif.
assign (lv_okcode2) to <fs_okcode>.
if <fs_okcode> is assigned.
clear <fs_okcode>.
endif.
output = input.
message e208(00) with text-e04.
endif.
endif.
endif.
endif.
unassign <lf_table_control2>.
endif.
endif.
endif.
endif.
Este es el código que coloqué en la field exit, al momento de la fecha cumple con lo requerido por el usuario, cualquier cambio lo plasmo en el mensje.
Saludos,
Me asignaron un requerimiento relacionado con la validación del campo EAN dentro de la trx MM41.
"Al crear un artículo en la transacción MM41, cuando previamente a ir al botón de 'Datos Adicionales' el foco se encuentra en las pestañas 'Catalogación', 'Compras', 'Ventas', 'Logística: CD', 'Logística: Tienda' ó 'TPV', no se realiza la validación de EANs del field exit: FIELD_EXIT_EAN11_2.
Sin embargo, si se presiona el botón 'Datos Adicionales' desde la pestaña de 'Datos Básicos' las validaciones del field exit FIELD_EXIT_EAN11_2 funcionan correctamente."
Destaco que el campo a validar se encuentra en la pestaña "Datos Básicos".
Alguna sugerencia/solución al respecto? :confused:
Desde ya, muchas gracias.
Saludos,
Edit 26.02.2016
field-symbols: <fs_okcode> type cua_code.
data: lv_okcode(22) type c value '(SAPLMGD2)RMMZU-OKCODE',
lv_okcode2(17) type c value '(SAPLMGD2)OK-CODE',
lv_stepl type sy-stepl.
get cursor line lv_stepl.
if lv_stepl eq sy-stepl.
assign (lv_okcode) to <fs_okcode>.
if <fs_okcode> is assigned and sy-tcode eq 'MM41'.
if <fs_okcode> eq 'EADE'
or input is initial
or sy-ucomm eq 'EADE'.
assign (lv_field) to <lf_table_control>.
if <lf_table_control> is assigned.
lt_control[] = <lf_table_control>[].
sort lt_control
by kzbme.
unassign <lf_table_control>.
endif.
assign (lv_field2) to <lf_table_control2>.
if <lf_table_control2> is assigned.
lt_control2[] = <lf_table_control2>[].
if sy-subrc is initial.
clear ls_control.
read table lt_control
into ls_control
with key kzbme = 'X'
binary search.
if sy-subrc is initial.
clear ls_control2.
read table lt_control2
into ls_control2
index lv_stepl.
if sy-subrc is initial.
if ls_control-kzbme eq ls_control2-hpean
and ls_control-ean11 eq ls_control2-ean11
and ls_control-numtp eq ls_control2-numtp.
clear sy-ucomm.
assign (lv_okcode) to <fs_okcode>.
if <fs_okcode> is assigned.
clear <fs_okcode>.
endif.
assign (lv_okcode2) to <fs_okcode>.
if <fs_okcode> is assigned.
clear <fs_okcode>.
endif.
output = input.
message e208(00) with text-e04.
endif.
endif.
endif.
endif.
unassign <lf_table_control2>.
endif.
endif.
endif.
endif.
Este es el código que coloqué en la field exit, al momento de la fecha cumple con lo requerido por el usuario, cualquier cambio lo plasmo en el mensje.
Saludos,