MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 22/06/11, 14:43:20
Avatar de netoame
netoame netoame is offline
Junior Member
 
Fecha de Ingreso: abr 2009
Mensajes: 20
Smile Log Display

Hola Amigos:

Tengo un problema estoy creando un log con la funcion estandar BAL_LOG_CREATE y todas sus funciones, pero el problema esta que en la parte donde le paso el contexto no me despliega nada en mi log, como si los datos nunca los grabara, otra cuestion es que si realiza la insercion de columnas pero no trae ningun dato. HELP ME PLEASE¡¡¡¡
__________________
Ing. José Ernesto Vera Osorno
ABAP
Software Libre
Responder Con Cita
  #2  
Viejo 22/06/11, 17:45:25
temaljose temaljose is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 203

Buenas, compañero, revisa, la siguiente informacion, alli tienes un programa ejemplo, saludos espero te ayude
|---------------------------------------------------------------------|
| ¿Cómo se pueden recopilar mensajes? |
|---------------------------------------------------------------------|

Resumen
======================================================================
Aquí se exponen varios métodos para recopilar mensajes mediante el log de aplicación.

Módulos de funciones:
BAL_LOG_CREATE Crear log con cabecera
BAL_LOG_MSG_ADD Añadir mensajes al log
BAL_LOG_EXCEPTION_ADD Añadir excepción al log
BAL_LOG_MSG_CUMULATE Añadir mensajes al log acumulándolos
BAL_LOG_MSG_REPLACE Sustituir el último mensaje
BAL_GLB_MSG_CURRENT_HANDLE_GET Proporcionar el programa para control de mensajes
BAL_LOG_MSG_DELETE Borrar mensajes
BAL_LOG_EXCEPTION_DELETE Borrar excepción
BAL_LOG_MSG_CHANGE Modificar mensajes
BAL_LOG_EXCEPTION_CHANGE Modificar excepción
BAL_GLB_MSG_DEFAULTS_GET Asignaciones previas para traer datos de mensajes
BAL_GLB_MSG_DEFAULTS_SET Asignaciones previas para fijar datos de mensajes

Tipos
BAL_S_MDEF Asignanciones previas para mensajes

Programa de ejemplo
El report SBAL_DEMO_02 simula la verificación de un vuelo. Se da salida a un log, en el que se ven los resultados de la verificación.
==>ejecutar SBAL_DEMO_02 ==>coding SBAL_DEMO_02


Añadir mensajes al protocol
=======================================================================
Esta es la forma habitual de colocar mensajes en un log. Mediante BAL_LOG_MSG_ADD se puede, fácilmente, anexar un mensaje a un log.

==>Nota
Al indicar el programa para control del log en los módulos de funciones como BAL_LOG_MSG_ADD, BAL_LOG_MSG_CUMULATE, BAL_LOG_MSG_ADD_FREE_TEXT, etc. es opcional.
Si no se indica se toma el log por defecto. Éste puede indicarse mediante BAL_GLB_MSG_DEFAULTS_SET (junto con otros datos por defecto). Si no se ha definido un log por defecto, se fija automáticamente mediante BAL_LOG_CREATE (para más información, haga clic aquí).


Añadir mensajes acumulándolos
=======================================================================
Funciones
Un mensaje se acumula con un log identificado por I_LOG_HANDLE ( programa para control de datos).

Los datos de un mensaje se indican mediante el parámetro IMPORTING I_S_MSG (estructura BAL_S_MSG).

Mediante E_S_MSG_HANDLE se obtiene un programa para control de mensajes que identifica el mensaje de forma unívoca.

¿Qué significa "acumular"?
Algunos mensajes deben aparecer varias veces durante la ejecución de un programa sin que estas apariciones aporten informaciones nuevas. Para no cargar la memoria principal de forma innecesaria, algunos de estos pueden acumularse mediante BAL_LOG_MSG_CUMULATE. Si algunos mensajes del mismo tipo se emiten de forma repetida, no se vuelve a crear el mismo, sino que el contador MSG_COUNT las va sumando.
Lo que significa "del mismo tipo" lo puede definir en el módulo de funciones. Los datos T100 deben ser idénticos en todo caso. Si lo desea, puede definir que otros datos deban ser iguales:

I_COMPARE_ATTRIBUTES = "X"
Los atributos de mensaje restantes (clase de problema PROBCLASS, nivel de detalle DETLEVEL y campo de clasificación ALSORT) deben ser iguales.
I_COMPARE_CONTEXT = "X"
También el contexto debe ser igual.
I_COMPARE_PARAMETERS = 'X'
También los parámetros del mensaje deben ser igual.
Para encontrar un mensaje del mismo tipo lo más rápido posible durante la acumulación, el log de aplicación crea una pequeña tabla índice que contiene una signatura unívoca de un mensaje. Este índice sólo se elabora cuando se utilizar la función de acumulación.


Sustituir el último mensaje
=======================================================================
Funciones
El último mensaje situado en el log de aplicación se borra y un nuevo mensaje lo sustituye.

Los datos del nuevo mensaje se indican mediante el parámetro IMPORTING I_S_MSG (estructura BAL_S_MSG). Mediante E_S_MSG_HANDLE obtiene un programa para control de mensajes que identifica el nuevo mensaje unívocamente.

¿En qué log se sitúa el nuevo mensaje?
Si no indica ningún programa para control de logs mediante I_LOG_HANDLE, entonces se sitúa en el mismo log en el que estaba el mensaje borrado.
En caso contrario, el mensaje se coloca en el log identificado por I_LOG_HANDLE.
Si no hay mensaje antiguo y no se indica ningún log mediante I_LOG_HANDLE, entonces se añade al log por defecto (para más detalles haga clic aquí).
¿Para qué sustituir el último mensaje?
A veces, uno desea controlar un mensaje emitido al log de aplicación por un programa externo mediante un mensaje propio. Mediante el módulo de funciones BAL_LOG_MSG_REPLACE puede realizar esto.

Ejemplo
Un módulo de funciones genérico para la programación se llama para calcular los horarios de un vuelo. Si la programación no tiene éxito podría emitirse un mensaje a través de un módulo de funciones que dijera: "Programación para el proceso 0006 no concluida con éxito". Dado que los mensajes siempre deben registrarse en el log en el lugar donde se crean, este módulo escribe un mensaje en el log de aplicación. Para el usuario, sin embargo, sería mas útil si el mensaje dijera: "La planificación de horarios para el vuelo entre Hamburgo y Nueva York no se ha realizado correctamente".

==>Nota
El programa para control del último mensaje puede también obtenerse mediante BAL_GLB_MSG_CURRENT_HANDLE_GET. Esto puede utilizarse si no desea sobreescribir el último mensaje escrito, sino borrarlo (mediante BAL_LOG_MSG_DELETE) o modificarlo ( BAL_LOG_MSG_CHANGE).


Mensaje como texto libre
=======================================================================
Funciones
Un mensaje de texto libre se añade con un log identificado con I_LOG_HANDLE ( programa para control de logs).

El texto del mensaje se indica al módulo de funciones BAL_LOG_MSG_ADD_FREE_TEXT mediante el parámetro IMPORTING I_TEXT (longitud máxima 200 caracteres).

La gravedad del error (I_MSGTY) y (opcionalmente) la clase de problema (I_PROBCLASS) también pueden indicarse.

Mediante E_S_MSG_HANDLE se obtiene un programa para control de mensajes que identifica los mensajes de forma unívoca.


Asignaciones previas para colocar mensajes
=======================================================================
Algunas informaciones que podrían ser importantes para entender un mensaje, no suelen identificarse en el lugar en el que aparecen sino en un nivel superior del programa.

Ejemplo
En una rutina muy inferior se comprueba si se ha indicado el destino para un transporte con camión. En este nivel, no se conoce ni el número de transporte ni el tramo parcial para los que se debe ejecutar.

Para que los mensajes emitidos por esta rutina contengan las informaciones de contexto adecuadas, pueden asignarse previamente antes de que se llame esta rutina (fijar por defecto).
Esto ocurre mediante BAL_GLB_MSG_DEFAULTS_SET. A este módulo de funciones se transmite el tipo de dato BAL_S_MDEF, que, además del contexto, contiene otros datos (como atributos de mensaje, parámetros, log por defecto, etc.).
Se puede acceder a las asignaciones previas actuales mediante BAL_GLB_MSG_DEFAULTS_GET. Esto es importante, sobre todo, si no desea detirmanarlas nuevamente por completo, sino sólo modificar distintos aspectos (p.ej., el número de posición del contexto, pero no el número de orden).

==>Nota
Siempre es aconsejable utilizar los módulos de funciones BAL_GLB_MSG_DEFAULTS_GET y BAL_GLB_MSG_DEFAULTS_SET combinándolos, dado que uno no puede estar seguro de qué asignaciones previas están fijadas para un determinado momento.
Las asignaciones previas afectan a los módulos de funciones siguientes:
BAL_LOG_MSG_ADD Añadir mensaje a un log
BAL_LOG_EXCEPTION_ADD Añadir excepción a un log
BAL_LOG_MSG_CUMULATE Acumular mensaje
BAL_LOG_MSG_REPLACE Sustituir el último mensaje
BAL_LOG_MSG_ADD_FREE_TEXT Añadir mensaje como texto libre


Mensajes con contextos complejos
=======================================================================

A veces, puede desear añadir otras informaciones mucho más complejas al mensaje (o a la cabecera de log), como puede hacerse a partir de un contexto o de parámetros.
Para ello, el log de aplicación le proporciona un tipo de tabla INDX,
que puede utilizarse mediante los comandos ABAP
EXPORT TO DATABASE y IMPORT FROM DATABASE.
El report SBAL_DEMO_06 muestra cómo pueden guardarse o leerse contextos complejos. Esto puede realizarse como sigue:

Recopilar mensajes:
Para una cabecera de log o un mensaje debe definirse una rutina CALLBACK (...-PARAMS-CALLBACK-...)
Asimismo, deberán recopilarse las informaciones de contexto en tablas internas del programa de llamada.
Grabar logs:
En este evento, debe continuarse escribiendo las tablas mediante EXPORT my_data TO DATABASE bal_indx(al) ID lognumber.. El número de log interno se obtiene del módulo de funciones BAL_DB_SAVE.
Visualización log:
Si en la visualización de log se selecciona detallar un mensaje o una cabecera de log, entonces se ejecuta la rutina CALLBACK al recopilar.
Aquí se pueden leer y presentar los datos mediante
EXPORT my_data FROM DATABASE bal_indx(al) ID lognumber.
El número de log interno LOGNUMBER está en esta rutina Callback interna transmitida (en PARAM = "%LOGNUMBER").
Borrar logs
Aquí no debe realizarse nada por parte de la aplicación. Los datos se borran automáticamente.
==>Nota
La información de contextos complejos debe utilizarse con precauciones. Podría dar problemas. Si (p.ej., a causa de un cambio de release) se ha modificado la estructura del contexto complejo MY_DATA, entonces ya no se pueden leer. Por el momento no se puede asegurar que el contexto complejo se archive automáticamente, si se realiza la funcionalidad archivo. (Por el momento, todavía no.)



Añadir excepción al log
=======================================================================
Funciones
Un texto de excepción se añadirá al log identificado con I_LOG_HANDLE ( Protokollhandle)

La clase de excepción, la gravedad del error, la clase de problema y el nivell de especificación se fijarán al módulo de funciones BAL_LOG_EXCEPTION_ADD mediante los parámetros IMPORTING I_S_EXC(estructura BAL_S_EXC).

Las informaciones de contexto para excepciones y sumas acumuladas de excepciones no se soportan.

Con E_S_MSG_HANDLE se recupera un handle de mensaje que este mensaje identifica unívocamente.

=> Nota: Este módulo de funciones sustituye al módulo de funciones BAL_LOG_EXC_ADD.
__________________
Lo unico que se, es que no se nada.....
Responder Con Cita
  #3  
Viejo 22/06/11, 18:51:01
Avatar de netoame
netoame netoame is offline
Junior Member
 
Fecha de Ingreso: abr 2009
Mensajes: 20
Si esa informacion estuve buscando y la lei, pero encontre un programa identico al que quiero usar, pero al hacer los cambios en el log no me despliega los datos que he recueperado o los datos de contexto.

Este es el programa

************************************************************************
*&---------------------------------------------------------------------*
*& Nombre del Programa: ZLOG_PANELCTRL
*& Paquete : ZDEVELOP
*& Transporte : DEVK969645
*& Creado por : Adrian Cordova Barrientos
*& Creado el : 27 Abril del 2011
*& Descripción : Log de panel de control
*&---------------------------------------------------------------------*
************************************************************************
REPORT ZLOG_PANELCTRL_CPY MESSAGE-ID SABAPDOCU.

TABLES ZSD_LOG_PD.

SELECT-OPTIONS : GUIA FOR ZSD_LOG_PD-ID_GUIA.
* ENT FOR ZSD_LOG_PD-ENTREGA,
* VBELNF FOR ZSD_LOG_PD-VBELN,
* FECHA FOR SY-DATUM DEFAULT SY-DATUM.
* USER FOR SY-UNAME,
* HORA FOR SY-UZEIT.


INCLUDE:
SBAL_CONSTANTS,
<ICON>.

DATA:
G_S_LOG TYPE BAL_S_LOG,
G_LOG_HANDLE TYPE BALLOGHNDL,
G_T_LOG_HANDLE TYPE BAL_T_LOGH,
G_S_DISPLAY_PROFILE TYPE BAL_S_PROF.

DATA : IT_ZSD_LOG_PD TYPE TABLE OF ZSD_LOG_PD .
FIELD-SYMBOLS : <WA_LOG> TYPE ZSD_LOG_PD.
DATA : WA_LOG TYPE ZWSD_LOG_PD_DOCU.
************************************************************************
*&---------------------------------------------------------------------*
* MAIN PROGRAM
*&---------------------------------------------------------------------*
************************************************************************
START-OF-SELECTION.
SELECT MANDT
ID
TYPE
NUMBER_M
ID_GUIA
ENTREGA
VBELN
FECHA
HORA
USUARIO
TEXTO
INTO TABLE IT_ZSD_LOG_PD
FROM ZSD_LOG_PD
WHERE ID_GUIA IN GUIA.
* ENTREGA IN ENT AND
** VBELN IN VBELNF AND
* FECHA IN FECHA.
* USUARIO IN USER AND
* HORA IN HORA.

DELETE IT_ZSD_LOG_PD WHERE ID IS INITIAL.
DELETE IT_ZSD_LOG_PD WHERE TYPE IS INITIAL.

G_S_LOG-EXTNUMBER = 'Log de Documentacion'(EXT).
G_S_LOG-ALUSER = SY-UNAME.
G_S_LOG-ALPROG = SY-REPID.

CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = G_S_LOG
IMPORTING
E_LOG_HANDLE = G_LOG_HANDLE
EXCEPTIONS
OTHERS = 1.

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


PERFORM MESSAGES_ADD USING G_LOG_HANDLE.

* PERFORM CREATE_DISPLAY_PROFILE CHANGING G_S_DISPLAY_PROFILE.

INSERT G_LOG_HANDLE INTO TABLE G_T_LOG_HANDLE.



CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
* EXPORTING
* I_S_DISPLAY_PROFILE = G_S_DISPLAY_PROFILE
* I_T_LOG_HANDLE = G_T_LOG_HANDLE
EXCEPTIONS
OTHERS = 1.

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

END-OF-SELECTION.
************************************************************************
*&---------------------------------------------------------------------*
* messages_add
*&---------------------------------------------------------------------*
************************************************************************
FORM MESSAGES_ADD USING VALUE(I_LOG_HANDLE) TYPE BALLOGHNDL.

DATA L_S_MESSAGE_DEFAULTS TYPE BAL_S_MDEF.

L_S_MESSAGE_DEFAULTS-LOG_HANDLE = I_LOG_HANDLE.

*{MJEVERA_20110620_1416_CHANGE

CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_SET'
EXPORTING
I_S_MSG_DEFAULTS = L_S_MESSAGE_DEFAULTS
EXCEPTIONS
OTHERS = 0.

*}MJEVERA_20110620_1416_CHANGE
SORT IT_ZSD_LOG_PD BY ENTREGA.

LOOP AT IT_ZSD_LOG_PD ASSIGNING <WA_LOG>.

MOVE-CORRESPONDING <WA_LOG> TO WA_LOG.


PERFORM CALCULATE_FACT USING WA_LOG
SY-TABIX.

ENDLOOP.

ENDFORM. "MESSAGES_ADD
************************************************************************
*&---------------------------------------------------------------------*
* FORM calculate_flight
*&---------------------------------------------------------------------*
************************************************************************
FORM CALCULATE_FACT USING WA_LOG TYPE ZWSD_LOG_PD_DOCU
VALUE(V_INDEX) TYPE SY-INDEX.

DATA:
L_S_MDEF TYPE BAL_S_MDEF,
L_S_CONTEXT TYPE ZWSD_LOG_PD_DOCU,
L_ERROR TYPE BOOLEAN,
L_DUMMY TYPE C.
*{MJEVERA_20110620_1416_CHANGE
DATA:
L_S_MSG TYPE BAL_S_MSG.

CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_GET'
IMPORTING
E_S_MSG_DEFAULTS = L_S_MDEF
EXCEPTIONS
OTHERS = 0.
*{MJEVERA_20110620_1416_CHANGE


L_S_CONTEXT-ID = WA_LOG-ID.
L_S_CONTEXT-TYPE = WA_LOG-TYPE.
L_S_CONTEXT-NUMBER_M = WA_LOG-NUMBER_M.
L_S_CONTEXT-ENTREGA = WA_LOG-ENTREGA.
L_S_CONTEXT-VBELN = WA_LOG-VBELN.
L_S_CONTEXT-ID_GUIA = WA_LOG-ID_GUIA.
L_S_CONTEXT-FECHA = WA_LOG-FECHA.
L_S_CONTEXT-HORA = WA_LOG-HORA.
L_S_CONTEXT-USUARIO = WA_LOG-USUARIO.
L_S_CONTEXT-TEXTO = WA_LOG-TEXTO.

L_S_MDEF-CONTEXT-TABNAME = 'ZWSD_LOG_PD_DOCU'.
L_S_MDEF-CONTEXT-VALUE = L_S_CONTEXT.

*{MJEVERA_20110620_1416_CHANGE

CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_SET'
EXPORTING
I_S_MSG_DEFAULTS = L_S_MDEF
EXCEPTIONS
OTHERS = 0.
*}JEVERA_20110620_1416_CHANGE

CASE WA_LOG-TYPE .
WHEN 'S'.
MESSAGE S888 WITH 'Proceso concluido correctamente'
WA_LOG-VBELN
INTO L_DUMMY.
PERFORM MSG_ADD USING WA_LOG.
WHEN 'E'.
MESSAGE E888 WITH 'No se concluyo proceso'
WA_LOG-ENTREGA
INTO L_DUMMY.
PERFORM MSG_ADD USING WA_LOG.
WHEN 'W'.
IF WA_LOG-VBELN IS INITIAL.
MESSAGE E888 WITH 'Se concluyo proceso CON WARNING'
WA_LOG-ENTREGA
INTO L_DUMMY.
PERFORM MSG_ADD USING WA_LOG.
ELSEIF WA_LOG-VBELN IS NOT INITIAL.
MESSAGE E888 WITH 'Se concluyo proceso CON WARNING'
WA_LOG-VBELN
INTO L_DUMMY.
PERFORM MSG_ADD USING WA_LOG.
ENDIF.
ENDCASE.
ENDFORM. "CALCULATE_FACT
************************************************************************
*&---------------------------------------------------------------------*
* FORM MSG_ADD
*&---------------------------------------------------------------------*
************************************************************************
FORM MSG_ADD USING WA_LOG TYPE ZwSD_LOG_PD_DOCU.

DATA L_S_MSG TYPE BAL_S_MSG.

L_S_MSG-MSGTY = WA_LOG-TYPE.
L_S_MSG-MSGID = WA_LOG-ID.
L_S_MSG-MSGNO = WA_LOG-NUMBER_M.
L_S_MSG-MSGV1 = WA_LOG-TEXTO.
* L_S_MSG-MSGV2 = "".
* L_S_MSG-MSGV3 = SY-MSGV3.
* L_S_MSG-MSGV4 = SY-MSGV4.

CASE WA_LOG-TYPE .

WHEN 'E'.

L_S_MSG-PROBCLASS = 1.

WHEN 'W'.

L_S_MSG-PROBCLASS = 3.

WHEN 'S'.

L_S_MSG-PROBCLASS = 4.

ENDCASE.

CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
I_S_MSG = L_S_MSG
EXCEPTIONS
LOG_NOT_FOUND = 0
OTHERS = 1.

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM. "MSG_ADD
************************************************************************
*&---------------------------------------------------------------------*
* FORM log_show
*&---------------------------------------------------------------------*
************************************************************************
FORM CREATE_DISPLAY_PROFILE CHANGING C_S_DISPLAY_PROFILE
TYPE BAL_S_PROF.
DATA: L_S_FCAT TYPE BAL_S_FCAT,
L_S_SORT TYPE BAL_S_SORT.

CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'
IMPORTING
E_S_DISPLAY_PROFILE = G_S_DISPLAY_PROFILE
EXCEPTIONS
OTHERS = 0.
*
C_S_DISPLAY_PROFILE-TITLE = 'Log de procesos Estandard'(SET).
C_S_DISPLAY_PROFILE-HEAD_TEXT = 'Relacion documentacion nuevas'(RAF).
C_S_DISPLAY_PROFILE-HEAD_SIZE = 35.
C_S_DISPLAY_PROFILE-TREE_SIZE = 22.
C_S_DISPLAY_PROFILE-DISVARIANT-REPORT = SY-REPID.
C_S_DISPLAY_PROFILE-DISVARIANT-HANDLE = 'LOG'.
C_S_DISPLAY_PROFILE-SHOW_ALL = 'X'.

CLEAR L_S_FCAT.
L_S_FCAT-REF_TABLE = 'ZWSD_LOG_PD_DOCU'.
L_S_FCAT-REF_FIELD = 'FECHA'.
L_S_FCAT-COL_POS = 3.
* L_S_FCAT-OUTPUTLEN = 11.
APPEND L_S_FCAT TO C_S_DISPLAY_PROFILE-MESS_FCAT.

CLEAR L_S_FCAT.
L_S_FCAT-REF_TABLE = 'ZWSD_LOG_PD_DOCU'.
L_S_FCAT-REF_FIELD = 'HORA'.
L_S_FCAT-COL_POS = 4.
* L_S_FCAT-OUTPUTLEN = 10.
APPEND L_S_FCAT TO C_S_DISPLAY_PROFILE-MESS_FCAT.

CLEAR L_S_FCAT.
L_S_FCAT-REF_TABLE = 'ZWSD_LOG_PD_DOCU'.
L_S_FCAT-REF_FIELD = 'ENTREGA'.
L_S_FCAT-COL_POS = 3.
L_S_FCAT-OUTPUTLEN = 10.
APPEND L_S_FCAT TO C_S_DISPLAY_PROFILE-MESS_FCAT.

*
C_S_DISPLAY_PROFILE-CLBK_UCOM-USEREXITT = CONST_CALLBACK_FORM.
C_S_DISPLAY_PROFILE-CLBK_UCOM-USEREXITP = SY-REPID.
C_S_DISPLAY_PROFILE-CLBK_UCOM-USEREXITF = 'BAL_CALLBACK_UCOMM'.
C_S_DISPLAY_PROFILE-USE_GRID = 'X'.
C_S_DISPLAY_PROFILE-EXP_LEVEL = 2.

ENDFORM. "CREATE_DISPLAY_PROFILE
************************************************************************
*&---------------------------------------------------------------------*
* FORM BAL_CALLBACK_UCOMM
*&---------------------------------------------------------------------*
************************************************************************
FORM BAL_CALLBACK_UCOMM CHANGING C_S_USER_COMMAND_DATA
TYPE BAL_S_CBUC.

DATA WA_VALOR TYPE BAL_S_CBUC.

CASE C_S_USER_COMMAND_DATA-LIST_FIELD.
WHEN 'VBELN'.
MOVE-CORRESPONDING C_S_USER_COMMAND_DATA TO WA_VALOR.
SET PARAMETER ID 'VF' FIELD WA_VALOR-LIST_VALUE.
CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.

WHEN 'ENTREGA' .
MOVE-CORRESPONDING C_S_USER_COMMAND_DATA TO WA_VALOR.
SET PARAMETER ID 'VL' FIELD WA_VALOR-LIST_VALUE.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.

ENDCASE.

C_S_USER_COMMAND_DATA-UCOMM_EXEC = 'X'.

ENDFORM. "BAL_CALLBACK_UCOMM
__________________
Ing. José Ernesto Vera Osorno
ABAP
Software Libre
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 21:47:22.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web