¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Conectarse a una Base de Datos SAP BO desde Java: Ejemplo simple con JCO y DI API

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 39 Vistas
0
Cargando...

Hola,

Tengo una Aplicación Java y me gustaría conectarme a una Base de Datos SAP BO utilizando JCO y DI API.

Quiero un ejemplo simple en Java que simplemente se conecte a la Base de Datos de BO y devuelva un nombre de ítem o valor o un conjunto de registros de la base de datos.

Dado que no tengo los nombres de qué tipo de campos, ítems, tablas existen en la base de datos de demostración de SAP BO, necesito un ejemplo básico para asegurarme de que puedo conectarme a la base de datos y recuperar datos de la misma.

Cualquier ayuda en este sentido sería apreciada...

Amit

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Jang,

Gracias por el ejemplo.

Tenemos el archivo de ayuda para DI API, pero todos los ejemplos proporcionados están en Visual Basic o en .NET y, como debes saber, hay algunos cambios en las definiciones de métodos y en la instanciación de clases al usar VB / .NET. No podemos simplemente hacer una traducción directa de VB a Java.

Aquí está nuestra pregunta una vez más:

¿Podrías proporcionarnos un ejemplo donde obtenemos conjuntos de registros de la base de datos utilizando la base de datos de demostración proporcionada con la instalación de SAP BO? Dado que tenemos muy poca o ninguna información sobre los nombres de tablas, nombres de campos y nombres de elementos, necesitamos un ejemplo sencillo para asegurarnos de que podemos obtener registros de la base de datos.

Sería genial si tú o alguien de la comunidad puede ayudarnos en este sentido,

Saludos,

Amit

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Estimado Amit Hingher,

El B1 JCO es un envoltorio de Java para DI API, por lo que básicamente puedes consultar la ayuda de DI para todos los objetos, métodos y propiedades.

Aquí tienes un ejemplo en Java para la función de conexión:


package test;
import com.sap.smb.sbo.api.*;

public class ConnectSAP {

	// interfaz de la compañía
	public ICompany company;
	private SBOErrorMessage errMsg = null;

	public static void main(String[] args) {
		ConnectSAP company = new ConnectSAP();
		company.conn();
	}
	// método para hacer la conexión e inicializar la instancia de la compañía
	public int conn() {
		int rc = 0;
		try {
			company = SBOCOMUtil.newCompany();
			company.setServer("(local)");
			company.setCompanyDB("test");
			company.setUserName("manager");
			company.setPassword("manager");
			company.setDbServerType(...);
			company.setUseTrusted(new Boolean(false));
			company.setLanguage(SBOCOMConstants.BoSuppLangs_ln_English);
			company.setDbUserName("Sa");
			company.setDbPassword("123");
			company.setAddonIdentifier("...");	
			company.setLicenseServer("...");

			rc = company.connect();
			if (rc == 0) {
				System.out.println("¡Conectado!");
			} else {
				errMsg = company.getLastError();
				System.out.println(
					"No puedo conectar al servidor de la base de datos: "
						+ errMsg
            
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Jang,

Gracias una vez más. Tu respuesta fue realmente útil.

Lo que realmente me gustaría saber es si hay una buena cantidad de personas en la comunidad que han utilizado Java con SAP Business One.

Quiero decir que puedo encontrar muchos recursos relacionados con Java <-> SAP R/3 pero no hay muchas personas que realmente hayan trabajado con Java <-> SAP Business One (al menos no encontré muchos excepto tú, que podrías ayudarme en este sentido).

¿Podrías indicarnos algunos sitios web o libros, aparte del "DI API Help Kit", donde podamos obtener algunas nociones al respecto?

Esperando otra respuesta útil...

Saludos,

Amit

Editado por: Amit Hingher el 5 de septiembre de 2008 a las 11:11 a.m.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Estimado Amit Hingher,

Por favor, consulta el siguiente ejemplo sobre cómo usar Recordset en JCO, espero que sea útil para ti.


public class RecordsetQuery {

	public static void main(String[] args) throws Exception {
		doQuery();
	}

	
protected static void doQuery() throws Exception {
	
	SBOErrorMessage errMsg = null;
	ICompany com = null;
	IRecordset RecSet = null;
	int i;
	String FldName;
	String FldVal;
	Object index;

	String sQueryItemList1 = "Select TargetType,TrgetEntry,LineStatus,OpenQty,OpenCreQty From RDR1";
		
	ConnectSAP conn = new ConnectSAP();
	
	int rc = conn.conn();
	if (rc == 0) {

		try {
		RecSet =
			SBOCOMUtil.runRecordsetQuery(
			conn.company,
			sQueryItemList1);
		int Count = RecSet.getFields().getCount().intValue();
		while (RecSet.isEoF().equals(new Boolean(false))) {
			for (i = 0; i < Count; i++) {
				index = new Integer(i);
				FldName = RecSet.getFields().item(index).getName();
                                 		FldVal =	String.valueOf(RecSet.getFields().item(index).getValue());
				//'Aquí puedes manipular los datos como desees
				System.out.println(i + "FldName = " + FldName);
				System.out.println(i +
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?