Avalados por :

Conectar-se a um Banco de Dados SAP BO a partir de Java: Exemplo simples com JCO e DI API

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

Olá,

Tenho uma aplicação Java e gostaria de me conectar a um Banco de Dados SAP BO utilizando JCO e DI API.

Gostaria de um exemplo simples em Java que simplesmente se conecte ao Banco de Dados do BO e retorne um nome de item ou valor, ou um conjunto de registros do banco de dados.

Como não tenho os nomes dos tipos de campos, itens, tabelas existentes no banco de dados de demonstração do SAP BO, preciso de um exemplo básico para garantir que consigo me conectar ao banco de dados e recuperar dados dele.

Qualquer ajuda nesse sentido seria apreciada...

Amit

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

4 Respuestas

0
Cargando...

Olá Jang,

Obrigado pelo exemplo.

Temos o arquivo de ajuda para DI API, mas todos os exemplos fornecidos estão em Visual Basic ou em .NET e, como você deve saber, existem algumas mudanças nas definições de métodos e na instanciação de classes ao usar VB/.NET. Não podemos simplesmente fazer uma tradução direta de VB para Java.

Aqui está nossa pergunta mais uma vez:

Poderia nos fornecer um exemplo onde obtemos conjuntos de registros do banco de dados utilizando o banco de dados de demonstração fornecido com a instalação do SAP BO? Dado que temos muito pouca ou nenhuma informação sobre os nomes das tabelas, nomes dos campos e nomes dos elementos, precisamos de um exemplo simples para garantir que podemos obter registros do banco de dados.

Seria ótimo se você ou alguém da comunidade puder nos ajudar nesse sentido,

Saudações,

Amit

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

Prezado Amit Hingher,

O B1 JCO é um invólucro Java para DI API, então basicamente você pode consultar a ajuda do DI para todos os objetos, métodos e propriedades.

Aqui está um exemplo em Java para a função de conexão:


pacote teste;
importar com.sap.smb.sbo.api.*;

público classe ConnectSAP {

	// interface da empresa
	público ICompany company;
	privado SBOErrorMessage errMsg = null;

	público estático void principal(String[] args) {
		ConnectSAP company = novo ConnectSAP();
		company.conn();
	}
	// método para fazer a conexão e inicializar a instância da empresa
	público int conn() {
		int rc = 0;
		tentar {
			company = SBOCOMUtil.novaEmpresa();
			company.setServer("(local)");
			company.setCompanyDB("teste");
			company.setUserName("gerente");
			company.setPassword("gerente");
			company.setDbServerType(...);
			company.setUseTrusted(novo Boolean(false));
			company.setLanguage(SBOCOMConstants.BoSuppLangs_ln_English);
			company.setDbUserName("Sa");
			company.setDbPassword("123");
			company.setAddonIdentifier("...");	
			company.setLicenseServer("...");

			rc = company.conectar();
			se (rc == 0) {
				Sistema.fora.println("Conectado!");
			 else {
				errMsg = company.obterÚltimoErro();
				Sistema.fora.println(
					"Não consigo conectar ao servidor de banco de dados: "
						+ errMsg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Jang,

Obrigado mais uma vez. Sua resposta foi realmente útil.

O que eu realmente gostaria de saber é se há uma boa quantidade de pessoas na comunidade que têm utilizado Java com o SAP Business One.

Quero dizer que consigo encontrar muitos recursos relacionados com Java <-> SAP R/3, mas não há muitas pessoas que realmente tenham trabalhado com Java <-> SAP Business One (pelo menos não encontrei muitos, exceto você, que poderia me ajudar nesse sentido).

Você poderia nos indicar alguns sites ou livros, além do "DI API Help Kit", onde podemos obter algumas noções a respeito?

Aguardando outra resposta útil...

Saudações,

Amit

Editado por: Amit Hingher em 5 de setembro de 2008 às 11:11 da manhã.

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

Caro Amit Hingher,

Por favor, consulte o exemplo a seguir sobre como usar Recordset em JCO, espero que seja útil para você.


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());
				//'Aqui você pode manipular os dados como desejar
				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?