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




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 28/02/08, 17:15:01
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53
Batch input para llenar tabla transparente...

Hola compañeros, hoy vengo con una mas de todas mis dudas!... jeje

Alguien sabe como hacer una batch input que me guarde de la clasica base de datos de SQL (la llamada Northwind) a una tabla transparente en sap ?

Gracias.
Responder Con Cita
  #2  
Viejo 28/02/08, 17:35:22
sconoredhot sconoredhot is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Argentina, Rosario
Mensajes: 341
Hola, tendrias que tratar de pasar primero los datos de Northwind a un archivo TXT, para después hacer un batch input desde SAP haciendo un gui_upload y pasando esos datos a la tabla transparente previamente creada.
__________________
Sebas

Desarrollador ABAP.
Responder Con Cita
  #3  
Viejo 28/02/08, 20:43:36
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53
Gracias sconoredhot.... pero no tendrias informacion un poco mas grafica (manual, documento).... Estoy empezando en esto es por eso que alguna informacion no se me aclara a la primera... jeje

Saludos!
Responder Con Cita
  #4  
Viejo 28/02/08, 20:59:01
larmadovr larmadovr is offline
Member
 
Fecha de Ingreso: ene 2008
Localización: Monterrey N.L. México
Mensajes: 77
Thumbs up que tal:

El objetivo es pasar datos de una tabla SQL a una transparente(Z) en SAP?

si es así no necesitas un batch input, solo hay que cargar los datos desde un archivo plano o un excel y que los modifique en la tabla transparente. Y se puede hacer con un programa tipo reporte.

Si es así dime y te mando un ejemplo. O explicame un poco más para saber el motivo de hacer un batch input, ya que generalmente el batch se utiliza para generar un juego de datos que será ejecutado posteriormente desde la SM35 y que simulará un usuario interactuando con la operación de una transacción.

Explicame para ayudarte mejor amigo.

Saludos
Responder Con Cita
  #5  
Viejo 28/02/08, 22:35:50
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53
Asi Es !!



Si... mira, tengo la base de datos NORTHWIND en access, lo que quiero hacer es cargarla a una tabla Z en sap con sus mismas caracteriscatas obviamente.


GRacias por la informacion extra sobre los batch inputs... me fue muy util !!

Estoy al tanto de la respuesta!
Responder Con Cita
  #6  
Viejo 28/02/08, 23:59:47
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
Hola bacha!!

Trata con este manual, es muy sencillo de entender.



Saludos.
Responder Con Cita
  #7  
Viejo 29/02/08, 14:07:36
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53
Red face


Gracias ZOnanet.. me podrias dar una pequeña explicacion en como usar el programa esque esta en portugues o algo asi.....
Responder Con Cita
  #8  
Viejo 29/02/08, 14:10:38
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195


Creo que te mandé mal la dirección, si me das tu correo te lo hago llegar, es en español y viene con un ejemplo aunque sencillo bien explicado.

Saludos!
Responder Con Cita
  #9  
Viejo 29/02/08, 14:42:00
Avatar de bacha
bacha bacha is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 53


Claro, mira es:


Espero respuesta !
Responder Con Cita
  #10  
Viejo 29/02/08, 17:46:00
larmadovr larmadovr is offline
Member
 
Fecha de Ingreso: ene 2008
Localización: Monterrey N.L. México
Mensajes: 77
Thumbs up Que tal bacha, aqui va un ejemplo especial para ti y que puedas comprender facilmente

El siguiente ejemplo llena una tabla Z llamada ZRUTA_ARCH que tomé solo como un ejemplo, y te explico brevemente que hace.

1.- Tienes que tener un excel con los datos que deseas llenar en la tabla Z
2.- Tienes que tener tu tabla Z ya previamente creada con los tipos de datos homologados a tu access(como sabemos no son iguales, pero no pasa nada, por que el excel lo toma como cadena, solo ten cuidado que en la tabla Z haya numericos, char, string, package o N, de acuerdo a la necesidad)
3.- Modifica la tabla interna que hay en el programa de acuerdo a tus necesidades de campos
4.- La estructura tienes que hacer referencia a tu tabla Z
5.- Ya que esta llena la tabla interna hace un loop para empezar a pasar datos de la tabla interna a la estructura, esto para no tener problemas por compatibilidad de datos
6.- Hace un modify para que no haya duplicados, en el insert podria marcar error.
7.- Hace el commit work
8.- Listo, ve a ver tu tabla Z para que confirmes los registros que acabas de meter.


Empezamos.

REPORT zpruebas_lavr MESSAGE-ID zttl LINE-SIZE 130.

*---------------------------------------------------------------------*
* INCLUDE PARA DEFINICIÓN DE DATOS *
*---------------------------------------------------------------------*
INCLUDE zpruebas_lavr_t001.

*---------------------------------------------------------------------*
* INCLUDE PARA DEFINICIÓN SUBRUTINAS *
*---------------------------------------------------------------------*
INCLUDE zpruebas_lavr_f001.

*---------------------------------------------------------------------*
* EVENTO START-OF-SELECTION *
*---------------------------------------------------------------------*
START-OF-SELECTION.

* Lee un archivo xls y lo carga en una tabla interna
PERFORM f_lee_archivo.

* Recorre tabla interna y va cargando datos en tabla Z
PERFORM f_modifica_tabla_z.


*----------------------------------------------------------------------*
* ZPRUEBAS_LAVR_T001 *
*----------------------------------------------------------------------*


*----------------------------------------------------------------------*
* Definición de parámetros de entrada *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK param WITH FRAME TITLE text-001.

PARAMETERS: ruta LIKE rlgrap-filename OBLIGATORY DEFAULT
'C:\CARPETA\ARCHIVO.XLS' LOWER CASE.

SELECTION-SCREEN END OF BLOCK param.

*----------------------------------------------------------------------*
* Definición de tablas internas *
*----------------------------------------------------------------------*

* Tabla que almacena los registros de las filas y columnas de xls
DATA: BEGIN OF i_excel OCCURS 0,
fila LIKE alsmex_tabline-row,
columna LIKE alsmex_tabline-col,
valor LIKE alsmex_tabline-value,
END OF i_excel.

* Tabla que almacena los campos que vienen del archivo
* Estos pueden variar de acuerdo a la tabal que deseamos llenar
DATA: BEGIN OF ti_archivo OCCURS 0,
mandt LIKE zruta_arch-mandt,
id LIKE zruta_arch-id,
progname LIKE zruta_arch-progname,
ruta LIKE zruta_arch-ruta,
END OF ti_archivo.

*----------------------------------------------------------------------*
* Definición de estructuras *
*----------------------------------------------------------------------*
* Se crea una estructura para poder hacer el modify directo a la tabla Z
* y evitar errores por tipos de datos
DATA: BEGIN OF s_zruta_arch.
INCLUDE STRUCTURE zruta_arch.
DATA: END OF s_zruta_arch.

*----------------------------------------------------------------------*
* ZPRUEBAS_LAVR_F001 *
*----------------------------------------------------------------------*


*&---------------------------------------------------------------------*
*& Form F_LEE_ARCHIVO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_lee_archivo.

* Función que descarga datos desde archivo excel
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = ruta
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '4' " NUMERO DE CAMPOS DE ARCHIVO
i_end_row = '65000'
TABLES
intern = i_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.

IF sy-subrc EQ 0.
* Función para llenar datos descargados en tabla interna
PERFORM f_llena_tabla.
ELSE.
MESSAGE i001 WITH text-002.
ENDIF.

ENDFORM. " F_LEE_ARCHIVO
*&---------------------------------------------------------------------*
*& Form f_llena_tabla
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_llena_tabla.

LOOP AT i_excel.
CASE i_excel-columna.
WHEN '1'.
MOVE i_excel-valor TO ti_archivo-mandt.
WHEN '2'.
MOVE i_excel-valor TO ti_archivo-id.
WHEN '3'.
MOVE i_excel-valor TO ti_archivo-progname.
WHEN '4'.
MOVE i_excel-valor TO ti_archivo-ruta.
ENDCASE.
AT END OF fila.

APPEND ti_archivo.
CLEAR ti_archivo.
ENDAT.
ENDLOOP.

ENDFORM. " f_llena_tabla
*&---------------------------------------------------------------------*
*& Form F_MODIFICA_TABLA_Z
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_modifica_tabla_z.

LOOP AT ti_archivo.
IF sy-subrc EQ 0.
* Se mueven el registro de la tabal interna a la estructura
MOVE-CORRESPONDING ti_archivo TO s_zruta_arch.
* Se utiliza el modify en lugar de inser, para que haya problemas si se
* duplica algun registro por error, o por que lo ejecutes N veces
MODIFY zruta_arch FROM s_zruta_arch.
* Graba en tabla transparente
COMMIT WORK.
CLEAR: ti_archivo, s_zruta_arch.
ENDIF.
ENDLOOP.

ENDFORM. " F_MODIFICA_TABLA_Z

Listo, si tienes alguna duda, estoy para servirte.

Saludos.
Responder Con Cita
Respuesta


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 18:37:27.


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