Sunday, October 10, 2010

Passing Mutiple values to Workflow in BADI

In BADI we cannot include INCLUDE .. So we need to use some other way to pass multiple values to Workflow.

For that, go to SE24 give the interface name.



Then go to goto --> Class-local types --> macros



In the editor, include INCLUDE cntn01_swc instead of INCLUDE




Macros written in the program is also different.

Please see one example code.

***********************************

***---INTERNAL TABLE DECLARATION
DATA : lit_event_container TYPE TABLE OF swcont. "event container

*--Creating a container
swc0_create_container lit_event_container.

*--Filling event container

swc0_set_element lit_event_container 'User' draw-dwnam.
swc0_set_element lit_event_container 'DocumentStatus' new_status.
swc0_set_element lit_event_container 'DocumentStatus_old' old_status.
swc0_set_element lit_event_container 'Document_Desc' lfs_drat-dktxt.

CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = l_objtype
objkey = l_objkey
event = l_event
* creator = ' '
* take_workitem_requester = ' '
* start_with_delay = ' '
* start_recfb_synchron = ' '
* no_commit_for_queue = ' '
* debug_flag = ' '
* no_logging = ' '
* ident =
IMPORTING
event_id = l_eventid
* receiver_count =
TABLES
event_container = lit_event_container
EXCEPTIONS
objtype_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.
COMMIT WORK.

****************************************************

See the event parameter list

No comments: