100% encontró este documento útil (1 voto)
765 vistas6 páginas

Conectar Java Con SAP JCO Connector

Este documento describe cómo conectar una aplicación Java a SAP usando el conector JCO para consultar datos de una tabla SAP. Se explica cómo crear una función RFC en SAP para recuperar una lista de registros de una tabla y cómo acceder a esa función desde Java, recorriendo y mostrando los valores devueltos.

Cargado por

martin_josep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
765 vistas6 páginas

Conectar Java Con SAP JCO Connector

Este documento describe cómo conectar una aplicación Java a SAP usando el conector JCO para consultar datos de una tabla SAP. Se explica cómo crear una función RFC en SAP para recuperar una lista de registros de una tabla y cómo acceder a esa función desde Java, recorriendo y mostrando los valores devueltos.

Cargado por

martin_josep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Conectar Java con SAP JCO Connector

En este ejemplo veremos como conectarnos a SAP desde Java y consultar los datos de una tabla
de SAP, para lograr esto utilizaremos el driver JCO Connector, que tambien se podra usar
WebService para la coneccon pero esto sera otro tema.

Ahora debemos bajarnos el Conector del siguiente link SAP Marketplace nos pedir un usuario y
contrasea este usuario lo tienen las empresas, partners, y otros que tienen alguna relacin con
SAP, pero si no tenemos el usuario para poder acceder a la pgina los bajamos de este link click
aqui

Ingresamos a SAP y creamos una funcin RFC que no har mas que traernos una lista de
registros de una tabla de SAP para luego procesarlo en nuestra aplicacin en java.

Entramos a la transaccin SE37 para crear nuestra funcin: ZRCF_SPFLI_LIST

Seleccionamos la pestaa "Import"...

El parmetro "CARRID" ser opcional, luego en la pestaa "Tables":

El parmetro "FLIGHT_LIST" nos devolver los valores que recogeremos en nuestra aplicacin
en java.
En la pestaa "Source code" escribiremos el cdigo que obtendr los datos de la tabla de SAP.

Para terminar con nuestra funcin tenemos que indicarle que ser un RFC (Remote Function
Call) para poder acceder a el desde la aplicacin.

Grabamos y Activamos la funcin, y ya se encuentra listo para usarlo.

Antes de pasar a crear nuestra aplicacion, debemos colocar las librerias del jco connector en la
carpeta de windows, cuando descargamos el conector nos adjunta una dll:

librfc32.dll : colocar en la carpeta "C:\WINDOWS\system32\"


Ahora pasaremos a crear la aplicacin en java que acceder a la funcin rfc, para esto creamos
un nuevo proyecto "Java Application" e ingresamos el nombre del proyecto, seguidamente
agregamos la librera al proyecto "sapjco":

Escribiendo en nuestra clase:


Importamos la librera:

Declaramos las variables que utilizaremos:

Establecemos la conexion al servidor...

Accedemos a la funcin:

Recorremos los valores de nuestra tabla que se obtuvo de la funcin:

Ejecutamos y el resultado es...

Cdigo Completo:

package test_sap_jco;

import com.sap.mw.jco.*;
/**
*
* @author carlos
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JCO.Client client = null;
JCO.Function funcion = null;
JCO.Table t_spfli = null;

IRepository repositorio = null;


IFunctionTemplate ftemplate = null;
try {
client = JCO.createClient("000",
"bcuser",
"minisap",
"EN",
"localhost",
"00");

//Creando el repositorio para las funciones


repositorio = JCO.createRepository("MiRepositorio",
client);
//Indicamos que funciones queremos utilizar
ftemplate =
repositorio.getFunctionTemplate("ZRCF_SPFLI_LIST".toUpperCase());
//Obtenemos la funcion del SAP
funcion = ftemplate.getFunction();
//Pasamos parametros a la funcion
funcion.getImportParameterList().setValue("AA", "CARRID");

//Ejecutamos la funcion
client.execute(funcion);
//Capturamos el parametro de Salida
t_spfli =
funcion.getTableParameterList().getTable("FLIGHT_LIST");

System.out.println("Nro de Filas:" +t_spfli.getNumRows());

for (int i= 0;i<t_spfli.getNumRows();i++){


t_spfli.setRow(i);
System.out.println(t_spfli.getString("CARRID")

+ "

t_spfli.getString("CONNID")

+ "

" +

" +
t_spfli.getString("COUNTRYFR") + "
" +
t_spfli.getString("CITYFROM")

+ "

t_spfli.getString("AIRPFROM")

+ "

" +

" +
t_spfli.getString("COUNTRYTO") + "
" +
t_spfli.getString("CITYTO"));
}
} catch (Exception e) {
System.out.println("Error:" +e.getMessage());
}
}
}

También podría gustarte