PDA

Ver la Versión Completa : Problema con Batch input


aconnell
07/07/08, 18:10:25
Hola expertos, estoy desarrollando un batch input de la transacción PC00_M17_CEDT. Si ejecuto esta transacción y envío el recibo por correo (Lista --> Grabar/Enviar --> Office) me abre una nueva pantalla (SAPLSO04) y en ella me permite introducir el titulo, dirección y tipo de destinatario.. y todo ok..
Pero si quiero hacer el batch input de esa grabación solo me llega a (Lista --> Grabar/Enviar --> Office), no me abre la seguiente pantalla (pierdo el siguiente dynpro) y me dice que el correo ha sido enviado a mi carpeta de salida , lo cual es correcto pero no lleva los datos del destinatario.
les anexo el código para ver quien me puede ayudar..
Gracias de antemano por la ayudita:)

loop at it_salida.
clear ws_pernr.
ws_pernr = it_salida-pernr.
* Inicializar registros del batch input
refresh bdcdata.
* Cambio de pantalla de selección.
perform bdc_dynpro using 'HVECEDT0' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=$PER'.
* Ejecuta el programa que emite el recibo
perform bdc_dynpro using 'HVECEDT0' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=ONLI'.
perform bdc_field using 'PNPXABKR'
pnpxabkr.
perform bdc_field using 'PNPABKRS-LOW'
pnpxabkr.
perform bdc_field using 'PNPTIMRA' "otro periodo
'X'.
perform bdc_field using 'PNPPABRP' "periodo
ws_periodo.
perform bdc_field using 'PNPPABRJ' "año
ws_year.
perform bdc_field using 'PNPPERNR-LOW' "numero de personal
ws_pernr.
perform bdc_field using 'PAYTY' "
payty.
perform bdc_field using 'PAYID' "
payid.
perform bdc_field using 'BONDT' "
ws_bondt.
perform bdc_field_check using 'FORMULAR' "Formulario
'ZSNA'.
perform bdc_field_check using 'ANDRUCK' "
'A'.
perform bdc_field_check using 'RUECKD' "
'L'.
perform bdc_field_check using 'RUECKR' "
'A'.
perform bdc_field_check using 'SORT_RR' "
'3'.
perform bdc_field_check using 'SPRACHE' "
'B'.
perform bdc_field_check using 'PRT_PROT' "
'X'.
perform bdc_field_check using 'CUR_FP' "
'X'.

* SEGUNDA PANTALLA 'SAPMSSY0' '0120'.
* Se indica que se quiere enviar por office:
* Lista---->Grabar/Enviar---->Office
perform bdc_dynpro using 'SAPMSSY0' '0120'.
perform bdc_field using 'BDC_OKCODE'
'=%SL'.
++++++++++++ de aqui en adelante se pierde y no lo ejecuta+++++
* TERCERA PANTALLA Crear y enviar Documentos.
perform bdc_dynpro using 'SAPLSO04' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=SEND'.
perform bdc_field using 'SOS04-L_ADR_NAME(01)' " Destinatario
* it_salida-correo.
perform bdc_field using 'SOS04-L_ESC_DES(01)' "tipo destinatario
'U'.

* cuarta PANTALLA.Regresar
perform bdc_dynpro using 'SAPMSSY0' '0120'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.

* QUINTA PANTALLA. Regresar
perform bdc_dynpro using 'HVECEDT0 ' '1000'.
perform bdc_field using 'BDC_OKCODE'
'/EE'.

* Ejecutar la transacción
call transaction 'PC00_M17_CEDT' using bdcdata
mode c_ctumode
update c_cupdate
messages into messtab.
endloop.