Publicado el 3 de Diciembre del 2020
2.579 visualizaciones desde el 3 de Diciembre del 2020
2,5 MB
68 paginas
Creado hace 19a (14/02/2006)
Lenguaje C/AL
Lenguaje C/AL
IvIváán Archilla Romero.
n Archilla Romero.
Support & Training
& Training
Support
Lenguaje C/AL
Lenguaje C/AL
¿¿QuQuéé es?es?
-- Client
Client AApplication
pplication LLenguage
enguage
UsoUso
n de los objetos en Navision Financials
Financials
Control de la ejecucióón de los objetos en Navision
Manipulacióón de los datos
n de los datos
Creacióón de reglas de negocio que permiten asegurar el
n de reglas de negocio que permiten asegurar el
-- DiseDiseñño de funciones propias
o de funciones propias
-- Control de la ejecuci
-- Manipulaci
-- Creaci
proppropóósito y consistencias de los datos
sito y consistencias de los datos
-- Leer, escribir y modificar los datos de las tablas
Leer, escribir y modificar los datos de las tablas
Lenguaje C/AL
Lenguaje C/AL
Herramientas
Herramientas
Editor de C/AL
Editor de C/AL
C/AL Symbol
C/AL
Ver, C/AL Code óó F9F9
Ver, C/AL Code
Symbol MenuMenu
Ver, C/AL Symbol
Ver, C/AL
óó F5F5
Uso:Uso:
Symbol MenuMenu
Permite ver y facilita
Permite ver y facilita
la edicióón de
n de
la edici
variables, campos,
variables, campos,
funciones, controles
funciones, controles
y propiedades
y propiedades
accesibles desde
accesibles desde
C/ALC/AL
dependiendo del
dependiendo del
entorno
entorno
Lenguaje C/AL
Lenguaje C/AL
Herramientas
Herramientas
Debugger
Debugger
Herramientas,
Herramientas,
Debugger
Debugger
Funciones
Funciones
Activacióón y n y
Activaci
desactivacióón del
n del
desactivaci
depurador
depurador
Rastreo de
Rastreo de
instrucciones:
instrucciones:
Modos de rastreo
Modos de rastreo
Visualizar
Visualizar
variables
variables
Code Coverage
Coverage
Code
Elementos C/AL
Elementos C/AL
Tipos de datos
Tipos de datos
Simples
Simples
Complejos
Complejos
SSíímbolos
mbolos
Variables
Variables
Funciones de usuario
Funciones de usuario
Constantes de texto
Constantes de texto
Expresiones
Expresiones
NumNumééricas
ricas
LLóógicas
gicas
Relacionales
Relacionales
Operadores
Operadores
Unarios
Unarios
AritmAritmééticos
ticos
Relacionales
Relacionales
LLóógicos
gicos
Estructuras de control
Estructuras de control
Compuestas
Compuestas
Condicionales
Condicionales
Repetitivas
Repetitivas
OtrasOtras
Funciones
Funciones
Tipos de Datos
Tipos de Datos
Simples
Simples
NumNumééricas
ricas
Integer
Integer
NNúúmeros entre
meros entre --2.147.483.647 y 2.147.483.647
2.147.483.647 y 2.147.483.647
Decimal
Decimal
meros entre --10E63 y 10E63.
10E63 y 10E63.
NNúúmeros entre
18 D18 Díígitos significativos.
gitos significativos.
CharChar
NNúúmeros de 0 a 255
meros de 0 a 255
Convertible libremente de entero a caráácter.
cter.
Convertible libremente de entero a car
Operable tanto como un entero como un caráácter.
cter.
Operable tanto como un entero como un car
Option
Option
meros entre --2.147.483.647 y 2.147.483.647.
2.147.483.647 y 2.147.483.647.
NNúúmeros entre
Convertibles libremente de entero a opcióón.n.
Convertibles libremente de entero a opci
Tipos de Datos
Tipos de Datos
Simples
Simples
De Cadena
De Cadena
TextText
Cadenas de texto de hasta 250 caracteres.
Cadenas de texto de hasta 250 caracteres.
Sus caracteres son indexables
Sus caracteres son
indexables. . EjEj: Nombre[3]
: Nombre[3]
CodeCode
Cadenas de texto de hasta 250 caracteres en mayúúsculas.
sculas.
Cadenas de texto de hasta 250 caracteres en may
El sistema hace automááticamente la conversi
El sistema hace autom
finales.
finales.
Sus caracteres son indexables
Sus caracteres son
indexables. . EjEj: : CodFormaPago
CodFormaPago[3]
[3]
ticamente la conversióón y quita los espacios iniciales y
n y quita los espacios iniciales y
OtrosOtros
DateDate
TimeTime
Boolean
Boolean
Binary
Binary
Tipos de Datos
Tipos de Datos
Complejos
Complejos
BLOB
BLOB
Record
Record
FormForm
Codeunit
Codeunit
FileFile
Dialog
Dialog
Report
Report
Dataport
Dataport
OCXOCX
Automation
Automation
Tipos de Datos
Tipos de Datos
Valores constantes
Valores constantes
NumNumééricas
ricas
Integer
Integer
--2760
2760
Valor Nulo: 0
Valor Nulo: 0
Decimal
Decimal
1234,56
1234,56
Valor Nulo: 0
Valor Nulo: 0
CharChar
‘‘AA’’
6565
Valor Nulo: ‘’‘’ óó 00
Valor Nulo:
Option
Option (Cuenta,Producto,Recurso)
(Cuenta,Producto,Recurso)
NomVariable::Producto
::Producto
NomVariable
11
Valor nulo: 0 óó la opci
Valor nulo: 0
la opcióón correspondiente
n correspondiente
Tipos de Datos
Tipos de Datos
Valores constantes
Valores constantes
De Cadena
De Cadena
TextText
‘‘Huesca
Huesca’’
Valor Nulo: ‘’‘’
Valor Nulo:
CodeCode
‘‘HUESCA
HUESCA’’
Valor Nulo: ‘’‘’
Valor Nulo:
Tipos de Datos
Tipos de Datos
Valores constantes
Valores constantes
OtrosOtros
Date Date (DDMMAA
(DDMMAA óó DDMMAAAA)
DDMMAAAA)
140201D
140201D
Valor Nulo: 0D
Valor Nulo: 0D
Time
Time (HHMMSS[.XXX])
(HHMMSS[.XXX])
193432.345T
193432.345T
Valor Nulo: 0T
Valor Nulo: 0T
Boolean
Boolean
TRUE óó FALSE
FALSE
TRUE
Valor Nulo: FALSE
Valor Nulo: FALSE
SSíímbolos
mbolos
Los síímbolos pueden ser:
mbolos pueden ser:
Los s
Variables
Variables
Constantes de texto
Constantes de texto
Funciones
Funciones
SSíímbolos
mbolos
Variables
Variables
Las variables son usadas para el
Las variables son usadas para el
almacenamiento de datos de diferentes
almacenamiento de datos de diferentes
tipos.
tipos.
Pueden ser:
Pueden ser:
Locales: EstEstáán visibles desde el
n visibles desde el trigger
o funcióón donde son
n donde son
Globales: EstEstáán visibles desde todos los
n visibles desde todos los triggers
triggers y funciones del
y funciones del
Locales:
definidas.
definidas.
Globales:
objeto donde son definidas.
objeto donde son definidas.
trigger o funci
Nota:Nota: No existen variables globales a todos los objetos de la base de
No existen variables globales a todos los objetos de la base de
datos, es decir, visibles desde todos los objetos.
datos, es decir, visibles desde todos los objetos.
SSíímbolos
mbolos
Variables
Variables
¿¿CCóómo se
mo se
definen?
definen?
Globales
Globales
Ver, C/AL
Ver, C/AL
Globals, ,
Globals
Variables
Variables
Locales
Locales
Ver, C/AL
Ver, C/AL
Locals, ,
Locals
Variables
Variables
SSíímbolos
mbolos
Variables
Variables
¿¿CCóómo se nombran?
mo se nombran?
MMááximo 30 caracteres.
ximo 30 caracteres.
El nombre no es sensible a mayúúsculas.
sculas.
El nombre no es sensible a may
No debe coincidir con el de otra variable o funcióón perteneciente al mismo objeto
n perteneciente al mismo objeto
No debe coincidir con el de otra variable o funci
Recomendable que empiece por letra mayúúscula o por subrayado.
scula o por subrayado.
Recomendable que empiece por letra may
Es posible, pero no recomendable:
Es posible, pero no recomendable:
Usar espacios y caracteres especiales (ºº, %,...)
, %,...)
Usar espacios y caracteres especiales (
Usar vocales acentuadas
Usar vocales acentuadas
Empezar el nombre con un díígito o con algo distinto de:
gito o con algo distinto de:
Empezar el nombre con un d
Un caráácter alfab
-- Un car
-- Un subrayado
Un subrayado
cter alfabééticotico
NO RECOMENDABLE:
NO RECOMENDABLE:
LLíímite Mmite Mááximoximo
NNºº LoteLote
% Terminado
% Terminado
RECOMENDABLE:
RECOMENDABLE:
LimiteMax
LimiteMax
NoLote
NoLote
PctTerminado
PctTerminado
SSíímbolos
mbolos
Variables
Variables
ArrayArray de de
variables
variables
Se definen con la
Se definen con la
propiedad
propiedad
Dimensions de la
de la
Dimensions
variable
variable
Se las referencia
Se las referencia
con corchetes.
con corchetes.
EjEj: : VtasClieDL
VtasClieDL[2]
[2]
SSíímbolos
mbolos
Variables
Variables
Manipulacióón de objetos.
n de objetos.
Manipulaci
A trav
A travéés de variables de tipos complejos
s de variables de tipos complejos
Table (Record)
(Record)
Table
FormForm
Codeunit
Codeunit
Report
Report
Dataport
Dataport
SSíímbolos
mbolos
Variables
Variables
Variables de usuario (user--defined
Variables de usuario (user
defined variables):
variables):
-- El programador las declara expresamente
El programador las declara expresamente
defined variables):
variables):
Variables del sistema (system
Variables del sistema (
system--defined
RecRec:: cuando se modifica un registro,
xRec:: cuando se modifica un registro,
xRec
modificacióón.n.
modificaci
CurrForm
CurrReport
RequestOptionsForm
objeto Report
Report
objeto
CurrFieldNo
disparador.
disparador.
actual.
actual.
-- C/SIDE las crea y deja disponibles para el programador en
C/SIDE las crea y deja disponibles para el programador en ciertos contextos
ciertos contextos
cuando se modifica un registro, RecRec contiene el registro en su estado modificado.
contiene el registro en su estado modificado.
cuando se modifica un registro, xRec
xRec contiene el registro antes de la
contiene el registro antes de la
variable que representa el objeto FormForm actual.
actual.
CurrForm:: variable que representa el objeto
CurrReport:: variable que representa el objeto
RequestOptionsForm:: variable que representa el formulario de di
variable que representa el objeto Report
Report actual.
actual.
variable que representa el formulario de diáálogo de entrada al
logo de entrada al
CurrFieldNo:: el nel núúmero de campo del campo actual desde el que se llam
mero de campo del campo actual desde el que se llamóó al al
SSíímbolos
mbolos
Variables
Variables
Inicializacióón de variables
n de variables
Inicializaci
C/SIDE las inicializa automááticamente
ticamente
C/SIDE las inicializa autom
Boolean: FALSE
: FALSE
Boolean
ricas: 0: 0
NumNumééricas
De cadena: '': ''
De cadena
DateDate: 0D: 0D
TimeTime: 0T: 0T
Las variables de sistema se inicializar
Las variables de sistema se inicializaráán a un valor adecuado
n a un valor adecuado
segsegúún el contexto
n el contexto
SSíímbolos
mbolos
Variab
Comentarios de: Lenguaje C/AL (0)
No hay comentarios