Ver Mensaje Individual
  #1  
Viejo 30/10/08, 09:23:26
Avatar de Driau
Driau Driau is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 235
Mandar variable de un report a otro

Hola a todos,

Tengo un report llamado Z28E que lista los movimientos mensuales de un producto (muestra un ALV por pantalla). Tengo otro programa llamado Z28E_MASIVA que mediante un CALL TRANSACTION ejecuta X veces el Z28E pero este hace que el listado se imprima directamente por la impresora.

Estoy intentando que cuando salgan los X listados...salgan numerados. Por ello en el programa Z28E_MASIVA en donde se realiza el CALL TRANSACTION para cada uno de los materiales he hecho lo siguiente:

FORM procesar_materiales .
LOOP AT seleccion.

d_contador_tmp = d_contador_tmp + 1.
EXPORT d_contador_tmp TO MEMORY ID 'CONTADOR_PAGINAS'.


PERFORM bdc_dynpro USING 'Z28E' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ONLI'.
PERFORM bdc_field USING 'P_MATNR'
seleccion-matnr.
PERFORM bdc_field USING 'P_ANYO'
p_anyo.
PERFORM bdc_field USING 'P_SUBCOM'
p_subcom.
PERFORM bdc_field USING 'P_MATPRI'
p_matpri.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=&RNT'.
PERFORM bdc_dynpro USING 'SAPLSPRI' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PRIN'.
PERFORM bdc_field USING 'PRI_PARAMS-PDEST'
'Defecte Windows'.
PERFORM bdc_field USING 'PRI_PARAMS-PRCOP'
'1'.
PERFORM bdc_field USING 'RADIO0500_1'
'X'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=&F12'.
PERFORM bdc_dynpro USING 'Z28E' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/EECAN'.
PERFORM bdc_transaction USING 'Z28E'
'N'
'X'
'S'.
ENDLOOP.
ENDFORM. " procesar_materiales


He creado una variable que a cada iteracion icnrementa en uno el contador. Luego en el programa Z28E que es el que realmente acabar imprimiendo he puesto esto:

INITIALIZATION.

IMPORT d_contador FROM MEMORY ID 'CONTADOR_PAGINAS'.


Teoricamente esperaba que la variable d_contador obtuviera el valor que le pasa el report Z28E_MASIVA pero no es así...

Como puedo hacerlo? Como puedo pasar el valor de este contador de un programa a otro???
Responder Con Cita