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




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #2  
Viejo 19/01/11, 12:52:11
diegogui diegogui is offline
Member
 
Fecha de Ingreso: dic 2010
Mensajes: 33
Declariones para que funcione el batch input
* Estructuratye_mensaje TYPE bdcmsgcoll.
* TABLAS INTERNASTYPES tyt_mensaje TYPE STANDARD TABLE OF tye_mensaje,
tyt_bdcdata TYPE STANDARD TABLE OF bdcdata,
* TABLAS INTERNASDATA: gt_mensaje TYPE tyt_mensaje, " se muestra mensajes de error
gt_bdcdata TYPE tyt_bdcdata, " Se graba las grabaciones

FORM f_batch_input (se pasan los valores necesarios).

DATA: lv_trans TYPE char4 VALUE 'FB03'.

* Diferentes pantallas

PERFORM f_fill_bdcdata USING:
'X' 'SAPMF05L' '0100',
' ' 'BDC_CURSOR' 'RF05L-GJAHR',
' ' 'BDC_OKCODE' '/00',
' ' 'RF05L-BELNR' pvi_documento,
' ' 'RF05L-BUKRS' pvi_sociedad,
' ' 'RF05L-GJAHR' ' '.


* Se ejecuta el proceso por cada documento
PERFORM f_call_transaction USING gt_bdcdata
lv_trans
CHANGING gt_mensaje.
CLEAR gt_bdcdata.

ENDFORM. "f_ba_contable

FORM f_fill_bdcdata USING pvi_dynbegin TYPE c
pvi_name TYPE c
pvi_value TYPE c.

DATA: le_bdcdata TYPE bdcdata.
* "X" Indica si es una pantalla
IF pvi_dynbegin = 'X'.
CLEAR le_bdcdata.
le_bdcdata-program = pvi_name.
le_bdcdata-dynpro = pvi_value .
le_bdcdata-dynbegin = pvi_dynbegin.
APPEND le_bdcdata TO gt_bdcdata.
ELSE.
CLEAR le_bdcdata.
le_bdcdata-fnam = pvi_name.
le_bdcdata-fval = pvi_value.
APPEND le_bdcdata TO gt_bdcdata.
ENDIF.

ENDFORM. "f_fill_bdcdata

FORM f_call_transaction USING pvi_tipo_tran TYPE char4
CHANGING pte_messages TYPE tyt_mensaje.

*A=Visualizar Todo
*E=Visualizar pantallas sólo si hay errores
*N=No visualizar pantallas

DATA: lv_mode TYPE c VALUE 'N',
lv_update TYPE c VALUE 'L'.

CALL TRANSACTION pvi_tipo_tran USING gt_bdcdata
MODE lv_mode
UPDATE lv_update
MESSAGES INTO pte_messages.

ENDFORM. "f_call_transaction

FORM f_show_messages USING pti_messages TYPE tyt_mensaje
CHANGING pte_error TYPE tyt_error .

DATA: lv_error TYPE c VALUE 'E', "Error
lv_correcto TYPE c VALUE 'S', "Correcto
lv_n_error TYPE char3 VALUE '126',"Número Error
lv_n_advertencia TYPE char3 VALUE '060'."Número advertencia


DATA: lv_msgid TYPE sy-msgid,
lv_msgno TYPE sy-msgno,
le_messages TYPE tye_mensaje,
le_final_message TYPE message.
DATA: le_error TYPE tye_error.

LOOP AT pti_messages INTO le_messages.

lv_msgid = le_messages-msgid.
lv_msgno = le_messages-msgnr.

CALL FUNCTION 'WRITE_MESSAGE'
EXPORTING
msgid = lv_msgid
msgno = lv_msgno
msgty = le_messages-msgtyp
msgv1 = le_messages-msgv1
msgv2 = le_messages-msgv2
msgv3 = le_messages-msgv3
msgv4 = le_messages-msgv4
IMPORTING
messg = le_final_message.

IF sy-Subrc = 0.
WRITE: / le_final_message
ENDIF.

ENDFORM. " f_show_messages

f_call_transaction ejecuta la transacción que estas necesitando y la tabla cargada con el batch input . la rutina f_fill_bdcdata se encarga de hacer un append de las secuencias del batch input, la rutina f_show_messages se encarga de guardar los mensajes de error o éxito
Pasos.
1 - f_fill_bdcdata
2 - f_call_transaction
3 - f_show_messages

Bueno espero que te sirva.

Saludos

Diego G.
Responder Con Cita
 


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 22:50:25.


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