Beruflich Dokumente
Kultur Dokumente
Los BTE's son un tipo especial de extensión para el modulo de FI; al igual que los
enhancement, user exit, BADI's, etc... nos permite adaptar el sistema a las
necesidades del cliente. También el BTE es un functionmodule (ejecutado por el
cliente) que tiene una interfaz estándar definida por SAP, y este es llamado por el
programa estándar de SAP por una llamada a la función
OPEN_FI_PERFORM_(BTE-number) o por OUTBOUND_CALL_(BTE-number).
Funcionamiento de un BTE:
Pregunta:
¿Como saber si existe un BTE en la Trx de SAP o programa?
Para esto particularmente utilizo un programa Z que me identifica si existen User
Exit,BADI,... y también BTE. (descargar programa z)
realizamos la copia:
Despues de haber realizado la copia de la funcion, volvemos a la Tx FIBF ir al
menu: Opciones->Productos->...de un cliente.
De esta forma nuestro BTE ya se encuentra listo para usarlo y escribir nuestro
codigo (ampliar el estandar):
Espero que les sea util, Saludos ....
Reaccion
es:
En esta oportunidad vamos a ver como hacer nuestro ALV con el nuevo modelo que
nos proporciona SAP para hacerlo mas rápido y sencillo utilizando clases estandar.
Para cada tipo de ALV se trabaja con una clase diferente: CL_SALV_TABLE,
CL_SALV_HIERSEQ_TABLE, CL_SALV_TREE. mas detalles
REPORT zalv_om01.
START-OF-SELECTION.
PERFORM cargar_data.
PERFORM llamar_alv.
*&---------------------------------------*
*& Form cargar_data
*&---------------------------------------*
* text
*----------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------*
FORM cargar_data .
SELECT
carrid
connid
countryfr
cityfrom
airpfrom
countryto
cityto
airpto
distance
INTO TABLE t_spfli
FROM spfli.
*&---------------------------------------*
*& Form llamar_alv
*&---------------------------------------*
* text
*----------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------*
FORM llamar_alv .
cl_salv_table=>factory(
IMPORTING
r_salv_table = t_table
CHANGING
t_table = t_spfli
).
Ejecutamos...
Esta nueva forma de hacer nuestros ALVs nos ayuda en reducir el código de
nuestro programa, minimizar el tiempo de estar escribiendo nuestros layout,
fliedcat, etc.....
Reaccion
es:
En esta oportunidad vamos a crear nuestra primera Aplicacion Web utiliando BSP
en SAP.
BSP significa Bussines Server Pages, al igual que otras tecnologias como Java
Server Pages o los Active Server Pages, etc... para desarrollo de aplicaciones web,
esta es la tecnología que nos provee SAP para la programación basadas en páginas
con scripting del lado del servidor. La ventaja que tiene el scripting del lado del
servidor, es que nos permite el acceso directo a todos los elementos del servidor de
aplicaciones (tales como modulos de funcion, tablas, abap object, etc). Para mas
informacion.. clic aqui
Antes de empezar a crear nuestra aplicaciones bsp, 1ero crearemos una tabla Z que
utilizaremos en el ejemplo.
<%@page language="abap"%>
<%@extension name="htmlb" prefix="htmlb"%>
<html>
<head>
<title>REGISTRO DE USUARIO</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="360" border="0" align="center" cellpadding="0"
cellspacing="0">
<tr>
<td colspan="2">REGISTRO DE USUARIO </td>
</tr>
<tr>
<td width="105">Codigo</td>
<td width="255"><input name="TXTCODIGO" type="text" VALUE="" /></td>
</tr>
<tr>
<td>Nombre</td>
<td><input name="TXTNOMBRE" type="text" VALUE="" /></td>
</tr>
<tr>
<td>User Name </td>
<td><input name="TXTUSERNAME" type="text" VALUE="" /></td>
</tr>
<tr>
<td>User Password </td>
<td><input name="TXTUSERPASSWORD" type="text" VALUE="" /></td>
</tr>
<tr>
<td>Tipo Usuario </td>
<td><select name="CBTIPO">
<option value="A">Administrador</option>
<option value="U">Usuario</option>
</select> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="oninputprocessing(btnGrabar)"
value="Enviar" />
<input type="reset" name="Submit2" value="Limpiar" /></td>
</tr>
<tr>
<td> </td>
<td><a href="lista_usuario.htm">Ver Lista</a> </td>
</tr>
</table>
</form>
</body>
</html>
Atributos de la Pagina
Reaccion
es:
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 podría usar WebService para la coneccíon pero esto sera otro tema.
Ahora debemos bajarnos el Conector del siguiente link SAP Marketplace nos pedirá
un usuario y contraseña este usuario lo tienen las empresas, partners, y otros que
tienen alguna relación con SAP, pero si no tenemos el usuario para poder acceder a
la página los bajamos de este link click aqui
Ingresamos a SAP y creamos una función RFC que no hará mas que traernos una
lista de registros de una tabla de SAP para luego procesarlo en nuestra aplicación
en java.
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:
Ahora pasaremos a crear la aplicación en java que accederá a la función rfc, para
esto creamos un nuevo proyecto "Java Application" e ingresamos el nombre del
proyecto, seguidamente agregamos la librería al proyecto "sapjco":
Importamos la librería:
Declaramos las variables que utilizaremos:
Accedemos a la función:
Código 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;
Reaccion
es:
Alguna vez nos a tocado crear las clases de las modelo de base de datos, y nos
encontramos con una gran cantidad de tablas y realizar una por una estas clases
nos demandaría mucho tiempo además que se vuelve algo mecánico, y lo que
buscamos es minimizar tiempo en el desarrollo. En uno de los proyecto que estuve
tenía que crear las clases para cada tabla donde debían contener los gets sets y los
métodos de "crear", "modificar", "eliminar", "buscar por Id" (más conocido como
CRUD), es entonces que decidí realizar un programa que me genere
automáticamente estas clases con sus respectivos métodos, basados en una
arquitectura de desarrollo de la empresa...
El programa está desarrollado en C# y traer los datos de SQL Server 2005, la lógica
consiste en:
Primero traerse todas las tablas que contiene nuestra base de datos, para esto
realizamos la siguiente consulta sql:
Una vez que se tiene la lista de las tablas debemos saber cuáles son sus campos y
qué tipo de datos tienen: para eso debemos hacer la siguiente consulta:
Ahora debemos saber cuál de estos campos es PK, realizamos la siguiente consulta:
Con esto ya tenemos todos los datos para poder generar nuestras clases
automáticamente, el siguiente paso es crear nuestras plantillas o la arquitectura
que tendrán nuestras clases, por ejemplo mi clase conexion como se genera en el
programa:
ejecutando el programa:
Acá les dejo el link de descarga del programa Generador de Clases en C#..
Reaccion
es:
Para realizar este ejemplo primero tenemos que realizar unas configuraciones al
SQL Server 2005 Express, aca les dejo un muy buen post que nos enseña como
realizar una configuración correcta click aqui ... aproposito el blog es de mi
Hermano Hugo :) un saludo a la distancia...
Abrimos el Netbeans click en Nuevo Proyecto - > java -> Java Application,
ingresamos el nombre de nuestro proyecto, luego en nuestro proyecto agregamos la
librería del SQL Server 2005:
Seleccionamos la librería:
Creamos la clase clsConexion que tendrá los métodos getConexion() y Listar(),
importando las librerías: import java.sql.*;
Método getConexion que tiene los parámetros para la conexion a la base de datos:
Luego creamos el método Listar que nos realizar un query a la base de datos, para
nuestro caso listar la tabla categoría:
Luego en el Main del programa realizamos el test de los métodos: