Borrado dinámico de tablas

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • poketina
    Senior Member
    • jul
    • 105

    #1

    Borrado dinámico de tablas

    Hola,

    Me han pedido que haga lo siguiente: crear un report con 3 campos en la pantalla de selección:

    - nombre de tabla
    - nombre de campo
    - valor (rango)

    Lo que quieren hacer es con ese programa poder borrar valores de cualquier tabla. Es decir, q ellos puedan meter MARA, MATNR, 150 y entonces me borre de la MARA ese registro. O bien VBAK, VBELN, xxx y me borre de la VBAK.

    Esto se puede hacer de alguna manera ??

    gracias !!

    María
  • SidV
    Usuario Avanzado
    • oct
    • 1761

    #2
    Quiero creer que como programadora ABAP dijiste que SAP no permite borrar registros de tablas estandar.

    Un programa ZETA nunca debería poder borrar datos de tablas del sistema.

    Comentario

    • Kope
      Member
      • abr
      • 79

      #3
      Originalmente publicado por poketina
      Hola,

      Me han pedido que haga lo siguiente: crear un report con 3 campos en la pantalla de selección:

      - nombre de tabla
      - nombre de campo
      - valor (rango)

      Lo que quieren hacer es con ese programa poder borrar valores de cualquier tabla. Es decir, q ellos puedan meter MARA, MATNR, 150 y entonces me borre de la MARA ese registro. O bien VBAK, VBELN, xxx y me borre de la VBAK.

      Esto se puede hacer de alguna manera ??

      gracias !!

      María
      Es una locura eso!!! pierdes directamente el soporte de SAP por hacer una bestialidad así.
      SAP HANA consultant

      Comentario

      • poketina
        Senior Member
        • jul
        • 105

        #4
        En realidad lo he puesto mal, quieren borrar de tablas Z, que ayer con las prisas lo puse mal...
        La final lo haré así, que funciona:

        DATA name(80) TYPE c.

        PARAMETERS: pa_tabla TYPE tabname MATCHCODE OBJECT dd_tabl,
        p_campo type string.
        select-OPTIONS: s_valor for (name).

        CONCATENATE p_campo ' IN ' s_valor
        INTO optiontext SEPARATED BY space.
        options-text = optiontext.
        APPEND options.

        DELETE from (pa_tabla) WHERE (options).
        Editado por última vez por poketina; 07/08/2013, 07:49:26.

        Comentario

        • SidV
          Usuario Avanzado
          • oct
          • 1761

          #5
          Disculpame pero dijiste esto:
          Lo que quieren hacer es con ese programa poder borrar valores de cualquier tabla. Es decir, q ellos puedan meter MARA, MATNR, 150 y entonces me borre de la MARA ese registro. O bien VBAK, VBELN, xxx y me borre de la VBAK.
          Ahí las tablas que mencionas son estandar.

          Tene mucho cuidado con lo que programes (para ese cliente y cualquiera).
          Te pueden hacer responsable de perdidas de datos muy grandes, y encima, SAP no se hará responsable para recuperar esos datos y curar las inconsistencias.

          Saludos

          Comentario

          • pancho6102
            Senior Member
            • jun
            • 238

            #6
            Aunque el programa vaya destinado a borrar Z's yo no haría el desarrollo así, se presta mucho a errores de dedo y consecuencias enormes.

            Si ese lo que tienes que hacer y no tienes otra opcion (que te lo firmen ) yo optaría por poner un candado ya sea por el match code (construyendo uno o en runtime) o por código que si la tabla no comienza con Z no haga nada.

            aunque lo que te piden esta bastante loco.

            Saludos.
            Francisco Ramirez.
            consultor SAP ABAP Netweaver
            Queretaro, Mexico.

            Comentario

            • poketina
              Senior Member
              • jul
              • 105

              #7
              Sí, puse ejemplos de tablas estándar por poner un ejemplo, pero no quieren borrar tablas estándar, de hecho si la tabla que meten no empieza por Z saltará un mensaje de error.
              No creo que lo utilicen muy a menudo, por ahora quieren, mediante un job, poder borrar de una tabla Z registros de meses anteriores. Y la opción de poder borrar de cualquier tabla Z no creo que ni que lleguen a usarla. Además, es sólo un usuario que tendrá acceso a ese programa así que si se borran datos que no debieran será con su usuario...
              gracias !!

              Comentario

              Trabajando...