Hola Juan Carlos,

Te paso un programa que es el que yo usé hace algun tiempo.

En tu programa trigger, llamas a este y le pasas una variable de 10pos que te devuelve el programa que ha llamado el trigger. Hasta si el registro lo modifica por Dfu o Sql.

A mi me funcionaba ok.

Lo siento por el autor original pero lo desconozco, y como me lo encontré por internet por lo redistribuyo por aqui.

Saludos
Miquel Sanuy


----- Original Message ----- From: "Juan Carlos Paredes" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, July 13, 2006 12:31 PM
Subject: RE: Problema con CALLERID.


Pues tienes razón, José. Lo que necesito es saber qué programa disparó el trigger.

Perdonadme pero el calor, y la necesidad de vacaciones (ya las estoy oliendo ....) hacen estas cosas.

Juan Carlos.

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de José de la Herrán
Enviado el: jueves, 13 de julio de 2006 12:19
Para: [email protected]
Asunto: Re: Problema con CALLERID.

A mí eso me suena a correcto. Supongo que lo que te interesa es saber qué programa llamó a B, no a CALLERID, no? Y ese fue A, no B.

--
José de la Herrán Núñez
Ayuntamiento de Vitoria-Gasteiz
Departamento de Nuevas Tecnologías
Pintor Vera Fajardo, 5 bajo, 01008 Vitoria-Gasteiz
Tlf: +34 945 16 16 14
Fax: +34 945 16 16 00
mailto:[EMAIL PROTECTED]



Juan Carlos Paredes escribió:

Buenos días de nuevo, foro:

Estoy intentando implementar la utilidad CALLERID de Help400, y me
encuentro con que siempre se me salta un nivel de llamada, es decir:

Desde un programa A llamo a un programa B que a su vez es el que hace
la llamada al programa CALLERID. Pues bien, lo que obtengo como nombre
de programa es A en lugar de B.

¿A alguien le a ocurrido esto mismo? ¿Sabéis a qué puede ser debido?

Saludos.

Juan Carlos.


__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400

__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400
     ****************************************************************
     * CallerID - Identify Calling Program                          *
     * From:    - Give Your Trigger Programs +Caller ID,            *
     * Autor:   - Lloyd Deviney                                     *
     ****************************************************************

     * System API error code
    D Qusec           DS
    D  QusBPrv                1      4B 0
    D  QusBAvl                5      8B 0
    D  Qusei                  9     15
    D  Quserved              16     16

     * Type definition for the RCVM0200 format
    D RCVM0200        DS           120
    D  Program              111    120

     ****************************************************************
     * Standalone Field Definitions                                 *
     ****************************************************************

     * Program message parameters
    D Pm_MsgId        S              7    Inz(*BLANKS)
    D Pm_MsgF         S             20    Inz(*BLANKS)
    D Pm_MsgDta       S             12    Inz('Who are you?')
    D Pm_Length       S              9B 0
    D Pm_MType        S             10    Inz('*INFO')
    D Pm_MKey         S              4    Inz(*BLANKS)
    D Pm_CSEntry      S             10    Inz('*')
    D Pm_Counter      S              9B 0 Inz(5)

    D Pm_Format       S              8    Inz('RCVM0200')
    D Pm_Wait         S              9B 0 Inz(0)
    D Pm_Action       S             10    Inz('*REMOVE')

     ****************************************************************
     * Parameter Lists                                              *
     ****************************************************************

    C     *Entry        PList
    C                   Parm                    Caller           10

     ****************************************************************
     * Main Program                                                 *
     ****************************************************************
     * Set error code structure not to use exceptions
    C                   Z-Add     16            QusBPrv

     * Set length of message data
    C                   Z-Add     12            Pm_Length

     * Send program message
    C                   Call      'QMHSNDPM'
    C                   Parm                    Pm_MsgId
    C                   Parm                    Pm_MsgF
    C                   Parm                    Pm_MsgDta
    C                   Parm                    Pm_Length
    C                   Parm                    Pm_MType
    C                   Parm                    Pm_CSEntry
    C                   Parm                    Pm_Counter
    C                   Parm                    Pm_MKey
    C                   Parm                    Qusec

     * Check for errors
    C                   If        QusBAvl > 0
    C                   Exsr      *PSSR
    C                   EndIf
     * Clear return data structure
    C                   Clear                   RCVM0200

     * Set length of message information
    C                   Z-Add     120           Pm_Length

     * Receive program message
    C                   Call      'QMHRCVPM'
    C                   Parm                    RCVM0200
    C                   Parm                    Pm_Length
    C                   Parm                    Pm_Format
    C                   Parm                    Pm_CSEntry
    C                   Parm                    Pm_Counter
    C                   Parm                    Pm_MType
    C                   Parm                    Pm_MKey
    C                   Parm                    Pm_Wait
    C                   Parm                    Pm_Action
    C                   Parm                    Qusec

     * Check for errors
    C                   If        QusBAvl > 0
    C                   Exsr      *PSSR
    C                   EndIf
    C                   Move      Program       Caller
    C                   Return

     ****************************************************************
     * *PSSR - Error Handling Subroutine                            *
     ****************************************************************

    C     *PSSR         Begsr
    C                   Return
    C                   Endsr

Responder a