2012 Jul 23 4:21 PM
Hi All,
I am using the function module ALM_ME_MOBILE_STATUS_CHANGE for deleting a system status by passing the object number.
But is not returning the messages.
Please help.
regards,
Hi Sama,
There is nothing wrong in your code. You will get the messages in I_RETURN only in case of an Error or Warning and not for successful cases. It is working for me in my test system and i am getting messages in I_RETURN. Have you tried debugging inside the FM and noticed its behaviour for the data you are passing? If not please try. I guess you are executing the successfull cases.
Best Regards,
Srikanth
2012 Jul 23 7:38 PM
2012 Jul 24 4:49 AM
Hi,
You cannot get it directly, you must Declare and Get.
For Ex.
DATA:
T_MSG TYPE TABLE OF BDCMSGCOLL, " Collecting Error messages
W_MSG TYPE BDCMSGCOLL.
LOOP AT T_MSG INTO W_MSG WHERE MSGTYP EQ 'E'.
Endloop.
LikeWise you can get, Try this i may be Helpfull for you.
Thanks & Regards,
Gopi Manjunath.
2012 Jul 24 8:24 AM
Hi Clemens,
Please find the below code, which i am using.
can you please tell me why i am not getting the messages from the above mentioned FM.
*Tables
TABLES: aufk , jest.
*Types
TYPES:
BEGIN OF ty_change_order,
aufnr TYPE aufk-aufnr,
objnr TYPE aufk-objnr,
flag TYPE flag,
END OF ty_change_order,
BEGIN OF ty_order_no_mobi,
aufnr TYPE aufk-aufnr,
objnr TYPE aufk-objnr,
flag TYPE flag,
msg TYPE char255,
END OF ty_order_no_mobi,
BEGIN OF ty_sys_status,
objnr TYPE jest-objnr,
stat TYPE jest-stat,
END OF ty_sys_status.
*Types tables
TYPES:
tt_change_order TYPE STANDARD TABLE OF ty_change_order,
tt_order_no_mobi TYPE STANDARD TABLE OF ty_order_no_mobi,
tt_sys_status TYPE STANDARD TABLE OF ty_sys_status,
tt_return TYPE STANDARD TABLE OF bapiret2.
*Internal Tables
DATA:
i_change_order TYPE tt_change_order,
i_order_no_mobi TYPE tt_order_no_mobi,
i_sys_status TYPE tt_sys_status,
i_return TYPE tt_return,
i_return2 TYPE bapiret2,
i_fieldcat TYPE lvc_t_fcat.
*Work areas
DATA:
wa_change_order TYPE ty_change_order,
wa_order_no_mobi TYPE ty_order_no_mobi,
wa_sys_status TYPE ty_sys_status,
wa_return TYPE bapiret2,
wa_fieldcat TYPE lvc_s_fcat,
wa_layout TYPE lvc_s_layo.
DATA: grid1 TYPE REF TO cl_gui_alv_grid,
container1 TYPE REF TO cl_gui_custom_container,
gv_flag TYPE flag.
*********************************************************************
***Select-options
*********************************************************************
SELECT-OPTIONS : s_order FOR aufk-aufnr.
*********************************************************************
***Start-of-selection
*********************************************************************
START-OF-SELECTION.
SELECT aufnr
objnr
FROM aufk
INTO TABLE i_change_order
WHERE aufnr IN s_order.
IF i_change_order[] IS NOT INITIAL.
SELECT objnr
stat
FROM jest
INTO TABLE i_sys_status
FOR ALL ENTRIES IN i_change_order
WHERE objnr = i_change_order-objnr
AND stat = 'I0630'.
ENDIF.
IF sy-subrc EQ 0.
SORT i_sys_status BY objnr.
ENDIF.
FIELD-SYMBOLS: <fs_change_order> TYPE ty_change_order.
LOOP AT i_change_order ASSIGNING <fs_change_order>.
READ TABLE i_sys_status
INTO wa_sys_status
WITH KEY objnr = <fs_change_order>-objnr.
IF sy-subrc EQ 0.
<fs_change_order>-objnr = wa_sys_status-objnr.
ELSE.
<fs_change_order>-flag = 'X'.
wa_order_no_mobi = <fs_change_order>.
wa_order_no_mobi-msg = 'Order is not having MOBI status'.
APPEND wa_order_no_mobi TO i_order_no_mobi.
CLEAR wa_order_no_mobi.
ENDIF.
ENDLOOP.
DELETE i_change_order WHERE flag = 'X'.
*Remove the system status MOBI for orders
LOOP AT i_change_order INTO wa_change_order.
CALL FUNCTION 'ALM_ME_MOBILE_STATUS_CHANGE'
EXPORTING
object_no = wa_change_order-objnr
delete = 'X'
order_id = wa_change_order-aufnr
* NOTIF_ID =
commit = 'X'
TABLES
return = i_return
EXCEPTIONS
cannot_lock_order = 1
status_cannot_be_changed = 2
order_not_released = 3
cannot_lock_notif = 4
OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP.
CALL SCREEN 0100.
2012 Jul 24 8:38 AM
Hi,
Internal table i_return[] will get you all the messages.Based on the i_return-type you can seperate between error messages, information messages and warnings.
With regards,
2012 Jul 24 9:10 AM
hi,
Please Check The internal table of i_return and Structure of the Function 'ALM_ME_MOBILE_STATUS_CHANGE' are Same even this 2 are Different you will not get Value in i_return
Thanks & Regards,
Gopi Manjunath
2012 Jul 24 11:25 AM
Hi,
That didn't help.
If you can check the code , i am using the right structure.
thanks,
sama
2012 Jul 24 12:10 PM
Hi Sama,
There is nothing wrong in your code. You will get the messages in I_RETURN only in case of an Error or Warning and not for successful cases. It is working for me in my test system and i am getting messages in I_RETURN. Have you tried debugging inside the FM and noticed its behaviour for the data you are passing? If not please try. I guess you are executing the successfull cases.
Best Regards,
Srikanth
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |