|
#1
|
|||
|
|||
SELECTION-SCREEN BEGIN OF BLOCK sc_params.
SELECT-OPTIONS s_matnr FOR ekpo-matnr. PARAMETERS p_werks LIKE marc-werks OBLIGATORY. SELECT-OPTIONS p_bstyp FOR ekpo-bstyp OBLIGATORY DEFAULT 'L'. SELECT-OPTIONS p_lgort FOR ekpo-lgort NO-EXTENSION NO INTERVALS. SELECT-OPTIONS p_dispo FOR marc-dispo NO-EXTENSION NO INTERVALS. SELECTION-SCREEN END OF BLOCK sc_params. ************************ * Main Code Area ************************ START-OF-SELECTION. PERFORM get_data. PERFORM field_catalog. PERFORM alv_display. *&---------------------------------------------------------------------* *& Form get_data *&---------------------------------------------------------------------* FORM get_data. SELECT e~matnr e~txz01 m~lbkum e~effwr e~matkl m~stprs m~salk3 k~lifnr e~aedat e~menge e~ktmng k~ebeln k~bstyp m~verpr e~meins k~waers m~peinh e~peinh e~netpr e~pstyp e~infnr e~werks INTO (gt_outtab-matnr, gt_outtab-txz01, gt_outtab-lbkum, gt_outtab-effwr, gt_outtab-matkl, gt_outtab-stprs, gt_outtab-salk3, gt_outtab-lifnr, gt_outtab-aedat, gt_outtab-menge, gt_outtab-ktmng, gt_outtab-ebeln, gt_outtab-bstyp, gt_outtab-verpr, gt_outtab-meins, gt_outtab-waers, gt_outtab-peinh2, gt_outtab-peinh, gt_outtab-netpr, gt_outtab-pstyp, gt_outtab-infnr, gt_outtab-werks) FROM marc AS a INNER JOIN mbew AS m ON a~matnr EQ m~matnr INNER JOIN ekpo AS e ON a~matnr EQ e~matnr INNER JOIN ekko AS k ON k~ebeln EQ e~ebeln WHERE a~beskz EQ 'F' and a~werks EQ p_werks AND a~matnr IN s_matnr AND m~bwkey EQ p_werks AND m~lbkum NE '' AND e~werks EQ p_werks AND e~bstyp IN p_bstyp AND e~loekz EQ '' AND e~lgort IN p_lgort AND a~dispo IN p_dispo. APPEND gt_outtab. ENDSELECT. ***********aqui es donde tendria que sacar el mensaje y luego volver a la pantalla de seleccion*********** IF sy-subrc <> 0. MESSAGE e398(00) WITH text-001. ENDIF. |
#2
|
||||
|
||||
Has probado a poner esto en la sentencia MESSAGE?
MESSAGE s398(00) DISPLAY LIKE 'E' WITH text-001. Acabo de probarlo en un programita de prueba, y compila perfectamente. |
#3
|
|||
|
|||
si, lo pongo y y al verificar me pone:
"DISPLAY LIKE 'E'" is not expected. |
#4
|
||||
|
||||
¿Que version de sap utilizas? Para saber si te acepta esa sentencia, pon el cursor del raton sobre la sentencia 'MESSAGE' y le das a F1, hay te viene todas las opciones que te permite tu version de sap. |
#5
|
||||
|
||||
Si puedes copia y pega el que te puse en el post anterior:
MESSAGE s398(00) DISPLAY LIKE 'E' WITH text-001. Posiblemente sea por alguna tontería, porque a mi me compila perfectamente. Si te digo la verdad a mi en ocasiones también me ha pasado que estaba bien, y no me compilaba, y al copiarlo desde otro sitio, me compilaba bien, posiblemente fuese por algun error en algún espacio o algo así... No se, prueba porque debería de salirte... |
#6
|
|||
|
|||
tengo la version 4.6 y le doy al f1, y no me sale la variante para display, asi q por eso no podre utilizarlo.
Ademas la e pegado desde aki y na de na. |
#7
|
||||
|
||||
Entonces es una putada, yo antes cuando no conocia lo del display, ponia todos los mensajes de éxito y asi no paralizaba el flujo. Coméntale esta situación a tu cliente o a tu responsable. Esto no es culpa tuye, es de la versión de sap que te restringue tus posibilidades. Saludos. |
#8
|
||||
|
||||
En este caso, la solución sería la propuesta en un post anterior, y si es posible, hacer el chequeo en el at selectión screen, y desde ahi dar el mensaje... Lo malo, es que por el código que has puesto, supongo que será dificil adaptarlo para hacer la selección y el chequeo en el el bloque de at selection screen....
La verdad es que ahora mismo, no se me ocurre otra cosa... |
#9
|
|||
|
|||
bueno, alfinal lo e tenido que dejar asi:
IF sy-subrc <> 0. MESSAGE s398(00) WITH text-001. LEAVE TO TRANSACTION ZSPR. ENDIF. Lo unico q no saca el mensaje en rojo , pero bueno, por lo que me an dicho, si en esta version no se puede, que lo deje asi. Asi que muchas gracias a todos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|