viernes, 11 de octubre de 2019

como se programa en SAP / What is SAP Program

Hola:

Bienvenidos a otro post del blog, esta semana les quiero platicar acerca del lenguaje ABAP (Advanced Business Application Programming) , el cual se utiliza para programar ni mas ni menos que el ERP más conocido del mundo SAP. ABAP es como Progress un lenguaje de 4 generación.


Hace algunos años tome un curso en línea de SAP en la pagina http://www.cvosoft.com, para conocerlo, en el curso explicaba desde como instalar una versión demo de SAP R/3 y explica el proceso para crear programas Bapis (API de SAP) y te dan un certificado del curso.
En SAP Las BAPIS (Business Application Program Interfaces), son funciones que te ayudan a obtener información o a ejecutar procesos del entorno de SAP en tiempo de ejecución, ya sea del configurador de producto o de otros módulos de SAP.
Otra opción que les recomiendo es a DEBITE para cursos presenciales o por conferencias.


Mi primer laptop fue una DELL y como todo buen ingeniero de computación, le he puesto y quitado sistemas operativos, cambiado memoria, cambiado disco duro, la verdad no la he querido vender regalar o dejarla ir, porque tiene muchas cosas que ahorita no tendría tiempo de configurar o instalar, por ejemplo mi demo de SAP, ayer la prendí para poder escribir este POST y me dio una nostalgia verla prender abrir Windows XP que es ya obsoleto pero no lo voy a cambiar de momento. Les comparto una fotos #fbw de mi Dell Latitud 





Entremos al ejemplo después de enseñarles mis reliquias jajaja.Para crear un programa en ABAP, hay  que ingresar a la transacción  SE38 Editor ABAP



Desde aquí lo que podemos hacer es crear nuestro primer programa que es saludar al mundo 

REPORT ZPRUEBA_ABAP
WRITE 'Este es mi primer programa ABAP!!!!!!.


Y para ejecutarlo presionamos F8


Un dato importante para ver las tablas en SAP vamos al MENU->Tools->ABAP Workbench->ABAP Dictionary 
Para ver los campos de las tablas seleccionamos una tabla


EJEMPLO



Objetivo

Vamos hacer un ejemplo de un programa en ABAP, que nos muestre los datos de los usuarios.

Programa


REPORT ZPRUEBA_ABAP.
* WRITE 'ESte es mi pimer programa'.
DATA: LS_USER TYPE USER01.
SELECT * FROM USR01
   INTO LS_USER.
ENDSELECT.

IF SY-SUBRC = 0.  
  LOOP AT IT_PLANT.
       WRITE: SY-VLINE, LS-USER-BNAME,
              SY-VLINE, LS-USER-MANDT.
  ENDLOOP.

ENDIF.




Ejecución del Programa





Espero les haya gustado este POST, nos compartan y busquen más cursos para capacitarse recuerden que una ciudad o una relación o un mejor ser humano no se construye de un día a otro, todo lleva su tiempo pero vale la pena.


Un consultor de SAP tiene un sueldo de entre 22 a 65 Mil MXN mensuales


https://www.occ.com.mx/empleos/de-consultor-en-sap?
Un desarrollador de ABAP
https://www.occ.com.mx/empleos/de-desarrollador-abap/ de 30 a 70 MXN mensuales 

Este software es muy utilizado en las empresas, SAP es el mejor ERP de acuerdo al listado de Gartner .

jueves, 3 de octubre de 2019

Código ASCII




En la programación hay muchos desarrollos que necesitaremos saber que es el código ASCII, porque cuando tenemos que generar ciertos archivos que enviamos de un sistema a otro, o que nos piden en ciertos desarrollos de software debemos cumplir ciertas reglas por ejemplo un layout para alta de usuarios donde debamos ingresar nombres con Ñ, como Ibañez, direcciones donde debamos ingresar Sopeña, España o acentos, no todos los sistemas nos aceptan estos tipos de datos, por lo que necesitamos hacer un proceso de conversión o de eliminación de esos caracteres en nuestra información a enviar.



Para ello hay un standar que se definió para identificar cada carácter con un número, de manera general eso es el código ASCII.



Ahora de manera oficial que es:


American Standard Code for Information Interchange, Los códigos ASCII representan texto en las computadoras fue hecho por Internet Assigned Numbers Authority . El primer uso comercial del código fué en Telegrafos, La primera definición de este standar fué en 1963 y la ultima actualización en 1986

                        Información de (Wikipedia)

Otros ejemplos de la tabla ASCII


WebDesing Grup  con ISO 8859:
http://www.htmlhelp.com/reference/charset/iso192-223.html,

D la UNAM:
http://informatica.dgenp.unam.mx/recomendaciones/codigo-ascii


Les comparto varias opciones, porque cada quien le entiende a una tabla diferente aunque es la misma información. 


Para poder utilizar el código ASCII


Esos símbolos de la tabla ASCII pueden generarlos con su teclado utilizando la tecla ALT + Numero de la tabla por ejemplo:


  • ALT + 64 = @ 
  • ALT + 164 = ñ 
Para mas ejemplo les comparó la siguiente Liga

https://support.office.com/es-es/article/insertar-s%C3%ADmbolos-y-caracteres-ascii-o-unicode-basados-en-el-alfabeto-latino-d13f58d3-7bcb-44a7-a4d5-972ee12e50e0

O también en el mapa de Caracteres de Windows, pueden ver el codigó ASCII

Un ejemplo en un programa Progress 4gl:



lvc-name = REPLACE(lvc-name,CHR(209,SESSION:CPINTERNAL,"ISO8859-1"),"N").
lvc-name = REPLACE(lvc-name,CHR(193,SESSION:CPINTERNAL,"ISO8859-1")
                     ,"A").
lvc-name = REPLACE(lvc-name,CHR(201,SESSION:CPINTERNAL,"ISO8859-1")
                    ,"E").

Aquí tenemos 2 funciones muy importantes

REPLACE: esta instrucción lo que nos permite hacer es cambiar un carácter o grupo de letras por otro(s). Tiene 3 parámetros

  • La variable en donde se va a buscar
  • El campo a buscar
  • El valor por el que va a cambiar


CHR: esta instrucción obtiene el código obtiene el carácter que corresponde a la tabla ASCCI, tiene solo un parámetro que es el código correspondiente a la tabla


Como se ve el programa



DEF VAR lvc-name AS CHAR Initial ""   .                                       
DEF VAR lvc-name2 AS CHAR INITIAL "".                                         
lvc-name = "M" + CHR(233) + "xico" .                                         
DISPLAY "Antes" lvc-name FORMAT "X(10)" SKIP.                                 
lvc-name2 =REPLACE(lvc-name,CHR(130),"e").                                   
lvc-name2 = REPLACE(lvc-name,CHR(233,SESSION:CPINTERNAL,"ISO8859-1"),"e").   
lvc-name2 = REPLACE(lvc-name,CHR(201,SESSION:CPINTERNAL,"ISO8859-1"),"e").   
DISPLAY "Desp" lvc-name2   FORMAT "X(30)" SKIP.                               

                                                 

Como se ve la ejecución






Para ver mas detalle de esta función les comparto la liga de la documentación de Progress


Este tipo de instrucciones no solo aplica a Progress, tambíen estan en C#, C++, Python por ejemplo en este ultimo hay librerías que hacen conversión a códigos o a unicode o UTF-8 como por ejemplo BeutifulSoup


Ejemplo en Visual Basic

En Visual Basic, que es el lenguaje de las Macros de Excel, tenemos las instrucciones 
Chr(charcode
ChrB(charcode)
ChrW(charcode)


Mgsbox(Chr(65))

Que cumple el mismo objetivo que la función de Progress que es obtener el texto del código ASCII


Ejemplo en C Sharp o C#


string value = "Ñ";

// Convert the string into a byte[].

byte[] asciiBytes = Encoding.ASCII.GetBytes(value);
foreach(byte b in ASCIIValues) {
    Console.WriteLine(b);
}

Espero que este post les haya gustado y sobretodo les sea de utilidad al momento de hacer sus proyectos, principalmente tendrán que utilizarlo para generar layouts que envíen a otros sistemas.

Saludos amigos programadores, dejen sus comentarios o dudas y compartanos. 

jueves, 26 de septiembre de 2019

Crear un App para celular con Visual Studio

Binenvenidos a este post, esta semana les quiero enseñar como pueden hacer un APP, si una aplicación móvil, muchos tienen algunas ideas de lo que quisieran hacer en sus APP, empecemos con la teoría.

Una APP es un programa WEB que funciona en dispositivos móviles como celulares, tablets puede o no conectarse a una base de datos, puede o no necesitar acceso a Internet. La primer APP de acuerdo a Wikipedia : 
El popular Tetris fue el primer juego instalado en el año 1994 en un teléfono móvil de manufactura danesa, el Hagenuk mt-2000. Tres años más tarde, Nokia lanzó el juego de mayor aceptación hasta el momento el Snake cuyo desarrollo se basa en Arcade BlockadeWikipedia
Pero el bum de la aplicaciones fué en 2008 con el lanzamiento de App Store de Apple y en 2012 la Android Market o Google Play.

Yo recuerdo que mi primer APP la hice en 2007 más o menos en un curso que tome en la Universidad y fue programando en Java. 

Hoy en día pasamos en promedio 4 horas diarias en 9 APP's al día, en una APP podemor  dibujar, algo para comprar, algo para leer, algo para jugar, para editar fotografías, ver películas , etc.... Existen mas de 8 millones de APP en Google Play, mas de 2 millones en Apple Store, para más datos estadísticos les comparo la liga de comercio-electronico.

Para hacer APP's necesitamos definir en que sistema operativo queremos utilizar ya que de ello depende que plataforma vamos a utilizar hay 42 posibles plataformas de acuerdo a Neoattack en esa liga nos da un listado muy completo de plataformas online y off-line, gratuitas y de paga, los sistemas operativos que existen son:

  • Apple
  • Android
  • Windows
  • BlackBerry

Vamos a llegar a la carnita de este  blog  :)  hagamos nuestra primer APP

En mi caso elegí utilizar Android, con Android Studio, como todo programa necesitamos primero el objetivo y el diseño antes de ponernos a programar pero al intentar utilizarlo en mi computadora, la verdad me resulto super lento la ejecución del programa por lo que tuve que cambiar a otra herramienta.

Por lo que busque otras plataformas y llegue a la pagina de yeepli al articulo los 10 mejores entornos de desarrollo para Android, estuve revisando varias del articulo pero la mayoría requiere licencia para poder utilizarse así que opte por utilizar Visual Studio que ya tengo instalado

Solo tuve que instalar Xamarin que es un complemento de Microsoft para poder realizar desarrollos de APP-s tanto para Android como IOS

Les comparto las pantallas 


Objetivo:

Voy hacer una APP que tenga la liga a este blog, una imagen del logo


Pantallas



Programa:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <FrameLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/frameLayout1">
        <TextView
            android:text="programacionparatodos.com"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/textView1"
            android:textColor="@android:color/holo_blue_dark"
            android:autoLink="none|web" />
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageView1"
            android:layout_marginTop="50.0dp"
            android:layout_marginLeft="0.0dp"
            android:layout_marginRight="0.0dp"
            android:src="@drawable/logo"
            android:layout_marginBottom="100.0dp"
            android:adjustViewBounds="true"
            android:cropToPadding="true" />
    </FrameLayout>
</RelativeLayout>

Ejecucion


Algo importante si quieren distribuir su App en Google en Play Store o en Itunes de Apple se tienen que suscribir como des arrolladores y pagar para poder publicar el costo es de 





  • Para IOS, https://developer.apple.com/app-store/submissions/  son 99 USD al año , si dan click sobre el costo los envia a detalle de Itune Store , yo solo me registre como developer para poder revisar los términos y ver que ofrecian pero esta bien, porque te explican como debes desarrollar tus App's , como probarlas, que características debes cumplir, te permiten descargar herramientas, te explican como crear tu primer App.


Obvio al poder publicar sus App's también pueden ganar dinero.

Si quieren entrar más a detalle de como hacer sus APP's hay muchos cursos por ejemplo:


Entrada destacada

Como Programar HTML,Como crear página WEB, HTML para principiantes

Hola programadores Esta semana voy a escribir acerca de como programar con HTML (HyperText Markup Language) , el cual es un lenguaje ...