[Suscribirse gratis a gingko](https://gingkoapp.com/sapscript) ![](data:image/jpeg;base64,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) ![](https://lh3.googleusercontent.com/-b1rZUjRDyXw/AAAAAAAAAAI/AAAAAAAAMcI/l_Sn914Sau4/s120-c/photo.jpg) Resumen de la utilización de SAP Script **Iván Castillo** [castillo.ivan@gmail.com](https://plus.google.com/u/0/+Iv%C3%A1nCastillodelatorre/posts) # **SapScript** SE71 **Creando Formulario Inicial** Se71 ![](https://www.filepicker.io/api/file/sDgEZL8XSVul9CxOLHVl) 1. Página inicial 1. Crear una ventana 1. Crear párrrafo por defecto ##Opciones Creando el formulario. * **Cabecera:** Definiremos los atributos del formulario como el tipo de formulario, tamaño, forma de visualización, fuentes, etc.. * **Párrafos:** Los párrafos son las principales unidades de edición en SAPscript. Cada texto creado en el editor está compuesto de varios párrafos. El comienzo de un párrafo va indicado por la marca de párrafo en la columna izquierda del editor. En el formulario se definen el nombre y las propiedades de los párrafos. ###**1.Creando Página inicial** ![](https://www.filepicker.io/api/file/uTcnrSpSt35QbIigZZwg) **MENU** Crear Elemento ![](https://www.filepicker.io/api/file/TCYiZPYxTE6OKrWO1OtZ) Por convención, simpre lapágina principal será llamada MAIN. ![](https://www.filepicker.io/api/file/DO24Z8oNR2ZBUAHrBaCw) Una Pagina -> Muchas ventanas Un Formulario -> Mucha páginas. ###**2.- Crear una ventana en una página** Ventana es el espacio en el cual vamos a trabajar para poder crear nuestros formularios. ![](https://www.filepicker.io/api/file/00RDs7IRSxj25Xn4ayUA) - Crear nuevo elemento en el menú Por cada Ventana Página que creemos, deberemos llenar sus atributos en la siguiente ventana (Que está al final dela pantalla). ![](https://www.filepicker.io/api/file/cYHcPy9KQS61hoWEtOFT) ###**3. Crear párrafo por defecto** ![](https://www.filepicker.io/api/file/kahM2IqReqyHloYsa9dD) Con el menú elemento nuevo Las Características al final de la pagina ![](https://www.filepicker.io/api/file/yS3DvAQySOmgXMzsIvTn) Regresar con Cabecera ![](https://www.filepicker.io/api/file/dUv9Ma6QOa8uMdoqAqyg) # Finalizando Seleccionamos Parametrizaciones básicas ![](https://www.filepicker.io/api/file/DPQalWZNRXullfSR7aBi) Verificamos que la Pagina sea la principal. ![](https://www.filepicker.io/api/file/jSHF0nPiQnOJuWVenVrG) Grabamos ![](https://www.filepicker.io/api/file/U2gWjIPBRrW36WKORvPO) Activamos el Formulario ![](https://www.filepicker.io/api/file/aRShC2mQDuz8D4dw1ig0) ... ![](https://www.filepicker.io/api/file/VytK7ZRfQQOSKKkyFchX) **Ver el Formulario**![](https://www.filepicker.io/api/file/IdOaIOzS8aqqcagVWb44) ... ![](https://www.filepicker.io/api/file/jAgK3guRmKbMPegvRq4u) ##**Datos de Conexión** * **FORM:** ZDUMMY_FORM - **PAGE:** MAIN - **Ventana:** MAIN - **Parrafo:** MA - **Elemento** ITEM ``` &-ID_PROG& &-NOMBRE_PROG& ``` ##Creando un programa de impresión [Pag 171] El arte de programar en SAP... ####Para que un **SAPScript** pueda mostrar información, esta debe provenir de un programa. Este programa llama al formulario y le pasa toda la información necesaria. Es por eso, que vamos a crear un programa bastante sencillo para utilizar como ejemplo. **LLAMAR UN FORMULARIO** ``` CALL FUNCTION 'OPEN_FORM' EXPORTING DEVICE = 'device' FORM = V_FORM LANGUAGE = 'S' OPTIONS = ITCPO ARCHIVE_INDEX = TOA_DARA DEVICE = 'PRINTER' DIALOG = 'X' EXCEPTIONS CANCELED = 01. ``` **Device:** Es por donde saldrá el formulario: * printer * screen * telefax * fax **form** El nombre del formulario **ESCRIBIR EN UN FORMULARIO** Para enviar datos del programa al formulario se usa la función *WRITE_FORM* ``` CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'ITEM' WINDOW = 'MAIN' EXCEPTIONS OTHERS = 01. ``` **ELEMENT** es el nombre del elemento de textos que deseamos enviarle datos ** ITEM ** [Programa de ejemplo ZFORM.ABAP](https://drive.google.com/open?id=0B-pxgxFIOXBHRzZlVUo5aHc2Wk0&authuser=0) Las tablas ITCPO, TOA_DARA y ITCPP son necesarias para poder ejecutar el SAPScript. ``` TABLES: ZPROGRAMAS,ITCPO,TOA_DARA,ITCPP. ``` La variable V_FORM contendrá el nombre del formulario, mientras que la variable V_SCRIPT nos sirve para determinar si el formulario está activo o no. ```` DATA: V_FORM(14) TYPE C, V_SCRIPT. ```` Parámetro impresión, salida inmediata Parámetro impresión, borrar tras salida Parámetro impresión, tiempo de permanencia en SPOOL Visualización de impresión. ```` ITCPO-TDIMMED = '*'. ITCPO-TDDELETE = '*'. ITCPO-TDLIFETIME = '7'. ITCPO-TDPREVIEW = 'X'. ```` Iniciamos la ejecución del formulario. ```` CALL FUNCTION 'START_FORM' EXPORTING FORM= V_FORM LANGUAGE= 'S'. ```` Si la variable V_SCRIPT está vacía, entonces debemos abrir el formulario, para esto utilizamos el módulo de funciones OPEN_FORM. ```` IFV_SCRIPT EQSPACE. CALL FUNCTION 'OPEN_FORM' EXPORTING FORM= V_FORM LANGUAGE= 'S' OPTIONS= ITCPO ARCHIVE_INDEX= TOA_DARA DEVICE = 'PRINTER' DIALOG = 'X' EXCEPTIONS CANCELED = 01. IF SY-SUBRC NE 0. EXIT. ENDIF. V_SCRIPT = 'X'. ENDIF. ```` Hacemos un LOOPa la tabla interna T_ZPROGRAMAS y asignamos los valores al Field-Symbol . Por cada vuelta del LOOP, llamamos al módulo de funciones WRITE_FORMque lo que hace es llamar a la ventana de nuestro formulario. ```` LOOP ATT_ZPROGRAMAS ASSIGNING. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT= 'ITEM' WINDOW= 'MAIN' EXCEPTIONS OTHERS= 01. ENDLOOP. ```` Con el módulo de funciones END_FORM indicamos que hemos terminado de utilizar la ventana. Si la variable V_SCRIPTno está vacía, cerramos el formulario con el módulo de funciones CLOSE_FORM. ```` CALL FUNCTION 'END_FORM' IMPORTING RESULT = ITCPP. IFV_SCRIPT NESPACE. CALL FUNCTION 'CLOSE_FORM'. ENDIF. ```` # Comandos SAPSCRIPT **Cadenas de caracteres:** Las cadenas de caracteres son elementos de edición para una parte de un párrafo y son insertadas directamente en el texto. El comienzo del ámbito de texto es marcado con y el final con , siendo XX el nombre de la cadena de caracteres definida en el formulario. ##Sap Script Formatting options #####[Formatting Options help.sap](http://help.sap.com/saphelp_47x200/helpdata/en/d1/803411454211d189710000e8322d00/content.htm) **Output Length** ~~~ &symbol(length)& ~~~ **Omitting the Leading Sign** ~~~ &symbol(S)& ~~~ **Leading Sign to the Left** ~~~ &symbol(<)& ~~~ **Leading Sign to the Right** ~~~ &symbol(>)& ~~~ **Omitting Leading Zeros** ~~~ &symbol(Z)& ~~~ **Space Compression** ~~~ &symbol(C)& ~~~ **Number of Decimal Places** ~~~ &symbol(.N)& ~~~ **Omitting the Separator for ‘Thousands’** ~~~ &symbol(T)& ~~~ **Specifying an Exponent for Floating Point Numbers** ~~~ &symbol(EN)& ~~~ **Right-Justified Output** ~~~ &symbol(R)& ~~~ **Fill Characters** ~~~ &symbol(Ff)&f = fill character Example: &KNA1-UMSAT(F*)& -> **700.00 ~~~ **Suppressing Output of Initial Values** ~~~ &symbol(I)& ~~~ **Ignoring Conversion Routines** ~~~ &symbol(K)& ~~~ **Date Mask** ~~~ /: SET DATE MASK = 'date_mask' ~~~ Example: ~~~ /: SET DATE MASK = 'MMMM DD, YYYY' &DATE& -> March 01, 1997 ~~~ **Time Mask** ~~~ /: SET TIME MASK = 'time_mask' ~~~ Example: ~~~ /: SET TIME MASK = 'HH:MM' &TIME& -> 10:08 ~~~ ##SAPscript Control Commands #####[help.SAP](http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4e/37991b862135aae10000000a42189c/content.htm) ###**BOX Command** **Effect:** draws a box of the specified size at the specified position. **Additions:** For each of XPOS, YPOS, WIDTH, HEIGHT, and FRAME, you must specify both a measurement and a unit of measurement. Specify the INTENSITY parameter as a percentage between 0 and 100. **Unit:** The following units of measurement may be used: TW (twip) PT (point) IN (inch) MM (millimeter) CM (centimeter) LN (line) CH (character) **Conversion factors:** 1 TW = 1/20 PT 1 PT = 1/72 IN 1 IN = 2.54 CM 1 CM = 10 MM 1 CH = height of a character relative to the CPI specification in the form header 1 LN = height of a line relative to the LPI specification in the form header **Example** ~~~ /: BOX FRAME 10 TW ~~~ Draws a frame around the current window with a frame thickness of 10 TW (= 0.5 PT). ~~~ /: BOX INTENSITY 10 ~~~ Fills the window background with shading having a grayscale of 10%. ~~~ /: BOX HEIGHT 0 TW FRAME 10 TW ~~~ Draws a horizontal line across the complete top edge of the window. ~~~ /: BOX WIDTH 0 TW FRAME 10 TW ~~~ Draws a vertical line along the complete height of the left hand edge of the window. ~~~ /: BOX WIDTH '17.5' CM HEIGHT 1 CM FRAME 10 TW INTENSITY 15 /: BOX WIDTH '17.5' CM HEIGHT '13.5' CM FRAME 10 TW /: BOX XPOS '10.0' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW /: BOX XPOS '13.5' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW ~~~ Draws two rectangles and two lines to construct a table of three columns with a highlighted heading. ###**POSITION Command** /: POSITION [XORIGIN] [YORIGIN] [WINDOW] [PAGE] **Effect:** Sets the origin for the coordinate system used by the XPOS and YPOS parameters of the BOX command. When a window is first started, the POSITION value is set to refer to the upper left corner of the window (default setting). **Additions:** If a parameter value does not have a leading sign, then its value is interpreted as an absolute value, in other words, as a value that specifies an offset from the upper left corner of the output page. If a parameter value is specified with a leading sign, then the new value of the parameter is calculated relative to the old value. If one of the parameter specifications is missing, then no change is made to this parameter. 1. XORIGIN, YORIGIN: Origin of the coordinate system. 2. WINDOW: Sets the values for the left and upper edges to match those of the current window (default setting). 3. PAGE: Sets the values for the left and upper edges to match those of the current output page (XORIGIN = 0 cm, YORIGIN = 0 cm). **Example** ~~~ /: POSITION WINDOW ~~~ Sets the origin for the coordinate system to the upper left corner of the window. ~~~ /: POSITION XORIGIN 2 CM YORIGIN '2.5 CM' ~~~ Sets the origin for the coordinate system to a point 2 cm from the left edge and 2.5 cm from the upper edge of the output page. ~~~ /: POSITION XORIGIN '-1.5' CM YORIGIN -1 CM ~~~ Shifts the origin for the left upper coordinate 1.5 cm to the left and 1 cm up. ## Comandos ![](https://www.filepicker.io/api/file/fi3nQhnZRn2IspuTrVmF) # Impresión de Códigos de Barras # Impresión láser 1. Creando un sistema de código de barras 1. Incluyendo el sistema de código de barras en el SAPscript 1. Creando un formato de caracter basado en el sistema de código de barras 1. Introducir texto basado en el código de barras 1. Cambiado el tamaño estándar del código de barras ( Ancho largo ) #####[Sapscript Barcode Printing](http://wiki.scn.sap.com/wiki/display/ABAP/Step-by-step+Sapscript+Barcode+Printing) #####[Printing BAR Code in sap script](http://scn.sap.com/thread/703877) ## 1. Creando un sistema de código de barras **SE73** ![](https://www.filepicker.io/api/file/LKNLVjJjR2qprAkYgwQg) **Lista de todos los CB** ![](https://www.filepicker.io/api/file/6ydaQpRdSiaclbgLlxdG) ## Incluyendo el CB en el SAPScript **Se creo una nueva ventana para el CB** ![](https://www.filepicker.io/api/file/wnLBlhrxT7uUAWFzhDAd) **Se creo el Formato del código de barras** ![](https://www.filepicker.io/api/file/pz9NeMp5RiGGjBIr0YX9) **C1 para el código de barras** ![](https://www.filepicker.io/api/file/XGj61eWZSSSG9gROolp1) ##Introducir el texto ![](https://www.filepicker.io/api/file/FPcqdRjSto8bulgV5yQT) ###Probando * Imprimir físicamente * Escanear con una Tablet **Impresión de salida** ![](https://www.filepicker.io/api/file/XEJtQuVPTQuzrDXOg2dw) **Escaneando** ![](https://www.filepicker.io/api/file/7VvRBXafSbiwqx3QK95w) ## 3. Cambiado el tamaño estándar del código de barras * Crear una copia de del la formato C128A_0 ZC128_0 * Modificar el Formato de Carácter con el nuevo código de barras. * Modificar el Layout ###**1 Crear una Copia y Modificar el tipo de código de barras del sistema.** ![](https://www.filepicker.io/api/file/aWRxweTsRHKD5S4j2DUg) - ![](https://www.filepicker.io/api/file/UGXtxFSFmNDIMRnDeeKA) Nueva ![](https://www.filepicker.io/api/file/WP1jmgJtRsS390Mblmna) Nombre ![](https://www.filepicker.io/api/file/jF8uI1bYQly4izFHne6w) ![](https://www.filepicker.io/api/file/K3u668CTQcm8XfVEnfbp) Escojamos Rotado ![](https://www.filepicker.io/api/file/xv8fRbPkTTObCWOHXc4t) Parámetros por defecto ![](https://www.filepicker.io/api/file/MIPvvdW4Q8qBGTOpVEvw) ![](https://www.filepicker.io/api/file/yhutC0TPRJSkKAtGke0r) Aparece nuestro CB ![](https://www.filepicker.io/api/file/nW5XyLffTqGTjnwVksWU) ###**Modificar el Formato de Carácter con el nuevo código de barras.** ![](https://www.filepicker.io/api/file/c3XfSzLyR7Kyb1Lp5S5A) ###**Modificar el Layout** ![](https://www.filepicker.io/api/file/ku0sACD5RZ6jBPgLtaz0) ###**EL RESULTADO** ![](https://www.filepicker.io/api/file/Q66bpRRST0aprBuH29CW) [SAP NOTA 45643 - Barcode control sequences for JetCAPS/Jetmobile BarDIMM](https://drive.google.com/open?id=0B-pxgxFIOXBHMVpOcFE3U2lTTGs&authuser=0) ##Impresión en Impresoras de ETIQUETAS ###**Crear el Texto Estándar S010** * Subir el texto estándar (formato ITF) ![](https://www.filepicker.io/api/file/UQFNru4xRziXpdPBfVYj) ###**Insertar el texto estándar en el Form** ![](https://www.filepicker.io/api/file/vBonmzfOQ9u0YQdpGHzU) Referencia al Texto ![](https://www.filepicker.io/api/file/pfVxnhdeT56erl7BiFxy) ###**Conexión del texto estándar con las variables** ![](https://www.filepicker.io/api/file/CGInG79DTxSZI8ChoAd8) ![](https://www.filepicker.io/api/file/5jaWypG7QynROdwIWqVR) ![](https://www.filepicker.io/api/file/JaZJu5TQIaynLAzBHZMs) [Generando el texto desde Zebra Video](https://www.youtube.com/watch?v=BuvhbIjfwKY) http://www.ibscanner.com/online-barcode-scanner ###**Impresión de Ubicaciones WM LM55** Form: LVSBINPRINT ## Encontrando el Texto estándar de una FORM **SE71** ![](https://www.filepicker.io/api/file/L6PBJCamQyGXSkriK5d9) ![](https://www.filepicker.io/api/file/iD7Hn4gqQhiK46cbZWci) ![](https://www.filepicker.io/api/file/1PKD4bLeT1SqyQhTJwQZ) ### [Imprimir OTS](http://www.saptechnical.com/Tutorials/Smartforms/TO/Index.htm) ##**Filosofía** * El texto se debe acomodar de acuerdo al párrafo, linea a linea. * Las imágenes BOX se acomodan por aparte con xpos ypos **Son máscaras diferentes** ![](https://www.filepicker.io/api/file/JcxInhkhSjyetLlW7Sow) ##**Bibliografia** [Manual PDF ***](http://www.abap.es/Descargas/Form%20-%20Manual%20SapScript.pdf) [SAPScript Important Programs](http://www.erpgreat.com/sapscripts/sapscript-important-programs.htm) [Barcodes and SAPscript forms](http://wiki.scn.sap.com/wiki/display/ABAP/Barcodes+and+SAPscript+forms) [ bar code printing](http://www.saptechnical.com/Tutorials/Smartforms/Barcode/Index.htm) [Comparing Smart Forms to SAPscript](http://www.ossincorp.com/Black_Box/Black_Box_2.php) [Send Custom Mail after creation PO with SapScript PDF attachment](http://scn.sap.com/blogs/mobility/2012/03/27/send-custom-mail-after-creation-po-with-sapscript-pdf-attachment)