10-04-2007 10:01 AM
Hello All,
Can any one suggest a BAPI for the creation of Notification and work order .I have a requirement in which with transaction IW21 I have to create a nottification and also a wrok order related to that notification.
Please suggest some bapi if any one has worked on this scenario.
Regards,
Nagaraj.
10-04-2007 10:03 AM
Hi,
u have to call the following three bapis in sequence to create the notification:
'BAPI_ALM_NOTIF_CREATE'
'BAPI_ALM_NOTIF_SAVE'
'bapi_transaction_commit'
List of all BAPIs
http://www.planetsap.com/LIST_ALL_BAPIs.htm
Thanks,
Reward If Helpful.
10-04-2007 10:06 AM
Hi!
You might try out his for notification:
BAPI_SERVICENOTIFICAT_CREATE Create service notification
We are using BDC, instead of BAPI, it was much easier to make work...
For work order, above or equals to SAP version 4.7:
BAPI_ALM_ORDER_MAINTAIN Process Maintenance-/Service Order
For lower version go for BDC...
Regards
Tamá
10-04-2007 10:08 AM
Hi
\you can use this bapi
i guess it will work
BAPI_ALM_ORDER_MAINTAIN
reward if helpful
vivekanand
10-04-2007 10:16 AM
pls go through this code ...
i hope this would be helpful
DATA: lt_objk TYPE TABLE OF objk WITH HEADER LINE,
lt_vbad TYPE TABLE OF sadrvb WITH HEADER LINE,
lt_vbpa TYPE TABLE OF vbpavb WITH HEADER LINE,
lt_tpaer TYPE TABLE OF tpaer WITH HEADER LINE,
lv_objnr TYPE jest-objnr,
lv_stsma TYPE jsto-stsma,
lv_statnum TYPE jest-stat,
lt_status TYPE TABLE OF jstat,
ls_vbak LIKE vbak,
ls_vbkd LIKE vbkd,
ls_tq80 LIKE tq80,
ls_qmei LIKE bapi2080_nothdri,
ls_qmee LIKE bapi2080_nothdre,
lt_ret TYPE TABLE OF bapiret2 WITH HEADER LINE.
CONSTANTS: c_qmart LIKE qmel-qmart VALUE 'ZC'.
PARAMETERS: pa_kdanr LIKE vbak-vbeln OBLIGATORY.
Informationen zur Meldungsart bereitstellen
SELECT SINGLE * FROM tq80 INTO ls_tq80
WHERE qmart = c_qmart.
SELECT * FROM tpaer INTO TABLE lt_tpaer
WHERE pargr EQ ls_tq80-pargr.
Auftragskopf
CALL FUNCTION 'SD_VBAK_SINGLE_READ'
EXPORTING
i_vbeln = pa_kdanr
i_bypassing_buffer = 'X'
I_REFRESH_BUFFER =
IMPORTING
e_vbak = ls_vbak
EXCEPTIONS
record_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Bestellinformationen
CALL FUNCTION 'SD_VBKD_SELECT'
EXPORTING
i_document_number = pa_kdanr
I_ITEM_NUMBER =
IMPORTING
e_vbkd = ls_vbkd
EXCEPTIONS
entry_not_found = 1
OTHERS = 2
.
IF sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Partner
CALL FUNCTION 'SD_PARTNER_READ'
EXPORTING
f_vbeln = pa_kdanr
no_master_adress = 'X'
TABLES
i_xvbadr = lt_vbad
i_xvbpa = lt_vbpa.
Equipment
CALL FUNCTION 'IWOL_WV_GET_DDB'
EXPORTING
i_sdaufnr = pa_kdanr
i_aktyp = 'A'
TABLES
i_objk = lt_objk
EXCEPTIONS
no_object_list = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE lt_objk INDEX 1.
Vorbereitung für Status-Aktionen
PERFORM status_handle.
CALL FUNCTION 'STATUS_CHECK'
EXPORTING
objnr = lv_objnr
status = lv_statnum
EXCEPTIONS
object_not_found = 1
status_not_active = 2
OTHERS = 3.
IF sy-subrc EQ 2.
MOVE: ls_vbkd-bstkd TO ls_qmei-purch_no_c,
lt_objk-equnr TO ls_qmei-equipment,
ls_vbak-vdatu TO ls_qmei-desstdate,
ls_vbak-vdatu TO ls_qmei-desenddate,
text-001 TO ls_qmei-short_text.
CALL FUNCTION 'BAPI_ALM_NOTIF_CREATE'
EXPORTING
EXTERNAL_NUMBER =
notif_type = c_qmart
notifheader = ls_qmei
TASK_DETERMINATION = ' '
SENDER =
ORDERID =
IMPORTING
notifheader_export = ls_qmee
TABLES
NOTIFPARTNR =
return = lt_ret.
CALL FUNCTION 'BAPI_ALM_NOTIF_SAVE'
EXPORTING
number = ls_qmee-notif_no
IMPORTING
NOTIFHEADER =
TABLES
return = lt_ret.
IF lt_ret[] IS INITIAL.
IF NOT lv_statnum IS INITIAL.
CALL FUNCTION 'STATUS_CHANGE_EXTERN'
EXPORTING
objnr = lv_objnr
user_status = lv_statnum.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = lt_ret.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
IMPORTING
return = lt_ret.
ENDIF.
ELSE.
WRITE: / 'Not possible --> STATUS'.
ENDIF.
*&----
*
*& Form status_handle
*&----
*
text
*----
*
FORM status_handle.
CONCATENATE 'IE' lt_objk-equnr INTO lv_objnr.
CALL FUNCTION 'STATUS_READ'
EXPORTING
objnr = lv_objnr
IMPORTING
stsma = lv_stsma
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CHECK NOT lv_stsma IS INITIAL.
Statusnummer des neuen Status ermitteln
CALL FUNCTION 'STATUS_TEXT_CONVERSION'
EXPORTING
language = 'D'
mode = 'E'
stsma = lv_stsma
txt04 = 'US1 '
IMPORTING
status_number = lv_statnum
EXCEPTIONS
insufficient_input = 1
not_found = 2
object_not_found = 3
wrong_mode = 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.
ENDFORM. "status_handle
reward points if help ful...........