Buenos dias Foro, 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. Muchas gracias
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. Muchas gracias
Comentario