. ÁREA RECURSOS SAP - RECURSOS TÉCNICOS ABAP

 E-SAP

CAPACITACION
PROFESIONALES EGRESADOS
INGRESO ALUMNOS
CAPACITACION EMPRESAS
PLATAFORMA BLEARNING SAP
PREGUNTAS FRECUENTES

CARRERAS
:: CONSULTOR SAP ABAP
PROGRAMADOR ABAP INICIAL
PROGRAMADOR ABAP AVANZ.
:: CONSULTOR SAP PORTAL
WEBDYNPRO JAVA INICIAL
WEBDYNPRO JAVA AVANZADO
:: ANALISTA SAP BI / BW
DESARROLLADOR BI INICIAL
DESARROLLADOR BI AVANZ.
:: ADMIN. SAP NETWEAVER
CONSULTOR BASIS INICIAL
CONSULTOR BASIS AVANZADO
CURSOS
INTRODUCCION A SAP R/3

RECURSOS
SERVICIOS CONSULTORIA SAP
BOLETIN DE NOTICIAS SAP
ACTUALIDAD DEL MUNDO SAP
RECURSOS TECNICOS SAP
RECURSOS HUMANOS
BECAS ESTUDIO
REPRESENTANTES ESAP

 :: RECURSOS TECNICOS ABAP

 ESAP - CENTRO DE CAPACITACION CAPACITACION SAP ESAP - CENTRO DE CAPACITACIÓN PROFESIONAL SAP

    CADENAS DE CARACTERES, NUMERICOS Y FECHAS.


En esta sección se analiza el código necesario para la definición y el tratamiento de diferentes tipos de variables en ABAP.

En los tipos numericos, chars (cadenas de caracteres) y fechas entre otros.


Esta base fundamental de conocimientos ABAP, son analizados en profundidad, en nuestra carrera "Programador Abap Nivel Inicial" la cual le recomendamos conocer.

recursos programacion SAP ABAP


Capacitación SAP - ABAP 1. VARIABLES Y CONSTANTES.
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP 1.1 DECLARACION
CURSO ABAP - CAPACITACION SAP1.2 DECLARACIÓN DE VARIABLES TIPADAS
CURSO ABAP - CAPACITACION SAP1.3 LIMPIAR VARIABLE
CURSO ABAP - CAPACITACION SAP1.4 MOVER EL CONTENIDO DE UNA VARIABLE
CURSO ABAP - CAPACITACION SAP1.5 DECLARACION DE VARIABLE CON ASIGNACION DE VALOR
CURSO ABAP - CAPACITACION SAP1.6 DECLARACION DE CONSTANTES

Capacitación SAP - ABAP 2. CADENAS DE CARACTERES.
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP2.1 CONCATENACION
CURSO ABAP - CAPACITACION SAP2.1.1 CONCATENACION CON PUNTERO (RESPETANDO ESPACIOS VACIOS)
CURSO ABAP - CAPACITACION SAP2.2 CANTIDAD DE CARACTERES DE UNA CADENA
CURSO ABAP - CAPACITACION SAP2.3 BUSCAR CARACTERES DENTRO DE UNA CADENA DE CARACTERES
CURSO ABAP - CAPACITACION SAP2.4 ELIMINAR ESPACIOS EN BLANCO
CURSO ABAP - CAPACITACION SAP2.5 PASAR CADENA A MAYUSCULAS Y A MINUSCULAS
CURSO ABAP - CAPACITACION SAP2.6 REEMPLAZAR OCURRENCIAS
CURSO ABAP - CAPACITACION SAP2.7 TOMAR XXX CARACTERES DE UNA CADENA (TRUNCAMIENTO)
CURSO ABAP - CAPACITACION SAP2.8 OPERADORES DE COMPARACION

CURSO ABAP - CAPACITACION SAP2.9 COMPARACION DE PATRONES
CURSO ABAP - CAPACITACION SAP2.9.1 - COMPARACIÓN DE PATRONES UTILIZANDO UNA ESTRUCTURA (y comodines unix)

CURSO ABAP - CAPACITACION SAP2.10 CAMBIAR EL VALOR DE UN CARACTER EN UNA CADENA


Capacitación SAP - ABAP 3. NUMERICOS
-----------------------------------------------------------

CURSO ABAP - CAPACITACION SAP3.1 COMPLETAR CEROS A LA IZQUIERDA.
CURSO ABAP - CAPACITACION SAP3.2 SIGNO DE UN NUMERO
CURSO ABAP - CAPACITACION SAP3.3 REDONDEOS
CURSO ABAP - CAPACITACION SAP3.4 TOMAR LA PARTE ENTERA Y LA PARTE DECIMAL DE UN NUMERO


Capacitación SAP - ABAP 4. FECHAS
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP4.1 OBTENER EL PRIMER DÍA DEL MES DE SELECCIÓN

 


Capacitación SAP - ABAP 5. CONSTANTES
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP5.1 DEFINICIÓN DE CONSTANTES


 
Inscríbete a nuestro Exclusivo Boletín de Noticias SAP, para recibir mensualmente las mejores notas y recursos técnicos gratuitos directamente en tu casilla de correos.
>> Inscribirte
ESAP - CURSOS SAP  ABAP
 
*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

------------------------------------------------------------------------
Capacitación SAP - ABAP 1. VARIABLES.
========================================================

1.1
::> DECLARACION.
--------------------

> CARACTER:

DATA: nom_variable(cantidad_caracteres) TYPE C.


> ENTERO:

La longitud se define dinámicamente, no hace falta establecerla
DATA: nom_variable TYPE I.


> DECIMALES:

v_descuento_regimen TYPE p DECIMALS 2 "Campo Decimal con 2 digitos a la DERECHA de la coma
v_dif_tbbprecal TYPE p DECIMALS 7 "Campo Decimal con 7 digitos a la DERECHA de la coma


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


1.2
::> DECLARACION DE VARIABLES TIPADAS
-------------------------------------------

DATA:
P1 TYPE P VALUE '123456789012345'.

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


1.3
::> LIMPIAR VARIABLE.
-----------------------

CLEAR nom_variable.

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


1.4
::> MOVER EL CONTENIDO DE UNA VARIABLE.
----------------------------------------------

MOVE SPACE TO T_FKKCL_E113_01-XAKTP_E113.



                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


1.5
::> DECLARACION DE VARIABLE Y ASIGNACION DE VALOR
-------------------------------------------------
-----------
vl_numeros(10) TYPE c VALUE '0123456789'


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

                            
                                                                                       



1.6
::> DECLARACION DE CONSTANTES
-------------------------------------
CONSTANTS: c_0 TYPE i VALUE 0,
c_4 TYPE i VALUE 4,
c_1 TYPE i VALUE 1,
c_et001 TYPE z_fw_estado VALUE 'ET001',
c_et002 TYPE z_fw_estado VALUE 'ET002',
c_je001 TYPE z_fw_estado VALUE 'JE001',
c_je002 TYPE z_fw_estado VALUE 'JE002',
c_m TYPE c VALUE 'M',
c_i TYPE c VALUE 'I',
c_3 TYPE zsig_indicador VALUE '3',
c_detejer TYPE z_fw_entidad VALUE 'DETEJER',
c_testrun type c VALUE 'NO'.

CONSTANTS:
PI TYPE F VALUE '3.1415926535897932'.



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*






------------------------------------------------------------------------
Capacitación SAP - ABAP 2. CADENAS DE CARACTERES.
========================================================

2.1
::> CONCATENACION:
-----------------------

Ejemplo1:

CONCATENATE '/iface/' sy-sysid(3) '/out/comm/'
INTO p_file_e.


Ejemplo2:

CONCATENATE sy-mandt bsik-bukrs bsik-belnr bsik-gjahr
into wobjectid.

NOTA: los espacios vacíos son eliminados

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


2.1.1
::> CONCATENACION CON PUNTERO (RESPETANDO ESPACIOS VACIOS)
-------------------------------------------------------------------------

El método de puntero para el armado de cadenas permite mantener espacios vacíos
y longitudes fijas en campos con longitudes variables.

DATA: vl_tdname(36) type c.

vl_tdname+0(3) = tg_draw-mandt.
vl_tdname+3(3) = tg_draw-dokar.
vl_tdname+6(25) = tg_draw-doknr.
vl_tdname+31(2) = tg_draw-dokvr.
vl_tdname+33(3) = tg_draw-doktl.

* Explicacion: vl_tdname+posicion(cant caracteres) = variable.

EJECUCIÓN:

Para los valores:
tg_draw-mandt = '099'
tg_draw-dokar = 'DGT'
tg_draw-doknr = '2130/2007-00016' " Se observa que viene con menos de 25 chars, pero el puntero posterior reserva el lugar
tg_draw-dokvr = '00'
tg_draw-doktl = '000'

El RESULTADO obtenido es:
vl_tdname conteniendo: '099DGT2130/2007-00016 00000'

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



2.2
::> CANTIDAD DE CARACTERES DE UNA CADENA
--------------------------------------------------

STRLEN(cadena_caracteres).

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



2.3
::> BUSCAR CARACTERES DENTRO DE UNA CADENA DE CARACTERES
-----------------------------------------------------------------------

SEARCH f FOR g.
Busca el contenido de f dentro de la cadena G

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP




2.4
::> ELIMINAR ESPACIOS EN BLANCO
--------------------------------------

CONDENSE [NO-GAPS].
- Elimina espacios en blanco al inicio de la cadena.
- Elimina ceros a la izquierda si se trata de un entero
- Si dentro de la cadena hay mas de un espacio en blanco juntos, deja uno solo

Ejemplo:

DATA NAME (30).
NAME(10) = ' Dr.',
NAME+10(10) = 'Michael',
NAME+20(10) = 'Hofmann'.
CONDENSE NAME.
WRITE NAME.

Devuelve:
Dr. Michael Hofmann

>INFO_ La opc NO-GAPS Elimina TODOS los espacios en blanco.


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


2.5
::> PASAR CADENA A MAYUSCULAS Y A MINUSCULAS
------------------------------------------------------

Pasar cadena a mayúsculas:

TRANSLATE c TO UPPER CASE.

Pasar cadena a minúsculas:
TRANSLATE c TO LOWER CASE.

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


2.6
::> REEMPLAZAR OCURRENCIAS
---------------------------------

Reemplaza todas las ocurrencias en una tabla
REPLACE ALL OCCURRENCES OF 'á' IN T_MAKT-MAKTX WITH 'a'


 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



2.7
::> TOMAR XXX CARACTERES DE UNA CADENA (TRUNCAMIENTO de cadena)
-----------------------------------------------------------------------------

> Metodo 1
----------
* Tomar los 8 primeros caracteres
*A vl_strno_extract que tiene 8 le mando el contenido de una variable con 10, entonces se trunca solita
MOVE vl_strno TO vl_strno_extract.

> Metodo 2
----------
Concatenacion y toma los primeros 6 caracteres de una cadena y lo almacena en otra.
CONCATENATE 'E' p_zdtctapol_zd_exp_e_pol(6) INTO vl_cod_usr.

> Metodo 3
----------
Tomar los utimos 8 caracteres de una cadena y almacenarlo en otra.
vl_pernr posee 10 chars.
Se le indica que a partir del 2do char tome 8.

vl_pernr_8 = vl_pernr+2(8).

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


2.8
::> OPERADORES DE COMPARACION
-----------------------------------
----

* Operadores de comparacion:
* En la comparación "c1 op c2"

-> CO (Contains Only):
c1 contains only characters from the string c2.
'ABCDE' CO 'XYZ' is false; SY-FDPOS = 0.
'ABCDE' CO 'AB' is false; SY-FDPOS = 2.
'ABCDE' CO 'ABCDE' is true; SY-FDPOS = 5.
> Contrario: CN (Contains Not only):


-> CA (Contains Any):
c1 contains at least one character from the string c2.
'ABCDE' CA 'CY' is true; SY-FDPOS = 2.
'ABCDE' CA 'XY' is false; SY-FDPOS = 5.
> Contrario: NA (contains Not Any):

-> CS (Contains String):
c1 contains the character string c2.
'ABCDE' CS 'CD' is true; SY-FDPOS = 2.
'ABCDE' CS 'XY' is false; SY-FDPOS = 5.
'ABAAA' CS 'AB ' is true; SY-FDPOS = 0.
' ABC' CS ' AB' is true; SY-FDPOS = 1.
'ABC DEF' CS ' ' is true; but: SY-FDPOS = 0,
> Contrario: NS (contains No String)


-> CP (Contains Pattern):
The complete string c1 matches the pattern c2 (c1 "matches" c2).
'ABCDE' CP '*CD*' is true; SY-FDPOS = 2.
'ABCDE' CP '*CD' is false; SY-FDPOS = 5.
'ABCDE' CP '++CD+' is true; SY-FDPOS = 0.
'ABCDE' CP '+CD*' is false; SY-FDPOS = 5.
'ABCDE' CP '*B*D*' is true; SY-FDPOS = 1.
> Contrario: NP (contains No Pattern)

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


2.9
::> COMPARACION DE PATRONES
----------------------------------

* Una variable contra el patron xxxNTNNN

vl_numeros(10) TYPE c VALUE '0123456789'.

IF vl_strno_extract+3(1) CO vl_numeros AND " Compara el 4to caracter si es un numero
vl_strno_extract+4(1) = 'T' AND " Compara si el 5to caracter es una 'T'
vl_strno_extract+5(3) CO vl_numeros. " Compara 6to - 7mo y 8vo cararacter si son numeros

* INTERPRETACIÓN: nombre_varable+posicion(cantidad_de_caracteres_a_evaluar)
* NOTA: para comparar si es caracter se puede usar la variable de systema sy-abcd

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

2.9.1
::> COMPARACIÓN DE PATRONES UTILIZANDO UNA ESTRUCTURA (y comodines unix)
---------------------------------------------------------------------------------------

* Armado del patrón que formará el nombre del archivo que va a leer.
DATA: BEGIN OF wl_patron,
sep1(1) VALUE '_', " separador
hor(10) VALUE '++++++++++', " hor del micro
sep2(1) VALUE '_', " separador
fecha(8) VALUE '++++++++', " fecha
tipofich(7) VALUE '_DA.txt', " Tipo de Fichero
END OF wl_patron.

CONCATENATE datos
wl_patron-sep1
wl_patron-hor
wl_patron-sep2
wl_patron-fecha
wl_patron-tipofich INTO vl_patron.

IF tg_result-line+57 CP vl_patron.


* PROCESAMIENTO

ENDIF.

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

2.10
::> CAMBIAR EL VALOR DE UN CARACTER EN UNA CADENA
------------------------------------------------------------

vl_strno_extract+4(1) = 'A'.

* INTERPRETACIÓN: Asigna el caracter 'A' a donde se lo indica el puntero ( en el 5to caracter )






*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 


------------------------------------------------------------------------
Capacitación SAP - ABAP 3. NUMERICOS.
========================================================


3.1
::> COMPLETAR CEROS A LA IZQUIERDA.
-------------------------------------------

* Completo con ceros a la izquierda el campo doknr
PERFORM ffnc_xx_conv_ceros_izq
USING doknr
CHANGING doknr.

*&---------------------------------------------------------------------*
*& Form ffnc_xx_conv_ceros_izq
*&---------------------------------------------------------------------*
* Completa con ceros a la izquierda un campo
*----------------------------------------------------------------------*
FORM ffnc_xx_conv_ceros_izq USING pe_campo
CHANGING ps_campo.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = pe_campo
IMPORTING
output = ps_campo.

ENDFORM. " ffnc_xx_conv_ceros_izq

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP




3.2
::> SIGNO DE UN NUMERO
---------------------------

SIGN ( variable ).

Devuelve 1 si variable > 0
Devuelve 0 si variable = 0
Devuelve -1 si variable < 0

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



3.3
::> REDONDEOS
-----------------

CEIL (variable_redondear)
Devuelve el entero mas bajo, osea que redondea para abajo.

FLOOR (variable_redondear)
Devuelve el entero mas alto, o sea que redondea para abajo.

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP




3.4
::> TOMAR LA PARTE ENTERA Y LA PARTE DECIMAL DE UN NUMERO
--------------------------------------------------------------------

TRUNC(variable_con_decimales)
Toma la parte entera.

FRAC(variable_con_decimales)
Toma la parte decimal.



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: La mejor capacitación en SAP está a tu alcance. ::
  ESAP Posee el más avanzado y efectivo sistema de Capacitación SAP. Conocelo!



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*



------------------------------------------------------------------------
Capacitación SAP - ABAP 4. FECHAS.
========================================================


4.1
::> OBTENER EL PRIMER DÍA DEL MES DE SELECCIÓN.
------------------------------------------------------

* Obtener el primer día del mes de selección.
CONCATENATE vl_fecha_inicio(6) '01' INTO vl_fecha_inicio.

Ejemplo:
antes: 20070130 " 30 de enero 2007
lo convierte en : 20070101 " 01 de enero 2007




*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Modulo Programador ABAP INICIAL



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*






------------------------------------------------------------------------
Capacitación SAP - ABAP 5. CONSTANTES.
========================================================

5.1
::> DEFINICIÓN DE CONSTANTES
----------------------------------

CONSTANTS:
PI TYPE F VALUE '3.1415926535897932'.


CONSTANTS: c_0 TYPE i VALUE 0,
c_4 TYPE i VALUE 4,
c_1 TYPE i VALUE 1,
c_et001 TYPE z_fw_estado VALUE 'ET001',
c_et002 TYPE z_fw_estado VALUE 'ET002',
c_je001 TYPE z_fw_estado VALUE 'JE001',
c_je002 TYPE z_fw_estado VALUE 'JE002',
c_m TYPE c VALUE 'M',
c_i TYPE c VALUE 'I',
c_3 TYPE zsig_indicador VALUE '3',
c_detejer TYPE z_fw_entidad VALUE 'DETEJER',
c_testrun type c VALUE 'NO'.







*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: La mejor capacitación en SAP está a tu alcance. ::
  ESAP Posee el más avanzado y efectivo sistema de Capacitación SAP. Conocelo!



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

   

© CVOSOFT CONST_PAIS_NOMBRE | www.cvosoft.com | info@cvosoft.com