




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Es una guía con algunas de las sentencias mas usadas incluyendo su explicación, para ser usadas en el lenguaje ABAP para el ERP SAP
Tipo: Guías, Proyectos, Investigaciones
1 / 263
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
En esta página están todas las instrucciones ABAP/4 del sistema SAP R/3, además cada una de ellas contiene un pequeño ejemplo (o al menos esa es mi intención). Las sentencias están ordenadas alfabéticamente para una mejor búsqueda y además cada sentencia tiene su propia página para facilitar su impresión, copia, tratamiento, etc...
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Letra A l ADD l ADD-CORRESPONDING l APPEND l ASSIGN l AT .. ENDAT l AT END OF .. ENDAT l AT FIRST .. ENDAT l AT LAST .. ENDAT l AT LINE-SELECTION l AT NEW .. ENDAT l AT Pfnn l AT SELECTION-SCREEN l AT USER-COMMAND l AUTHORITY-CHECK
Letra B l BACK l BREAK l BREAK-POINT
Letra C l CALL l CALL CUSTOMER-FUNCTION l CALL DIALOG l CALL FUNCTION l CALL METHOD l CALL SCREEN l CALL SUBSCREEN l CALL TRANSACTION l CASE .. ENDCASE l CHAIN l CHECK l CLEAR l CLOSE CURSOR l CLOSE DATASET l CNT l COLLECT l COMMIT WORK
En esta página están todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (1 de 6) [09/11/2000 11:19:50]
l COMMUNICATION l COMPUTE l CONCATENATE l CONDENSE l CONSTANTS l CONTINUE l CONTROLS l CONVERT DATE l CONVERT TEXT l CREATE OBJECT
Letra D l DATA l DEFINE .. END-OF-DEFINITION l DELETE l DELETE DATASET l DELETE DYNPRO l DELETE FROM DATABASE l DELETE FROM SHARED BUFFER l DELETE REPORT l DELETE TEXTPOOL l DESCRIBE DISTANCE l DESCRIBE FIELD l DESCRIBE LIST l DESCRIBE TABLE l DETAIL l DIVIDE l DIVIDE-CORRESPONDING l DO .. ENDDO
Letra E l EDITOR-CALL FOR REPORT l END-OF-PAGE l END-OF-SELECTION l EXEC SQL .. ENDEXEC l EXIT l EXIT FROM STEP-LOOP l EXIT FROM SQL l EXPORT l EXPORT DYNPRO l EXPORT TO DATABASE l EXPORT TO DATASET l EXPORT TO MEMORY l EXPORT TO SHARED BUFFER
En esta página están todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (2 de 6) [09/11/2000 11:19:50]
l INSERT .. INTO l INSERT REPORT l INSERT TEXTPOOL
Letra L l LEAVE l LEAVE PROGRAM l LEAVE SCREEN l LEAVE TO LIST-PROCESSING l LEAVE TO SCREEN l LEAVE TO TRANSACTION l LOAD REPORT l LOCAL l LOOP .. ENDLOOP l LOOP AT SCREEN .. ENDLOOP
Letra M l MESSAGE l MODIFY l MODIFY CURRENT LINE l MODIFY LINE l MODIFY SCREEN l MODULE l MODULE .. ENDMODULE l MOVE l MOVE-CORRESPONDING l MULTIPLY l MULTIPLY-CORRESPONDING
Letra N l NEW-LINE l NEW-PAGE
Letra O l ON CHANGE OF .. ENDON l OPEN CURSOR l OPEN DATASET l Operador de asignación "=" l OVERLAY
Letra P l PACK l PARAMETERS l PERFORM l POSITION l PRINT-CONTROL
En esta página están todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (4 de 6) [09/11/2000 11:19:50]
l PROCESS l PROGRAM l PROVIDE .. ENDPROVIDE l PUT
Letra R l RAISE l RANGES l READ CALENDAR l READ CURRENT LINE l READ DATASET l READ LINE l READ REPORT l READ TABLE l READ TEXTPOOL l RECEIVE RESULTS FROM FUNCTION l REFRESH l REFRESH CONTROL l REFRESH SCREEN l REJECT l REPLACE l REPORT l RESERVE l ROLLBACK WORK
Letra S l SCAN l SCROLL LIST l SEARCH l SELECT .. ENDSELECT l SELECT-OPTIONS l SELECTION-SCREEN l SET BLANK LINES l SE COUNTRY l SET CURSOR l SET EXTEND CHECK l SET LANGUAGE l SET LEFT SCROLL-BOUNDARY l SET LOCALE LANGUAGE l SET MARGIN l SET PARAMETER l SET PF-STATUS l SET PROPERTY l SET RUN TIME ANALIZER
En esta página están todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (5 de 6) [09/11/2000 11:19:50]
Definición
Añade el contenido del campo
Sintaxis:
ADD
ADD
Suma la secuencia de campos
l Con la cláusula GIVING el campo
Ejemplo 1
DATA: NUMBER TYPE I VALUE 3, SUM TYPE I VALUE 5. ADD NUMBER TO SUM.
Ejemplo 2
DATA: BEGIN OF NUMBERS, ONE TYPE P VALUE 10, TWO TYPE P VALUE 20, THREE TYPE P VALUE 30, FOUR TYPE P VALUE 40, FIVE TYPE P VALUE 50, SIX TYPE P VALUE 60, END OF NUMBERS, SUM TYPE I VALUE 1000. ADD NUMBERS-ONE THEN NUMBERS-TWO UNTIL NUMBERS-FIVE GIVING SUM.
Errores
BCD_BADDATA : El campo P tiene un formato BCD incorrecto. BCD_FIELD_OVERFLOW : El campo del resultado es demasiado pequeño. BCD_OVERFLOW : Overflow al hacer la operación aritmética. COMPUTE_INT_PLUS_OVERFLOW : Al añadir se ha producido un "Overflow" en un entero.
l
Vease también: COMPUTE, ADD-CORRESPONDING
ADD
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/add.htm [09/11/2000 11:21:20]
Definición
Añade el contenido de los componentes de un registro sobre otro.
Sintaxis:
ADD-CORRESPONDING
Añade el contenido de los componentes del registro
Ejemplo:
DATA: BEGIN OF VECTOR, X TYPE I, Y TYPE I, LENGTH TYPE I, END OF VECTOR, BEGIN OF CIRCLE, VOLUME TYPE P Y TYPE P, RADIUS TYPE I, X TYPE I, END OF CIRCLE. ... ADD-CORRESPONDING VECTOR TO CIRCLE.
Vease también: ADD MOVE-CORRESPONDING SUBTRACT-CORRESPONDING MULTIPLY-CORRESPONDING DIVIDE-CORRESPONDING.
ADD-CORRESPONDING
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/add_corresponding.htm [09/11/2000 11:21:26]
Definición
Asigna con una referencia directa o dinámica el nombre del objeto que deseamos asignar a un campo.
Sintaxis:
Si conocemos el nombre del objeto de datos que deseamos asignar a un field-symbol antes de la ejecución del programa debemos realizar una asignación estática, es decir, con una referencia directa al objeto de dato. Si no conocemos el objeto de dato hasta la ejecución del programa, la asignación deberá ser dinámica, es decir, con una referencia indirecta.
La sintaxis de la sentencia ASSIGN estática, sin especificación del offset, es la siguiente:
ASSIGN
Después de la asignación, el field-symbol
La sintaxis de la sentencia ASSIGN estática, con especificación del offset, es la siguiente:
ASSIGN
La única diferencia con la variante anterior es que en ésta especificamos el offset y la longitud del objeto de datos que hay que asignar. Las cláusulas
Si sólo en tiempo de ejecución conocemos el nombre del objeto de dato que hay que asignar al field-symbol debemos realizar una asignación dinámica. Para ello utilizaremos la sentencia ASSIGN con la siguiente sintaxis:
ASSIGN (
El nombre de objeto de dato que hay que asignar al field-symbol estará contenido en
Si la asignación se realiza en una subrutina o módulo de función, el sistema busca el campo en la subrutina o módulo de función como objeto local.
l
Si la asignación se realiza fuera de una subrutina o módulo de función, o el campo no se encuentra allí, el sistema busca el campo como objeto global al programa.
l
Si el campo tampoco se encuentra como objeto global al programa, el sistema busca un área de trabajo declarada con la sentencia TABLES en el programa principal, o en el grupo de programas actual. La definición "grupo de programas" engloba un programa principal y todos los programa contenidos, incluyendo aquéllos en los que se realice una llamada a una subrutina.
l
Si la búsqueda del campo es satisfactoria y el campo puede ser asignado al field-symbol, el campo SY-SUBRC valdrá
Si antes de la ejecución del programa sabemos que vamos a asignar un área de trabajo a un field-symbol, pero hasta la ejecución no sabemos de dicha área de trabajo se puede utilizar la siguiente variante dinámica de la sentencia ASSIGN:
ASSIGN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (1 de 5) [09/11/2000 11:22:42]
ASSIGN TABLE FIELD (
El sistema busca el objeto de dato que vamos a asignar al field-symbol sólo en las áreas de trabajo declaradas con la sentencia TABLES en el programa principal de un grupo de programa. El sistema sólo realiza el paso 3 de la sentencia anteriormente vista. Si la búsqueda es satisfactoria y el campo puede ser asignado al field-symbol, SY-SUBRC es 0; en caso contrario es 4. Las cláusulas
Además de poder asignar objetos de datos a field-symbols, el sistema nos permite asignar un field-symbol sobre otro field-symbol. Para realizar esto se puede utilizar cualquier variante vista hasta el momento de la sentencia ASSIGN, pero en lugar de utilizar un objeto de dato utilizaremos un field-symbol. Resumamos estas variantes a continuación:
ASSIGN (
ASSIGN (
ASSIGN (
ASSIGN TABLE FIELD (
ASSIGN COMPONENT
El sistema asigna el componente
Se puede definir el tipo de un field-symbol utilizando la cláusula TYPE de la sentencia ASSIGN. La cláusula TYPE se puede utilizar con todas las variantes de la sentencia ASSIGN vistas anteriormente.
l
También se puede especificar el número de decimales de un field-symbol si el campo asignado es del tipo P (empaquetado). Para ello se especifica la cláusula DECIMALS de la sentencia ASSIGN. La cláusula DECIMALS se puede utilizar con todas las variantes de la sentencia ASSIGN. Con esta cláusula se puede tener distinto número de decimales entre el objeto de dato asignado y el field-symbol.
l
Cuando trabajamos con subrutinas, se puede estar interesados en crear copias locales de datos globales sobre la pila de datos. Para realizar esto, disponemos de la siguiente cláusula de la sentencia ASSIGN:
ASSIGN LOCAL COPY OF ... TO
El sistema es una copia del dato global especificado sobre la pila. En la subrutina, se puede acceder y cambiar esta copia sin cambiar el valor del dato global. Se puede utilizar esta cláusula con todas las variantes de la sentencia ASSIGN a excepción de la vista en el apartado "Sentencia ASSIGN con componentes de un field-string".
Ejemplo 1:
DATA NAME(4) VALUE 'JOHN'. FIELD-SYMBOLS
Salida: JOHN
Ejemplo 2:
DATA: NAME(12) VALUE 'JACKJOHNCARL', X(10) VALUE 'XXXXXXXXXX'.
ASSIGN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (2 de 5) [09/11/2000 11:22:42]
G(8) VALUE 'G_global'. MOVE 'XYZ_PROG' TO TRDIR-NAME. PERFORM U. FORM U. DATA: F(8) VALUE 'F_local', NAME(30) VALUE 'F'. FIELD-SYMBOLS
Salida: F_local G_global XYZ_PROG
Ejemplo 8:
PROGRAM P1MAIN. TABLES TRDIR. DATA NAME(30) VALUE 'TFDIR-PNAME'. FIELD-SYMBOLS
ASSIGN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (4 de 5) [09/11/2000 11:22:42]
Salida: XYZ_PROG FCT_PROG TRDIR-NAME no se tiene acceso.
Ejemplo 9:
PROGRAM P1MAIN. TABLES TRDIR. DATA NAME(30) VALUE 'TFDIR-PNAME'. FIELD-SYMBOLS
Salida: XYZ_PROG
Ejemplo 10:
PROGRAM P1MAIN. DATA: BEGIN OF REC, A VALUE 'a', B VALUE 'b', C VALUE 'c', D VALUE 'd', END OF REC, CN(5) VALUE 'D'. FIELD-SYMBOLS
Output: a b c d
Vease también: DESCRIBE FIELD, MOVE.
ASSIGN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (5 de 5) [09/11/2000 11:22:42]
Definición
La sentencia AT END OF .. ENDAT sólo puede ser utilizada dentro de un bucle LOOP .. ENDLOOP e identifica un bloque de proceso. La sentencia se ejecuta cuando se detecta que cambia algún valor para el campo especificado.
Sintaxis:
AT END OF
<bloque-sentencias>
ENDAT.
La sentencia AT END OF se cierra con ENDAT, identificando de esta forma un bloque de proceso. En un bloque AT END OF .. ENDAT el área de trabajo no se rellena con la línea actual de la tabla interna. Todos los campos que no forman parte de la clave estándar de la tabla toman el valor inicial. Para la condición de línea END OF
Ejemplo 1:
DATA: BEGIN OF COMPANIES OCCURS 20, NAME(30), PRODUCT(20), SALES TYPE I, END OF COMPANIES. ... LOOP AT COMPANIES. AT NEW NAME. NEW-PAGE. WRITE / COMPANIES-NAME. ENDAT. WRITE: / COMPANIES-PRODUCT, COMPANIES-SALES. AT END OF NAME. SUM. WRITE: / COMPANIES-NAME, COMPANIES-SALES. ENDAT. ENDLOOP.
Vease también: LOOP.
AT END OF .. ENDAT
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_end_of_endat.htm [09/11/2000 11:22:43]
Definición
La sentencia AT FIRST .. ENDAT sólo puede ser utilizada dentro de un bucle LOOP .. ENDLOOP e identifica un bloque de proceso. La sentencia se ejecuta con el primer valor o primer registro de la sentencia LOOP .. ENDLOOP.
Sintaxis:
AT FIRST.
<bloque-sentencias>
ENDAT.
La sentencia AT FIRST se cierra con ENDAT, identificando de esta forma un bloque de proceso. En un bloque AT FIRST .. ENDAT el área de trabajo no se rellena con la línea actual de la tabla interna. Todos los campos que no forman parte de la clave estándar de la tabla toman el valor inicial. Para la condición de línea FIRST el sistema sobrescribe todos los campos de la clave estándar, que se encuentran a la derecha del campo
Ejemplo 1:
DATA: BEGIN OF COMPANIES OCCURS 20, NAME(30), PRODUCT(20), SALES TYPE I, END OF COMPANIES. ... LOOP AT COMPANIES. AT FIRST. NEW-PAGE. WRITE / COMPANIES-BUKRS. ENDAT. WRITE: / COMPANIES-PRODUCT, COMPANIES-SALES. ENDLOOP.
Vease también: LOOP.
AT FIRST .. ENDAT
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_first_endat.htm [09/11/2000 11:22:43]
Definición
Para permitir al usuario seleccionar una línea de un listado y realizar alguna acción, se puede escribir un bloque de proceso en el programa para el evento AT LINE-SELECTION.
Sintaxis:
AT LINE-SELECTION..
<bloque-de-proceso>
ENDAT.
Este evento define un bloque de proceso que se activa cuando seleccionamos una línea del informe. Este evento se utiliza en los informes interactivos cuando generan salidas secundarias. Este evento se describe con mayor detalle en el Capítulo 15: "Programas interactivos". Si no definimos una interfaz particular para el listado (a través de la transacción "menu painter") el sistema crea una interfaz estándar. La apariencia de esta interfaz es la misma que la de cualquier informe, interactivo o no. El usuario podrá activar este evento a través de las siguientes acciones:
l En el menú "edición", se elige la opción "seleccionar". l Presionando la tecla de función F2. l Realizando un doble-click sobre la línea o un solo click sobre un hotspot (ver las opciones sentencia WRITE).
después de posicionar el cursor sobre una línea y realizar alguna de las acciones anteriores, el evento AT LINE-SELECTION se activa.
Internamente, el código de función PICK activa el evento AT LINE-SELECTION. En la interfaz predefinida, la opción de menú "edición" -> "seleccionar" y la tecla de función F" están asignadas al código de función PICK.
Ejemplo 1:
DATA TEXT(20).
START-OF-SELECTION. PERFORM WRITE_AND_HIDE USING SPACE SPACE.
AT LINE-SELECTION. CASE TEXT. WHEN 'List index'. PERFORM WRITE_AND_HIDE USING 'X' SPACE. WHEN 'User command'. PERFORM WRITE_AND_HIDE USING SPACE 'X'. WHEN OTHERS. SUBTRACT 2 FROM SY-LSIND. PERFORM WRITE_AND_HIDE USING SPACE SPACE. ENDCASE. CLEAR TEXT.
FORM WRITE_AND_HIDE USING P_FLAG_LSIND P_FLAG_UCOMM. WRITE / 'SY-LSIND:'. PERFORM WRITE_WITH_COLOR USING SY-LSIND P_FLAG_LSIND. TEXT = 'List index'. HIDE TEXT. WRITE / 'SY-UCOMM:'.
AT LINE-SELECTION
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_line_selection.htm (1 de 2) [09/11/2000 11:22:44]
TEXT = 'User command'. HIDE TEXT. IF SY-LSIND > 0. WRITE / 'PICK here to go back one list level'. ENDIF. ENDFORM.
FORM WRITE_WITH_COLOR USING P_VALUE P_FLAG_POSITIVE. IF P_FLAG_POSITIVE = SPACE. WRITE P_VALUE COLOR COL_NORMAL. ELSE. WRITE P_VALUE COLOR COL_POSITIVE. ENDIF. ENDFORM.
Vease también: HIDE, WINDOW, SCROLL LIST.
AT LINE-SELECTION
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_line_selection.htm (2 de 2) [09/11/2000 11:22:44]