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 ADD ● ADD-CORRESPONDING ● APPEND ● ASSIGN ● AT .. ENDAT ● AT END OF .. ENDAT ● AT FIRST .. ENDAT ● AT LAST .. ENDAT ● AT LINE-SELECTION ● AT NEW .. ENDAT ● AT Pfnn ● AT SELECTION-SCREEN ● AT USER-COMMAND ● AUTHORITY-CHECK ● Letra B BACK ● BREAK ● BREAK-POINT ● Letra C CALL ● CALL CUSTOMER-FUNCTION ● CALL DIALOG ● CALL FUNCTION ● CALL METHOD ● CALL SCREEN ● CALL SUBSCREEN ● CALL TRANSACTION ● CASE .. ENDCASE ● CHAIN ● CHECK ● CLEAR ● CLOSE CURSOR ● CLOSE DATASET ● CNT ● COLLECT ● 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]
1. En esta pgina estn todas las instrucciones ABAP/4 del
sistema SAP R/3, adems cada una de ellas contiene un pequeo ejemplo
(o al menos esa es mi intencin). Las sentencias estn ordenadas
alfabticamente para una mejor bsqueda y adems cada sentencia tiene
su propia pgina para facilitar su impresin, 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
ADDq ADD-CORRESPONDINGq APPENDq ASSIGNq AT .. ENDATq AT END OF ..
ENDATq AT FIRST .. ENDATq AT LAST .. ENDATq AT LINE-SELECTIONq AT
NEW .. ENDATq AT Pfnnq AT SELECTION-SCREENq AT USER-COMMANDq
AUTHORITY-CHECKq Letra B BACKq BREAKq BREAK-POINTq Letra C CALLq
CALL CUSTOMER-FUNCTIONq CALL DIALOGq CALL FUNCTIONq CALL METHODq
CALL SCREENq CALL SUBSCREENq CALL TRANSACTIONq CASE .. ENDCASEq
CHAINq CHECKq CLEARq CLOSE CURSORq CLOSE DATASETq CNTq COLLECTq
COMMIT WORKq En esta pgina estn todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (1
de 6) [09/11/2000 11:19:50]
2. COMMUNICATIONq COMPUTEq CONCATENATEq CONDENSEq CONSTANTSq
CONTINUEq CONTROLSq CONVERT DATEq CONVERT TEXTq CREATE OBJECTq
Letra D DATAq DEFINE .. END-OF-DEFINITIONq DELETEq DELETE DATASETq
DELETE DYNPROq DELETE FROM DATABASEq DELETE FROM SHARED BUFFERq
DELETE REPORTq DELETE TEXTPOOLq DESCRIBE DISTANCEq DESCRIBE FIELDq
DESCRIBE LISTq DESCRIBE TABLEq DETAILq DIVIDEq
DIVIDE-CORRESPONDINGq DO .. ENDDOq Letra E EDITOR-CALL FOR REPORTq
END-OF-PAGEq END-OF-SELECTIONq EXEC SQL .. ENDEXECq EXITq EXIT FROM
STEP-LOOPq EXIT FROM SQLq EXPORTq EXPORT DYNPROq EXPORT TO
DATABASEq EXPORT TO DATASETq EXPORT TO MEMORYq EXPORT TO SHARED
BUFFERq En esta pgina estn todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (2
de 6) [09/11/2000 11:19:50]
3. EXTRACTq Letra F FETCHq FIELDq FIELD-GROUPSq FIELD-SYMBOLSq
FIELDSq FORM .. ENDFORMq FORMATq FREEq FREE MEMORYq FREE OBJECTq
FUNCTION .. ENDFUNCTIONq FUNCTION-POOLq Letra G GENERATE DYNPROq
GENERATE REPORTq GENERATE SUBROUTINE POOLq GETq GET CURSORq GET
LOCALE LANGUAGEq GET PARAMETERq GET PROPERTYq GET RUN TIMEq GET
TIMEq Letra H HIDEq Letra I IF .. ENDIFq IMPORT DIRECTORY FROM
DATABASEq IMPORT DYNPROq IMPORT FROM DATABASEq IMPORT FROM DATASETq
IMPORT FROM LOGFILEq IMPORT FROM MEMORYq IMPORT SHARED BUFFERq
INCLUDEq INCLUDE STRUCTUREq INCLUDE TYPEq INFOTYPESq
INITIALIZATIONq INSERTq En esta pgina estn todas las instrucciones
ABAP file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm
(3 de 6) [09/11/2000 11:19:50]
4. INSERT .. INTOq INSERT REPORTq INSERT TEXTPOOLq Letra L
LEAVEq LEAVE PROGRAMq LEAVE SCREENq LEAVE TO LIST-PROCESSINGq LEAVE
TO SCREENq LEAVE TO TRANSACTIONq LOAD REPORTq LOCALq LOOP ..
ENDLOOPq LOOP AT SCREEN .. ENDLOOPq Letra M MESSAGEq MODIFYq MODIFY
CURRENT LINEq MODIFY LINEq MODIFY SCREENq MODULEq MODULE ..
ENDMODULEq MOVEq MOVE-CORRESPONDINGq MULTIPLYq
MULTIPLY-CORRESPONDINGq Letra N NEW-LINEq NEW-PAGEq Letra O ON
CHANGE OF .. ENDONq OPEN CURSORq OPEN DATASETq Operador de
asignacin "="q OVERLAYq Letra P PACKq PARAMETERSq PERFORMq
POSITIONq PRINT-CONTROLq En esta pgina estn todas las instrucciones
ABAP file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm
(4 de 6) [09/11/2000 11:19:50]
5. PROCESSq PROGRAMq PROVIDE .. ENDPROVIDEq PUTq Letra R RAISEq
RANGESq READ CALENDARq READ CURRENT LINEq READ DATASETq READ LINEq
READ REPORTq READ TABLEq READ TEXTPOOLq RECEIVE RESULTS FROM
FUNCTIONq REFRESHq REFRESH CONTROLq REFRESH SCREENq REJECTq
REPLACEq REPORTq RESERVEq ROLLBACK WORKq Letra S SCANq SCROLL LISTq
SEARCHq SELECT .. ENDSELECTq SELECT-OPTIONSq SELECTION-SCREENq SET
BLANK LINESq SE COUNTRYq SET CURSORq SET EXTEND CHECKq SET
LANGUAGEq SET LEFT SCROLL-BOUNDARYq SET LOCALE LANGUAGEq SET
MARGINq SET PARAMETERq SET PF-STATUSq SET PROPERTYq SET RUN TIME
ANALIZERq En esta pgina estn todas las instrucciones ABAP
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/sentencias_abap.htm (5
de 6) [09/11/2000 11:19:50]
6. SET SCREENq SET TITLEBARq SET UPDATE TASK LOCALq SET
USER-COMMANDq SHIFTq SKIPq SORTq SPLITq START-OF-SELECTIONq
STATICSq STOPq SUBMITq SUBTRACTq SUBTRACT-CORRESPONDINGq SUMq
SUMMARYq SUPRESS DIALOGq SYNTAX-CHECKq SYNTAX-CHECK FOR DYNPROq
SYNTAX-TRACEq Letra T TABLESq TOP-OF-PAGEq TRANSFERq TRANSLATEq
TYPE-POOLq TYPE-POOLSq TYPESq Letra U ULINEq UNPACKq UPDATEq Letra
W WAITq WHILE .. ENDWHILEq WINDOWq WRITEq WRITE TOq En esta pgina
estn todas las instrucciones ABAP file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/sentencias_abap.htm (6 de 6) [09/11/2000
11:19:50]
7. ADD Definicin Aade el contenido del campo sobre el campo .
Adems del formato bsico, la sentencia ADD tiene otra variante para
la suma de campos adyacentes. Sintaxis: ADD TO . ADD THEN UNTIL {
GIVING | TO }. Suma la secuencia de campos , , ... , . . ,
>n2>, ... , deben ser una secuencia de campos equidistantes
en memoria del mismo tipo y longitud. Con la clusula GIVING el
campo se actualiza con el resultado de la suma.q Con la clusula TO
al campo se le aade el resultado de la suma.q 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 pequeo. BCD_OVERFLOW : Overflow al hacer la operacin
aritmtica . COMPUTE_INT_PLUS_OVERFLOW : Al aadir se ha producido un
"Overflow" en un entero. q Vease tambin: COMPUTE, ADD-CORRESPONDING
ADD file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/add.htm [09/11/2000
11:21:20]
8. ADD-CORRESPONDING Definicin Aade el contenido de los
componentes de un registro sobre otro. Sintaxis: ADD-CORRESPONDING
TO . Aade el contenido de los componentes del registro sobre el
registro , 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 tambin: 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]
9. APPEND Definicin Se utiliza para aadir registros en una
tabla interna. Sintaxis: APPEND { TO | INITIAL LINE TO} . Esta
sentencia aade una lnea sobre la tabla . La sentencia APPEND no
comprueba duplicidades en la clave estndar. Despus de cada
sentencia APPEND, la variable del sistema SY-TABIX contiene el
ndice de la lnea aadida. Con la clusula TO se especifica el rea de
trabajo que queremos aadir. Con tablas internas con cabecera de
lnea se puede omitir esta clusula, los datos sern ledos del rea de
trabajo de la tabla interna. q En lugar de esta opcin se puede
utilizar INITIAL LINE TO, la cual aade una lnea en la tabla interna
con los valores iniciales correspondientes a cada componente de la
tabla. q APPEND LINES OF { FROM } | {TO } TO . Para aadir 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. Despus de ejecutarse la sentencia la variable del sistema
SY-TABIX tiene el ndice de la ltima lnea aadida. Este mtodo de
aadir lneas de una tabla sobre otra es de tres a cuatro veces ms
rpido si lo hacemos lnea a lnea. Siempre que sea posible, es mejor
utilizar este metodo. Si no se especifican las clusulas FROM y TO
la tabla se copia entera sobre la tabla . Con la clusula FROM
especificamos desde donde se copia la tabla. Con TO especificamos
hasta dnde se copia la tabla. y son ndices de la tabla interna. q
APPEND { TO } SORTED BY . Con este formato de la sentencia las
lneas de la tabla no son aadidas al final de la tabla, sino que son
aadidas en la tabla ordenadas por el campo de forma descendente. La
tabla interna slo puede contener las entradas especificadas en la
clusula OCCURS. Esto es una excepcin a la regla general. Si se aade
una lnea y con ello rebasamos el lmite definido, la ltima lnea 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 tambin: INSERT, MODIFY. APPEND
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/append.htm [09/11/2000
11:21:40]
10. APPEND Definicin Asigna con una referencia directa o
dinmica 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 ejecucin del programa debemos
realizar una asignacin esttica, es decir, con una referencia
directa al objeto de dato. Si no conocemos el objeto de dato hasta
la ejecucin del programa, la asignacin deber ser dinmica, es decir,
con una referencia indirecta. La sintaxis de la sentencia ASSIGN
esttica, sin especificacin del offset, es la siguiente: ASSIGN TO {
} { }. Despus de la asignacin, el field-symbol tiene los atributos
del objeto de datos , y apunta a la misma posicin de memoria. Las
clusulas y son opciones y las veremos en posteriores apartados. La
sintaxis de la sentencia ASSIGN esttica, con especificacin del
offset, es la siguiente: ASSIGN { + } { () } TO { } { }. 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
clusulas y son opcionales y las veremos en posteriores apartados. y
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
ms all de la longitud del campo, siempre y cuando no sobrepasemos
el rea de memoria asignada. Si no especificamos la longitud del
campo con , el field-symbol apunta al rea perteneciente a los
lmites del campo. Si es mayor que 0, siempre apunta a un rea
perteneciente a los lmites del campo. Si es menor que la longitud
del campo, se puede especificar un asterisco (*) para , para evitar
sobrepasar el rea asignada al campos. las clusulas y son opcionales
y las vceremos en posteriores apartados. Si slo en tiempo de
ejecucin conocemos el nombre del objeto de dato que hay que asignar
al field-symbol debemos realizar una asignacin dinmica. Para ello
utilizaremos la sentencia ASSIGN con la siguiente sintaxis: ASSIGN
() TO { } { }. El nombre de objeto de dato que hay que asignar al
field-symbol estar contenido en (asignacin indirecta). En tiempo de
ejecucin, el sistema busca el campo referenciado siguiendo la
siguiente secuencia: Si la asignacin se realiza en una subrutina o
mdulo de funcin, el sistema busca el campo en la subrutina o mdulo
de funcin como objeto local. q Si la asignacin se realiza fuera de
una subrutina o mdulo de funcin, o el campo no se encuentra all, el
sistema busca el campo como objeto global al programa. q 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
definicin "grupo de programas" engloba un programa principal y
todos los programa contenidos, incluyendo aqullos en los que se
realice una llamada a una subrutina. q Si la bsqueda 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 despus de
realizar la asignacin para prevenir que un field-symbol apunte a un
rea indefinida. Las clusulas y son opcionales y las veremos en
posteriores apartados. Ya que este tipo de bsqueda tiene unos
efectos adversos en cuanto al tiempo de respuesta del programa,
debemos utilizar este tipo de asignacin slo si es absolutamente
necesario. Si antes de la ejecucin del programa sabemos que la
asignacin slo ser de reas de trabajo, se puede utilizar la variante
de la sentencia ASSIGN que veremos a continuacin. Si antes de la
ejecucin del programa sabemos que vamos a asignar un rea de trabajo
a un field-symbol, pero hasta la ejecucin no sabemos de dicha rea
de trabajo se puede utilizar la siguiente variante dinmica de la
sentencia ASSIGN: ASSIGN file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/assign.htm (1 de 5) [09/11/2000 11:22:42]
11. ASSIGN TABLE FIELD () TO { } { }. El sistema busca el
objeto de dato que vamos a asignar al field-symbol slo en las reas
de trabajo declaradas con la sentencia TABLES en el programa
principal de un grupo de programa. El sistema slo realiza el paso 3
de la sentencia anteriormente vista. Si la bsqueda es satisfactoria
y el campo puede ser asignado al field-symbol, SY-SUBRC es 0; en
caso contrario es 4. Las clusulas y son opcionales y las veremos en
posteriores apartados. Adems 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 continuacin: ASSIGN () TO { } { }.
ASSIGN () { + } { () }TO { } { }. ASSIGN () TO { } { }. ASSIGN
TABLE FIELD () TO { } { }. es un objeto de datos con el valor de un
field-symbol. Las clusulas y son opcionales y las veremos en
posteriores apartados. Se puede especificar componentes de un
field-string a un field-symbol con la siguiente variante de la
sentencia ASSIGN: ASSIGN COMPONENT OF STRUCTURE TO { } { }. El
sistema asigna el componente de la estructura al field-symbol .
puede ser un literal o una variable. Si la asignacin es
satisfactoria, SY-SUBRC es 0; en caso contrario es 4. Las clusulas
y son opcionales y las veremos en posteriores apartados. Se puede
definir el tipo de un field-symbol utilizando la clusula TYPE de la
sentencia ASSIGN. La clusula TYPE se puede utilizar con todas las
variantes de la sentencia ASSIGN vistas anteriormente. puede ser un
literal a una variable. Se produce un error en tiempo de ejecucin
si el tipo de datos es desconocido, o si la longitud del tipo de
datos especificado es incompatible con el tipo de dato asignado. q
Tambin se puede especificar el nmero de decimales de un
field-symbol si el campo asignado es del tipo P (empaquetado). Para
ello se especifica la clusula DECIMALS de la sentencia ASSIGN. La
clusula DECIMALS se puede utilizar con todas las variantes de la
sentencia ASSIGN. Con esta clusula se puede tener distinto nmero de
decimales entre el objeto de dato asignado y el field-symbol. puede
ser un literal o una variable. Un erro en tiempo de ejecucin se
produce si no tiene un valor comprendido entre 0 y 14, o si el
objeto de dato asignado no es del tipo P. q 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 clusula 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 clusula con todas las variantes de la sentencia
ASSIGN a excepcin de la vista en el apartado "Sentencia ASSIGN con
componentes de un field-string". Ejemplo 1: DATA NAME(4) VALUE
'JOHN'. FIELD-SYMBOLS . ASSIGN NAME TO . WRITE . 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]
12. FIELD-SYMBOLS . ASSIGN NAME+4 TO . WRITE . ASSIGN NAME+4(*)
TO . WRITE . Salida: JOHNCARLXXXX JOHNCARL Ejemplo 3: DATA
SALES_DEC2(10) TYPE P DECIMALS 2 VALUE 1234567. FIELD-SYMBOLS .
ASSIGN SALES_DEC2 TO DECIMALS 5. WRITE: / SALES_DEC2, / . Salida:
1,234,567.00 1,234.56700 Ejemplo 4: DATA X(4) VALUE 'Carl'. PERFORM
U. FORM U. FIELD-SYMBOLS . ASSIGN LOCAL COPY OF X TO . WRITE . MOVE
'John' TO . WRITE . WRITE X. ENDFORM. Salida: Carl John Carl
Ejemplo 5: DATA: NAME(4) VALUE 'XYZ', XYZ VALUE '5'. FIELD-SYMBOLS
. ASSIGN (NAME) TO . WRITE . Salida: 5 Ejemplo 6: TABLES TRDIR.
DATA NAME(10) VALUE 'TRDIR-NAME'. FIELD-SYMBOLS . MOVE 'XYZ_PROG'
TO TRDIR-NAME. ASSIGN TABLE FIELD (NAME) TO . WRITE . Salida:
XYZ_PROG Ejemplo 7: TABLES TRDIR. DATA: F(8) VALUE 'F_global',
ASSIGN file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/assign.htm (3 de
5) [09/11/2000 11:22:42]
13. 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 . ASSIGN (NAME) TO . WRITE . MOVE 'G' TO NAME. ASSIGN
(NAME) TO . WRITE . MOVE 'TRDIR-NAME' TO NAME. ASSIGN (NAME) TO .
WRITE . ENDFORM. Salida: F_local G_global XYZ_PROG Ejemplo 8:
PROGRAM P1MAIN. TABLES TRDIR. DATA NAME(30) VALUE 'TFDIR-PNAME'.
FIELD-SYMBOLS . MOVE 'XYZ_PROG' TO TRDIR-NAME. PERFORM U(P1SUB).
ASSIGN (NAME) TO . WRITE . CALL FUNCTION 'EXAMPLE'. PROGRAM P1SUB.
TABLES TFDIR. ... FORM U. FIELD-SYMBOLS . DATA NAME(30) VALUE
'TRDIR-NAME'. ASSIGN TABLE FIELD (NAME) TO . WRITE . MOVE
'FCT_PROG' TO TFDIR-PNAME. ENDFORM. FUNCTION-POOL FUN1. FUNCTION
EXAMPLE. DATA NAME(30) VALUE 'TRDIR-NAME'. FIELD-SYMBOLS . ASSIGN
(NAME) TO . IF SY-SUBRC = 0. WRITE . ELSE. WRITE / 'TRDIR-NAME
cannot be accessed'. ENDIF. ASSIGN file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/assign.htm (4 de 5) [09/11/2000
11:22:42]
14. ENDFUNCTION. 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 . MOVE 'XYZ_PROG' TO
TRDIR-NAME. CALL FUNCTION 'EXAMPLE'. FUNCTION-POOL FUN1. FUNCTION
EXAMPLE. DATA NAME(30) VALUE 'TRDIR-NAME'. FIELD-SYMBOLS . ASSIGN
LOCAL COPY OF MAIN TABLE FIELD (NAME) TO . IF SY-SUBRC = 0. WRITE .
ELSE. WRITE / 'TRDIR-NAME cannot be accessed'. ENDIF. ENDFUNCTION.
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 . DO 3 TIMES. ASSIGN COMPONENT SY-INDEX OF
STRUCTURE REC TO . IF SY-SUBRC 0. EXIT. ENDIF. WRITE . ENDDO.
ASSIGN COMPONENT CN OF STRUCTURE REC TO . WRITE . Output: a b c d
Vease tambin: DESCRIBE FIELD, MOVE. ASSIGN file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/assign.htm (5 de 5) [09/11/2000
11:22:42]
15. AT .. ENDAT Definicin La sentencia AT .. ENDAT slo puede
ser utilizada dentro de un bucle LOOP .. ENDLOOP para extractos, e
identifica un bloque de proceso. La sentencia se ejecuta cuando se
detecta que cambia algn valor en el field-group. Sintaxis: AT {
WITH }. ENDAT. La setencia AT se cierra con ENDAT, identificando de
esta forma un bloque de proceso. La clusula WITH se utiliza para
indicar que la sentencia AT se debe ejecutar si para el field-group
le sigue el field-group . q Ejemplo 1: DATA: NAME(30), SALES TYPE
I. FIELD-GROUPS: HEADER, INFOS. INSERT: NAME INTO HEADER, SALES
INTO INFOS. ... LOOP. AT NEW NAME. NEW-PAGE. ENDAT. ... AT END OF
NAME. WRITE: / NAME, SUM(SALES). ENDAT. ENDLOOP. Vease tambin:
LOOP, EXTRACT. AT .. ENDAT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/at_endat.htm [09/11/2000 11:22:42]
16. AT END OF .. ENDAT Definicin La sentencia AT END OF ..
ENDAT slo puede ser utilizada dentro de un bucle LOOP .. ENDLOOP e
identifica un bloque de proceso. La sentencia se ejecuta cuando se
detecta que cambia algn valor para el campo especificado. Sintaxis:
AT END OF . 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 lnea actual
de la tabla interna. Todos los campos que no forman parte de la
clave estndar de la tabla toman el valor inicial. Para la condicin
de lnea END OF el sistema sobrescribe todos los campos de la clave
estndar, que se encuentran a la derecha del campo con asterisco
(*). No se debe utilizar la sentencia AT END OF .. ENDAT en
combinacin con la sentencia LOOP .. ENDLOOP con las clusulas FROM,
TO o WHERE. 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
tambin: LOOP. AT END OF .. ENDAT file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/at_end_of_endat.htm [09/11/2000
11:22:43]
17. AT FIRST .. ENDAT Definicin La sentencia AT FIRST .. ENDAT
slo 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. 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
lnea actual de la tabla interna. Todos los campos que no forman
parte de la clave estndar de la tabla toman el valor inicial. Para
la condicin de lnea FIRST el sistema sobrescribe todos los campos
de la clave estndar, que se encuentran a la derecha del campo con
asterisco (*). No se debe utilizar la sentencia AT FIRST .. ENDAT
en combinacin con la sentencia LOOP .. ENDLOOP con las clusulas
FROM, TO o WHERE. 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 tambin:
LOOP. AT FIRST .. ENDAT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/at_first_endat.htm [09/11/2000 11:22:43]
18. AT LAST .. ENDAT Definicin La sentencia AT LAST .. ENDAT
slo puede ser utilizada dentro de un bucle LOOP .. ENDLOOP e
identifica un bloque de proceso. La sentencia se ejecuta con el
ltimo valor o ltimo registro de la sentencia LOOP .. ENDLOOP.
Sintaxis: AT LAST. ENDAT. La sentencia AT LAST se cierra con ENDAT,
identificando de esta forma un bloque de proceso. En un bloque AT
LAST .. ENDAT el rea de trabajo no se rellena con la lnea actual de
la tabla interna. Todos los campos que no forman parte de la clave
estndar de la tabla toman el valor inicial. Para la condicin de
lnea LAST el sistema sobrescribe todos los campos de la clave
estndar, que se encuentran a la derecha del campo con asterisco
(*). No se debe utilizar la sentencia AT LAST .. ENDAT en
combinacin con la sentencia LOOP .. ENDLOOP con las clusulas FROM,
TO o WHERE. 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. ENDAT. WRITE: /
COMPANIES-PRODUCT, COMPANIES-SALES. AT LAST. SUM. WRITE: /
COMPANIES-NAME, COMPANIES-SALES. ENDAT. ENDLOOP. Vease tambin:
LOOP. AT LAST .. ENDAT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/at_last_endat.htm [09/11/2000 11:22:44]
19. AT LINE-SELECTION Definicin Para permitir al usuario
seleccionar una lnea de un listado y realizar alguna accin, se
puede escribir un bloque de proceso en el programa para el evento
AT LINE-SELECTION. Sintaxis: AT LINE-SELECTION.. ENDAT. Este evento
define un bloque de proceso que se activa cuando seleccionamos una
lnea del informe. Este evento se utiliza en los informes
interactivos cuando generan salidas secundarias. Este evento se
describe con mayor detalle en el Captulo 15: "Programas
interactivos". Si no definimos una interfaz particular para el
listado (a travs de la transaccin "menu painter") el sistema crea
una interfaz estndar. La apariencia de esta interfaz es la misma
que la de cualquier informe, interactivo o no. El usuario podr
activar este evento a travs de las siguientes acciones: En el men
"edicin", se elige la opcin "seleccionar".q Presionando la tecla de
funcin F2.q Realizando un doble-click sobre la lnea o un solo click
sobre un hotspot (ver las opciones sentencia WRITE).q despus de
posicionar el cursor sobre una lnea y realizar alguna de las
acciones anteriores, el evento AT LINE-SELECTION se activa.
Internamente, el cdigo de funcin PICK activa el evento AT
LINE-SELECTION. En la interfaz predefinida, la opcin de men
"edicin" -> "seleccionar" y la tecla de funcin F" estn asignadas
al cdigo de funcin 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]
20. PERFORM WRITE_WITH_COLOR USING SY-UCOMM P_FLAG_UCOMM. 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 tambin: 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]
21. The following URL was not downloaded:
http://usuarios.tripod.es/gaussr3/abap4/sentencias/at_new_endat.htm
URL not downloaded file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/at_new_endat.htm [09/11/2000 11:22:45]
22. AT PFnn Definicin Para permitir que el usuario realice una
accin tras pulsar una tecla de funcin, se puede escribir un bloque
de proceso en el programa, encabezado por el evento ATPFnn.
Sintaxis: AT PFnn Este evento define un bloque de proceso que se
activa cuando pulsamos la tecla de funcin PFnn, siendo "nn" un
valor comprendido entre 1 y 24. Este evento se utiliza en los
informes interactivos cuando generan salidas secundarias. Este
evento se describe con mayor detalle en el Captulo 15: "Programas
interactivos". De igual forma que en los eventos anteriores, si no
definimos una interfaz de usuario particular para el programa, el
sistema incorpora una estndar. Si el usuario presenta una tecla de
funcin el sistema procesar el bloque de proceso de esa tecla de
funcin (si existe). La posicin del cursor no es relevante. Para ver
una lista de tecla de funcin predefinidas se puede crear un
programa que tenga un evento AT PFnn, ejecutar el listado, y sobre
ste pulsar el botn derecho del ratn. Aparecer un listado con todas
las teclas de funcin definidas con un texto. Recomiendo no utilizar
este evento, es preferible utiliza el evento AT USER-COMMAND. Hace
ms amigable la interfaz del usuario el uso de botones que el uso de
teclas de funcin. Ejemplo 1: DATA NUMBER LIKE SY-INDEX.
START-OF-SELECTION. DO 9 TIMES. WRITE: / 'Row', (2) SY-INDEX.
NUMBER = SY-INDEX. HIDE NUMBER. ENDDO. AT PF8. CHECK NOT NUMBER IS
INITIAL. WRITE: / 'Cursor was in row', (2) NUMBER. CLEAR NUMBER.
Vease tambin: HIDE, SET PF-STATUS. AT PFnn file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/at_pf.htm [09/11/2000 11:22:45]
23. AT SELECTION-SCREEN Definicin El evento AT SELECTION-SCREEN
provee de varias posibilidades de bloques de proceso pero todos
relacionados con la pantalla de seleccin. Algunos se ejecutan antes
de la pantalla de seleccin y otros despus. Sintaxis: AT
SELECTION-SCREEN Si utilizamos la palabra clave sin usar ninguna
opcin, el bloque de proceso correspondiente se ejecuta despus de
que el sistema procese la pantalla de seleccin. Si durante la
ejecucin del bloque de proceso se activa algn mensaje de error,
vuelve a aparecer la pantalla de seleccin. Todos los campos de la
pantalla de seleccin se pueden modificar. La sentencia MESSAGE
activa mensajes. Los tipo de error pueden ser A (abend), E (Error),
I (Informativo), S (siguiente pantalla) o W (Warning). EL grupo de
mensajes se especifica en la sentencia REPORT (Clusula MESSAGE-ID
...). AT SELECTION-SCREEN ON . La siguiente variante nos permite
crear un bloque de proceso para un solo campo de la pantalla de
seleccin. debe ser una parmetro. El bloque de proceso se arranca
cuando el sistema ha procesado el campo en cuestin. El sistema
realiza primero validaciones de formato. Una vez analizado el
formato, se arranca el bloque de proceso. Si activamos un mensaje
de error en este bloque de proceso, vuelve a aparecer la pantalla
de seleccin y slo se puede modificar el campo tratado. AT
SELECTION-SCREEN ON END OF . La siguiente variante nos permite
validar un criterio de seleccin de la pantalla de seleccin. El
bloque de proceso se ejecuta despus de introducir valores en la
pantalla "compleja" de introduccin de datos en un criterio de
seleccin. AT SELECTION-SCREEN ON VALUE-REQUEST FOR . La siguiente
variante permite crear un bloque de proceso asociado cuando el
usuario pulsa el botn de posibles valores (tambin se activa
pulsando la tecla de funcin F4). Dicho botn aparece automticamente
a la derecha del campo (parmetro o criterio de seleccin) cuando se
utiliza este evento. En el bloque de proceso se debe programar una
lista de valores de proceso. AT SELECTION-SCREEN ON HELP-REQUEST
FOR . La siguiente variante permite crear un bloque de proceso
asociado a la tecla de funcin F1 (ayuda en el estndar). Normalmente
lo que codifica en el bloque de proceso es una ventana de ayuda. AT
SELECTION-SCREEN ON RADIOBUTTON GROUP . La siguiente variante nos
permite asociar un bloque de proceso a un radiobutton (grupo de
botones). El bloque proceso se activa despus de que el sistema
procesa el radiobutton definido en . Si activamos un mensaje de
error en el bloque de proceso vuelve a aparecer la pantalla de
seleccin. Slo el radiobutton relacionado puede ser modificado. AT
SELECTION-SCREEN ON BLOCK . La siguiente variante nos permite
activar un bloque de proceso cuando el sistema termina de procesar
un bloque. Recordemos que en un bloque de pantalla de seleccin se
define con la sentencia SELECTION-SCREEN. Si activamos un mensaje
de error en el bloque de proceso aparece de nuevo la pantalla de
seleccin. Slo los campos del bloque relacionado se pueden
modificar. AT SELECTION-SCREEN OUTPUT. La siguiente variante nos
permite activar un bloque de proceso antes de que el sistema
muestre la pantalla de seleccin (parte PBO de la lgica de proceso).
Este bloque de proceso se puede utilizar, por ejemplo, para mover
valores a los campos de la pantalla de seleccin, pero hay que tener
en cuenta que cada vez que se procesa la pantalla de seleccin
(puede haber mensajes de error en otros eventos AT
SELECTION-SCREEN) se procesa este evento. En cierta ocasiones puede
ser ms recomendable utilizar el evento INITIALIZATION. AT
SELECTION-SCREEN file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/at_selection_screen.htm (1 de 2) [09/11/2000 11:22:46]
24. Ejemplo 1: SELECT-OPTIONS NAME FOR SY-REPID MODIF ID XYZ.
... AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. CHECK SCREEN-GROUP1
= 'XYZ'. SCREEN-INTENSIFIED = '1'. MODIFY SCREEN. ENDLOOP. Vease
tambin: PARAMETERS, SELECT-OPTIONS. AT SELECTION-SCREEN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_selection_screen.htm
(2 de 2) [09/11/2000 11:22:46]
25. AT USER-COMMAND Definicin Para permitir que el programa
reaccione a las funciones que el usuario active se utiliza el
evento AT USER-COMMAND. Sintaxis: AT USER-COMMAND. Este evento
define un bloque de proceso que se activa cuando seleccionamos un
comando. Los comandos se pueden seleccionar a travs de los botones
proporcionados en el programa, o a travs del campo OK-CODE. Este
evento se utiliza en los informes interactivos cuando generan
salidas secundarias. El bloque de proceso del evento AT
USER-COMMAND se ejecuta cuando el usuario activa un cdigo de funcin
presente en el status activo en ese momento. Este evento no se
activa por los cdigos de funcin predefinido del sistema o por el
cdigo de funcin PICK que, como ya hemos visto, activa el evento AT
LINE-SELECTION. El campo del sistema SY-UCOMM nos permite saber qu
cdigo de funcin ha activado el usuario. Ejemplo 1: DATA: NUMBER1
TYPE I VALUE 20, NUMBER2 TYPE I VALUE 5, RESULT TYPE I.
START-OF-SELECTION. WRITE: / NUMBER1, '?', NUMBER2. AT
USER-COMMAND. CASE SY-UCOMM. WHEN 'ADD'. RESULT = NUMBER1 +
NUMBER2. WHEN 'SUBT'. RESULT = NUMBER1 - NUMBER2. WHEN 'MULT'.
RESULT = NUMBER1 * NUMBER2. WHEN 'DIVI'. RESULT = NUMBER1 /
NUMBER2. WHEN OTHERS. WRITE 'Unknown function code'. EXIT. ENDCASE.
WRITE: / 'Result:', RESULT. Vease tambin: SCROLL. AT USER-COMMAND
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/at_user_command.htm
[09/11/2000 11:22:46]
26. AUTHORITY-CHECK Definicin Esta sentencia nos permite
comprobar las autorizaciones de un usuario. Recordemos que dichas
autorizaciones forman parte del perfil de usuario y el sistema las
guarda en el maestro de usuarios. Sintaxis: AUTHORITY-CHECK OBJECT
'' ID 'campo1> { FIELD | DUMMY } ID 'campo2> { FIELD | DUMMY
} ... ID 'campon> { FIELD | DUMMY } es el nombre del objeto de
autorizacin que hay que comprobar. Un objeto de autorizacin esta
compuesto de campos de autorizacin, todos ellos deben estar
especificados a continuacin de las clusulas ID (, ..., ). q , ...,
son los valores de autorizacin que hay que comprobar. puede ser un
literal o una variable. El sistema busca en el perfil del usuario
el objeto especificado en la sentencia, y comprueba si el usuario
tiene autorizacin para todos los campos del objeto. q Se puede
saltar la comprobacin de un campo sustituyendo la clusula FIELD por
DUMMY. Si SY-SUBRC vale 0, el usuario esta autorizado, en caso
contrario, SY-SUBRC toma un valor distinto de 0. q Ejemplo 1:
AUTHORITY-CHECK OBJECT 'M_EINF_WRK' ID 'WERKS' FIELD '0002' ID
'ACTVT' FIELD '02'. AUTHORITY-CHECK OBJECT 'M_EINF_WRK' ID 'WERKS'
DUMMY ID 'ACTVT' FIELD '01'. AUTHORITY-CHECK file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/authority_check.htm [09/11/2000
11:22:47]
27. BACK Definicin Para situar la lnea de salida en la lnea
siguiente de la cabecera de pgina se puede utilizar la sentencia
BACK. Sintaxis: BACK Esta sentencia puede ser utilizada en
combinacin con la sentencia RESERVER. Si la sentencia BACK se
utiliza sola, el sistema actualiza la lnea actual de salida a la
siguiente cabecera de pgina. Adems actualiza la variable SY-COLNO a
1 y SY-LINNO al valor que corresponda en funcin del nmero de lneas
de cabecera. En combinacin con la sentencia RESERVE se aplican
otras condiciones. El sistema actualiza la lnea actual de salida a
la primera lnea del bloque de lneas creado con la sentencia
RESERVE. Ejemplo 1: DATA: TOWN(10) VALUE 'New York', CUSTOMER1(10)
VALUE 'Charly', CUSTOMER2(10) VALUE 'Sam', SALES1 TYPE I VALUE
1100, SALES2 TYPE I VALUE 2200. RESERVE 2 LINES. WRITE: TOWN,
CUSTOMER1, / CUSTOMER2 UNDER CUSTOMER1. BACK. WRITE: 50 SALES1, /
SALES2 UNDER SALES1. Vease tambin: RESERVE. BACK
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/back.htm [09/11/2000
11:22:47]
28. BREAK Definicin Con esta sentencia activamos la transaccin
de depuracin de programas. Sintaxis: BREAK . Cuando esta sentencia
se ejecuta, si el usuario que est ejecutando el programa es el
especificado en el literal , se activa la transaccin de depuracin
de programas. no debe ir entre comillas como sera lgico en un
literal. El efecto es el mismo que el de la sentencia BREAK-POINT,
para un mayor detalle ver esta sentencia. Vease tambin:
BREAK-POINT. BREAK file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/break.htm [09/11/2000 11:22:47]
29. BREAK-POINT Definicin Sentencia utilizada para activar la
transaccin de depuracin de programas. Sintaxis: BREAK-POINT . La
sentencia BREAK-POINT interrumpe el proceso y activa el depurador
de programa en ese punto. Una vez activo el depurador se pueden
realizar todas las funciones que permite el sistema de debugging.
Si el sistema es incapaz de activar el modo depuracin, por ejemplo,
si el programa se est ejecutando en fondo (background) o si el
programa es de actualizacin, el sistema genera un mensaje en el log
del sistema. El contenido de , para ejecuciones en background o en
procesos de actualizacin, se graba en el mensaje del log del
sistema. Despus de procesar el sistema la sentencia BREAK-POINT se
realiza automticamente un COMMIT-WORK de la base de datos. Vease
tambin: BREAK. BREAK-POINT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/break_point.htm [09/11/2000 11:22:48]
30. CALL Definicin Permite realizar una llamada a una funcin
del sistema. Sintaxis: CALL [ID FIELD ... ID FIELD ]. La funcin
debe existir en el fichero sapactab.h. Si cambiamos o creamos
nuevas funciones del sistema tendremos que compilar y linkar de
nuevo el kernel de SAP, para ello sera necesario tener los cdigos
fuente de la aplicacin SAP. La clusula ID nos permite pasar
parmetros por referencia. ... son los nombres de los parmetros de
la funcin del sistema, ... son los campos (o literales) con los
valores que hay que pasar. q Esta sentencia fue creada para uso
exclusivo de los programa estndar de SAP R/3. Vease tambin: CALL
FUNCTION, CALL CUSTOMER-FUNCTION, CALL DIALOG. CALL
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/call.htm [09/11/2000
11:22:48]
31. CALL CUSTOMER-FUNCTION Definicin Esta sentencia se utiliza
para llamar a mdulos de funcin, desarrollados por el usuario, que
pueden o no estar activos. Sintaxis: CALL CUSTOMER-FUNCTION . Esta
sentencia la utiliza el sistema de manera estndar para desarrollar
el concepto de "ampliacin". La idea es la siguiente, en los
programas estndar del sistema, en aquellos puntos donde se ha
considerado interesante, se ha incluido esta sentencia con llamadas
a mdulos existentes pero sin desarrollar y sin activar. El usuario
puede incluir en estos mdulos el desarrollo necesario para las
especificaciones concretas de un sistema y activar posteriormente
el mdulo. De esta forma se evita que se modifiquen los programas
estndar (como ha sucedido en tantas ocasiones en el sistema R/2 que
no acepta este concepto). El nombre del mdulo de funcin tiene la
siguiente nomenclatura: EXIT_XXXXXXXX_NNN, siendo XXXXXXXX el
nombre del programa que realiza la llamada y NNN el nmero de funcin
especificado en la llamada: . Aunque la sentencia no esta limitada
al uso interno de SAP (como sucede con otras sentencias) realmente
no veo la necesidad de utilizar esta sentencia. Si necesitamos
crear un mdulo de funcin os recomiendo que utilicis CALL FUNCTION.
Vease tambin: CALL FUNCTION, CALL DIALOG, CALL. CALL
CUSTOMER-FUNCTION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_customer_function.htm [09/11/2000 11:22:48]
32. CALL DIALOG Definicin La sentencia CALL DIALOG llama a un
mdulo de dilogo. Sintaxis: CALL DIALOG [ AND SKIP FIRST SCREEN ] [
EXPORTING [ FROM ] ... [ FROM ] ] [ IMPORTING [ TO ] ... [ TO ] ] [
USING MODE ]. puede ser un literal o una variable. Con la clusula
AND SKIP FIRST SCREEN el sistema procesa la primera pantalla del
mdulo de dilogo en background, si hemos rellenado todos los campos
obligatorios, gracias a la sentencia SET PARAMETERS. q Con la
clusula EXPORTING especificamos todos los objetos de datos (campos,
registros, tablas) que se pasan al mdulo de funcin. Si el objeto de
dato en el mdulo de dilogo y en el programa coinciden en el nombre,
la opcin FROM no es necesaria. Si no coinciden, apunta a los
objetos de datos del mdulo de dilogo y a los objetos de datos del
programa. q Con la clusula IMPORTING especificamos todos los
objetos de datos (campos, registros, tablas) que se devuelven desde
el mdulo de funcin. Si el objeto de dato en el mdulo de dilogo y en
el programa coinciden en el nombre, la opcin TO no es necesaria. Si
no coinciden, apunta a los objetos de datos del mdulo de dilogo y a
los objetos de datos del programa. q El campo SY-SUBRC se exporta y
se importa automticamente. Los objetos de datos export o import
desconocidos se ignoran en el mdulo de funcin. Los objetos de datos
pasados deberan tener el mismo tipo o estructura en el mdulo de
dilogo y en el programa. q CALL DIALOG USING [ MODE ]. Esta
sentencia permite implementar el mtodo de batch-input CALL DIALOG
USING. La sentencia llama al mdulo de dilogo y le pasa la
informacin, en formato de juego de datos, en la tabla interna . Al
igual que en la sentencia CALL TRANSACTION USING, el sistema
rellena ciertas variables del sistema con informacin referente a un
mensaje. La clusula MODE tiene el mismo significado que en la
sentencia CALL TRANSACTION USING.q Los cdigos de retorno devueltos
por la sentencia son los mismos que en la sentencia CALL
TRANSACTION USING. A diferencia de la anterior sentencia, CALL
DIALOG USING no realiza COMMIT de la base de datos. Los errores en
tiempo de ejecucin que se pueden producir son los siguientes: q
CALL_DIALOG_NOT_FOUND -> El mdulo de dilogo no existe.1.
CALL_DIALOG_WRONG_TDCT_MODE -> El mdulo de dilogo contiene
errores.2. CALL_DIALOG_NAME_TOO_LONG -> El nombre de algn
parmetro es ms largo que el permitido. 3. Vease tambin: CALL
FUNCTION, CALL CUSTOMER-FUNCTION, CALL. CALL DIALOG
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/call_dialog.htm
[09/11/2000 11:22:49]
33. CALL FUNCTION Definicin La sentencia CALL FUNCTION se
utiliza para llamar a un mdulo de funcin. Esta sentencia tiene
varias variantes en funcin de la tarea de trabajo que procesa el
mdulo de funcin. Sintaxis: CALL FUNCTION [ EXPORTING = ... = ] [
IMPORTING = ... = ] [ TABLES = ... = ] [ CHANGING = ... = ] [
EXCEPTIONS = ... = [ OTHERS = ] ]. Llamada bsica a un mdulo de
funcin. Llama al mdulo de funcin . Mdulo de funcin desconocido.q
CALL_FUNCTION_NO_VB -> Slo mdulos de funcin de actualizacin
pueden ser llamados desde la tarea de actualizacin. q
CALL_FUNCTION_NO_ACTIVE -> Mdulo de funcin creado pero no
activo.q CALL_FUNCTION_PARM_MISSING -> El mdulo de funcin espera
un parmetro que no ha sido utilizado en la llamada. q
CALL_FUNCTION_CONFLICT_LENG -> Parmetro con longitud errnea.q
CALL_FUNCTION_CONFLICT_TYPE -> Parmetro con tipo errneo.q
CALL_FUNCTION_CONFILCT_GEN_TYPE -> El tipo de parmetro actual no
satisface los requerimientos del parmetro definido en el mdulo de
funcin. q CALL_FUNCTION_WRONG_ALIGNMENT -> El parmetro actual no
satisface los requerimientos del parmetro definido en el mdulo de
funcin. q CALL_FUNCTION_BASE_LITL -> Se ha pasado un literal en
un parmetro estructurado.q CALL FUNCTION STARTING NEW TASK [
DESTINATION ] [ DESTINATION IN GROUP { | DEFAULT } ] [ PERFORMING
ON END OF TASK ] [ EXPORTING = ... = ] [ TABLES = ... = ] CALL
FUNCTION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_function.htm (1 de 3) [09/11/2000 11:22:50]
34. [ EXCEPTIONS = MESSAGE ... = MESSAGE ]. El sistema arranca
el mdulo de funcin asncronamente en un nuevo modo. En contraste con
el formato bsico, esta variante hace que el sistema continu con la
ejecucin del programa aunque el mdulo de funcin no haya terminado.
Las clusula opcionales son las siguientes: Con la clusula
DESTINATION el mdulo de funcin se ejecuta externamente como una
"Remote Function Call" (RFC). puede ser una variable o un literal.
q Con la clusula DESTINATION IN GROUP el mdulo de funcin se ejecuta
en todos los servidores definidos en un grupo. Los mdulos de funcin
se ejecutarn en paralelo. q La clusula PERFORMING nos permite
controlar los errores que se puedan producir en la ejecucin del
mdulo de funcin. determina la rutina a ejecutar. q La clusula
EXPORTING se utiliza para pasar parmetros al mdulo de funcin, de la
misma forma que en la variante 1. q La clusula TABLES se utiliza
para pasar tablas internas al mdulo de funcin, de la misma forma
que en la variante 1.q La clusula EXCEPTIONS nos permite manejar
dos excepciones del sistema (en ambos casos se puede utilizar la
opcin MESSAGE para activar un mensaje): q SYSTEM_FAILURE -> Si
el sistema destino no funciona.1. COMMUNICATION_FAILURE -> Si no
se puede conectarnos o comunicarnos con el sistema destino.2. Para
poder utilizar esta variante de la sentencia CALL FUNCTION, tanto
el sistema servidor como el sistema cliente deben estar en versin
3.0 o superior. CALL FUNCTION IN UPDATE TASK [ EXPORTING = ... = ]
[ TABLES = ... = ] Con esta variante el mdulo de funcin se ejecutar
en la tarea de actualizacin. La ejecucin no es inmediata, los
parmetros traspasados con las clusulas EXPORTING y TABLES se
almacenan en la base de datos. En el siguiente COMMIT WORK causa
que el mdulo de funcin se ejecute en la tarea de actualizacin. Las
clusulas EXPORTING y TABLES tienen el mismo significado que en la
variante 1. CALL FUNCTION DESTINATION [ EXPORTING = ... = ] [
IMPORTING = ... = ] [ TABLES = ... = ] [ CHANGING = ... = ] [
EXCEPTIONS = ... = [ OTHERS = ] ]. El mdulo de funcin se ejcuta
desde una fuente externa, a travs de una llamada "Remote Function
Call" (RFC). puede ser un literal o una variable. Dependiendo del
destino especificado el mdulo de funcin podr ser ejecutado en un
sistema R/3 o un sistema R/2. es una clave que permite al sistema
saber qu sistema remoto estamos asignado. Los destinos se definen
en la transaccin SM59. La forma de llegar a travs de los mens es la
siguiente: (Pantalla inicial de SAP) -> Herramientas ->
Gestin; Gestin -> Red Destinos RFC. Hay ciertos destinos que
tienen un significado especial: NONE -> Este destino apunta al
propio sistema donde se realiza la llamada al mdulo de funcin. BACK
-> Este destino fuerza a que el programa que realiza la llamada
al mdulo de funcin tenga que ser llamado desde un sistema
diferente. Si el programa se ejecuta desde el mismo sistema se
produce la excepcin COMMUNICATION_FAILURE. Las clusulas opcionales
tienen el mismo significado que el de la variante 1 (llamada
bsica). CALL FUNCTION IN BACKGROUND TASK [ AS SEPARATE UNIT ] [
DESTINATION ] [ EXPORTING = ... = ] [ TABLES = ... = ] Llamada al
mdulo de funcin de modo asncrono. Con la clusula AS SEPARATE UNIT
el mdulo de funcin se ejecuta en una nueva LUW. El resto de las
clusulas ya han sido comentadas anteriormente. CALL FUNCTION
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/call_function.htm (2 de
3) [09/11/2000 11:22:50]
35. Vease tambin: CALL DIALOG, CALL CUSTOMER-FUNCTION, CALL.
CALL FUNCTION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_function.htm (3 de 3) [09/11/2000 11:22:50]
36. CALL METHOD Definicin Llama a un mtodo de un objeto
externo. Utilizado para la programa OLE2. Sintaxis: CALL METHOD OF
[ = ] [ EXPORTING = ... = ] [ NO FLUSH ] Llama al mtodo del objeto
. puede ser un literal o una variable. En , si se especifica, el
sistema guarda el cdigo de retorno de la sentencia.q Con la clusula
EXPORTING se especifican parmetros a pasar al mtodo.q Con la
clusula NO FLUSH continu con el proceso aunque la siguiente
sentencia no sea una sentencia OLE.q CALL METHOD
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/call_method.htm
[09/11/2000 11:22:50]
37. CALL SCREEN Definicin Se utiliza para llamar a una dynpro.
Sintaxis: CALL SCREEN [ STARTING AT [ ENDING AT ] ] Llama al dynpro
. es un nmero de pantalla del programa principal. Para abandonar la
pantalla se deben utilizar las sentencias SET SCREEN o LEAVE
SCREEN. Con la clusula STARTING/ENDING definimos el tamao de la
ventana. y definen la esquina superior izquierda de la ventana, y
definen la esquina inferior derecha de la ventana. Si no se utiliza
la clusula ENDING la esquina inferior derecha ser el lmite de la
pantalla. Se puede producir el siguiente error en tiempo de
ejecucin: q DYNP_TOO_MANY_CALL_SCREENS -> Hemos alcanzado el
lmite de pantallas abiertas para un programa. El lmite actualmente
es de 50 pantallas. 1. Vease tambin: CALL SUBSCREEN. CALL SCREEN
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/call_screen.htm
[09/11/2000 11:22:51]
38. CALL SUBSCREEN Definicin Una subscreen es una pantalla
independiente que se muestra en un rea de otra pantalla principal.
Sintaxis: CALL SUBSCREEN INCLUDING . La sentencia se debe utilizar
en ambos procesos PBO y PAI. Vease tambin: CALL SCREEN. CALL
SUBSCREEN file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_subscreen.htm [09/11/2000 11:22:51]
39. CALL TRANSACTION Definicin La sentencia CALL TRANSACTION
permite ejecutar una transaccin. Sintaxis: CALL TRANSACTION [AND
SKIP FIRST SCREEN ]. Esta sentencia llama a la transaccin . puede
ser un literal o una variable. Para retornar desde la transaccin al
programa se utiliza la sentencia LEAVE PROGRAM. Con la clusula AND
SKIP FIRST SCREEN adems de llamar a la sentencia indicada se puede
saltar la primera pantalla de la transaccin. Esta accin debe ir
combinada con el uso de parmetros SPA/GPA de los campos de la
primera pantalla de la transaccin (sentencia SET PARAMETERS) para
que el momento de la ejecucin de la transaccin, sta tome los
parmtros de la memoria (sentencia GET PARAMETERS) y as, de esta
forma, poder saltar la primera pantalla. Si para pasar la primera
pantalla se necesita rellenar parametros que no indicamos, el
sistema presenta la primera pantalla y ser el usuario el que
realiza la entrada manualmente. q Esta sentencia tiene una variante
con la clusula USING que cambia totalmente el significado de la
sentencia. Se utiliza como mtodo de batch-input. q Sentencia
utilizada para implementar el mtodo CALL TRANSACTION. CALL
TRANSACTION USING [ MODE ] [ UPDATE ] [ MESSAGES INTO es el cdigo
de la transaccin, a la cual vamos a realizar el batch-input. es la
tabla interna con los datos de batch-input (estructura BDCDATA). Si
la transaccin devuelve algn tipo de mensaje, las siguientes
variables del sistema guardan la siguiente informacin: SY-MSGID
-> Identificador de mensaje (REPORT ..... MESSAGE-ID xx).q
SY-MSGTY -> Tipo de mensaje (A -> Abend, E-> Error, ...)q
SY-MSGNO -> Nmero de mensaje.q SY-MSGV1 -> Valor 1 del
mensaje (si existe).q SY-MSGV2 -> Valor 2 del mensaje (si
existe).q SY-MSGV3 -> Valor 3 del mensaje (si existe).q SY-MSGV4
-> Valor 4 del mensaje (si existe).q La variable del sistema
SY-SUBRC toma el valor 0 si el proceso ha sido satisfactorio. En
caso contrario toma un valor distinto de 0. Una llamada a una
transaccin puede terminar satisfactoriamente si se realiza un
COMMIT WORK, un CALL SCREEN con valor 0 o un LEAVE TO TRANSACTION .
Con la clusula MODE especificamos el modo de ejecucin de la
transaccin. puede tener uno de los siguientes valores (el valor por
defecto es A): A -> Se muestran todas las pantallas.1. E ->
Se muestran slo las pantallas con error.2. N -> No se muestra
ninguna pantalla.3. Con la clusula UPDATE especificamos el modo de
actualizacin de la base de datos. puede tener uno de los siguientes
valores (el valor por defecto es A): A -> Modo asncrono.1. S
-> Modo sncrono.2. Con la clusula MESSAGES INTO el sistema
actualiza la tabla interna con todos los mensajes que CALL
TRANSACTION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_transaction.htm (1 de 2) [09/11/2000 11:22:52]
40. se generan en la transaccin. La tabla interna debe tener la
estructura BDCMSGCOLL. Los errores que se pueden producir en tiempo
de ejecucin son los siguientes: CALL_TRANSACTION_NOT_FOUND ->
Transaccin desconocida.1. CALL_TRANSACTION_IS_MENU -> La
transaccin especificada es un men.2. CALL_TRANSACTION_USING_NESTED
-> Se ha utilizado una llamada recursiva invlida para esta
sentencia. 3. CALL_TRANSACTION_LOCKED -> Transaccin bloqueda.4.
CALL TRANSACTION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/call_transaction.htm (2 de 2) [09/11/2000 11:22:52]
41. CASE .. ENDCASE Definicin Para ejecutar diferentes bloques
de sentencias en funcin del contenido de una variable, se utiliza
la sentencia CASE. Sintaxis: CASE . WHEN [ OR ]. [ ] [ WHEN [ OR ].
] [ ] [ WHEN OTHERS. ] [ ] ENDCASE. El sistema ejecuta el bloque de
sentencias correspodiente a la clusula WHEN que cumpla que el valor
de coincida con el valor de , continuando el proceso a continuacin
de la clusula ENDCASE. q Con la clusula OR, se puede indicar ms de
un campo para realizar la comparacin. El bloque de sentencias
correspondiente a la clusula WHEN OTHERS se procesar si ninguna de
las clusulas WHEN se cumple. q La clusula ENDCASE es obligatoria.q
Ejemplo: DATA: ONE TYPE I VALUE 1, THREE TYPE P VALUE 3. DO 5
TIMES. CASE SY-INDEX. WHEN ONE. WRITE / 'Este es'. WHEN 2. WRITE
'un'. WHEN THREE. WRITE 'buen'. WRITE 'ejmeplo'. WHEN OTHERS. WRITE
'!'. ENDCASE. ENDDO. Salida: " Este es un buen ejemplo ! ! " Vease
tambin: IF, ELSEIF. CASE .. ENDCASE file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/case_endcase.htm [09/11/2000 11:22:52]
42. CHAIN Definicin La sentencia CHAIN permite agrupar campos
de pantalla. Sintaxis: CHAIN. ... ENDCHAIN. Si ocurre algn error
sobre algn campo de pantalla interno a un CHAIN .. ENDCHAIN, todos
los campos de la agrupacin permiten entrada de datos. Esto sirve
para que campos relacionados, si se produce algn error, se puedan
modificar conjuntamente. CHAIN file:///C|/DOWNLOADS INTERNET/Ayuda
ABAP 4/chain.htm [09/11/2000 11:22:52]
43. CHECK Definicin Permite terminar con la ejecucin de un
bloque de proceso de forma condicional. Para terminar el paso de un
bucle de forma condicional se utiliza la sentencia CHECK. Sintaxis:
CHECK . CHECK { | SELECT-OPTIONS} Con la primera variante de la
sentencia CHECK utilizamos una condicin. Si resulta FALSE, el
sistema abandona el actual bloque de proceso para continuar con la
prxima ocurrencia del mismo evento (para el evento GET) o el
siguiente evento. puede ser cualquier expresin lgica. La siguiente
variante de la sentencia CHECK se utiliza conjuntamente con el
evento GET. puede ser un criterio de seleccin con la sentencia
SELECT-OPTIONS o con la sentencia RANGES. En la definicin se asocia
un criterio de seleccin a un campo de una tabla de la base de
datos. En el evento GET con la tabla de la base de datos
relacionada se puede utilizar esta variante. El campo debe cumplir
las condiciones del criterio de seleccin. Con la clusula
SELECT-OPTIONS el sistema comprueba todos los criterios de seleccin
definidos para campos de la tabla referenciada en el evento GET. q
CHECK . Si la condicin resulta FALSE, el sistema deja de procesar
el resto de sentencias del bloque para pasar al siguiente paso del
bucle. es cualquier expresin lgica. CHECK { | SELECT-OPTIONS }. es
un criterio de seleccin definido con la sentencia SELECT-OPTIONS.
La sentencia CHECK comprueba si el dato ledo con la sentencia GET
cumple las condiciones del criterio de seleccin. Con la clusula
SELECT-OPTIONS la sentencia CHECK comprueba todos los criterios de
seleccin definidos para la tabla leda con CHECK. q La sentencia
CHECK termina una subrutina de forma condicional. CHECK . Si la
condicin es FALSE, el sistema abandona la subrutina. El programa
contina la ejecucin en el punto donde se realiz la llamada. Vease
tambin: CONTINUE, EXIT, REJECT, STOP. CHECK file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/check.htm [09/11/2000 11:22:53]
44. CLEAR Definicin Con la sentencia CLEAR se puede
inicializar, o la lnea de cabecera de la tabla, o el contenido de
la tabla. Sintaxis: CLEAR . Esta sentencia inicia el contenido del
objeto de datos a sus valores iniciales por defecto. Se puede
distinguir entre los siguientes casos: Tipos de datos elementales.
El sistema inicia el valor del campo a su valor por defecto, no el
valor inicial asignado con la sentencia DATA, con la clusula VALUE.
las constantes no se pueden iniciar. Field-string. Aplicando la
sentencia CLEAR sobre un field-string, el contenido de cada
componente se inicia a su valor por defecto. Tablas internas. En
una tabla interna se inicia el rea de trabajo de la tabla interna,
y no su contenido. CLEAR | []. Con la inicializamos la lnea de
cabecera de la tabla. Con [ ] vaciamos el contenido de la tabla
interna. Ejemplo: DATA: TEXT(10) VALUE 'Hello', NUMBER TYPE I VALUE
12345, ROW(10) TYPE N VALUE '1234567890', BEGIN OF PLAYER, NAME(10)
VALUE 'John', TEL(8) TYPE N VALUE '08154711', MONEY TYPE P VALUE
30000, END OF PLAYER. ... CLEAR: TEXT, NUMBER, PLAYER. El contenido
de los campos seran los siguientes: ROW = '1234567890' TEXT = ' '
NUMBER = 0 PLAYER-NAME = ' ' PLAYER-TEL = '00000000' PLAYER-MONEY =
0 Vease tambin: REFRESH. CLEAR file:///C|/DOWNLOADS INTERNET/Ayuda
ABAP 4/clear.htm [09/11/2000 11:22:53]
45. CLOSE CURSOR Definicin Sentencia utilizada para cerrar un
cursor de una tabla de la base de datos. Sintaxis: CLOSE CURSOR .
Debemos cerrar aquellos cursores que no vayan a ser utilizados ms
en un programa. El cursor se cierra automticamente en los
siguientes casos: Cuando se ejecuta una de las siguientes
sentencias COMMIT WORK o ROLLBACK WORK.q Cuando una sentencia
nativa (native SQL) realiza una de las siguientes funciones commit
o rollback (con la opcin WITH HOLD no sucede esto). q Cuando se
produce un cambio de pantalla (reports interactivos o
transacciones).q Cuando se realiza una RFC o "Remote Function
Call".q Vease tambin: OPEN CURSOR. CLOSE CURSOR
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/close_cursor.htm
[09/11/2000 11:22:54]
46. CLOSE DATASET Definicin Esta sentencia cierra un fichero
del servidor de aplicacin. Sintaxis: CLOSE DATASET . Cierra el
fichero . puede ser un literal o un campo, de la misma forma que en
la sentencia OPEN DATASET. La operacin de cerrar un fichero es slo
necesaria si quieres borrar el contenido de ste durante otra
operacin de escritura. Para evitar errores y hacer que los
programas sean ms fciles de leer, se debe cerrar un fichero antes
de volver a utilizar la sentencia OPEN DATASET. Utilizando la
sentencia CLOSE el programa se divide en bloques lgicos, haciendo
ms fcil el mantenimiento. Vease tambin: OPEN DATASET. CLOSE DATASET
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/close_dataset.htm
[09/11/2000 11:22:54]
47. CNT Definicin La sentencia CNT no es realmente una
sentencia, es una campo que el sistema crea y rellena en los
tratamientos de extractos de datos. Sintaxis: CNT ( ). Esta
sentencia slo puede ser utilizada dentro de un bucle LOOP ..
ENDLOOP para el procesamiento de un extracto de datos. Si la
condicin es FALSE, el sistema abandona la subrutina. El programa
contina la ejecucin en el punto donde se realiz la llamada. Vease
tambin: SUM. CNT file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/cnt.htm
[09/11/2000 11:22:55]
48. COLLECT Definicin Para rellenar lneas en una tabla interna
con la comprobacin por parte del sistema de que la clave estndar de
la tabla ser nica. Sintaxis: COLLECT [ INTO ] [ SORTED BY ]. Para
especificar un rea de trabajo distinta al rea de trabajo de la
tabla interna se utiliza la clusula INTO. q El sistema comprueba si
existe alguna lnea en la tabla interna con la misma clave estndar.
Recordemos que la clave estndar esta compuesta de todos los campos
no numricos. De no existir una lnea con la misma clave, el fecto de
esta sentencia es el mismo que el de la sentencia APPEND, aade una
entrada en la tabla. Si existe ya una lnea con la misma clave
estndar, no se inserta ninguna lnea a la tabla interna; si hay
campos numricos, se sumarn. q La clusula SORTED BY no debe
utilizarse. En futuras versiones esta clusula desaparecer. En su
lugar se puede utilizar la sentencia APPEND. q Ejemplo: DATA: BEGIN
OF COMPANIES OCCURS 10, NAME(20), SALES TYPE I, END OF COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 10. COLLECT COMPANIES.
COMPANIES-NAME = 'Tiger'. COMPANIES-SALES = 20. COLLECT COMPANIES.
COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 30. COLLECT COMPANIES.
El resultado en la tabla companies sera el siguiente: NAME SALES
Duck 40 Tiger 20 Vease tambin: APPEND, MODIFY, INSERT. COLLECT
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/collect.htm [09/11/2000
11:22:55]
49. COMMIT WORK Definicin A veces es necesario asegurarse que
los cambios en la base de datos se han realizado, antes de
continuar con el proceso. Por el contrario, a veces es necesario
deshacer algunos cambios realizados en la base de datos. Para
confirmar los cambios realizados sobre la base de datos se utiliza
la sentencia COMMIT WORK Sintaxis: COMMIT WORK [ AND WAIT ]. para
deshacer los cambios realizados en la base de datos se utiliza la
sentencia ROLLBACK WORK. Estas sentencias tienen un papel
importante en la programacin de transacciones de dilogo. Con la
clusula AND WAIT, el programa se para hasta que la tarea de
actualizacin termina. Si la actualizacin es satisfactoria, SY-SUBRC
vale 0, en caso contrario, SY-SUBRC toma un valor distinto de 0.
Vease tambin: ROLLBACK WORK. COMMIT WORK file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/commit_work.htm [09/11/2000 11:22:56]
50. CREATE OBJECT Definicin Genera un objeto de una clase
determinada. Sentencia utilizada en los programa OLE. Sintaxis:
CREATE OBJECT [ LANGUAGE ]. Para crear un de una clase determinada
desde ABAP/4, dicho objeto debe ser registrado en el sistema SAP a
travs de la transaccin SOLE. Con la clusula LANGUAGE determinamos
el lenguaje del objeto. Si no especificamos esta clusula se
utilizar el idioma ingls. q Vease tambin: SET PROPERTY, GET
PROPERTY, CALL METHOD, FREE OBJECT. CREATE OBJECT
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/create_object.htm
[09/11/2000 11:23:01]
51. COMMUNICATION Definicin Permite realizar comunicacin
directa "programa-a-programa" (CPI-C) definida por IBM en el
contexto de los estndares SAA. Sintaxis: COMMUNICATION INIT
DESTINATION ID [ RETURNCODE ]. Inicia la conexin
"programa-a-programa". En el campo se actualiza con el cdigo de
retorno de la sentencia. COMMUNICATION ALLOCATE ID [ RETURNCODE ].
Establece la conexin con el otro programa. Esta sentencia debe
estar a continuacin de la variante anterior. En el campos se
actualiza con el cdigo de retorno de la sentencia. COMMUNICATION
ACCEPT ID [ RETURNCODE ]. Acepta la conexin requerida por el
programa que controla la comunicacin. En el campo se actualiza con
el cdigo de retorno de la sentencia. COMMUNICATION SEND ID BUFFER [
RETURNCODE ] [ LENGTH ]. Envo de datos al programa principal. Los
datos enviados se encuentran en el campo . En el campo se actualiza
con el cdigo de retorno de la sentencia. La clusula LENGTH se
utiliza para especificar la longitud del campo . COMMUNICATION
RECEIVE ID BUFFER DATAINFO STATUSINFO [ RETURNCODE ] [ LENGTH ] [
RECEIVED ] [ HOLD ]. Recibe datos de otro programa sobre el campo .
En el campo se actualiza con el cdigo de retorno de la sentencia.
La clusula LENGTH se utiliza para especificar la longitud del campo
. Despus de la llamada el campo contiene el nmero de bytes
recibidos. Con la clusula HOLD el proceso espera la recepcin
completa de los datos. COMMUNICATION DEALLOCATE ID [ RETURNCODE ].
Cierra la conexin "programa-a-programa" y libera todos los recursos
utilizados. En el campo se actualiza con el cdigo de retorno de la
sentencia. Ejemplo 1: TYPES: CONVERSATION_ID(8) TYPE C,
DESTINATION(8) TYPE C, RETURN_CODE LIKE SY-SUBRC. DATA: CONVID TYPE
CONVERSATION_ID, DEST TYPE DESTINATION VALUE 'C00', CPIC_RC TYPE
RETURN_CODE. INCLUDE RSCPICDF. COMMUNICATION file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/communication.htm (1 de 7) [09/11/2000
11:23:55]
52. COMMUNICATION INIT DESTINATION DEST ID CONVID RETURNCODE
CPIC_RC. IF CPIC_RC NE CM_OK. WRITE: /'COMMUNICATION INIT, RC = ',
CPIC_RC. EXIT. ENDIF. Ejemplo 2: TYPES: CONVERSATION_ID(8) TYPE C,
DESTINATION(8) TYPE C, RETURN_CODE LIKE SY-SUBRC. DATA: CONVID TYPE
CONVERSATION_ID, DEST TYPE DESTINATION VALUE 'C00', CPIC_RC TYPE
RETURN_CODE. INCLUDE RSCPICDF. COMMUNICATION INIT DESTINATION DEST
ID CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE:
/'COMMUNICATION INIT, RC = ', CPIC_RC. EXIT. ENDIF. COMMUNICATION
ALLOCATE ID CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE:
/'COMMUNICATION ALLOCATE, RC = ', CPIC_RC. EXIT. ENDIF. Ejemplo 3:
FORM CPIC_EXAMPLE. TYPES: CONVERSATION_ID(8) TYPE C, RETURN_CODE
LIKE SY-SUBRC. DATA: CONVID TYPE CONVERSATION_ID, CPIC_RC TYPE
RETURN_CODE. INCLUDE RSCPICDF. COMMUNICATION ACCEPT ID CONVID
RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. EXIT. ENDIF. ENDFORM.
Ejemplo 4: TYPES: CONVERSATION_ID(8) TYPE C, DESTINATION(8) TYPE C,
RETURN_CODE LIKE SY-SUBRC. COMMUNICATION file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/communication.htm (2 de 7) [09/11/2000
11:23:55]
53. DATA: CONVID TYPE CONVERSATION_ID, DEST TYPE DESTINATION
VALUE 'C00', CPIC_RC TYPE RETURN_CODE. INCLUDE RSCPICDF.
COMMUNICATION INIT DESTINATION DEST ID CONVID RETURNCODE CPIC_RC.
IF CPIC_RC NE CM_OK. WRITE: /'COMMUNICATION INIT, RC = ', CPIC_RC.
EXIT. ENDIF. COMMUNICATION ALLOCATE ID CONVID RETURNCODE CPIC_RC.
IF CPIC_RC NE CM_OK. WRITE: /'COMMUNICATION ALLOCATE, RC = ',
CPIC_RC. EXIT. ENDIF. RECORD = 'Prueba de mensaje'. COMMUNICATION
SEND ID CONVID BUFFER RECORD LENGTH LENG RETURNCODE CPIC_RC. IF
CPIC_RC NE CM_OK. WRITE: / 'COMMUNICATION SEND, RC = ', CPIC_RC.
EXIT. ENDIF. Ejemplo 5: FORM CPIC_EXAMPLE. TYPES:
CONVERSATION_ID(8) TYPE C, RETURN_CODE LIKE SY-SUBRC, C_INFO(4)
TYPE X. DATA: CONVID TYPE CONVERSATION_ID, CPIC_RC TYPE
RETURN_CODE, RECORD(80) TYPE C, DINFO TYPE C_INFO, SINFO TYPE
C_INFO. INCLUDE RSCPICDF. COMMUNICATION ACCEPT ID CONVID RETURNCODE
CPIC_RC. IF CPIC_RC NE CM_OK. EXIT. ENDIF. COMMUNICATION RECEIVE ID
CONVID BUFFER RECORD STATUSINFO SINFO COMMUNICATION
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/communication.htm (3 de
7) [09/11/2000 11:23:55]
54. DATAINFO DINFO RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK.
EXIT. ENDIF. ENDFORM. Ejemplo 6: TYPES: CONVERSATION_ID(8) TYPE C,
DESTINATION(8) TYPE C, RETURN_CODE LIKE SY-SUBRC, C_INFO(4) TYPE X.
DATA: CONVID TYPE CONVERSATION_ID, CPIC_RC TYPE RETURN_CODE, DEST
TYPE DESTINATION VALUE 'C00'. DATA: RECORD(80) TYPE C, LENG TYPE I
VALUE 20. INCLUDE RSCPICDF. COMMUNICATION INIT DESTINATION DEST ID
CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE: /
'COMMUNICATION INIT, RC = ', CPIC_RC. EXIT. ENDIF. COMMUNICATION
ALLOCATE ID CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE:
/ 'COMMUNICATION ALLOCATE, RC = ', CPIC_RC. EXIT. ENDIF. RECORD =
'Prueba de mensaje'. COMMUNICATION SEND ID CONVID BUFFER RECORD
LENGTH LENG RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE: /
'COMMUNICATION SEND, RC = ', CPIC_RC. EXIT. ENDIF. COMMUNICATION
DEALLOCATE ID CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK.
WRITE: / 'COMMUNICATION DEALLOCATE, RC = ', CPIC_RC. EXIT. ENDIF.
Ejemplo 7: COMMUNICATION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/communication.htm (4 de 7) [09/11/2000 11:23:55]
55. PROGRAM ZCPICTST. TYPES: CONVERSATION_ID(8) TYPE C,
DESTINATION(8) TYPE C, RETURN_CODE LIKE SY-SUBRC, C_INFO(4) TYPE X.
DATA: BEGIN OF CONNECT_STRING, REQID(4) VALUE 'CONN', TYPE(4) VALUE
'CPIC', MODE(4) VALUE '1 ', MANDT(3) VALUE '000', NAME(12) VALUE
'CPICUSER', PASSW(8) VALUE 'CPIC', LANGU(1) VALUE 'D', KORRV(1),
REPORT(8) VALUE 'ZCPICTST', FORM(30) VALUE 'CPIC_EXAMPLE', END OF
CONNECT_STRING. DATA: CONVID TYPE CONVERSATION_ID, DEST TYPE
DESTINATION VALUE 'R2-SYST', CPIC_RC TYPE RETURN_CODE, DINFO TYPE
C_INFO, SINFO TYPE C_INFO. DATA: RECORD(80) TYPE C, LENG TYPE I
VALUE 20. INCLUDE RSCPICDF. COMMUNICATION INIT DESTINATION DEST ID
CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE: /
'COMMUNICATION INIT, RC = ', CPIC_RC. EXIT. ENDIF. COMMUNICATION
ALLOCATE ID CONVID RETURNCODE CPIC_RC. IF CPIC_RC NE CM_OK. WRITE:
/ 'COMMUNICATION ALLOCATE, RC = ', CPIC_RC. EXIT. ENDIF. * Convert
logon data to EBCDIC TRANSLATE CONNECT_STRING TO CODE PAGE '0100'.
COMMUNICATION SEND ID CONVID BUFFER CONNECT_STRING. IF CPIC_RC NE
CM_OK. WRITE: / 'COMMUNICATION ALLOCATE, RC = ', CPIC_RC. EXIT.
ENDIF. * Receive acknowledgement of logon COMMUNICATION RECEIVE ID
CONVID COMMUNICATION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/communication.htm (5 de 7) [09/11/2000 11:23:55]
56. BUFFER RECORD DATAINFO DINFO STATUSINFO SINFO RETURNCODE
CPIC_RC. IF CPIC_RC NE CM_OK. WRITE: / 'COMMUNICATION RECEIVE, RC =
', CPIC_RC. EXIT. ENDIF. * Convert acknowledgement to ASCII
TRANSLATE RECORD FROM CODE PAGE '0100'. * Now begin user-specific
data exchange RECORD = 'The quick brown fox jumps over the lazy
dog'. * Depending on the partner system, convert to another *
character set TRANSLATE RECORD TO CODE PAGE '0100'. COMMUNICATION
SEND ID CONVID BUFFER RECORD LENGTH LENG RETURNCODE CPIC_RC. IF
CPIC_RC NE CM_OK. WRITE: / 'COMMUNICATION SEND, RC = ', CPIC_RC.
EXIT. ENDIF. COMMUNICATION DEALLOCATE ID CONVID RETURNCODE CPIC_RC.
IF CPIC_RC NE CM_OK. WRITE: / 'COMMUNICATION DEALLOCATE, RC = ',
CPIC_RC. EXIT. ENDIF. PROGRAM ZCPICTST. INCLUDE RSCPICDF. * The
receiving procedure in the relevant partner program follows FORM
CPIC_EXAMPLE. TYPES: CONVERSATION_ID(8) TYPE C, RETURN_CODE LIKE
SY-SUBRC, C_INFO(4) TYPE X. DATA: CONVID TYPE CONVERSATION_ID,
CPIC_RC TYPE RETURN_CODE, RECORD(80) TYPE C, DINFO TYPE C_INFO,
SINFO TYPE C_INFO. COMMUNICATION ACCEPT ID CONVID RETURNCODE
CPIC_RC. IF CPIC_RC NE CM_OK. EXIT. ENDIF. COMMUNICATION RECEIVE ID
CONVID COMMUNICATION file:///C|/DOWNLOADS INTERNET/Ayuda ABAP
4/communication.htm (6 de 7) [09/11/2000 11:23:55]
57. BUFFER RECORD STATUSINFO SINFO DATAINFO DINFO RETURNCODE
CPIC_RC. IF CPIC_RC NE CM_OK AND CPIC_RC NE CM_DEALLOCATED_NORMAL.
EXIT. ENDIF. ENDFORM. COMMUNICATION file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/communication.htm (7 de 7) [09/11/2000
11:23:55]
58. COMPUTE Definicin Para procesar objetos de datos numricos
al asignar el valor resultante a un objeto de datos, se puede
utilizar la sentencia compute. Sintaxis: [ COMPUTE ] = . La palabra
clave COMPUTE es opcional (nica sentencia que su palabra clave es
opcional). El resultado de la operacin matemtica especificada en se
asigna al campo . Si el resultado de la operacin no tiene el mismo
tipo de dato que el campo , el sistema realiza la conversin
oportuna de forma automtica. Los operandos de deben ser de tipo
numrico. Los operadores vlidos son los siguientes: Operador
Significado Ejemplo + Suma resultado = campo1 + campo2. -
Diferencia resultado = campo1 - campo2. * Multiplicacin resultado =
campo1 * campo2. / Divisin resultado = campo1 / campo2. DIV Divisin
entera resultado = campo1 DIV campo2. MOD Resto de una divisin
entera resultado = campo1 MOD campo2. ** Exponenciacin resultado =
campo1 ** campo2. En lugar de utilizar los operadores bsicos +, -,
* y / se puede utilizar las sentencias ADD, SUBTRACT, MULTIPLY y
DIVIDE respectivamente. Estas sentencias ya las veremos en
posteriores apartados. Los operadores vistos anteriormente, as como
los parntesis, son palabras clave del lenguaje ABAP/4, por ellos,
deben ir con al menos un espacio en blanco por delante y por detrs.
En la divisin, el divisor no puede ser cero. Si combinamos varias
expresiones, los operadores de igualdad y prioridad se evalan de
derecha a izquierda. Excepto en el caso del operador de
exponenciacin, que se evala de derecha a izquierda. La prioridad a
la hora de evaluar una expresin es la siguiente: parntesis,
funciones, exponenciacin (**), operadores *, /, MOD y DIV y
operadores "+" y "-". Adems de los operadores vistos hasta ahora se
puede utilizar un conjunto de funciones predefinidas. El formato
que hay que utilizar es el siguiente: [ COMPUTE ] = ( ). Los
espacios en blanco entre los parntesis y los argumentos son
obligatorios. El resultado de llamar a la funcin con el argumento
es asignado a . Las funciones existentes pueden clasificarse en los
siguientes grupos: q Funciones vlidas para todos los tipos numricos
(tipo F, I y P). El argumento no tiene por qu ser numrico. Si
utilizamos otro tipo, ste es convertido a un tipo numrico. Por razn
de optimizacin es recomendable utilizar tipo de datos numricos. q
Funciones slo para el tipo F. Para estas funciones existen las
restricciones normales lgicas de las funciones matemticas, por
ejemplo, la raz cuadrada slo es vlida con nmeros positivos. El
argumento no tiene por qu ser del tipo F. De no ser de este tipo el
sistema realizar la conversin necesaria de forma automtica. q
Funciones vlidas para todos los tipos numricos (F, I y P): Operador
Significado Ejemplo ABS Valor absoluto del argumento resultado =
ABS(campo ). SIGN Signo del argumento. La funcin de vuelve 1 si el
argumento es positivo, 0 si el argumento es 0 y -1 si es negativo.
resultado = SIGN(campo ). CEIL Valor entero inferior al argumento
resultado = CEIL(campo ). COMPUTE file:///C|/DOWNLOADS
INTERNET/Ayuda ABAP 4/compute.htm (1 de 2) [09/11/2000
11:23:56]
59. FLOOR Valor entero superior al argumento resultado =
FLOOR(campo ). TRUNC Parte entera del argumento resultado =
TRUNC(campo1 ). FRAC Parte fraccionaria del argumento resultado =
FRAC(campo1 ). Funciones slo para el tipo F: Operador Significado
Ejemplo ACOS Arcocoseno resultado = ACOS(campo ). ASIN Arcoseno
resultado = ASIN(campo ). ATAN Arcotangente resultado = ATAN(campo
). COS Coseno resultado = COS(campo ). SIN Seno resultado =
SINcampo1 ). TAN Tangente resultado = TAN(campo1 ). COSH Coseno
hiperblico resultado = COSHcampo1 ). SINH Seno hiperblico resultado
= SINHcampo1 ). TANH Tangente hiperblico resultado = TANH(campo1 ).
EXP Exponenciacin resultado = EXP(campo1 ). LOG Logaritmo natural
(base e) resultado = LOG(campo1 ). LOG10 Logaritmo base 10
resultado = LOG10(campo1 ). SQRT Raz cuadrada resultado =
SQRT(campo1 ). Si el atributo Aritmtica en coma fija no est
marcado, los campos empaquetados (tipo P) son enteros sin punto
decimal. El parmetro DECIMALS de la sentencia DATA slo es efectivo
para la sentencia WRITE. Por esta razn SAP recomienda que siempre
que trabajemos con campos de tipo P marquemos el atributo Aritmtica
en coma fija. Cuando tenemos marcado este atributo, no slo tiene
efecto con la sentencia WRITE, sino que tambin toma relevancia en
las operaciones numricas. Los resultados intermedios se guardan con
31 posiciones significativas antes y despus del punto decimal. Los
tipos de datos fecha y hora no son tipo numricos pero se pueden
realizar operaciones aritmticas se suele usar el offset de los
campos. Existe una funcin que opera con los campos alfanumricos:
Operador Significado Ejemplo STRLEN Determina la longitud hasta el
ltimo carcter distinto del espacio en blanco. resultado =
STRLEN(campo ). Vease tambin: ADD, SUBTRACT, MULTIPLY, DIVIDE.
COMPUTE file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/compute.htm (2
de 2) [09/11/2000 11:23:56]
60. CONCATENATE Definicin Se utiliza para concatenar varios
campos alfanumricos en uso solo. Sintaxis: CONCATENATE ... INTO [
SEPARATED BY ]. Esta sentencia concatena los campos campos ... en
el campo . Los espacios en blanco se ignoran durante la operacin.
Con la clusula SEPARATED BY se puede especificar un campo
alfanumrico (el campo ) que ser utilizado como separador entre los
campos ... . Si el resultado de la concatenacin entra en el campo ,
SY-SUBRC = 0, si por el contrario, es necesario el truncamiento,
SY-SUBRC = 4. Ejemplo 1: DATA: ONE(10) VALUE 'Ivan', TWO(3) VALUE '
Rodrigo', THREE(10) VALUE ' Baos', NAME(20). CONCATENATE ONE TWO
THREE INTO NAME. La variable NAME valdra: Ivan Rodrigo Baos Ejemplo
2: DATA: ONE(10) VALUE 'Ivan', TWO(3) VALUE 'Rodrigo', THREE(10)
VALUE 'Baos', NAME(20), SEPARATOR(4) VALUE 'GAUSS'. CONCATENATE
SPACE ONE TWO THREE INTO NAME SEPARATED BY SPACE. La variable NAME
valdra: IvanGAUSSRodrigoGAUS y SY-SUBRC valdra 4. Vease tambin:
SPLIT, SHIFT, REPLACE, TRANSLATE, CONDENSE. CONCATENATE
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/concatenate.htm
[09/11/2000 11:23:57]
61. CONDENSE Definicin Para borrar espacios en blanco
superfluos en campos alfanumricos. Sintaxis: CONDENSE [ NO-GAPS ].
Borra cualquier secuencia de espacios en blanco, dejando slo uno
que exista entre palabras existentes en . Los espacios en blanco
por la izquierda tambin desaparecen. Con la clusula NO-GAPS todos
los espacios en blanco desaparecen. Ejemplo 1: DATA: BEGIN OF NAME,
TITLE(8), VALUE 'Dr.', FIRST_NAME(10), VALUE 'Michael',
SURNAME(10), VALUE 'Hofmann', END OF NAME. CONDENSE NAME. WRITE
NAME. La salida en pantalla sera: Dr. Michael Hofmann Ejemplo 2:
DATA: BEGIN OF NAME, TITLE(8), VALUE 'Dr.', FIRST_NAME(10), VALUE
'Michael', SURNAME(10), VALUE 'Hofmann', END OF NAME. CONDENSE NAME
NO-GAPS. La variable NAME valdra: Dr.MichaelHofmann Vease tambin:
SPLIT, SHIFT, REPLACE, TRANSLATE, CONCATENATE. CONDENSE
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/condense.htm [09/11/2000
11:23:57]
62. CONSTANTS Definicin Declaracin de constantes, es decir,
variables o registros cuyos valores no pueden ser modificados
durante la ejecucin del programa. Sintaxis: CONSTANTS [ () ] [ ] [
]. , , y son las mismas opciones de la sentencia DATA. Debemos
darnos cuenta de que en esta sentencia, la opcin es obligatoria. El
valor inicial indicado con no puede ser cambiado durante la
ejecucin del programa. CONSTANTS: BEGIN OF , .... END OF . La
sintaxis de un registro de constantes es igual a la sintaxis de la
sentencia DATA, con la diferencia de que la clusula VALUE es
obligatoria. Ejemplo: CONSTANTS CHAR1 VALUE 'X'. CONSTANTS INT TYPE
I VALUE 99. CONSTANTS: BEGIN OF CONST_REC, C(2) TYPE I VALUE 'XX',
N(2) TYPE N VALUE '12', X TYPE X VALUE 'FF', I TYPE I VALUE 99, P
TYPE P VALUE 99, F TYPE F VALUE '9.99E9', D TYPE D VALUE
'19950101', T TYPE T VALUE '235959', END OF CONST_REC. CONSTANTS
file:///C|/DOWNLOADS INTERNET/Ayuda ABAP 4/constants.htm
[09/11/2000 11:23:58]
63. CONTINUE Definicin Se utiliza para terminar el paso de un
bucle de forma incondicional. Sintaxis: CONTINUE Despus de la
sentencia CONTINUE el sistema no procesa ninguna sentencia ms del
actual paso del bucle, y continu con el siguiente paso: Ejemplo: DO
100 TIMES. IF SY-INDEX >= 10 AND SY-INDEX