PDA

Ver la Versión Completa : Raise Exception + Como mostrar un mensaje


ebelyn
16/02/09, 13:58:16
Hola, necesito que cuando ejectue la excepcion se muestre como salida de la funcion, aparte del raise, la estructura ps_return1 con el mensaje que le envio. Pero cuando se eejcuta la excepcion me limpia la estrcuctura. Como puedo hacer?

FORM f_obbligatorieta USING pe_dati STRUCTURE zstr_tariffa_sociale
CHANGING ps_return1 LIKE bapireturn1.

* Local Constants
CONSTANTS: lc_message_initial(24) TYPE c VALUE 'Parametro & Obbligatorio',
lc_zz_pod(10) TYPE c VALUE 'Codice POD',
lc_zz_codfisc(26) TYPE c VALUE 'Codice fiscale del Cliente',
lc_zent_comp(26) TYPE c VALUE 'Entità della compensazione',
lc_ztipo_comp(23) TYPE c VALUE 'Tipologia Compensazione',
lc_zdata_valid(16) TYPE c VALUE 'Data di Decorreza',
lc_zdata_rinn(35) TYPE c VALUE 'Data entro il quale eff. il rinnovo',
lc_zisee(11) TYPE c VALUE 'Valore ISEE'.

* Verificare Codice POD
IF pe_dati-zz_pod IS INITIAL.
MOVE dc_e TO r_return1-type.
MOVE dc_msg TO r_return1-id.
MOVE dc_001 TO r_return1-number.
MOVE lc_message_initial TO r_return1-message.
MOVE lc_zz_pod TO r_return1-message_v1.
MOVE r_return1 TO ps_return1.
CLEAR r_return1.
RAISE initial.
ENDFORM.
ENDIF.

ballan
16/02/09, 15:47:01
Lo primero es que ps_return1 es un parametro FORMAL, tendras que ver el parametro actual que sera el que tenga los valores

quicir

este es tu form

FORM f_obbligatorieta USING pe_dati STRUCTURE zstr_tariffa_sociale
CHANGING ps_return1 LIKE bapireturn1.

en algun sitio habra una llamada del tipo

perform f_obbligatorieta using gs_dati changing gs_return

pues el GS_RETURN ( o lo que lleve ) es el parametro actual que contendra los valores

otra cosa es que para poder pasarle parametros a tu excepcion creo que tendras que lanzar una CLASE EXCEPCION (un objeto que has creado en la SE24)

Por cierto tiene que ser obligatoriamente excepcion?¿ porque a lo mejor puedes arrojar un mensaje de error y ya esta