Ver Mensaje Individual
  #4  
Viejo 17/09/10, 20:45:54
Christian Salgado Christian Salgado is offline
Junior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 21
Field-symbol

Amigos una consulta, miren estoy tratando de mejorar los tiempos de respuesta de algunos procesos que tengo y estoy intentando trabajar con FIELD-SYMBOL, estoy haciendo lo siguiente:

CREATE DATA REF_ITAB TYPE STANDARD TABLE OF BKPF WITH NON-UNIQUE DEFAULT KEY.

ASSIGN REF_ITAB->* TO <FS_ITAB>.

SELECT * FROM BKPF
INTO TABLE <FS_ITAB>
WHERE BUKRS IN P_BUKRS AND
BLART IN ('01','07','08') AND
BLDAT IN P_BLDAT AND
TCODE = 'MIRO'.

CREATE DATA REF_WA LIKE LINE OF <FS_ITAB>.
ASSIGN REF_WA->* TO <FS_WA>.

Cuando yo declaro el <FS_ITAB> de la siguiente manera: FIELD-SYMBOLS: <FS_ITAB> TYPE ANY TABLE… no hay ningún problema, pero el tema es que yo quiero que este <FS_ITAB> tenga la misma estructura que este temporal:

DATA: BEGIN OF TI_BKPF OCCURS 0,
BUKRS LIKE BKPF-BUKRS, " Soceidad
BELNR LIKE BKPF-BELNR, " Número de un documento contable
GJAHR LIKE BKPF-GJAHR, " Ejercicio
BLDAT LIKE BKPF-BLDAT, " Fecha de documento en documento
BUDAT LIKE BKPF-BUDAT, " Fecha de contabilización en el documento
BLART LIKE BKPF-BLART, " Clase de documento
AUGBL LIKE BSEG-AUGBL, " Compensacion
XBLNR LIKE BKPF-XBLNR, " Número de documento de referencia
AWKEY LIKE BKPF-AWKEY, " Clave de referencia
CPUDT LIKE BKPF-CPUDT, " Día del registro
END OF TI_BKPF.

Necesito que tenga la misma estructura ya que luego hare otro select a la BSEG donde me permita actualizar el campo AUGBL. Lo estoy haciendo asi:

LOOP AT <FS_ITAB> INTO <FS_WA>.
SELECT SINGLE AUGBL
INTO <FS_WA>-AUGBL
FROM BSEG
WHERE BUKRS = <FS_WA>-BUKRS AND
BELNR = <FS_WA>-BELNR AND
GJAHR = <FS_WA>-GJAHR.
Pero me sale que el campo AUGBL no existe…como podría hacerlo por favor?.
Analizando me doy cuenta que el <FS_ITAB> tiene la estructura de la BKPF porque asi lo he definido pero al momento de definirlo como TI_BKPF me salen errores...

Gracias por la ayuda

Csalgado
Responder Con Cita