lunes, 7 de octubre de 2013

SAP JCO Connector

Hola buen día, hoy les traigo un ejemplo de conexión a SAP con JCO connector de JAVA, con la libreria 2.1.8 .

Aqui les muestro la clase de conexión:

import com.sap.mw.jco.JCO;
import com.sap.mw.jco.JCO.Client;
import com.sap.mw.jco.JCO.ParameterList;

public class Conexion {
    private ParameterList p_input;
    private ParameterList p_output;
    private Client cliente;
   
    public Conexion() {
        this.p_input=JCO.createParameterList();
        this.p_output=JCO.createParameterList();
        this.cliente= JCO.createClient("clave_user", "user", "pass+", "idioma", "ipserver", "puerto", "type_user");
    }
   
    public ParameterList getP_input() {
        return p_input;
    }
    public void setP_input(ParameterList p_input) {
        this.p_input = p_input;
    }
    public ParameterList getP_output() {
        return p_output;
    }
    public void setP_output(ParameterList p_output) {
        this.p_output = p_output;
    }
    public Client getCliente() {
        return cliente;
    }
    public void setCliente(Client cliente) {
        this.cliente = cliente;
    }       
}

Luego realizo mi operación:

import com.sap.mw.jco.JCO;

public class TestDAO {
Conexion cnx= new Conexion();
   
    public void obtenerRFC(String serie) {
        try {           
            //Creo el Repositorio
            cnx.setRepositorio(JCO.createRepository("RepositorioSAP", cnx.getCliente()));
            //creo el templete            cnx.setFtemplate(cnx.getRepositorio().getFunctionTemplate("ZMVIP_MB52".toUpperCase()));
           
            cnx.setFuncion(cnx.getFtemplate().getFunction());
          
            //Pasamos parametros a la funcion
            cnx.getFuncion().getImportParameterList().setValue("9C-PVSD", "CSI");
            cnx.getFuncion().getImportParameterList().setValue("00124020", "SKU");
            //ejecuto la función
            cnx.getCliente().execute(cnx.getFuncion());
           
            System.out.println(cnx.getFuncion().getExportParameterList().getString("STOCK"));
            System.out.println(cnx.getFuncion().getExportParameterList().getString("COMENTARIO"));
        } catch (Exception e) {
            System.out.println("TestDAO .obtenerRFC() : "+e.getMessage());
        }
    }
}

Espero y les sea de utilidad, cualquier duda comenten, saludos.

3 comentarios:

  1. Exelente compañero. saludos y mucho exito... Joelito

    ResponderEliminar
  2. seria posible que me enviaras las librerias jco para incluirlas en el proyecto no se por que motivo pero parece que las que baje vienen dañadas mi correo es jjta05@gmail.com

    ResponderEliminar