PDA

Ver la Versión Completa : Problemas con un Batch Input !!URGENTE!!


Aascan
07/11/07, 19:51:40
Hola a todos,

Estoy desarrollando un batch input para extender materiales de un centro a otro (Tx MM01). Me hago la grabación y genero el código del programa, pero se me presenta el siguiente error:

Me permito explicarles: Cuando se va a extender un material, el sistema abre un dynpro donde debo seleccionar las vistas que voy a considerar para la extensión del mismo (dynpro 'SAPLMGMM' '0070'). Ahora bien, para ciertos tipos de material dicho dynpro consta de hasta 25 vistas, pero éste sólo muestra 21, por lo que debo usar la flecha abajo tres veces para desplazarme hacia abajo en el dynpro y seleccionar las vistas adicionales que al principio no se mostraban.

Cuando hago la grabación de la transacción (Tx SM35) la misma me considera en efecto las tres veces que usé flecha abajo:

perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-KZSEL(01)'.
perform bdc_field using 'BDC_OKCODE' (Aquí)
'/00'.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-KZSEL(01)'.
perform bdc_field using 'BDC_OKCODE' (Aquí)
'/00'.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-KZSEL(01)'.
perform bdc_field using 'BDC_OKCODE' (Aquí)
'/00'.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-KZSEL(21)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.

Pero cuando corro el juego de datos (-como buen ser humano siempre lo ejecuto en modo visible para probarlo bien-) me doy cuenta de que en el famoso dynpro de selección de vistas no baja las tres veces que grabé, por lo que explota el batch.

Lo que les pido a ustedes -cualquiera que pueda ayudarme- es que me digan si existe alguna forma de corregir este error, supongo que no debo ser la primer persona en el mundo al que le haya pasado esto.

Si alguien así lo desea, anexo el codigo completo del programa para un análisis mas detallado.

Gracias por adelantado a cualquiera que pueda ayudarme.

Sin más

Asdrúbal Ascanio

aascan@hotmail.com
aascan@gmail.com

ballan
08/11/07, 07:40:07
Yo lo que hacia era utilizar el boton de seleccionar todo y luego deseleccionar manualmente las vistas que no me interesaban

Si mal no recuerdo en la grabacion te apareceran unas estructuras del tipo

nombrepantallaSELFLAG(01) = 'X'
nombrepantallaSELFLAG(02) = 'X'
nombrepantallaSELFLAG(03) = 'X'
.
.
.

si lo marcas en blanco te deseleccionar las vistas, realiza algunas pruebas y seguro que al final das con ello

Aascan
08/11/07, 12:03:09
Tal como me lo indicas, en efecto la grabación me devuelve:

nombrepantallaSELFLAG(01) = 'X'
nombrepantallaSELFLAG(02) = 'X'
nombrepantallaSELFLAG(03) = 'X'
.
.
.
y asi hasta llegar a la SELFLAG(21) = 'X'

Si selecciono todas, (OKCODE=SELA) cuando baje con la flecha, el sistema vuelve a contar desde la 01 hasta la 21. Me explico mejor: Lo que antes era la posición 4 (nombrepantallaSELFLAG(04) = 'X') al bajar con la flecha 3 veces, pasa a ser la posicion 1 (nombrepantallaSELFLAG(01) = 'X').

O sea, en el pagineo del dynpro se reinicializan los contadores.

¿Entiendes ahora mi perplejidad?... Esta vaina me trae loco :confused:

De cualquier manera, voy a seguir tu sugerencia de seleccionar todo y luego desmarcar, a ver que me devuelve la grabación..

Cualquier otra cosa que se te ocurra, no dejes de hacérmelo saber

Gracias

Aascan