Como realizar un Select con SUM en ABAP,Mini tutorial sobre

Anuncio
Como realizar un Select con SUM en
ABAP
En este post nos vamos a centrar en como realizar desde código ABAP un select
a una tabla de SAP usando SUM, este post está contenido en nuestro curso
programador – analista ABAP IV para SAP, el cual puedes consultar pinchando
aqui.
Algunas veces debemos hacer consultas a tablas para obtener la suma de campos
númericos, en especifico los referidos a campos monetarios y cantidades, pero
¿cómo realizamos dicha consulta? pues para explicarlo aplicaremos un ejemplo:
Al igual que con los comandos de SQL, vamos a realizar un SELECT con el
empleo del comando SUM, el cual permite sumar todos los valores del campo
indicado, siguiendo las condiciones puestas y guardándolo en una variable.
Como ejemplo tenemos lo siguiente:
SELECT SUM( hwbas ), SUM( hwste )
INTO (lv_hwbas, lv_hwste)
FROM BSET
WHERE bukrs = p_bukrs AND
gjahr = p_gjahr.
Podemos apreciar que en el ejemplo vamos a sumar 2 campos de la tabla BSET,
para lo cual se han colocado como filtros la sociedad y el año,
automáticamente el programa sumará los datos que cumplan con la consulta y
devolverá dichos valores en las 2 variables que se encuentran dentro de los
paréntesis (lv_hwbas, lv_hwste).
Si te ha gustado este articulo recuerda compartirlo para que llegue al mayor
número de interesados!!
Mini tutorial sobre SOAP. Simple
Object Access Protocol
En nuestro artículo de hoy desde AEPI (Asociacion Española de Programadores
Informáticos) os presentamos un pequeño tutorial sobre SOAP, este artículo
forma parte de nuestro curso de PHP avanzado y MYSQL
Es un protocolo que permite la comunicación entre aplicaciones a través de
mensajes por medio de Internet. Es independiente de la plataforma, y del
lenguaje. Esta basado en XML y es la base principal de los Web Services. Los
mensajes SOAP son documento XML propiamente dicho, pero esto lo veremos más
adelante cuando veamos un ejemplo de un mensaje SOAP.
Veamos como es la estructura básica del protocolo y la correspondiente
explicación:
<?xml version=”1.0″?>
<soap:Envelope xmlns:soap=”http://www.w3.org/2001/12/soap-envelope”
Soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”>
<soap:Header>
…
</soap:Header>
<soap:Body>
…
<soap:Fault>
…
</soap:Fault>
</soap:Body>
</soap:Envelope>
Explicación del código anterior:
<?xml version=”1.0″?>
Como podemos ver en esta linea SOAP es un documento XML, y como tal, debe
comenzar con el tag <?xml….?> y la versión correspondiente.
<soap:Envelope
Aquí se indica que comienza el envelope (sobre) del mensaje
xmlns:soap = “http://www.w3.org/2001/12/soap-envelope”
Un mensaje SOAP debe contener siempre un elemento envelope asociado con el
namespace (espacio de
nombres)http://www.w3.org/2001/12/soap-envelope Soap:encodingStyle=”http://ww
w.w3.org/2001/12/soap-encoding”>
En esta línea lo que se hace es indicar donde se encuentran definidos los
tipos de datos utilizados en el documento.
<soap:Header>
Esta línea indica el comienzo del Header (encabezado). En esta sección se
incluye información específica del mensaje, como puede ser la autenticación.
</soap:Header>
Como todo documento XML los tags que son abiertos deben ser cerrados, esta
línea indica la finalización del Header(encabezado).
<soap:Body>
Aquí comienza el cuerpo del mensaje, en esta sección se incorpora toda la
información necesaria para el nodo final.
Por ejemplo, los parámetros para la ejecución, o la respuesta a una petición.
<soap:Fault>
Cualquier tipo de fallo que se produzca será notificado en esta sección. La
cual esta contenida dentro del cuerpo del mensaje.
</soap:Fault>
Cierre de la sección Fault.
</soap:Body>
Indica el final del cuerpo del mensaje.
</soap:Envelope>
Fin del mensaje SOAP.
Como diría aquel eso es todo amigos, si te ha gustado este artículo
compártelo por favor y recuerda seguir leyéndonos!!
Tipos de datos en ABAP
Después de un largo parón veraniego volvemos con muchas novedades, tenemos
nuevos cursos en nuestro catalogo y hemos actualizado otros. Vamos a empezar
con una introduccion al lenguaje de programación ABAP perteneciente a SAP.
Este post está incluido dentro de nuestro nuevo curso Analista – programador
ABAP IV para SAP el cual estamos terminando de preparar. Recuerda compartir
si te ha gustado el contenido de este artículo.
Estos son los tipos que pueden utilizarse al momento de la declaración de
variables:
Ejemplo:
DATA VAR1 TYPE P.
Tipo Descripción Valor Inicial
C -> Character
N -> texto numérico
D Date YYYYMMDD -> fecha
T Time HHMMSS ->hora
X Byte (heXadecimal) -> valor hexadecimal
I Integer -> entero
P Packed número
F Floating Point Number
STRING String vacío
XSTRING Byte sequence (X string) vacío
También tenemos la posibilidad de inicializar la variable var1 con un valor
por defecto usando la siguiente sintaxis:
DATA VAR1 TYPE I VALUE 10.
Por último recordad que las variables que definamos al principio de nuestro
programa se considerarán globales, caso contrario es que sean declaradas
dentro de métodos o subrutinas, en este caso tendrán visibilidad local.
Como usar Beans en JSP
En nuestro articulo de hoy trataremos sobre el uso de beans dentro de
nuestras páginas jsp, este material está incluido dentro de nuestro Máster en
desarrollo de aplicaciones web empresariales con Java EE.
Los famosos java beans que se utilizan en JavaEE, se pueden utilizar en jsp,
las principales características son:
• Los JavaBeans son objetos Java que cumplen ciertas características en
cuanto a su diseño.
• Se utilizan para reducir al máximo el código Java insertado en una página
JSP. En lugar de meterlo directamente en el fichero JSP se mete en un objeto
y éste se llama desde el JSP.
• Permite separar la lógica de ejecución (en el JavaBean) de la presentación
(en el servlet generado)
Se encapsula el código Java en un objeto (JavaBean) y se instancia y usa con
el JSP.
-Si se usa un JavaBean en una página habrá que definir la clase
correspondiente, creando los métodos set y get para los atributos definidos
• Dentro del servlet generado se puede llamar a métodos de un JavaBean que se
encarguen de realizar ciertas operaciones y el servlet muestra el resultado
de las mismas
• Ventaja del traslado de la lógica a un JavaBean
– Separación de interfaz de la implementación
Ejemplo
1.- Clase beans
public class LenguajeBean {
private String nombre;
private String lenguaje;
public LenguajeBean() {}
public void setNombre(String nombre) {
this.nombre=nombre;
}
public String getNombre(){
return nombre;
}
public void setLenguaje(String lenguaje){
this.lenguaje=lenguaje;
}
public String getLenguaje() {
return lenguaje;
}
public String getcomentariosLenguaje (){
if (lenguaje.equals(“Java”)){
return “El rey de los lenguaje Orientados a objetos”;
}
else if (lenguaje.equals(“C++”)){
return “Demasiado complejo”;
} else if (lenguaje.equals(“Perl”)){
return “OK si te gusta el códigoincomprensible”;
}else {
return “Lo siento, no conozco ellenguaje ” + lenguaje ;
}
}
}
2.- pagina html con un form y que solicita una pagina jsp.
3.- ejecutamos el jsp con el beans
Paso por referencia de una tupla en
C/C++
En nuestro artículo de hoy os mostraremos como pasar por referencia un tupla
en c/c++
Sea la tupla t_trol:
typedef struct trol{
int x,y;
int color;
}t_trol;
Se puede tener una función de inicialización con un puntero de tipo t_trol*
como parámetro:
void init(t_trol*p)
{
p->x=rand()%800;
p->y=rand()%600;
p->color=rand()%256;
}
Y en alguna parte, la llamada:
t_trol t;
init(&t);
// paso de la dirección de la struct t_trol
En el caso de la tabla de punteros, no hay que olvidar asignar los punteros.
En efecto, si se escribe por ejemplo:
t_trol* ALL[10];
int i;
for (i=0; i<10; i++){
init(ALL[i]);
// ¡ERROR!
ALL[i] NO ASIGNADO
}
provoca un error de ejecución, ALL[i] no tiene una dirección de memoria
reservada. Por lo tanto, hay que añadir previamente la asignación de memoria
(sea en el mismo sitio, o en cualquier otra parte en el programa):
for (i=0; i<10; i++){
ALL[i]=(t_trol*)malloc(sizeof(t_trol));
init(ALL[i]);
// OK,
ALL[i] ASIGNADO
}
Espero que este artículo te sea de utilidad o que simplemente te haya
gustado, si es así compártenos¡¡¡
Descargar