Mostrando entradas con la etiqueta sapgui. Mostrar todas las entradas
Mostrando entradas con la etiqueta sapgui. Mostrar todas las entradas

jueves, 5 de diciembre de 2013

GUIXT: Teclado numérico táctil para Sap

Este es uno de los ejemplos de Synactive para GuiXT que más me gusta y que demuestra lo que se puede llegar ha hacer en Sap con GuiXT. 

Es un teclado numérico para pantallas táctiles con el que el usuario puede introducir el código de material y acceder a la información del mismo en el maestro de materiales del sistema Sap.


Por un lado, tenemos el GuiXT scripts que modifica la pantalla y añade los botones del teclado numérico.

Por otro, el archivo Digit.txt contiene el inputscript que va concatenando las pulsaciones del usuario en el teclado numérico.

Empezemos por las imagenes que harán la función de botones del panel numérico y pantalla donde se mostrara el codigo introducido.D
Descargar las siguientes imágenes ( boton derecho -> Guardar imagen como... ) y guardarlas en el mismo directorio donde guardáis los scripts de GuiXT.


Pantalla y pulsador del teclado numérico

Para crear el GuiXT script:

  1.  Acceder a la transacción MM03 y cambiamos a la ventana de GuiXT.
  2.  Pulsar el boton SCRIPT en la barra de herramienta de la venta de GuiXT.
  3.  Copiamos el siguiente código y grabamos
  4. GuiXT Script Editor

if Q[Transaction=MM03] pos F[Material] (8,52) // Display numeric keypad Offset (1,1) Image (0,0) "numbutton.gif" Input="U[digit]:7;OK:process=digit.txt" -plain textstring="7" textheight=80 -textcenter Image (0,15) "numbutton.gif" Input="U[digit]:8;OK:process=digit.txt" -plain textstring="8" textheight=80 -textcenter Image (0,30) "numbutton.gif" Input="U[digit]:9;OK:process=digit.txt" -plain textstring="9" textheight=80 -textcenter Image (5,0) "numbutton.gif" Input="U[digit]:4;OK:process=digit.txt" -plain textstring="4" textheight=80 -textcenter Image (5,15) "numbutton.gif" Input="U[digit]:5;OK:process=digit.txt" -plain textstring="5" textheight=80 -textcenter Image (5,30) "numbutton.gif" Input="U[digit]:6;OK:process=digit.txt" -plain textstring="6" textheight=80 -textcenter Image (10,0) "numbutton.gif" Input="U[digit]:1;OK:process=digit.txt" -plain textstring="1" textheight=80 -textcenter Image (10,15) "numbutton.gif" Input="U[digit]:2;OK:process=digit.txt" -plain textstring="2" textheight=80 -textcenter Image (10,30) "numbutton.gif" Input="U[digit]:3;OK:process=digit.txt" -plain textstring="3" textheight=80 -textcenter Image (15,0) "numbutton.gif" Input="U[digit]:0;OK:process=digit.txt" -plain textstring="0" textheight=80 -textcenter Image (15,15) "numbutton.gif" Input="U[digit]:back;OK:process=digit.txt" -plain textstring="Back" textheight=40 -textcenter Image (15,30) "numbutton.gif" Input="U[digit]:clear;OK:process=digit.txt" -plain textstring="Clear" textheight=40 -textcenter // Display material number Image (1,50) (6,130) "whitebox.gif" -plain textstring="&F[Material]" textfont="Arial" textheight="100" endif


Lo mas importante son los parámetros Input="U[digit]:1;OK:process=digit.txt" y textstring="0".

En anteriores entradas se explico que el  parámetro Input permite volver interactiva la imagen y que al hacer clic sobre ella se ejecuten una serie de acciones. Estas acciones pueden ir desde guardar algún dato en una variable a ejecutar un inputscript o llamar a una transacción del sistemas Sap.

Cada acción que deseamos ejecutar va separada por ';' .
OK representa la acción de presionar la tecla Intro.

En este ejemplo estamos programando, que cuando el usuario haga clic sobre la imagen, se realicien las siguientes acciones:

  1. Asignar el dato '1' a la variable U[digit] .  U[digit]:1
  2. Intro                                                        OK
  3. Ejecutar el InputScript digit.txt                 process=digit.txt
El parámetro textstring pinta sobre la imagen un texto, puede ser un texto fijo como los números del teclado o estan contenido en una variable como textstring="&F[Material]" , en este caso F[Material] es una variable donde vamos concatenando los números que selecciona el usuario.

Para crear el Inputscript:

  1. Pulsar el botón INPUTSCRIPT en la la barra de herramienta de la venta de GuiXT.
  2. Copia el siguiente código.
  3. Guarda el inputscript como digit.txt en el mismo directorio que el guixt script.

InputScript editor
Parameter digit Set V[matnr] "&F[Material]" if U[digit=clear] Set V[matnr] "" goto return endif if U[digit=back] Set V[k] "&V[matnr]" -stringlength if V[k>0] Set V[k] &V[k] - 1 Set V[matnr] "&V[matnr](1-&V[k])" endif goto return endif Set V[matnr] "&V[matnr]&U[digit]" Set V[matnr] "&V[matnr](1-8)" label return Set F[Material] "&V[matnr]" Return

Es como una subrutina. Recibe un parámetro digit, comprueba su valor y actua en consecuencia

Cuando llamamos al inputscripts, damos valor a parámetro digit  y creamos la variable matnr con el valor actual del campo de pantalla Material de la transacción MM03. Después actuamos dependiendo del valor que nos han pasado en el parámetro digit.  Si es un numero concatenamos el valor actual  y el nuevo número, limitamos a 8 digitos y devolvemos el dato al elemento de la pantalla.

La instrucción goto return rompe la ejecución des inputscript y salta a la etiqueta return.

Recordemos:
U[...]  es un parámetro.
V[...]  es una variable
F[.....] es un elemento de pantalla de sap


Ya solo queda acceder a la transacción MM03 y ver el resultado.
Recordar activar el modulo InputAssistant o no funcionara el inputscript.


Fuente:
Display a numeric keypad ( Ir a Tips&Trick -> nº 26 Display a numeric keypad ).

Entradas Anteriores:

lunes, 17 de junio de 2013

GUIXT: Añadir y Modificar campos de texto, pulsadores y radiobuttons

En esta nueva entrada sobre GuiXT añadiremos o modificaremos elementos de la pantalla como los pulsadores, radiobuttons, campos de texto y textos de ayuda.


Ejemplo: Añadir 3 botones en la barra de herramientas de la transacción  VA01 (Crear pedido)

El objetivo es que estos pulsadores,  permitan navegar desde la transacción VA01 a las transacciones:
  • VA15: Lista de consultas 
  • VA25: Lista de ofertas 
  • VA05: Lista de pedidos

Desde la transacción VA01, clic en el pulsador "SCRIPT" en la ventana de GuiXT.

pushbutton (toolbar) "@3B\QLista de consultas@Consultas"   "/OVA15" 
pushbutton (toolbar) "@3B\QLista de ofertas@Ofertas"       "/OVA25" 
pushbutton (toolbar) "@3B\QLista de pedidos@Pedidos"       "/OVA05"



Grabamos el archivo y volvemos a entrar en la transacción VA01

Nuevos pulsadores en la barra de herramientas de la transacción VA01

No solo podemos añadir los pulsadores en la barra de herramientas, también en cualquier posición de la pantalla.

box (11,0) (15,49)"Listas"
pushbutton (12,1) "@3b\QLista de consultas@Consultas" "/OVA15"  Size=(3,14)
pushbutton (12,17) "@3B\QLista de ofertas@Ofertas"    "/OVA25"  Size=(3,14)
pushbutton (12,34) "@3B\QLista de pedidos@Pedidos"    "/OVA05"  Size=(3,14)

Al grabar y volver a entrar en la transacción VA01.

Nuevos pulsadores en la transacción VA01

Añadir un pulsador a la barra de herramientas de la pantalla .

   Pushbutton (Toolbar) "Pushbutton text" "FCode"

Añadir un pulsador en las coordenadas especificadas de la pantalla.

   Pushbutton (row,column) "Pushbutton text" "FCode" Process="..."

La instrucción Pushbutton, añade un pulsador en las coordenadas especificadas (row,column) con el texto "Pushbutton text" que al presionar ejecutara el código interno "FCode". El código interno puede ser un código del menú como SCMP, una transacción “/NVA3” , “/NMM01” … ó una combinación de teclas como F1, F2, … Shilt+F1, Shilt+...

El parámetro Process="..." se relaciona con un fichero InputScript.

Se puede omitir el parámetro "FCode", si solo es necesario un “Intro” para continuar con la transacción


Ejemplo: Simplificar la pantalla de selección de la transacción MD01

Con GuiXT también  es posible sustituir los campos de entrada de datos por selecciones de radiobuttos,  asignar valores por defecto o reducir la longitud de los campos de entrada en la pantalla de selección. 

El objetivo de estas modificaciones puede ser:
  • Simplificar al usuario la selección de datos al usuario 
  • Reducir el tiempo el tiempo de aprendizaje para el usuario 
  • Reducir el tiempo que necesita el usuario para ejecutar la transacción 
Como ejemplo, vamos a simplificar la pantalla de selección de la transacción MD01 



Algunos campos de entrada podrían ser sustituidos por radiobuttons de selección con los posibles valores de entrada, simplipicaría al usuario la ejecución, solo tendría que seleccionar uno de los valores que se muestran. 

Si en la empresa, solo existen 3 centros; simplificamos la pantalla de selección eliminado este campo de la pantalla y sustituyéndolo por 3 radiobuttons con valores existentes. 

También, en el area de “Parámetros de control planificación” liberaremos al usuario de aprender y recordar los valores de cada campo de entrada, sustituiremos los campos de entrada por grupos de radiobuttons y marcaremos valores por defecto para los mismos. 

El código del GuiXT script seria:

// ----------------------------------------------------
// Centro 
// ---------------------------------------------------- 

offset (0,1) 
box (0,0) (5,60)  "Ejecutar MRP para el Centro " 
box (6,0) (21,60) "Parámetros para la ejecución del MRP" 
radiobutton (2,2) "1000 Barcelona" F[Centro] "1000" 
radiobutton (3,2) "2000 Madrid"    F[Centro] "2000" 
radiobutton (4,2) "9000 Zaragoza"  F[Centro] "9000" 
Default F[Centro] "1000" 

// ---------------------------------------------------- 
// Programación de la ejecución
// ---------------------------------------------------- 

offset (8,3) 
box (0,0) (3,45)  "Programacion" 
radiobutton (1,1) "Datos Basicos"            F[Programación] "1" 
radiobutton (2,1) "Planif. de capacidades"   F[Programación] "2" 

// ---------------------------------------------------- 
// Schedule lines 
// --------------------------------------------------- 

offset (12,3) 
box (0,0) (3,45)  "Repartos plan de entrega" 
radiobutton (1,1) "Si" F[Repartos plan de entregas] "3" 
radiobutton (2,1) "No" F[Repartos plan de entregas] "1" 

// ---------------------------------------------------- 
// Modo Planificación
// ---------------------------------------------------- 

offset (16,3) 
box (0,0) (4,45)  "Modo planificación" 
radiobutton (1,1) "Adaptar datos de planificación" F[Modo planificación] "1" 
radiobutton (2,1) "Borrar y crear los datos" F[Modo planificación] "3" 
radiobutton (3,1) "Explosión nva.lst.materiales y hoja ruta" F[Modo planificación] "2" 

// ---------------------------------------------------- 
// Pulsador "Ejecutar selección" 
// ---------------------------------------------------- 

offset (22,1) 
pushbutton (0,0) "Ejecutar selección" "/0" size=3 

// ---------------------------------------------------- 
// Valores por defecto 
// ---------------------------------------------------- 

set C[Visualizar lista materias] "X" 
set F[Clave de tratamiento] "NETCH" 
set F[Crear lista MRP] "1" 
set F[Modo planificación] "1" 
set F[Alcance planific.] "Todo" 

// ---------------------------------------------------- 
// Eliminar los campos que son necesarios 
// ---------------------------------------------------- 

del F[Centro] "-triple" 
del F[Alcance planific.] "-triple" 
del G[Parámetros de control planificación] 
del G[Parámetros de control proceso] 
del G[Exit usuario: selección materiales para planificación]

domingo, 10 de marzo de 2013

GUIXT: Los Scripts de GuiXT

¿Que es un scripts de GuiXT?

Un script de GuiXT es un archivo de órdenes o un archivo de procesamiento por lotes, que modifica elementos de la pantalla del sistema Sap. No modifica el estándar de SAP, no realiza ningún cambio en el servidor de Sap, solo actúa en la capa de presentación sobre SapGUI.

Scripts de GuiXT

¿Cuando se interpreta un GuiXT Script? 

Cuando accedemos a una transacción estándar o ejecutamos un rapport, el servidor SAP envía la información al cliente SapGUI  que la muestra por pantalla al usuario. Si GuiXT se encuentra activado en el sistema Sap, antes de mostrar los datos por pantalla, se busca el script GuiXT cuyo nombre coincida con la combinación  <programa>.<idioma><dynpro> ( ej SAPMF05A.S0100 ) en alguna de las 4 localizaciones que se pueden indicar para guardar los scripts. Si se encuentra el script, se interpreta y se aplican los cambios a la información recibida del sistema Sap y después se muestra por pantalla el resultado. 

GuiXt actúa en la capa de presentación

Los scripts se interpretan 1 vez por cada ventana abierta .Si ejecutamos dos veces /oMM03, que abrirá dos  ventanas nuevas del maestro de materiales, si existe un scripts GuiXT, se ejecutara en cada ventana independiente y las acciones , cálculos, valores de las variables en una ventana no afectaran a la ejecución del scripts en la otra ventana.  Por el contrario, si en vez de abrir nuevas ventanas, reiniciamos la actual  ejecutado, por ejemplo,  varias veces /nMM03 y existen variables globales que no se iniciaran al principio del script, están conservan sus últimos valores.


¿Cómo se construye el nombre del archivo que contiene el script?

<Nombre del programa que contiene la DYNPRO>.<IDIOMA><Nº de la DYNPRO>.txt

Programa: SAPMF05A
Dynpro: 0100
Idioma : Español - S

Fichero se llamaría: SAPMF05A.S0100.txt

Para simplificar,  ir a la transacción que queremos modificar y  en la ventana de GuiXT presionar el pulsador Script en la barra de herramientas. Si os fijáis,  en la ventana de GuiXT, en el área de la derecha, aparece la ruta y nombre del archivo para el scripts de GuiXt para la transacción que tengamos activa.

Nombre del archivo que contiene el script de GuiXT

Reglas sintácticas de un scripts de GuiXT:
  • Cada comando está formado por una sola línea. 
  • Los espacios en blanco son ignorados. 
  • GuiXT no es “case sensitive”, no diferencia ente mayúsculas y minúsculas 
  • Se pueden abreviar los textos con él carácter punto ‘.’ 
  • Los elementos/componentes se indican entre corchetes []. 
  • Las coordenadas se indican entre paréntesis (). 
  • La longitud máxima de una línea de scripts es de 4000 caracteres. 
  • Los pulsadores que solo muestran un icono, puede utilizarse su texto de ayuda rápida para identificarlo. 
  • Para usar las comillas dobles dentro de un script, deben ir entrecomilladas a su vez con comillas dobles. 
Elementos/Componentes de la pantalla que podemos manipular con GuiXT:
  • Fields, campos de entrada/salida de datos. 
  • Text Control, textos. 
  • Fields groups, grupos de campos de entrada. 
  • Pushbutton, pulsadores, en la pantalla o en la barra de herramientas 
  • Radiobuttons, radiobuttons de selección.. 
  • Check boxes, casillas de selección o verificación. 
  • Table controls, tablas de datos. 
  • Tabstrips, pestañas. 
  • R/3 controls , controles del sistema SAP. 
  • Menu ítems, elementos de los menús despegables. 
¿Cómo se especifica en un scripts un elemento de la pantalla?

Cada elemento de la pantalla se reconoce por el texto que lo acompaña.


Es lo mismo [Plazo de entrega] que [PLAZO DE ENTREGA] ó [plazo de entrega].
Es lo mismo [Plazo de entrega] que [plazodeentrega] ó [PLAZOde Entrega].
Es lo mismo [Plazo de entrega] que [Plazo de ent.].

También podemos el tipo de elemento delante de los corchetes
  • F[...] Field 
  • G[...] Field group 
  • P[...] Pushbutton 
  • R[...] Radiobutton 
  • C[...] Check box 
  • S[...] Tabstrip 
  • T[...] Table 
  • X[...] R/3 controll (e.g. image control) 
  • M[...] Menu ítem
Los elementos de la ventana activa que podemos modificar aparecen a la izquierda en la ventana de GuiXT

En la ventana GuiXT aparecen todos los elementos de la ventana activa
Dentro de las opciones del perfil de GuiXT podemos seleccionar “No language Key” . Permite referirnos a los elementos de la pantalla por su nombre técnico y no por su descripción o texto en el idioma del usuario, con esta opción podemos crear scripts de GuiXT independientes del lenguaje del usuario.

Referencia a los elementos de pantalla por su nombre tecnico
El nombre técnico de un elemento de la pantalla puede ser averiguado, seleccionándolo con el ratón y con la tecla F1, en la ventana de ayuda que se mostrara a continuación, pulsamos el icono de Ayuda técnica.

GuiXT, como todo lenguaje de programación de scripts, posee un juego de caracteres especiales que pueden ser utilizados como comodines,  son sustituidos en tiempo de ejecución permitiendo así una programación más flexible. Para referirnos a un elemento de la pantalla, que no sabemos qué tipo de elemento es ( F, G, P, R… ) , se puede utilizar el carácter “#”, por ejemplo:

F[Material] es lo mismo que #[Material].

Para extraer el valor de una variable o elemento de la pantalla, se antepone el carácter especial “&” al nombre de la variable (ej. &V[data_nombre] , &F[Material] ).


GuiXT Scripts Editor


GuiXT script Editor es un editor de textos, con diferentes herramientas para la programación de scripts de guiXT. Es gratuito y se puede descargar desde la pagina de synactive. Se instala por defecto, en el mismo directorio donde esta instalado el SapGUI y una vez instalado se configurara como editor por defecto para los scripts de GuiXT.

GuiXT Scripts Editor

Características del GuiXT Script Editor:
  • ANSI y UTF-8 Codepage 
  • Resaltado de sintaxis 
  • Ayuda disponible sobre los comandos de GuiXT 
  • Navegación instantánea a los archivos “include” o “process=” 
  • Conversión de bloques de líneas 
  • Gestión de copias de seguridad 
  • Inserción de bloques de código automático 
  • Inserción de comandos
Una de las ventajas de este editor de texto para la creación de script de GuiXT , es que posee una herramienta para inserción automática de comandos, , cada vez que insertemos un comando, se crearan una o varias líneas , que contienen el comando seleccionado y varias opciones del mismo.

Inserción automática de comandos

Si trabajamos en un sistema SAP con UNICODE, debemos grabar los scripts en formato de codificación de caracteres UTF-8, porque si no, los caracteres especiales (el: diéresis, acentos, letra ñ... ) no se visualizaran correctamente y los elementos de pantalla que lleven esos caracteres no podrán ser reconocidos. El editor soporta UTF-8 desde   su versión 2009 1. 

Si queremos nuestro script en un formato de caracteres ANSI ó UTF-8, grabamos el script desde el menú File ► Save as.  GuiXT Script Editor mostrara en que formato estamos trabajando a continuación del nombre del archivo en la esquina superior derecha.

Formato de caracteres ANSI ó UTF-8

Practica 1: Cambiar la disposición de elementos en la pantalla 

Transacción MM01: El usuario, soló necesita un conjunto básico y determinado de campos en la pestaña Datos Básicos 1 para crear nuevos materiales del maestro de materiales cuando crea un nuevo material. Para evitar confusiones y simplificar la pestaña vamos a utilizar un script de GuiXT  para simplificar esta pestaña

Procedimiento: Accedemos a la transacción MM01, después de ejecutar la pantalla de selección, pasamos a la pestaña Datos Básicos 1. Manteniendo esta ventana activa,  saltamos a la ventana de GuiXT y click en el pulsador “SCRIPT”, se abrirá una nueva ventana con el GuiXT Script Editor si esta instalado, si no esta instalado, se abrirá el editor de texto asignado en el perfil ( por defecto el notepad de Windows ).


Como se ha comentado anteriormente, el nombre del archivo donde se guardara el scripts de GuiXT se genera automáticamente y es una combinación del nombre del programa en SAP, un punto, una letra que indica el idioma y la dynpro del programa que esta activa en estos momentos en el SapGui.

Escribimos el siguiente código:

Text F[Material] "Material Nº"
Default F[Unidad medida base] "Kg"
Del F[Sector]

Para copiar mas rápidamente los elementos de la pantalla en el script, si hacemos doble click sobre un elemento en la ventana “Screen Element” del GuiXT, este automáticamente queda copiado en el portapapeles de Windows y con Ctrl+V se copia al editor de texto. 

Grabamos y cerramos el editor, volvemos a entrar en la transacción MM01.

Los elementos de la pantalla han sido modificados por el script de GuiXT
Si al ejecutar el script, ocurriese algún error de sintaxis o de ejecución, el icono de GuiXT de la esquina superior izquierda cambiara a color rojo y en el area de la derecha de la ventana de GuiXT aparecerá en rojo la linea que provoca el error.

El script contiene un error de sintaxis
Vamos a ampliar el script eliminado y desplazando varios elementos de la pestaña Datos Básicos 1

Para borrar elementos de la pantalla utilizamos el comando Del. Con este comando se pueden eliminar de la pantalla campos, pulsadores, radiobuttons, tablas y elementos de los menús.

Opciones:
  • -Triple :Aplicable para campos de salida/entrada con textos adicionales detrás del campo, borra los tres elementos. 
  • -Value :Aplicable para campos de salida/entrada, solo borra el valor que contiene el campo. 
  • -Text :Aplicable para campos de salida/entrada, solo el texto del campo es borrado de la pantalla. 
  • -Box : Aplicable a un grupo de elementos agrupados en un marco, solo el margo alrededor del grupo de elementos se borra de la pantalla. 
  • -WithBox :Aplicable si el elemento de la pantalla es una pestaña ( S[tabstrip] ). Se borra el marco alrededor de los campos.
Ampliamos el script con las siguientes instrucciones:

del F[Jquía.productos] 
del F[Labor/oficina] 
del F[Grupo art. ext.] 
del F[Grupo artículos] 
del F[Válido de] 
del C[Val.parám.validez] 
del F[Gr.tp.pos.gral.] -triple 
del G[Grupo de autoriz. material] 
del F[Status mat.todos ce.] 
del F[Volumen] 
del F[Unidad volumen] 
del F[Tamaño/Dimensión]

Grabamos el script y volvemos a entrar en la transacción MM01 


Con el comando POS, es posible cambiar la posición de los elementos de la pantalla.

pos [screen element] (position X,Y)

Puedes indicar la posición absoluta, por ejemplo (15,10) o relativa a la posición de otro elemento de la pantalla.

Opciones:
  • -Triple : Aplicable para campos de salida/entrada con textos adicionales detrás del campo, desplaza los tres elementos. 
  • -Value :  Aplicable para campos de salida/entrada, solo desplaza el campo. 
  • -Text : Aplicable para campos de salida/entrada, solo desplaza el texto. 
  • width= : Soló para elementos de la pantalla X[...], ej. un grid control: cambia el ancho del elemento de la pantalla..
  • height= : Soló para elementos de la pantalla X[...], ej. un grid control: cambia la altura del elemento de la pantalla.
Ampliamos el script con las siguientes instrucciones:

pos F[Esquema contingente] F[Nºmaterial antiguo]+(1,0)
pos F[Código EAN/UPC] F[Peso neto]+(1,0) 
pos F[Tipo EAN] F[Código EAN/UPC]+(0,40)
pos G[Datos generales] F[Material]+(2,0)
pos G[Dimensiones/EAN] (10,1)
pos G[Datos material de embalaje] (15,1)
pos G[Textos de datos básicos] (18,1)

Por ultimo, con el comando BOXSIZE,  ajustamos los marcos que  agrupan los elementos de la pantalla.

BoxSize G[Marco] (filas,columnas)

Ampliamos el script con las siguientes instrucciones:

boxSize G[Datos generales] (6,83)
boxSize G[Dimensiones/EAN] (5,83)
boxSize G[Datos material de embalaje] (3,83)
boxSize G[Textos de datos básicos] (3,83)


Grabamos el script y volvemos a entrar en la transacción MM01 para ver el resultado final


lunes, 11 de febrero de 2013

GUIXT: Instalación y Configuración (II)

Directorios Scripts: Un  script de GuiXT  es un archivo de órdenes o un archivo de procesamiento por lotes, cuyo procesamiento modifica la pantalla o transacción del sistema Sap. Suelen ser  bastante simples y se guardan en un archivo de texto plano. Los scripts son interpretados, es decir, GuiXT realiza la traducción a medida que va siendo procesado el archivo.

Los archivos que contienen el script, pueden estar almacenados:
  • En un equipo local
  • En un servidor de archivos o directorio compartido (Ej: \\Server\guixt\scripts )
  • FTP o Servidor Web
  • Repositorio Web Sap ( transacción SWM0 )
Se pueden indicar hasta 4 localizaciones en la configuración de GuiXT

Directorios  Scripts
El orden de búsqueda es de mayor a menor; GuiXT buscara los scripts, primero en la localización del campo Scripts 4, si no encuentra el archivo con el script, buscara en la localización del campo Scripts 3 y así sucesivamente.

Componentes Instalados: Aquí  marcamos los componentes instalados que se utilizan, solo GUIXT no requiere de un numero de licencia para su uso.

License Key,TestKey o UserKey: Es necesario un nº de licencia para poder utilizar cualquier componente que no sea el GuiXT.  Si utilizamos , por ejemplo el componente InputAssistant y no tenemos nº de licencia, el scripts no se ejecutara y la ventana de GuiXT mostrara el siguiente mensaje.

Componentes instalados y las Licencias
Mensaje de Error:  El componente no esta registrado
Las TestKey son suministradas por Synactive.  Rellenando el siguiente formulario, recibiremos en nuestra cuenta de correo una TestKey que permite utilizar los componentes durante un mes. Existe un truco para registrar los componentes temporalmente:
  1. Cuando iniciemos sesión en el sistema SAP, abrimos la ventana de configuración del GuiXT
  2. En la casilla USER KEY  introducimos un valor aleatorio 
  3. Guardamos la configuración
  4. Reiniciamos la transacción -> /n  ( OJO!! no salir del sistema!!! )
A partir de este momento y hasta que cerremos la sesión en el sistema SAP, estarán activos todos los componentes del GuiXT,



Sistemas Habilitados:  Nombres de los sistemas SAP para los que la configuración GuiXT debe estar activo. Los nombres de los sistemas se pueden encontrar en Sistema  ► Estado ► datos de base de datos ► Nombre, por ejemplo, ST1. Se puede especificar varios sistemas.


Editor de Texto: Indicamos el editor de texto que vamos a utilizar para escribir los scripts.


Start Windows: Esta opción, evita que cada vez que iniciemos una sesión en SAPGUI aparezca la ventana de GuiXT, evitamos así que los usuarios normales puedan acceder a GuiXT.


Usuario RFC: los scripts de GuiXt también pueden ejecutar bapis RFC ( Remote Fuction Call ) pero necesitas especificar un usuario con permisos para ejecutar RFCs.


Un par de detalles que casi me vuelven loco la primera vez que utilice GuiXT. La contraseña va entre comillas dobles, por ejemplo: "PEPITO" . recordarlo, escribir la contraseña con las comillas dobles. Y segundo, por defecto, aunque tu entres en el cliente 300, GuiXT intentara entrar en el cliente 000 si no marcas la casilla Script Dowmload via current client.

Ejemplo:  Scripts desde el Repositorio Web de SAP

Esta opción para gestionar los scripts, permite centralizar los archivos en el repositorio web de sap (transacción SMW0) de esta manera los scripts estarán disponibles para todos los usuarios del sistema.

Lo primero es decidir un identificador o texto, que colocaremos delante del nombre del script que subiremos al repositorio web. También se utilizara ese identificador en el perfil de GuiXT. La única regla a seguir es que el identificador debe empezar por la letra Z. En este ejemplo vamos a utilizar  Z.GUIXT como identificador.

Identificador Z:GUIXT
Recordar que el orden de búsqueda es de mayor a menor; GUIXT buscara primero en la localización del campo Scripts 4, si no encuentra el archivo con el script, buscara en la localización del campo Scripts 3 y así sucesivamente. 

En SAP, en la transacción SMW0, Repositorio Web de SAP, seleccionamos la segunda opción Datos binarios p.aplicaciones WebRFC  y ejecutamos la búsqueda para el objeto Z.GUIXT*  (F8).

Transacción SWM0

Búsqueda del objeto Z.GUIXT*

Para subir un nuevo archivo de script de GuiXT, seleccionamos Crear un objeto Repository SAP web. Como nombre del objeto escribimos el identificador y el nombre del archivo que contiene el script separados por un punto. 

Por Ejemplo si tenemos:
  • Nombre del archivo que contiene el script: SAPMV45A.E0101.TXT 
  • Identificador seleccionado: Z.GUIX
El nombre del objeto sera: ZGUIXT.SAPMV45A.E0101.TXT

Crear Objeto Repository Sap Web

Comprobamos el resultado:


Este método de gestión de los archivos con los scripts GUIXT no es muy adecuado desde el punto de vista del desarrollador, ya que una vez subido el archivo, no lo podemos modificar, tenemos que volver a subirlo. Con las otras modalidades con las que podemos tener el archivo abierto con el notepad, modificar el scripts y ver los resultados al momento sobre el sistema SAP.

Pero desde el punto de vista del usuario, tenemos todos los scripts centralizados en el servidor SAP y todos los usuarios ejecutaran el mismo script, esto facilita mucho el control sobre los scripts.