|
#1
|
||||
|
||||
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??? |
#2
|
|||
|
|||
Hola Driau y porque no haces algo mas sencillo utiliza un submit
al programa Z28E le creas una variable de entrada parameters con valor entero. luego cuando llamas al masivo generas tu contador y ese contador se lo envias como parametro al programa z283. Saludos |
#3
|
||||
|
||||
El problema...
Es que el programa no lo he hecho yo y quisiera mantener el codigo tal cual esta en la medida de lo possible. Quizás no te he entendido bien..pero puedo combinar el SUBMIT con el CALL TRANSACTION??? Es decir, tal cual esta ahora no le puedo meter un SUBMIT no???
|
#4
|
|||
|
|||
Hola, el que ha hecho ese programa no tiene idea para que casos se utiliza un batch input. el batch input , es para entrada netamente de datos , no para impresiones. mira no borres lo q esta hecho . create otro procedimiento y hazlo con el submit. todos esos parametros q vez q esta siendo el batch input, facil lo puedes hacer con el submit. y el con el minimo codigo te pongo un ejmplo sencillo. SUBMIT ZCOB0001 WITH P_BLDAT EQ P_BLDAT WITH P_BUDAT EQ P_BUDAT . |
#5
|
||||
|
||||
Perdona mi incultura
Otro procedimiento es otro report???
|
#6
|
|||
|
|||
hola
Hola
creo q mejor convesamos por el msg . no crear otro reporte solo crear un nuevo form o comentar esa lineas y pones el nuevo cambio, en caso q deseas deshacer las modificaciones.. tomalo como si fuera un backup preventivo. Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|