|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - Blag
1
« en: Miércoles 25 de Octubre de 2006, 21:41 »
2
« en: Viernes 20 de Octubre de 2006, 16:05 »
Como se habrán podido dar cuenta...Desde hace unos días, ha habido un resurgimiento de este foro, que yo pensaba que estaba cayendo en lo más profundo del olvido Si bien es cierto...Este resurgimiento es gracias al intercambio de conocimientos entre senzao18 y yo Lo importante es que estamos generando una gran cantidad de mensajes Así que gracias senzao18 Espero que más gente se anime a colaborar con nosotros Saludos, Blag
3
« en: Viernes 13 de Octubre de 2006, 21:27 »
4
« en: Martes 29 de Agosto de 2006, 23:17 »
Para todos los programadores de Lenguajes Script, SAP y Lenguajes Script con SAP. Lenguajes Script y SAPSaludos, Blag
6
« en: Miércoles 14 de Diciembre de 2005, 15:55 »
Bueno, después de mucho....Su revista favorita está de nuevo en línea Y ahora con un nuevo formato....En HTML Pueden descargar los 3 primeros números desde aquí: Código LatinoSaludos, Blag Editor de Código Latino
7
« en: Lunes 5 de Diciembre de 2005, 17:01 »
Quería invitarlos a participar de esta comunidad que se especializa en el desarrollo de juegos de Ficción Interactiva o Conversacionales Foro - Club de Aventuras ADSu página princiapal es: Club de Aventuras AD - PrincipalEl foro se centra en el desarrollo de aventuras desarrolladas con: InformATE, Superglús y Visual SINTACEspero verlos por allá Saludos, Blag
8
« en: Domingo 21 de Agosto de 2005, 16:48 »
Tutorial introductorio de C++ que prepar� separado en capitulos en formato PDF. Incluye todos los comandos b�sicos que necesitas para comenzar a programar con el C++, adem�s, ejemplos comentados y un cap�tulo de programac�n gr�fica con la librer�a BGI. Autor: Alvaro "Blag" Tejada Galindo http://www.singlepath.tkDescarga: http://singlepath.freecoolsite.com/spanish/stuff/ctutorial.zip
9
« en: Viernes 19 de Agosto de 2005, 16:14 »
¿Nunca has programado antes? ¿Sabes programar, pero solamente puedes hacer un "Hola Mundo"? El Arte de Programar 3.1 (Versión Actualizada), te ofrece todos los fundamentos básicos de los algoritmos computacionales, con explicaciones claras, ejemplos comentados. Además, te ofrece un proyecto de 6 problemas comunes en algoritmos, que luego son convertidos a 10 lenguajes de programación distintos, tales como: Qbasic, Pascal, C++, Euphoria, Java, JavaScript, Delphi, PHP, C#, VB.NET, Python. Y pronto la nueva versión del Arte de Programar, incluirán ASP.NET, TCL y D++. Autor: Alvaro "Blag" Tejada Galindo http://www.singlepath.tkDescarga: http://singlepath.freecoolsite.com/spanish/stuff/ArteProg.zip
10
« en: Miércoles 10 de Agosto de 2005, 19:49 »
En esta oportunidad...jejeje....vamos a ver un pequeño ejemplo de Factorial, pero está vez con ABAP Orientado a Objetos ***************************************************** * Programa : Z_ATG_DUMMY * * Consultor ABAP : Alvaro Tejada Galindo * * Descripción: Programa de Ejemplo de ABAP * ***************************************************** REPORT Z_ATG_DUMMY. *======================================================================= * CLASES *======================================================================= *Definición del Método CLASS C_MATH DEFINITION. *Parte Pública PUBLIC SECTION. *Métodos METHODS: *---> Este método recoge el parámetro de entrada FACTORIAL IMPORTING N TYPE I, *---> Este método retorna el valor del factorial GET_RESULT RETURNING VALUE(FACT) TYPE I. *Parte Privada PRIVATE SECTION. *---> Variable de tipo entero DATA FACT TYPE I. ENDCLASS. *Implementación del Método CLASS C_MATH IMPLEMENTATION. METHOD FACTORIAL. *---> Cálculamos el factorial FACT = 1. IF N NE 0. DO N TIMES. FACT = FACT * SY-INDEX. ENDDO. ENDIF. ENDMETHOD. METHOD GET_RESULT. *---> Asignamos el resultado del método a nuestra variable FACT = ME->FACT. * --> Imprimimos el resultado WRITE: 'El Factorial es: ', FACT. ENDMETHOD. ENDCLASS. *======================================================================= * Selection screen *======================================================================= SELECTION-SCREEN BEGIN OF BLOCK DATA_INFO WITH FRAME TITLE TEXT-T03. *Parámetro de entrada PARAMETERS: NUMBER TYPE I. SELECTION-SCREEN END OF BLOCK DATA_INFO. *======================================================================= * START-OF-SELECTION *======================================================================= START-OF-SELECTION. *======================================================================= * OBJETOS *======================================================================= *--> Definimos un objeto con referencia a nuestra clase DATA MY_OBJ TYPE REF TO C_MATH. DATA RESULT TYPE I. *--> Creamos el objeto CREATE OBJECT MY_OBJ. *--> Llamamos al método que obtiene el valor del parámetro de entrada CALL METHOD MY_OBJ->FACTORIAL( EXPORTING N = NUMBER ). *---> Llamamos al método que imprime el resultado en pantalla CALL METHOD MY_OBJ->GET_RESULT.
Si lo ejecutamos por ejemplo con: 5, nos devolverá por pantalla.... El Factorial es: 120Saludos, Blag
11
« en: Jueves 16 de Junio de 2005, 23:57 »
Hola: Soy muy nuevo en ADA......recién llevo un par de horas de estarlo revisando......Y me surgió una duda......Como hago para que un programa que compilo en DOS, se mantenga funcionando??? Es decir, por ejemplo que me aparezca un mensaje como en PASCAL o QBasic que diga..... Presione una tecla para continuar y ahí recién el programa sale..... En C++ yo utilizo el Getch(); y en PASCAL utilizo el READLN Hay alguna manera de controlar esto en ADA????? Y otra pregunta más Se pueden crear programas para Win32 o necesito necesariamente el gwindows???? Saludos, Blag
12
« en: Sábado 11 de Junio de 2005, 00:37 »
Aquí está un Decimal a Binario en ABAP ***************************************************** * Programa : Z_ATG_DUMMY * * Consultor ABAP : Alvaro Tejada Galindo * * Descripción: Programa de Ejemplo de ABAP * ***************************************************** *---Este es el nombre del programa REPORT Z_ATG_DUMMY. *======================================================================= * Variables *======================================================================= *---Declaramos la variables para el programa *--- I es INTEGER y C es CHAR DATA: SUMA(20) TYPE C, DIGITO TYPE I, AUX TYPE I, EXPO TYPE I. DATA: DIVISION TYPE I, RESIDUO TYPE I. *======================================================================= * Selection screen *======================================================================= *---Declaramos el espacio en donde va a estar la interfaz del programa SELECTION-SCREEN BEGIN OF BLOCK BLOCK WITH FRAME TITLE TEXT-T01. *---Declaramos el parámetro de entrada PARAMETERS: NUMERO TYPE I. SELECTION-SCREEN END OF BLOCK BLOCK. *======================================================================= * Start-of-selection *======================================================================= *---Cuando se ejecuta el programa START-OF-SELECTION. *---Llamamos a la función CALCULA_BINARIO, y le pasamos como parámetro *---el número que leímos en la pantalla del programa PERFORM CALCULA_BINARIO USING NUMERO. *&---------------------------------------------------------------------* *& Form CALCULA_BINARIO *&---------------------------------------------------------------------* * Obtiene el número binario de un decimal. *----------------------------------------------------------------------* FORM CALCULA_BINARIO USING P_DECIMAL. SUMA = 0. EXPO = 1. *---Mientras la variable NUMERO sea mayor igual que 1 WHILE NUMERO GE 1. *---Llamamos a la función CALCULA_RESIDUO, pasandolo 2 parámetros *---de entrada NUMERO y 2. Además, un tercer parámetro de cambio *---de variable RESIDUO PERFORM CALCULA_RESIDUO USING NUMERO '2' CHANGING RESIDUO. DIGITO = RESIDUO. *---Dividimos NUMERO entre 2 y truncamos el resultado, es decir, *---no tomamos los decimales y lo redondeamos al entero inferior NUMERO = TRUNC( NUMERO / '2' ). AUX = DIGITO * EXPO. SUMA = SUMA + AUX. EXPO = EXPO * '10'. ENDWHILE. *---Imprimos el número en binario WRITE:/ 'El número binario es: ', SUMA. ENDFORM. *---------------------------------------------------------------------* * FORM CALCULA_RESIDUO * *---------------------------------------------------------------------* * Calcula el residuo de la división. * *---------------------------------------------------------------------* FORM CALCULA_RESIDUO USING P_DIVS P_DIVD CHANGING RESIDUO. *---Dividimos NUMERO entre 2 y truncamos el resultado, es decir, *---no tomamos los decimales y lo redondeamos al entero inferior DIVISION = TRUNC( P_DIVS / P_DIVD ). RESIDUO = P_DIVS - ( DIVISION * P_DIVD ). ENDFORM.
Si lo ejecutamos por ejemplo con el número 30 como parámetro, nos dará el siguiente resultado: Programa de Pruebas Variadas El número binario es: 11110
Saludos, Blag
13
« en: Miércoles 8 de Junio de 2005, 22:11 »
Hola amigos: Ya sé que he estado un poco alejado del foro de ABAP Pero es que ando muy ocupado con el trabajo Así que les propongo algo interesante Diganme sobre tema quieren saber más, y yo me encargo de escribir algún artículo intersante Saludos, Blag
14
« en: Martes 19 de Abril de 2005, 21:40 »
Hola a todos: Les dejo en enlace para descargar SAP Club, una publicación gratuita producida por SAP España....Muy buena, gratuita y en formato PDFSAP Club - EspañaUna muy buena oportunidad para conocer todo lo que SAP puede ofrecernos Saludos, Blag
15
« en: Lunes 4 de Abril de 2005, 03:26 »
Alguna vez se han preguntado porque utilizamos nicks en internet???? Cuál fué el primer nick que se utilizo???? quien lo creó????? Cuál es la explicación de sus propios nick??? han utilizado algún otro antes??? ------------------------------------------------------------------------------------------ Mi primer nick era: Eskizofrenico Por una canción del grupo español de Punk, llamado Eskorbuto Y el nick que utilizo desde hace varios años y con el cual todos me conocen es Blag....en honor a Blag Dahlia, vocalista del grupo punk de Estados Unidos.... The Dwarves Saludos, Blag
16
« en: Martes 22 de Marzo de 2005, 17:06 »
En ABAP, se pueden utilizar muchos tipos de selects.....o maneras de acceder a datos en tablas..... Para esto, crearemos primero una simple tabla interna.... *---Occurs 0 --> Indica que nuestra tabla interna puede almacenar todos los datos. DATA: BEGIN OF TABLE T_TAB OCCURS 0, BUKRS LIKE BKPF-BUKRS, "Sociedad BELNR LIKE BKPF-BELNR, "Número de un documento contable GJAHR LIKE BKPF-GJAHR, "Ejercicio o Año Contable END OF T_TAB.
Ahora, podemos hacer nuestros selects..... Select SELECT * "Seleccionamos todos los datos *Los almacenamos en los campos correspondientes de nuestra tabla interna INTO CORRESPONDING-FIELDS OF T_TAB *de la tabla BKPF FROM BKPF *donde el ejercicio es "2005" WHERE GJAHR EQ '2005'.
Otro tipo de Select *Elegimos solamente los campos que queremos obtener SELECT BUKRS BELNR GJAHR *Se guardan en la tabla en el mismo orden INTO T_TAB *de la tabla BKPF FROM BKPF *donde el ejercicio es "2005" WHERE GJAHR EQ '2005'.
En algunos casos, necesitaremos solamente un registro...así que hacemos esto Select Single *Elegimos solamente los campos que queremos obtener de la primera coindencia SELECT SINGLE BUKRS BELNR GJAHR *Se guardan en la tabla en el mismo orden INTO T_TAB *de la tabla BKPF FROM BKPF *donde el ejercicio es "2005" WHERE GJAHR EQ '2005'.
Otro Select Single SELECT SINGLE * "Seleccionamos todos los datos, de la primera coincidencia *Los almacenamos en los campos correspondientes de nuestra tabla interna INTO CORRESPONDING-FIELDS OF T_TAB *de la tabla BKPF FROM BKPF *donde el ejercicio es "2005" WHERE GJAHR EQ '2005'.
Ahora bien....supongamos que tenemos llena nuestra tabla interna.... BUKRS BELNR GJAHR ENER 200000001 2005 TBLP 200000005 2005 TSIP 200000025 2005
Ahora bien....a una tabla interna no podemos hacerle un select...así que tenemos que recurrir a un READ TABLE *Leemos un registro de la tabla interna, donde la sociedad sea "ENER". READ TABLE T_TAB WITH KEY BUKRS = 'ENER'.
También podemos leer por número de registro..... *Leemos un registro de la tabla interna, que tenga el índice 2. READ TABLE T_TAB INDEX 2.
Con lo cual tendríamos..... BUKRS BELNR GJAHR TBLP 200000005 2005
Si necesitamos leer todos los registros.....podríamos utilizar un loop. Pero primero deberemos de crear una variable, que almacene el valor del índice *Declaramos una variable que tiene como tipo, la variable del sistema SY-TABIX. *SY-TABIX, almacena el valor del índice a través de un LOOP. DATA: W_TABIX LIKE SY-TABIX.
*Leemos todos los registros de la tabla interna, uno por uno. LOOP AT T_TAB. *Almacenamos el valor de SY-TABIX en nuestra variable. WA_TABIX = SY-TABIX. *Leemos nuestra tabla interna por cada indice. READ TABLE T_TAB INDEX WA_TABIX. *XXX --> Hacemos algo con los valores leídos..... ENDLOOP.
Saludos, Blag
17
« en: Martes 22 de Marzo de 2005, 16:44 »
18
« en: Viernes 18 de Marzo de 2005, 16:20 »
Código Latino, es un revista de programación gratuita en formato PDF. Realizada en conjunto por programadores de Perú, México, Costa Rica, Colombia y España. Se aceptan contribuciones de códigos fuente, artículos, etc. Revista "Código Latino"Pueden escribirnos al mail: codigolatino@gmail.com Saludos, Blag. Autor: Alvaro "Blag" Tejada Galindo http://singlepath.freecoolsite.com/spanish/private/latino.php
19
« en: Sábado 26 de Febrero de 2005, 17:25 »
Hola a todos: Ya se que no he posteado nada en el foro desde hace bastante.....Lo que pasa es que he estado ocupado, escribiendo mi nuevo libro El Arte de Programar - SAP R/3.......Todavía falta mucho .....Pero tendrán la oportunidad de leer la versión Extremadamente Alpha Espero que les guste El Arte de Programar - SAP R/3Saludos, Blag
20
« en: Miércoles 2 de Febrero de 2005, 14:40 »
Hola: Este es un pequeño artículo que escribí para la página web de mi amigo Rilart, espero que les guste El Lenguaje del SAPSaludos, Blag
21
« en: Martes 25 de Enero de 2005, 20:09 »
Hola: Se me ocurrió que sería una buena idea, postear unas cuantas imagenes de SAP, para que puedan familiarizarse un poco más con el entorno Form Painter --> Es donde se crean las pantallas "Coloridas" en SAP....Aunque casi nunca se utiliza Editor ABAP --> Es donde se programa con ABAP, como ven, no es nada visual, así que uno tiene que escribir todo su código....tal como debe ser Data Dictionary --> Diccionario de Datos, donde se pueden ver las estructuras de las tablas, como están definidas, etc..... Que les parece??? Interesante no??? Saludos, Blag
22
« en: Miércoles 19 de Enero de 2005, 17:28 »
************************************************************************ * Programa : Z_PRUEBA_ABAP * Módulo : FI - Finanzas * Documento: * Usuario responsable: * Consultor funcional: * Consultor ABAP : Alvaro Tejada Galindo * Descripción: Programa de Ejemplo de ABAP * Transacción: * Juego de datos: ************************************************************************ REPORT Z_PRUEBA_ABAP. *======================================================================= * Tablas *======================================================================= "Definimos las tablas que vamos a leer TABLES: BKPF,BSEG. *======================================================================= * Estructuras *======================================================================= "Creamos una tabla interna con los campos necesarios "El OCCURS 0 indica que es una tabla dinámica DATA: BEGIN OF T_DATOS OCCURS 0, BUKRS LIKE BKPF-BUKRS, BELNR LIKE BKPF-BELNR, GJAHR LIKE BKPF-GJAHR, BLART LIKE BKPF-BLART, WAERS LIKE BKPF-WAERS, DMBTR LIKE BSEG-DMBTR, END OF T_DATOS. *======================================================================= * Variables *======================================================================= "Una variable a modo de contador DATA: CONTADOR TYPE I. *======================================================================= * Selection screen *======================================================================= "Estos son los parámetros de selección de nuestro programa SELECTION-SCREEN BEGIN OF BLOCK DATA WITH FRAME TITLE TEXT-T01. "Podemos elegir un rango de valores SELECT-OPTIONS: S_BUKRS FOR BKPF-BUKRS, S_BELNR FOR BKPF-BELNR. "Podemos elegir solamente un valor "OBLIGATORY indica que es obligatorio para ejecutar el programa PARAMETERS: P_GJAHR LIKE BKPF-GJAHR OBLIGATORY. SELECTION-SCREEN END OF BLOCK DATA. *======================================================================= * Start-of-selection *======================================================================= "Comienza la ejecución del programa START-OF-SELECTION. "Llamamos a las funciones que hemos creado PERFORM OBTENER_DATOS. PERFORM IMPRIMIR_DATOS. *======================================================================= * Subrutinas *======================================================================= *&---------------------------------------------------------------------* *& Form OBTENER_DATOS *&---------------------------------------------------------------------* * Obtenemos los datos de las tablas BKPF y BSEG. *----------------------------------------------------------------------* FORM OBTENER_DATOS. "Seleccionamos los valores de la tabla BKPF que cumplan con los "requisitos y los guardamos en nuestra tabla interna. "El APPEND sirve para almacenar los valores en la ultima fila "de la tabla interna SELECT BUKRS BELNR GJAHR BLART WAERS INTO T_DATOS FROM BKPF WHERE BUKRS IN S_BUKRS AND BELNR IN S_BELNR AND GJAHR EQ P_GJAHR. APPEND T_DATOS. ENDSELECT. "Hacemos un LOOP para recorrer todos los registros de nuestra "tabla interna LOOP AT T_DATOS. "El SY-TABIX es una variable del sistema que nos indica el número "de vueltas que ha dado un LOOP. CONTADOR = SY-TABIX. "Seleccionamos un dato y lo almacenamos en uno de los campos "de nuestra tabla interna. El SINGLE indica que solo queremos un "valor SELECT SINGLE DMBTR INTO T_DATOS-DMBTR FROM BSEG WHERE BUKRS EQ T_DATOS-BUKRS AND BELNR EQ T_DATOS-BELNR AND GJAHR EQ T_DATOS-GJAHR. "El MODIFY modifica la tabla interna, para agregar el valor "que hemos obtenido en el query anterior, utilizando como "indice, el número de vuelta del LOOP MODIFY T_DATOS INDEX CONTADOR. ENDLOOP. ENDFORM. *&---------------------------------------------------------------------* *& Form IMPRIMIR_DATOS *&---------------------------------------------------------------------* * Imprimimos en pantalla los datos generados *----------------------------------------------------------------------* FORM IMPRIMIR_DATOS. "Imprimimos una pequeña cabecera con los titulos WRITE:/1 'Sociedad',15 'Doc. Contable',30 'Año',37 'Moneda', 55 'Monto'. "Recorremos nuestra tabla interna e imprimimos en pantalla "registro por registro... LOOP AT T_DATOS. WRITE:/1 T_DATOS-BUKRS,15 T_DATOS-BELNR,30 T_DATOS-GJAHR, 38 T_DATOS-WAERS,45 T_DATOS-DMBTR. ENDLOOP. ENDFORM.
Saludos, Blag
23
« en: Miércoles 19 de Enero de 2005, 15:10 »
24
« en: Miércoles 19 de Enero de 2005, 14:59 »
ABAP (Advanced Business Aplication Programming), es el lenguaje de programación utilizado por SAP.....Un ERP (Enterprise Resource Planning) de origen Alemán, pero extendido a todo el mundo. El ABAP es un lenguaje orientado a los negocios basado en el poderoso COBOL, que fué muy usuado en las grandes corporaciones. El ABAP, utiliza un paradigma de programación estructurada, aunque comenzó a ingresar al mundo de la programación orientada a objetos en la versión 4.6....Actualmente se encuentra en la versión 4.7La sintaxis puede asustar un poco al principio, puesto que a mi modo de ver, es una mezcla entre Cobol, Pascal y Sql. Cuenta con miles de funciones predifinidas y BAPIS que son funciones diseñadas para trabajar con productos externos, por ejemplo, programación de aplicaciones SAP-VB, SAP-PHP, SAP-C++, SAP-C#, etc.... A modo de entender un poco mejor la figura, [/B]SAP , se divide en tres entornos o ambientes......
DEV o Desarrollo, que es donde se hacen todos los programas utilizando ABAP y donde se realizan todas las configuraciones y parametrizaciones del sistema.
QAS , que es un ambiente de pruebas, en donde se pueden probar los programas realizados en DEV .
PRD o Producción, que es en donde están ubicados los datos reales de la empresa y es el ambiente en el cual, se trabaja diariamente.
Además, el SAP , está dividido en una gran cantidad de módulos...entre ellos tenemos a:
- FI - Finanzas</li>
- HR - Recursos Humanos</li>
- SD - Ventas</li>
- CO - Logistica</li>
- MM - Manejo de Materiales</li>
- CRM - Manejo de Relaciones con los Clientes</li>
- ISU - Utilidades para Soluciones Industriales</li>
- Etc....</li>
Y por ende, cada uno cuenta con sus propias tablas y sus propias configuraciones, aunque finalmente, todas se integran de una u otra manera....Esto es importante saberlo, puesto que al momento de programar en ABAP, no todos los módulos son iguales....Sobre todo el módulo de HR - Recursos Humanos, que es el más complejo de todos.......Por lo tanto, los Consultores ABAP, se enfocan en uno dos módulos principalmente aunque sepan programar en todos....... Para poder programar en ABAP y tener SAP, tenemos dos opciones...... - Trabajar en una consultora de SAP</li>
- Comprar el MiniSap por 50 dolares</li>
- Ahorrar 1,000,000 de dolares y comprar solamente el modulo de DEV</li>
- Con 3,000,000 de dolares tenemos el paquete completo DEV,QAS y PRD</li>
Saludos, Blag
25
« en: Martes 11 de Enero de 2005, 16:41 »
Yo se que es muy poca la gente que programa en ABAP Pero creo que sería interesante contar con un foro.....puesto que así atraeriamos a más participantes al foro Y para aclarar las cosas....Que muchas veces preguntan...... El SAP es un ERP (Enterprise Resource Planning), es decir, un sistema integrado de gestión para empresas......No existe ninguna versión trial que se pueda descargar.......A lo más, existe el MiniSAP, que se puede conseguir por unos $50 dólares.....y necesita 5 GB de espacio es disco, además de una Base de Datos SQLServer en adelante........ Las únicas formas de aprenderlo es trabajar en una consultora de SAP.....o pagar un curso que cuesta $4000 dólares o conseguirse el MiniSAP y algunos buenos tutoriales....... Después de esto.....Se animan a tener un foro de ABAP????? Saludos, Blag
|
|
|