MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 28/10/10, 11:16:08
jaqs00 jaqs00 is offline
Junior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 11
User Exit??

Buenos dias a todos, mi problema es el siguiente:

La consultora de MM de mi empresa, ha añadido un nuevo tipo de imputacion, para las solicitudes de pedido (ME51N), y quiere que cuando se utilice esta imputacion nueva, obligue a los usuarios a rellenar 2 campos en una pestaña de los detalles de posicion.

Para ello, creo que lo mas sencillo seria hacer un "warrnig", que no les dejara grabar la solicitud, mediante una user exit de la transaccion, pero el problema es que soy algo novato en esto de las user exit, y ando un poco perdido.

Muchas gracias a todos de antemano.
Responder Con Cita
  #2  
Viejo 28/10/10, 16:29:58
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
User exit

Puedes hacer una user-exit, pero en la transacción de pedidos yo haria una validación, transaccion ggb0, en donde indicas el nombre de la transacción sobre la que quieres validar y el mensaje que quieras, warning o error, si tienes dudas, es facil, me comentas
Responder Con Cita
  #3  
Viejo 28/10/10, 20:19:18
caralbgro caralbgro is offline
Senior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 478
usa esta exit

MEREQ001

EXIT_SAPLMEREQ_001
EXIT_SAPLMEREQ_002
EXIT_SAPLMEREQ_003
EXIT_SAPLMEREQ_004
EXIT_SAPLMEREQ_005
EXIT_SAPLMEREQ_006
EXIT_SAPLMEREQ_007
EXIT_SAPLMEREQ_008
EXIT_SAPLMEREQ_009
EXIT_SAPLMEREQ_010

espero que te sirva!!
Responder Con Cita
  #4  
Viejo 02/11/10, 11:36:47
jaqs00 jaqs00 is offline
Junior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 11
gracias

Muchas gracias, por las respuestas, pero no me han servido de mucho, ya que al ser novato en las user, no se que userexit usar.
Y en cuano a la tx ggb0, tampoco se como meter los datos.
Responder Con Cita
  #5  
Viejo 02/11/10, 13:43:58
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
Copia y pega este programa, te busca las user por transaccion

*&---------------------------------------------------------------------*
*& Modulpool ZBC_USER_EXIT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

PROGRAM zbc_user_exit NO STANDARD PAGE HEADING.

INCLUDE zbc_user_exit_top. "


*& Parameters
PARAMETERS: p_tcode LIKE tstc-tcode OBLIGATORY.

INCLUDE zbc_user_exit_f01.

*& Main Process
START-OF-SELECTION.

PERFORM print_projects.

END-OF-SELECTION.

*& User commands
AT LINE-SELECTION.

GET CURSOR FIELD field1.

CHECK field1(4) EQ 'JTAB'.

SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).

CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

*----------------------------------------------------------------------*
* INCLUDE ZBC_USER_EXIT_F01 *
*----------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form print_projects
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*

FORM print_projects.

SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR'
AND object = 'PROG'
AND obj_name = tstc-pgmna.
MOVE : tadir-devclass TO v_devclass.
IF sy-subrc NE 0.
SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna.
IF trdir-subc EQ 'F'.
SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna.
SELECT SINGLE * FROM enlfdir WHERE funcname =
tfdir-funcname.
SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR'
AND object = 'FUGR'
AND obj_name EQ enlfdir-area.

MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
SELECT * FROM tadir INTO TABLE jtab
WHERE pgmid = 'R3TR'
AND object = 'SMOD'
AND devclass = v_devclass.
SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND
tcode EQ p_tcode.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
SKIP.
IF NOT jtab[] IS INITIAL.
WRITE:/(95) sy-uline.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 sy-vline,
2 'Nombre Exit',
21 sy-vline ,
22 'Descripcion',
95 sy-vline.
WRITE:/(95) sy-uline.
LOOP AT jtab.
SELECT SINGLE * FROM modsapt
WHERE sprsl = sy-langu AND
name = jtab-obj_name.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
WRITE:/1 sy-vline,
2 jtab-obj_name HOTSPOT ON,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
ENDLOOP.
WRITE:/(95) sy-uline.
DESCRIBE TABLE jtab.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'Numero de User Exits:' , sy-tfill.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'No existe ningun User Exit'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'El codigo de transaccion no existe'.
ENDIF.

ENDFORM. " print_projects

*&---------------------------------------------------------------------*
*& Include ZBC_USER_EXIT_TOP *
*& *
*&---------------------------------------------------------------------*

*& Tables
TABLES :
tstc, " SAP Transaction Codes
tadir, " Directory of Repository Objects
modsapt, " SAP Enhancements - Short Texts
modact, " Modifications
trdir, " System Table TRDIR
tfdir, " Function Module
enlfdir. " Additional Attributes for Function Modules

TABLES: tstct.

*& Variables
DATA: jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA: field1(30).
DATA: v_devclass LIKE tadir-devclass.
Responder Con Cita
  #6  
Viejo 02/11/10, 13:52:04
jaqs00 jaqs00 is offline
Junior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 11
User

Hasta aqui bien, tengo un programa muy parecido para encontrar las user exit, por transaccion, el problema que tengo es que la transaccion ME51N, tiene 10 user, y no se en cual de ellas tengo que meter el codigo.

Muchas gracias
Responder Con Cita
  #7  
Viejo 02/11/10, 13:55:17
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
¿Que user exit usar?

Quieres modificar el tipo de imputacion cierto?, vale pues por el nombre del campo se puede sacar cual es, sino ponle un break point, pero por el menu, no break-point por sentencia, y ves donde se para y si tiene la estructura con el campo que tu quieres modificar, sino me dices y te lo hago yo
Responder Con Cita
  #8  
Viejo 02/11/10, 14:03:41
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
Listado de user

Puedes pasarme la lista con las 10 user-exit, y te digo cual es?
Responder Con Cita
  #9  
Viejo 02/11/10, 14:11:24
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
Encontre una

A mi solo me encuentra esta MEREQ001, y puede servirte pero si me pasas las 10 que te salen te puedo decir cual es y como se hace
Responder Con Cita
  #10  
Viejo 02/11/10, 14:18:13
agv1976 agv1976 is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 66
dentro de la user que te envie, el primer modulo de funciones que aparece doble click, pinchas sobre el Z que te aparece, lo creas, y mira este codigo no es lo mismo que tienes que hacer porque cambia el campo pero te puede servir, porque te dice a que estructura va cuando grabas la solicitud del pedido,

* Obtener modo
CALL METHOD im_req_item->get_activity
RECEIVING
re_aktvt = gv_trtyp_11.

CLEAR: gv_idimpexp.

CONCATENATE gc_modo_ejec sy-uname INTO gv_idimpexp.

EXPORT gv_trtyp FROM gv_trtyp_11 TO MEMORY ID gv_idimpexp.

*se recupera datos de la solicitud
CALL METHOD im_req_item->get_data
receiving
re_data = gs_mereq_item
.

CALL METHOD im_req_item->get_persistent_data
receiving
re_data = gs_eban_11
.

*Al grabar la solicitud los datos estarán en la estructura gs_eban_11
CLEAR gv_idimpexp.
CONCATENATE gc_eban sy-uname INTO gv_idimpexp.

EXPORT gv_banfn FROM gs_eban_11-banfn TO MEMORY ID gv_idimpexp.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 09:25:52.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web