Triggers

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sanckok
    Member
    • oct
    • 40

    #1

    Triggers

    Muy buenas,

    Me gustaria saber si existe algo parecido a los triggers en SAP.
    Necesito controlar cada vez que se haga un insert en la tabla MSEG.

    Muchas gracias
  • emerson.tosin
    Member
    • dic
    • 57

    #2
    Yo acredito que no... la unica cosa que puede hacer es econtrar las transaciones que insertan registros en la tabla MSEG y encontrar las exit´s ... hacer un tratamiento en el momiento de salva...

    Comentario

    • sanckok
      Member
      • oct
      • 40

      #3
      Me temia esta respuesta, pero tenia que intentarlo, jeje
      Muchas gracias, espero de todas formas a ver si alguien se ha encontrado alguna vez con algo parecido y me puede dar otra solucion... la esperanza nunca se pierde

      Comentario

      • ballan
        Senior Member
        • oct
        • 671

        #4
        Entre las instrucciones EXEC SQL y ENDEXEC puedes introducir codigo nativo de SQL, puedes llamar a procedimientos almacenados, etc y en teoria te deberia dejar crear TRIGGERS, de todas formas cuenta lo que quieres hacer porque SAP no trabaja asi, quiza se pueda hacer de otra forma

        Comentario

        • DavidXD_XD
          Moderator
          • ago
          • 1255

          #5
          Hola ... tal vez es una idea, porque no realizas un programa en el cual realizas una consulta a la CDHDR y a la CDPOS para que puedas ver cuantos INSERT's se han realizado ... y esos los grabas dentro de una tabla Z, ahi colocarias todos los numeros de documento que hayas encontrado ... ahora por lo mismo que sap no acepta triggers puedes correr ese programa via JOB pero por ejemplo cada 5 horas ... con eso como que puede imitar a un trigger
          David Carballido Córdova

          Comentario

          • sanckok
            Member
            • oct
            • 40

            #6
            Muchas gracias por las respuestas,

            Pues os cuento, se que me vais a decir que no lo haga asi, que SAP no trabaja asi, pero necesito que se haga online.
            Necesito que cada vez que se hace una entrada de material, salida, anulacion, devolucion... cualquier movimiento, y desde cualquier transaccion, me genere un fichero de texto para transportarlo a otro programa.

            Si se les ocurre algo, soy todo oidos... bueno, en este caso ojos

            Muchas gracias por la ayuda

            Comentario

            • DavidXD_XD
              Moderator
              • ago
              • 1255

              #7
              A verdad ... escuche por ahi (no se si sea cierto) que denrto de SAP el unico que puede mandar triggers son los WorkFLows, la unica forma seria atacar por ahi
              David Carballido Córdova

              Comentario

              • ibecerra

                #8
                a ver si te puedo ayudar. dime q version de SAP tienes.

                Comentario

                • sanckok
                  Member
                  • oct
                  • 40

                  #9
                  Ahora mismo estamos con la 4.7.

                  Comentario

                  • ibecerra

                    #10
                    chispas, para esa version no tengo la solución.
                    te explico la solucion plantead era sencilla y practica pero solo se puede hacer en la version 6.0.
                    no se si has escuchado los ENHANCEMENT-POINT, con ello puedes meter codigo al standard en ciertas posiciones.
                    y lo que se tenia que hacer era buscar el programa standard donde hace el insert a la mseg, ubicar el ENHANCEMENT-POINT y meter codigo abap simulando el trigger.
                    como te decia es algo nuevo en ABAP
                    Saludos

                    Comentario

                    • sanckok
                      Member
                      • oct
                      • 40

                      #11
                      Ok, gracias
                      Si que habia oido hablar de lo que comentas, pero todavia no estamos en la 6.0 por poco pero hasta mediados del año que viene, no la tendre

                      Seguire buscando

                      Comentario

                      • ballan
                        Senior Member
                        • oct
                        • 671

                        #12
                        En SAP si es posible crear triggers, lo que pasa es que hasta donde yo se no puedes crearlos contra tablas standar, solo funcionarian contra tablas de otras BBDD

                        Suponiendo que todas las entradas, salidas, devoluciones, etc las vas a hacer por la transaccion MIGO yo buscaria una user-exit, BADI, enhancement o algun punto proporcionado por SAP para poder introducir codigo y ahi podrias generar el fichero y enviarlo a donde proceda

                        Para encontrar una usrer-exit busca en este mismo foro y hay un report que te las busca, yo he buscado en mi sistema que tiene la version 6 y me han salido estas

                        MBCF0002 Salida función cliente: segemento txt en pos.documento mat.
                        MBCF0005 Pos.documento de material p.vale de acompañamiento de mrcías
                        MBCF0006 Función cliente p.elemento PSP
                        MBCF0007 Exit función cliente: Actualización de una reserva
                        MBCF0009 Rellenar el campo almacén
                        MBCF0010 Exit de cliente: Crear reserva BAPI_RESERVATION_CREATE 1
                        MBCF0011 Lectura de RESB y RKPF para lista de impresión en MB26
                        MB_CF001 Customer Function Exit en actualización documento material


                        Para encontrar una BADI pon un break point en el metodo get_instance de la clase CL_EXITHANDLER y luego realiza una entrada o algo por la MIGO, se te ira parando en cada una de las BADIs que luego podras implementar en la transaccion SE19 para ver si te sirven

                        Para buscar un enhancement vete al programa SAPLMIGO y dale a los prismaticos para buscar y pon ENHANCEMENT, (aunque yo creo que en la 4.7 todavia no existian)

                        Comentario

                        Trabajando...