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 04/07/11, 10:28:00
sschacon sschacon is offline
Junior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 18
Error con META4

Hola a todos!!! y gracias de antemano!
Tengo un programa ABAP que conecta con META4. Mi código está copiado de programas antiguos que hay por aquí y que funcionan correctamente. Bueno, en desarrollo, no funciona ningún código, ni el mío ni el antiguo. En productivo, funciona el código antiguo y el mío no. La única diferencia entre desarrollo y productivo es el usuario con el que se conecta. Han estado mirando permisos de usuario y dicen que están iguales. En realidad no da error de conexión, eso no falla. Lo que ocurre es que si leo una tabla en META4, siempre me la trae vacía, cuando se puede ver perfectamente que contiene datos. No sé si a alguien se le puede ocurrir algo de qué puede estar fallando. Lo único que me queda, es copiar literalmente un código que funcione en productivo a mi programa y probarlo.

Pongo un poco de código, para que os hagáis una idea:


* Abrimos la conexión con META4
PERFORM abrir_conexion USING interface
CHANGING result
lo_conn_obj.
*&---------------------------------------------------------------------*
*& Form ABRIR_CONEXION
*&---------------------------------------------------------------------*

FORM abrir_conexion USING p_interface
CHANGING p_result
p_lo_conn_obj.

DATA: gc_db_conn TYPE dbcon_name,
lx_parameter_invalid TYPE REF TO cx_parameter_invalid,
lx_sql_exception TYPE REF TO cx_sql_exception.
*&---------------------------------------------------------------------*

CLEAR: gc_db_conn, p_result, p_lo_conn_obj.
MOVE p_interface TO gc_db_conn.

TRY.
CALL METHOD cl_sql_connection=>get_connection
EXPORTING
con_name = gc_db_conn
RECEIVING
con_ref = p_lo_conn_obj.

CATCH cx_parameter_invalid INTO lx_parameter_invalid.

CATCH cx_sql_exception INTO lx_sql_exception.

CALL METHOD lx_sql_exception->if_message~get_text
RECEIVING
result = p_result.

CLEANUP.

ENDTRY.

ENDFORM. " ABRIR_CONEXION

Y este es el select a META4:

PERFORM construir_select_conceptos CHANGING l_conceptos.

*&---------------------------------------------------------------------*
*& Form CONSTRUIR_SELECT_CONCEPTOS
*&---------------------------------------------------------------------*

FORM construir_select_conceptos CHANGING p_conceptos TYPE string.

DATA: l_string_sql TYPE string,
n_acumulado(30) TYPE c,
id_concepto(4) TYPE n.


DATA: nombre(17) TYPE c.
*----------------------------------------------------------------------*

CLEAR p_conceptos.

l_string_sql = 'SELECT * FROM M4_CONCEPTOS_AUX'.

TRY.

lo_stmt_obj = lo_conn_obj->create_statement( ).
lo_result = lo_stmt_obj->execute_query( l_string_sql ).

* WHILE lo_result->next( ) > 0.

CLEAR: id_concepto, n_acumulado.

GET REFERENCE OF id_concepto INTO l_ref.
lo_result->set_param( l_ref ).

GET REFERENCE OF n_acumulado INTO l_ref.
lo_result->set_param( l_ref ).

CONCATENATE p_conceptos ' TO_NUMBER(' n_acumulado ') CONCEPTO_' id_concepto ','
INTO p_conceptos.

* ENDWHILE.


*
* concepto = (dsConceptos.Tables[0].Rows[i]["ID_CONCEPTO"]).ToString();
* nombre_columna = (dsConceptos.Tables[0].Rows[i]["N_ACUMULADO"]).ToString();
* coma = ",";
* if ( i == ( dsConceptos.Tables[0].Rows.Count -1 ) )
* {
* coma = " ";
* }
* string_conceptos = string_conceptos + " TO_NUMBER(" + nombre_columna + ") CONCEPTO_" + concepto+coma;
* }
* return string_conceptos;


CATCH cx_parameter_invalid INTO lx_parameter_invalid.
CALL METHOD lx_sql_exception->if_message~get_text
RECEIVING
result = result.

CATCH cx_sql_exception INTO lx_sql_exception.
CALL METHOD lx_sql_exception->if_message~get_text
RECEIVING
result = result.

CLEANUP.

ENDTRY.

IF p_conceptos IS INITIAL.
result = 'Error al leer los CC-Nómina en META4. No se han recuperado datos.'.
ENDIF.

ENDFORM. " CONSTRUIR_SELECT_CONCEPTOS

Nota: La tabla de META4 existe y contiene datos.
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 05:06:35.


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