PDA

Ver la Versión Completa : User Exit me51n


mgambino
28/01/10, 12:48:31
Buenas!
Necesito controlar que en la solicitud de pedido, si la misma es de un material codificado no permita modificar el texto breve de material, pero si no es un material codificado que si se pueda cargar dicho campo.
Intente usando el user exit M06B0005 pero no me funciono ni siquiera pasa por el mismo.
Si alguien sabe si existe otro user exit que pueda utilizar o otra funcion se los agradezco:confused: :confused:

caralbgro
28/01/10, 13:22:20
cmod---ZMM00002

slds-

mgambino
28/01/10, 17:24:28
Pero cual es el modulo que lo contiene

yapbig
28/01/10, 18:14:48
y si probás con un field exit?
primero tenes que crearte el módulo de función FIELD_EXIT_+[Nombre del elemento de dato]

y luego tenes que activarlo en el programa dynpro que te interese que se ejecute el mismo con el programa RSMODPRF

Te pego un código de ejemplo

FUNCTION FIELD_EXIT_REBZG.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" REFERENCE(INPUT)
*" EXPORTING
*" REFERENCE(OUTPUT)
*"----------------------------------------------------------------------

TABLES: BSIK. "Contabilidad: Índice secundario p.acreedores (part.abiertas.)

DATA:
v_lifnr LIKE LFA1-LIFNR,
v_bukrs LIKE BSEG-BUKRS,
v_lbandera type boolean,
v_prog LIKE D020S-PROG,
v_dnum LIKE D020S-DNUM.

DATA: TI_BSIK LIKE STANDARD TABLE OF BSAK WITH HEADER LINE,
TI_FIELDS LIKE STANDARD TABLE OF DYNPREAD WITH HEADER LINE.


CHECK SY-TCODE = 'FB01'.

v_prog = 'SAPMF05A'.
v_dnum = sy-dynnr.

refresh TI_FIELDS.

MOVE 'LFA1-LIFNR' TO ti_fields-fieldname.
APPEND ti_fields.
MOVE 'BKPF-BUKRS' TO ti_fields-fieldname.
APPEND ti_fields.

CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = v_prog
DYNUMB = v_dnum
* TRANSLATE_TO_UPPER = ' '
* REQUEST = ' '
* PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = 'X'
* DETERMINE_LOOP_INDEX = ' '
* START_SEARCH_IN_CURRENT_SCREEN = ' '
* START_SEARCH_IN_MAIN_SCREEN = ' '
* START_SEARCH_IN_STACKED_SCREEN = ' '
* START_SEARCH_ON_SCR_STACKPOS = ' '
* SEARCH_OWN_SUBSCREENS_FIRST = ' '
* SEARCHPATH_OF_SUBSCREEN_AREAS = ' '
TABLES
DYNPFIELDS = TI_FIELDS
* EXCEPTIONS
* INVALID_ABAPWORKAREA = 1
* INVALID_DYNPROFIELD = 2
* INVALID_DYNPRONAME = 3
* INVALID_DYNPRONUMMER = 4
* INVALID_REQUEST = 5
* NO_FIELDDESCRIPTION = 6
* INVALID_PARAMETER = 7
* UNDEFIND_ERROR = 8
* DOUBLE_CONVERSION = 9
* STEPL_NOT_FOUND = 10
* OTHERS = 11
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT TI_FIELDS.
CASE TI_FIELDS-FIELDNAME.
WHEN 'LFA1-LIFNR'.
v_lifnr = TI_FIELDS-FIELDVALUE.
WHEN 'BKPF-BUKRS'.
v_bukrs = TI_FIELDS-FIELDVALUE.
ENDCASE.
ENDLOOP.

v_lbandera = 1.

SELECT *
FROM BSIK
INTO TABLE TI_BSIK
WHERE BUKRS = v_bukrs
AND LIFNR = v_lifnr
AND UMSKS = 'A'
AND UMSKZ = 'A'
AND XZAHL = 'X'.

IF NOT TI_BSIK[] IS INITIAL AND INPUT IS INITIAL.
READ TABLE TI_BSIK INDEX 1.
MESSAGE E000(FIELD_EXITS_F41) WITH BSIK-BELNR.
ENDIF.

ENDFUNCTION.

yapbig
28/01/10, 18:18:43
Hay que tener en cuenta que hay que activar el uso de FIELD EXIT a través de la habilitación de una variable de entorno de SAP. Esto se lo vas a tener que pedir al BASIS de tu empresa

cosagaucha
30/09/10, 20:26:54
hola, estoy en la me21n, y tengo que validar las lineas de materiales, y para esto, tomo los datos de la linea, usando la funcion: DYNP_VALUES_READ y anda todo de perillas, PERO....

como hago para validar esto mismo, cuando la grilla de materiales, tiene mas de una linea? (mas de un material)

gracias de antemano por la ayuda!