En esta página están todas las instrucciones ABAP 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 A DD l A DD-CORRESPONDING l A PPEND l A SSIGN l A T .. ENDAT l A T END OF .. ENDAT l A T FIRST .. ENDAT l A T LAST .. ENDAT l A T LINE-SELECTION l A T NEW .. ENDAT l A T Pfnn l A T SELECTION-SCREEN l A T USER-COMMAND l A UTHORITY-CHECK Letra B l B ACK l B REAK l B REAK-POINT Letra C l C ALL l C ALL CUSTOMER-FUNCTION l C ALL DIALOG l C ALL FUNCTION l C ALL METHOD l C ALL SCREEN l C ALL SUBSCREEN l C ALL TRANSACTION l C ASE .. ENDCASE l C HAIN l C HECK l C LEAR l C LOSE CURSOR l C LOSE DATASET l C NT l C OLLECT l C OMMIT WORK file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (1 de 6) [09/11/2000 11:19:50] En esta página están todas las instrucciones ABAP l C OMMUNICATION l C OMPUTE l C ONCATENATE l C ONDENSE l C ONSTANTS l C ONTINUE l C ONTROLS l C ONVERT DATE l C ONVERT TEXT l C REATE OBJECT Letra D l D ATA l D EFINE .. END-OF-DEFINITION l D ELETE l D ELETE DATASET l D ELETE DYNPRO l D ELETE FROM DATABASE l D ELETE FROM SHARED BUFFER l D ELETE REPORT l D ELETE TEXTPOOL l D ESCRIBE DISTANCE l D ESCRIBE FIELD l D ESCRIBE LIST l D ESCRIBE TABLE l D ETAIL l D IVIDE l D IVIDE-CORRESPONDING l D O .. ENDDO Letra E l E DITOR-CALL FOR REPORT l E ND-OF-PAGE l E ND-OF-SELECTION l E XEC SQL .. ENDEXEC l E XIT l E XIT FROM STEP-LOOP l E XIT FROM SQL l E XPORT l E XPORT DYNPRO l E XPORT TO DATABASE l E XPORT TO DATASET l E XPORT TO MEMORY l E XPORT TO SHARED BUFFER file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (2 de 6) [09/11/2000 11:19:50] En esta página están todas las instrucciones ABAP l E XTRACT Letra F l FE TCH l FI ELD l FI ELD-GROUPS l FI ELD-SYMBOLS l FI ELDS l FO RM .. ENDFORM l FO RMAT l FR EE l FR EE MEMORY l FR EE OBJECT l FU NCTION .. ENDFUNCTION l FU NCTION-POOL Letra G l G ENERATE DYNPRO l G ENERATE REPORT l G ENERATE SUBROUTINE POOL l G ET l G ET CURSOR l G ET LOCALE LANGUAGE l G ET PARAMETER l G ET PROPERTY l G ET RUN TIME l G ET TIME Letra H l H IDE Letra I l IF .. ENDIF l IM PORT DIRECTORY FROM DATABASE l IM PORT DYNPRO l IM PORT FROM DATABASE l IM PORT FROM DATASET l IM PORT FROM LOGFILE l IM PORT FROM MEMORY l IM PORT SHARED BUFFER l IN CLUDE l IN CLUDE STRUCTURE l IN CLUDE TYPE l IN FOTYPES l IN ITIALIZATION l IN SERT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (3 de 6) [09/11/2000 11:19:50] En esta página están todas las instrucciones ABAP l IN SERT .. INTO l IN SERT REPORT l IN SERT TEXTPOOL Letra L l L EAVE l L EAVE PROGRAM l L EAVE SCREEN l L EAVE TO LIST-PROCESSING l L EAVE TO SCREEN l L EAVE TO TRANSACTION l L OAD REPORT l L OCAL l L OOP .. ENDLOOP l L OOP AT SCREEN .. ENDLOOP Letra M l M ESSAGE l M ODIFY l M ODIFY CURRENT LINE l M ODIFY LINE l M ODIFY SCREEN l M ODULE l M ODULE .. ENDMODULE l M OVE l M OVE-CORRESPONDING l M ULTIPLY l M ULTIPLY-CORRESPONDING Letra N l N EW-LINE l N EW-PAGE Letra O l O N CHANGE OF .. ENDON l O PEN CURSOR l O PEN DATASET l O perador de asignación "=" l O VERLAY Letra P l PA CK l PA RAMETERS l PE RFORM l PO SITION l PR INT-CONTROL file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (4 de 6) [09/11/2000 11:19:50] En esta página están todas las instrucciones ABAP l PR OCESS l PR OGRAM l PR OVIDE .. ENDPROVIDE l PU T Letra R l R AISE l R ANGES l R EAD CALENDAR l R EAD CURRENT LINE l R EAD DATASET l R EAD LINE l R EAD REPORT l R EAD TABLE l R EAD TEXTPOOL l R ECEIVE RESULTS FROM FUNCTION l R EFRESH l R EFRESH CONTROL l R EFRESH SCREEN l R EJECT l R EPLACE l R EPORT l R ESERVE l R OLLBACK WORK Letra S l SC AN l SC ROLL LIST l SE ARCH l SE LECT .. ENDSELECT l SE LECT-OPTIONS l SE LECTION-SCREEN l SE T BLANK LINES l SE COUNTRY l SE T CURSOR l SE T EXTEND CHECK l SE T LANGUAGE l SE T LEFT SCROLL-BOUNDARY l SE T LOCALE LANGUAGE l SE T MARGIN l SE T PARAMETER l SE T PF-STATUS l SE T PROPERTY l SE T RUN TIME ANALIZER file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (5 de 6) [09/11/2000 11:19:50] En esta página están todas las instrucciones ABAP l SE T SCREEN l SE T TITLEBAR l SE T UPDATE TASK LOCAL l SE T USER-COMMAND l SH IFT l SK IP l SO RT l SP LIT l ST ART-OF-SELECTION l ST ATICS l ST OP l SU BMIT l SU BTRACT l SU BTRACT-CORRESPONDING l SU M l SU MMARY l SU PRESS DIALOG l SY NTAX-CHECK l SY NTAX-CHECK FOR DYNPRO l SY NTAX-TRACE Letra T l T ABLES l T OP-OF-PAGE l T RANSFER l T RANSLATE l T YPE-POOL l T YPE-POOLS l T YPES Letra U l U LINE l U NPACK l U PDATE Letra W l W AIT l W HILE .. ENDWHILE l W INDOW l W RITE l W RITE TO file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (6 de 6) [09/11/2000 11:19:50] ADD ADD Definición Añade el contenido del campo <n> sobre el campo <m>. Además del formato básico, la sentencia ADD tiene otra variante para la suma de campos adyacentes. Sintaxis: ADD <n> TO <m>. ADD <n1> THEN <n2> UNTIL <nz> { GIVING | TO }<m>. Suma la secuencia de campos <n1>, <n2>, ... , <nz>. <m>. <n1>, >n2>, ... , <nz> deben ser una secuencia de campos equidistantes en memoria del mismo tipo y longitud. l C on la cláusula GIVING el campo <m> se actualiza con el resultado de la suma. l C on la cláusula TO al campo <m> se le añade el resultado de la suma. 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 l B CD_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. Vease también: COMPUTE, ADD-CORRESPONDING file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/add.htm [09/11/2000 11:21:20] ADD-CORRESPONDING ADD-CORRESPONDING Definición Añade el contenido de los componentes de un registro sobre otro. Sintaxis: ADD-CORRESPONDING <n> TO <m>. Añade el contenido de los componentes del registro <n> sobre el registro <m>, para aquellos componentes que tengan el mismo nombre. 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 . file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/add_corresponding.htm [09/11/2000 11:21:26] APPEND APPEND Definición Se utiliza para añadir registros en una tabla interna. Sintaxis: APPEND { <área-trabajo> TO | INITIAL LINE TO} <tabla>. Esta sentencia añade una línea sobre la tabla <tabla>. La sentencia APPEND no comprueba duplicidades en la clave estándar. Después de cada sentencia APPEND, la variable del sistema SY-TABIX contiene el índice de la línea añadida. l C on la cláusula <área-trabajo> TO se especifica el área de trabajo que queremos añadir. Con tablas internas con cabecera de línea se puede omitir esta cláusula, los datos serán leídos del área de trabajo de la tabla interna. l E n lugar de esta opción se puede utilizar INITIAL LINE TO, la cual añade una línea en la tabla interna con los valores iniciales correspondientes a cada componente de la tabla. APPEND LINES OF <tabla1> { FROM <n1> } | {TO <n2>} TO <tabla2>. Para añadir parte del contenido de una tabla interna (o toda la tabla) al final de otra tabla, se puede utilizar la sentencia APPEND con el formato anterior. Después de ejecutarse la sentencia la variable del sistema SY-TABIX tiene el índice de la última línea añadida. Este método de añadir líneas de una tabla sobre otra es de tres a cuatro veces más rápido si lo hacemos línea a línea. Siempre que sea posible, es mejor utilizar este metodo. l Si no se especifican las cláusulas FROM <n1> y TO <n2> la tabla <tabla1> se copia entera sobre la tabla <tabla2>. Con la cláusula FROM <n1> especificamos desde donde se copia la tabla. Con TO <n2> especificamos hasta dónde se copia la tabla. <n1> y <n2> son índices de la tabla interna. APPEND { <área-trabajo> TO } <tabla> SORTED BY <campo>. Con este formato de la sentencia las líneas de la tabla no son añadidas al final de la tabla, sino que son añadidas en la tabla <tabla> ordenadas por el campo <campo> de forma descendente. La tabla interna sólo puede contener las entradas especificadas en la cláusula OCCURS. Esto es una excepción a la regla general. Si se añade una línea y con ello rebasamos el límite definido, la última línea es eliminada. Por este motivo, esta sentencia para crear tablas ranking no muy grandes. Si queremos ordenar tablas de muchas entradas es preferible utilizar las sentencias SORT por razones de rendimiento. Vease también: INSERT, MODIFY. file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/append.htm [09/11/2000 11:21:40] ASSIGN APPEND 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 <campo> TO <FS> { <tipo> } { <decimales> }. Después de la asignación, el field-symbol <FS> tiene los atributos del objeto de datos <campo>, y apunta a la misma posición de memoria. Las cláusulas <tipo> y <decimales> son opciones y las veremos en posteriores apartados. La sintaxis de la sentencia ASSIGN estática, con especificación del offset, es la siguiente: ASSIGN <campo> { +<offset> } { (<longitud>) } TO <FS> { <tipo> } { <decimales> }. 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 <tipo> y <decimales> son opcionales y las veremos en posteriores apartados. <offset> y <longitud> pueden ser variables. El sistema no comprueba si la parte seleccionada en el campo, contando el offset y la longitud, es mayor que la longitud del campo. Se puede referenciar direcciones más allá de la longitud del campo, siempre y cuando no sobrepasemos el área de memoria asignada. Si no especificamos la longitud del campo con <longitud>, el field-symbol <FS> apunta al área perteneciente a los límites del campo. Si <offset> es mayor que 0, <FS> siempre apunta a un área perteneciente a los límites del campo. Si <offset> es menor que la longitud del campo, se puede especificar un asterisco (*) para <longitud>, para evitar sobrepasar el área asignada al campos. las cláusulas <tipo> y <decimales> son opcionales y las vceremos en posteriores apartados. 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 (<campo>) TO <FS> { <tipo> } { <decimales> }. El nombre de objeto de dato que hay que asignar al field-symbol estará contenido en <campo> (asignación indirecta). En tiempo de ejecución, el sistema busca el campo referenciado siguiendo la siguiente secuencia: l 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. Si la búsqueda del campo es satisfactoria y el campo puede ser asignado al field-symbol, el campo SY-SUBRC valdrá 0. En otro caso valdrá 4. Por razones de seguridad, se debe comprobar el valor de SY-SUBRC después de realizar la asignación para prevenir que un field-symbol apunte a un área indefinida. Las cláusulas <tipo> y <decimales> son opcionales y las veremos en posteriores apartados. Ya que este tipo de búsqueda tiene unos efectos adversos en cuanto al tiempo de respuesta del programa, debemos utilizar este tipo de asignación sólo si es absolutamente necesario. Si antes de la ejecución del programa sabemos que la asignación sólo será de áreas de trabajo, se puede utilizar la variante de la sentencia ASSIGN que veremos a continuación. 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: file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (1 de 5) [09/11/2000 11:22:42]
Description: