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 09/05/12, 19:32:37
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090

Dile a tu ABAP que te lo arregle .
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #2  
Viejo 10/05/12, 16:09:24
Duarco Duarco is offline
Member
 
Fecha de Ingreso: jun 2009
Mensajes: 54
Thumbs up

Al parecer tu error esta en que hay alguna consulta donde se usan demasiados datos para filtrar la informacion, en este caso parece ser el campo E_DINV, Intena buscar una forma donde la consulta se filtre por rangos de seleccion, es decir, en lugar de filtrar por:

Campo = 1
Campo = 2
Campo = 3
Campo = 4
Campo = 5

filtra:

Campo este entre 1 y 5


espero haber sido de ayuda....
Responder Con Cita
  #3  
Viejo 15/05/12, 23:45:17
feredgar feredgar is offline
Junior Member
 
Fecha de Ingreso: ene 2012
Mensajes: 5
Gracias, ese campo lo tengo dentro de una función y ahi esta tronando... aunque filtre por rangos, ya hice la prueba... voy a tener que verlo con un abap....
Saludos.
Responder Con Cita
  #4  
Viejo 15/05/12, 23:50:45
feredgar feredgar is offline
Junior Member
 
Fecha de Ingreso: ene 2012
Mensajes: 5
En sí me están sucediendo dos casos en dos transaccioens diferentes. En el primero es una tx ZETA y el detalle del error dice:

----------------------------------------------------------------------------------------------------
|Info posición de cancelación |
| Termination occurred in the ABAP program "SAPLZMZA" - in |
| "ZMM_CALC_DIAS_INVENTARIO". |
| The main program was "ZMM_DATOS_COMPRAS_1_BK ". |
| |
| In the source code you have the termination point in line 345 |
| of the (Include) program "LZMZAU02". |
| The termination is caused because exception "CX_SY_CONVERSION_OVERFLOW" |
| occurred in |
| procedure "ZMM_CALC_DIAS_INVENTARIO" "(FUNCTION)", but it was neither handled |
| locally nor declared |
| in the RAISING clause of its signature. |
| |
| The procedure is in program "SAPLZMZA "; its source code begins in line |
| 1 of the (Include program "LZMZAU02 ". |
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
|Detalle código fuente |
----------------------------------------------------------------------------------------------------
|Lín. |Txt.fte. |
----------------------------------------------------------------------------------------------------
| 315| CLEAR: w_sales, w_max_sales. |
| 316| |
| 317| |
| 318|*Venta diaria = ( Acumulado de venta de las últimas 4 semanas ) / 28 días (valor fijo). |
| 319| w_vta_diaria = t_sales / ( i_wnumb * 7 ). |
| 320|*Existencia actual en días = ( Existencia en piezas + Stock tránsito ) / Venta diaria |
| 321| CATCH SYSTEM-EXCEPTIONS bcd_zerodivide = 1 |
| 322| compute_bcd_overflow = 2. |
| 323| w_exis_dias = ( existencia + stock ) / w_vta_diaria. |
| 324| ENDCATCH. |
| 325|*Inventario en días = Existencia actual en días – Tiempo de entrega del proveedor. |
| 326|******************** BEGIN OF DELETE JARC 09032012 ********************* |
| 327|** w_invent_dias = w_exis_dias - tiempo_entrega. |
| 328|********************* END OF DELETE JARC 09032012 ********************** |
| 329|******************** BEGIN OF INSERT JARC 09032012 ********************* |
| 330| w_invent_dias = w_exis_dias. |
| 331|********************* END OF INSERT JARC 09032012 ********************** |
| 332|*Pedido en días = ( Cantidad pedida) / Venta diaria ) + Cantidad en pedidos pendientes de re|
| 333| READ TABLE it_matp WITH KEY matnr = i_matnr. |
| 334| CATCH SYSTEM-EXCEPTIONS bcd_zerodivide = 1 |
| 335| compute_bcd_overflow = 2. |
| 336| w_pedido_dias = ( it_matp-menge ) / w_vta_diaria. |
| 337| ENDCATCH. |
| 338|* Días de Inventario = Inventario en días + Pedido en días |
| 339| w_dias_invent = w_invent_dias + w_pedido_dias. |
| 340| |
| 341| IF w_dias_invent < 0. |
| 342| CLEAR w_dias_invent. |
| 343| ENDIF. |
| 344| |
|>>>>>| MOVE: w_dias_invent TO e_dinv, |
| 346| w_vta_diaria TO e_vtad, |
| 347| existencia TO e_stock, |
| 348| stock TO e_stktr, |
| 349| it_matp-menge TO e_ppend. |
| 350| |
| 351| CLEAR: t_sales. |
| 352| |
| 353|ENDFUNCTION. |
----------------------------------------------------------------------------------------------------

en la segunda tx es la mb51 y el detalle con error es:
----------------------------------------------------------------------------------------------------
|Info posición de cancelación |
| Termination occurred in the ABAP program "RM07DOCS" - in "DATA_SELECTION". |
| The main program was "RM07DOCS ". |
| |
| In the source code you have the termination point in line 334 |
| of the (Include) program "RM07DOCS_GENERATED". |
| The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in |
| procedure "DATA_SELECTION" "(FORM)", but it was neither handled locally nor |
| declared |
| in the RAISING clause of its signature. |
| |
| The procedure is in program "RM07DOCS "; its source code begins in line |
| 302 of the (Include program "RM07DOCS_GENERATED ". |
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
|Detalle código fuente |
----------------------------------------------------------------------------------------------------
|Lín. |Txt.fte. |
----------------------------------------------------------------------------------------------------
| 304|* Data selection routine for standard access |
| 305| |
| 306|* process SELECT command depending on the |
| 307|* required material selection |
| 308| if g_cnt_matnr_total > 0 and |
| 309| g_cnt_matnr_total = g_cnt_matnr_i_eq. |
| 310|* work with .. for all entries ... |
| 311| select (g_t_fields) |
| 312| into corresponding fields of table itab |
| 313| from mkpf inner join mseg |
| 314| on mkpf~mandt = mseg~mandt |
| 315| and mkpf~mblnr = mseg~mblnr |
| 316| and mkpf~mjahr = mseg~mjahr |
| 317| for all entries in matnr |
| 318| where matnr = matnr-low |
| 319| and MKPF~BKTXT in BKTXT |
| 320| and MKPF~BUDAT in BUDAT |
| 321| and MSEG~BWART in BWART |
| 322| and MSEG~CHARG in CHARG |
| 323| and MSEG~EBELN in EBELN |
| 324| and MSEG~KUNNR in KUNNR |
| 325| and MSEG~LGORT in LGORT |
| 326| and MSEG~LIFNR in LIFNR |
| 327| and MSEG~SOBKZ in SOBKZ |
| 328| and MSEG~UMWRK in UMWRK |
| 329| and MKPF~USNAM in USNAM |
| 330| and MKPF~VGART in VGART |
| 331| and MSEG~WERKS in WERKS |
| 332| and MKPF~XBLNR in XBLNR |
| 333|. |
|>>>>>| else. |
| 335|* work with the select command as usual |
| 336| select (g_t_fields) |
| 337| into corresponding fields of table itab |
| 338| from mkpf inner join mseg |
| 339| on mkpf~mandt = mseg~mandt |
| 340| and mkpf~mblnr = mseg~mblnr |
| 341| and mkpf~mjahr = mseg~mjahr |
| 342| WHERE MKPF~BKTXT in BKTXT |
| 343| and MKPF~BUDAT in BUDAT |
| 344| and MSEG~BWART in BWART |
| 345| and MSEG~CHARG in CHARG |
| 346| and MSEG~EBELN in EBELN |
| 347| and MSEG~KUNNR in KUNNR |
| 348| and MSEG~LGORT in LGORT |
| 349| and MSEG~LIFNR in LIFNR |
| 350| and MSEG~MATNR in MATNR |
| 351| and MSEG~SOBKZ in SOBKZ |
| 352| and MSEG~UMWRK in UMWRK |
| 353| and MKPF~USNAM in USNAM |
----------------------------------------------------------------------------------------------------
Responder Con Cita
  #5  
Viejo 16/05/12, 14:39:17
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Hola Feredgar,
Con respecto a tu error en la transaccion Z deberías ver en la línea:

>>>>> MOVE: w_dias_invent TO e_dinv.

Seguramente el valor que está intentando mover de w_dias_invent a e_dinv es muy grande para el tipo de dato definido para variable receptora, por eso se produce el desbordamiento.
Cambiando el tipo de dato definido para E_DINV debería sortear dicho dump.
Para más seguridad puedes poner un breakpoint en esa línea de código y ver por debbug que valor intenta mover de una variable a otra y verificar esto que te comento.

Espero te sea útil la información.

Saludos.
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 19:21:28.


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