PDA

Ver la Versión Completa : Fields Symbols


Irua
18/12/07, 13:53:18
Hola:

Favor si me pueden ayudar con la sintaxis del fields symbols, ya que en el codigo siguiente mi variable es de tipo C y cuando se lo asigno al fields symbols me trae lo siguiente 0.00 :confused:

este es el codigo


CONCATENATE T_DATA-ITAB '-' T_DATA-ACUMULADOR INTO pote.
ASSIGN (pote) TO <pote>.
descrip = <pote>.


gracias

ibecerra
18/12/07, 14:17:23
De q tipo es <pote>

Irua
18/12/07, 14:39:02
De q tipo es <pote>
Hola tengo una variable llamada pote tipo c, pero el fields symbol <pote> lo unico que he visto es TYPE ANY que tiene que ver con tablas internas, se declara igual que las variables?..... :confused:

ibecerra
18/12/07, 14:52:16
Asi es.. mira este es un ejmplo
DATA:
l_global_name TYPE string.
FIELD-SYMBOLS:
<POS> LIKE ZEMPSRES-VALTOT. -->por ejemplo este declarado con decimal

CONCATENATE 'TI_DATARES-POS' TI_FEC-POS INTO l_global_name.
UNASSIGN <POS>.
ASSIGN (l_global_name) TO <POS>.
CHECK SY-SUBRC EQ 0.
<POS> = TI_DATAR-VALTOT.
TI_DATARES-TOTAL = <POS>.

Irua
18/12/07, 15:06:37
gracias...... perfecto

Irua
18/12/07, 18:28:47
Hola:

Tengo lo siguiente,

una tabla interna estructurada de la siguiente manera:
DATA: BEGIN OF fds OCCURS 500,
perm_rec(5) TYPE p DECIMALS 2,
perm_norec(5) TYPE p DECIMALS 2,
perm_norem(5) TYPE p DECIMALS 2,
enfermedad(5) TYPE p DECIMALS 2,
ausencia_aut(5) TYPE p DECIMALS 2,
reposomay3d(5) TYPE p DECIMALS 2,
hora_val_comp(5) TYPE p DECIMALS 2,
horas_pro(5) TYPE p DECIMALS 2,
horas_extras(5) TYPE p DECIMALS 2,
END OF fds.

esto es que dependiendo de los valores del fields symbol pote, los campos se incrementen para esto debo utilizar el ADD. El codigo esta como te mostre mas lo siguiente:

IF <POTE> = 'HEXT-HORAS_EXTRAS'.
ADD SALDO_TIEMPO-ANZHL TO HEXT-HORAS_EXTRAS.
ENDIF.


el cual me genera el siguiente error

CONVT_NO_NUMBER


por favor necesito asesoria para poder avanzar con esto

mil gracias

ibecerra
18/12/07, 19:48:40
HOLA
a ver creo q <POTE> es de tipo caracter..
pero pote con tiene un valor ya sea numerico o caracter..
y estas tratando de comparar
1.2222 = 'HEXT-HORAS_EXTRAS' q esta mal...
en tal caso lo q deberias es hacer es lo siguiente

if <pote> = HEXT-HORAS_EXTRAS.
tus logica
endif.