Problema con Modify

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • fa.luis
    Member
    • ene
    • 66

    #1

    Problema con Modify

    Hola, tengo un codigo donde al final hago un modify para transportar mis datos a mi tabla principal de salida, el problema es que siempre que entra en el modify me da un DUMP, osea un error de esos feos y no se porque, seguro ustedes expertos sabran que es:
    Código:
    DATA: NOMBRE(10) TYPE C.
    DATA: TI_CFID_AUX TYPE STANDARD TABLE OF ZWA_CFDI_FAC_CLIENTES.
    TYPES: BEGIN OF TY_AUX,
             BUKRS TYPE BUKRS,
             VBELN TYPE ZVBELNR,
             ZFOLIO TYPE ZFOLIO,
             FKDAT TYPE DATS,
            KNKLI TYPE KNKLI,
         END OF TY_AUX.
         DATA: WA_AUX TYPE TY_AUX.
    
    SELECT A~BUKRS
           A~VBELN
           A~ZFOLIO
           B~FKDAT
           B~KNKLI
          FROM ZCFD AS A
      INNER JOIN VBRK AS B ON A~VBELN = B~VBELN
    
      INTO CORRESPONDING FIELDS OF TABLE TI_CFDI
      WHERE KNKLI = P_KNKLI.
    
     SELECT A~BUKRS
            A~VBELN
            A~ZFOLIO
            B~BUDAT AS FKDAT
            B~KUNNR AS KNKLI
            FROM ZCFD AS A
       INNER JOIN BSID AS B ON A~VBELN = B~BELNR
    
       INTO TABLE TI_CFID_AUX
    WHERE KUNNR = P_KNKLI.
    IF SY-SUBRC = 0.
    
    LOOP AT TI_CFID_AUX INTO WA_AUX.
    
      TI_CFDI-BUKRS = WA_AUX-BUKRS.
      TI_CFDI-VBELN = WA_AUX-VBELN.
      TI_CFDI-ZFOLIO = WA_AUX-ZFOLIO.
      TI_CFDI-FKDAT = WA_AUX-FKDAT.
      TI_CFDI-KNKLI = WA_AUX-KNKLI.
     MODIFY TI_CFDI TRANSPORTING BUKRS VBELN ZFOLIO FKDAT KNKLI.
    ENDLOOP.
    
    ENDIF.
  • Mari.Sole
    Senior Member
    • nov
    • 121

    #2
    Hola fa.luis,
    A simple vista lo que falta indicar en el MODIFY, es que registro vas a modificar, estás dentro de un LOOP, con la variable de sistema SY-TABIX sabes en que posición está en el loop.

    Espero te sirva,

    Saludos.

    Comentario

    • Duarco
      Member
      • jun
      • 54

      #3
      Originalmente publicado por fa.luis
      Hola, tengo un codigo donde al final hago un modify para transportar mis datos a mi tabla principal de salida, el problema es que siempre que entra en el modify me da un DUMP, osea un error de esos feos y no se porque, seguro ustedes expertos sabran que es:
      Código:
      DATA: NOMBRE(10) TYPE C.
      DATA: TI_CFID_AUX TYPE STANDARD TABLE OF ZWA_CFDI_FAC_CLIENTES.
      TYPES: BEGIN OF TY_AUX,
               BUKRS TYPE BUKRS,
               VBELN TYPE ZVBELNR,
               ZFOLIO TYPE ZFOLIO,
               FKDAT TYPE DATS,
              KNKLI TYPE KNKLI,
           END OF TY_AUX.
           DATA: WA_AUX TYPE TY_AUX.
      
      SELECT A~BUKRS
             A~VBELN
             A~ZFOLIO
             B~FKDAT
             B~KNKLI
            FROM ZCFD AS A
        INNER JOIN VBRK AS B ON A~VBELN = B~VBELN
      
        INTO CORRESPONDING FIELDS OF TABLE TI_CFDI
        WHERE KNKLI = P_KNKLI.
      
       SELECT A~BUKRS
              A~VBELN
              A~ZFOLIO
              B~BUDAT AS FKDAT
              B~KUNNR AS KNKLI
              FROM ZCFD AS A
         INNER JOIN BSID AS B ON A~VBELN = B~BELNR
      
         INTO TABLE TI_CFID_AUX
      WHERE KUNNR = P_KNKLI.
      IF SY-SUBRC = 0.
      
      LOOP AT TI_CFID_AUX INTO WA_AUX.
      
        TI_CFDI-BUKRS = WA_AUX-BUKRS.
        TI_CFDI-VBELN = WA_AUX-VBELN.
        TI_CFDI-ZFOLIO = WA_AUX-ZFOLIO.
        TI_CFDI-FKDAT = WA_AUX-FKDAT.
        TI_CFDI-KNKLI = WA_AUX-KNKLI.
       MODIFY TI_CFDI TRANSPORTING BUKRS VBELN ZFOLIO FKDAT KNKLI.
      ENDLOOP.
      
      ENDIF.
      Hola!!...

      Creo que debes hacer el modify indicando desde donde deseas hacer la actualización, es decir

      Código:
       MODIFY TI_CFDI FROM WA_AUX TRANSPORTING BUKRS VBELN ZFOLIO FKDAT KNKLI.
      Espero sea de ayuda.

      Comentario

      • EGROJ18
        Junior Member
        • ago
        • 13

        #4
        También puedes intentar agregarle la clausula WHERE

        Comentario

        Trabajando...