Saltar al contenido

Modificar la tabla interna usando la cláusula

Un Usuario hizo la siguiente pregunta

Estimados,

¿Alguien puede por favor? dame la sintaxis de la declaración modificada de la tabla interna usando esa cláusula.

Gracias y saludos,

Sohail

13 respuestas

  • Ex miembro

    Hola,

    Intente usar un código como el siguiente

    modificarlo en caso de condición

    o usa una actualización

    actualizar conjunto de tablas campo = nombre de campo

    en caso de condición

    Sobre,

    Ibrar

  • Hola

    aquí hay un ejemplo de una declaración modificada …

    data: idx type sy-tabix.
    
    loop at it_final INTO wa_final.
      idx = sy-tabix.
      CLEAR wa_afru.
      IF sy-subrc is INITIAL.
      READ TABLE it_afru INTO wa_afru with key aufnr = wa_final-aufnr.
      SORT it_afru DESCENDING.
      wa_final-budat = wa_afru-budat.
      *modify it_final from wa_final index idx TRANSPORTING budat.*
      ENDIF.
    clear: wa_final, idx.
    ENDLOOP

    .

  • Ex miembro

    Hola Sohail,

    Antes de modificar los registros en la tabla interna, primero establezca el valor de ese campo.

    Ejemplo:

    DETALLES: COMIENZO DE itab OCURRE 0,

    año (4) TIPO n,

    TYPE cuenta,

    FIN itab.

    DETALLES: wa LIKE itab.

    itab-year = «2003».

    cuente itab = 20.

    APÉNDICE itab.

    itab-year = «2004».

    itab-count = 30.

    APÉNDICE itab.

    itab-year = «2007».

    itab-count = 50.

    APÉNDICE itab.

    itab-year = «2008».

    contar itab = 60.

    APÉNDICE itab.

    wa-year = «2009».

    MODIFICAR itab Ó wa año de TRANSPORTE DONDE año LT ‘2005’.

    LOOP AG itab.

    ESCRIBIR: / 5 itab-year, 25 itab-count.

    ENDLOOP.

    Sobre,

    Kumar Bandanadham

  • Ex miembro

    Hola

    Desde la Ayuda de SAP:

    DATA: BEGIN OF TAB OCCURS 500, 
            FLAG     TYPE C, 
            COMP(20) TYPE C, 
          END OF TAB. 
    
    CLEAR TAB-FLAG. 
    MODIFY TAB TRANSPORTING FLAG WHERE FLAG = 'X'. 
    

  • Ex miembro

    Hola

    Consulte el siguiente índice.

    MODIFICAR Oh DÓNDE .

    Espero que ayude.

    Sobre

    Rajesh Kumar

  • Ex miembro

    Hola Sohail,

    No elimine los registros de la tabla interna dentro del bucle de bucle u2013.

    No utilice: LOOP AT ITAB PLACE EQUNR = u201800001011u2019.

    BORRAR ITAB.

    ENDLOOP.

    Uso: BORRAR ITAB PLACE EQUNR = u201800001011u2019.

    Use MODIFY ITAB … TRANSPORT f1 f2 … para una sola línea, y MODIFY ITAB … TRANSPORT f1 f2 … CONSIDERANDO que la condición para un conjunto de líneas, para acelerar la actualización de la tabla interna

    Si es posible, utilice la instrucción Actualizar / Insertar en lugar de Cambiar.

    Verifique estos códigos:

    BUCLE EN LA PESTAÑA.

    SI HAY UNA INICIATIVA TAL-FLAG.

    TAB-BANDERA = ‘X’.

    TERMINARA SI.

    MODIFICAR TABLA.

    ENDLOOP.

    TAB-BANDERA = ‘X’.

    ENVIAR UNA BANDERA DE TRANSPORTE

    DONDE SE INICIA LA BANDERA.

    Rial,

    Siva

  • Ex miembro

    Hola, por favor busque ayuda de sap

    Tomado de la biblioteca sap …..

    MODIFICAR itab [FROM wa] TRANSPORTE f1 … fn LUGAR cond.

    Efecto

    Cambia algunas entradas en la tabla interna. Puede utilizar esta versión para cualquier mesa.

    Puede utilizar «FROM wa» y «TRANSPORTING f1 … fn» como en la variable 1. Si la tabla contiene el tipo TABLA CLASIFICADA o TABLA HASHED, es posible que la lista TRANSPORT no contenga campos clave.

    En comparaciones dentro de la expresión lógica cond, la primera opera siempre debe ser un subcampo de la estructura de línea del itab.

    El código de retorno se establece de la siguiente manera:

    SY-SUBRC = 0:

    Se modificó al menos una entrada.

    SY-SUBRC = 4:

    Ninguna de las entradas se modificó.

    Notas

    Cuando se usa la condición LUGAR con tabla ESTÁNDAR o TIERRA, siempre se requiere un escaneo completo de la tabla.

    Si está trabajando con una TABLA CLASIFICADA, el procesamiento secuencial parcial se puede optimizar para que solo se procesen realmente las entradas que satisfacen la condición DONDE. Esta optimización requiere que todas las subcondiciones estén vinculadas a AND; no se utilizan corchetes; la forma k = v contiene al menos una subcondición; y que las condiciones en la forma k1 = v1 … kn = vn cubren al menos la primera parte de la clave de la tabla.

    El punto de inicio del bucle se especifica mediante búsqueda binaria con las subcondiciones cubiertas por la tecla de tabla (parcial o completamente). Esta optimización es similar a la optimización en la instrucción READ. El bucle solo se procesa desde el punto de partida hasta el punto en el que aún se cumplen estas subcondiciones. (Consulte también Operaciones optimizadas clave en tablas internas).

    Puede sustituir un modo funcional por cualquier opera en la condición PLACE, a menos que sea un subcampo en una estructura de línea de la tabla interna relevante. Los métodos funcionales son métodos en objetos ABAP que pueden tener cualquier número de parámetros IMPORT, pero solo tienen un parámetro ÚNICO.

    Si hay, o hay, variables de referencia de objeto en el tipo de línea de la tabla interna, los atributos del objeto (referidos por los puntos de línea) se pueden usar como valores de comparación en la condición WHERE. (Consulte Atributos de objeto como claves en tablas internas).

    Ejemplo

    Bandera de estado de reinicio universal

    DATA: BEGIN OF TAB OCCURS 500, 
            FLAG     TYPE C, 
            COMP(20) TYPE C, 
          END OF TAB. 
    
    CLEAR TAB-FLAG. 
    MODIFY TAB TRANSPORTING FLAG WHERE FLAG = 'X'.

    Sobre,

    Sakthi Sri.

  • Ex miembro

    Le sugiero que utilice la asistencia de F1 para este tipo de consultas.

  • Ex miembro

    Sohail,

    Ues seo ..

    Pase por itab en wa.

    modificarlo del comportamiento wa f1.

    Sobre,

    Vijay

  • Ex miembro

    Bueno … para informarte

    Cambiar y es una declaración que actúa como

    INSERTAR y

    Actualizar

    es decir: –

    — Si no hay registro con la clave dada, no ingrese una nueva FILA.

    — y si un registro con la clave ya dada desaparece, EDÍTELO o actualícelo.