Recevier Type function module
Hi workflow experts,
i want to select one workflow out of three , based on the user who triggers the event using receiver type function module. can any one suggest me the steps to be followed to design the receiver function module.
Hi James,
to get back to what you've asked for in the first place: You'd like to start one workflow (out of three) to choose among those you basically have two choices, as Saujanya gave you the second one, i.e.
Create an event linkage for each of the three workflow and suppress two of them by check function modules where the third one lets the event pass through. This is basically the same, as having one event linkage with a receiver type function.
For a solution, having multiple event linkages here, it could turn out to be tricky to program these check functions in the way that they guarantee that only one workflow starts at the same time. This is going to be more difficult the more complex the expression is.
For using a receiver type with one event linkage active, it is build-in that only one workflow may start with the event.
Any check-function modules work in addition to what the receiver type returns.
If using receiver types, do <i>not</i> enable event linkages for all three workflows, just customize the event-container binding in the event linkage section within the general workflow properties and do not activate it here. Instead create an event linkage manually within the transaction SWETYPV.
If you need additionally an check, I'd propose to have a separate check function module there.
Best regards,
Florin
Similar Messages
-
Receiver Type Function Module in SWE2 use of export parameter.
i am trying to understand the underlying concept in following things:(neednot to say i have searched alot and read sap documentation already).
In event type linkage table say i have an entry for BOR -> AFVC_PM.
As per sap Documentation says all these FM will trigger in following way.
1 Check Function Module (to place any validations/checks)
2 Receiver Type Function Module ()
3 Receiver Function Module.
Thats fine.
This is what documentation says about Receiver Type FM(2nd FM) not Receiver FM(3rd FM).
This FM has 1 export paramter
Export parameters
RECTYPE type SWETYPECOU-RECTYPE Receiver type( Result of the evaluation by the receiver type function module.)
if i am understanding this right, in this FM receiver type will be decided .
i have placed BREAK-POINT in this FM and passing value WS90000024 (Workflow with simple mail step) in export parameter RECTYPE.
after everything executed successfully why i can't see that mail in my inbox.
Please correct me if i had misunderstood the concept .ok,indeed i was missing this thing.
i got the mails in inbox.
but why i can't see this value WS90000024 of this workflow ()which is going to be triggered ) in parameter RECTYPE.(its empty).
it is empty after the receiver type function module execution is complete.
below is workflow template, -
RE: Idoc types , Function modules
HI All
What are the generic <b>Idoc types</b> and <b>function modules</b> used for the following objects for SAP R/3 4.7
Invoice Release (inbound)
Payments (outbound)
Purchase Orders (outbound)
Goods Receipts (outbound)
Cost Centers (outbound)
GL Codes (outbound)
Internal Orders (outbound)
WBS (outbound)
Materials (outbound)
Invoices (inbound)
Invoices Blocked (outbbound)
Any help will be very much appreciated
And How do i judge which IDOC types and function module fit my requirement( I mean what are the things i have to keep in mind while choosing idoc types and function modules)
Thnk you
SteveI have an idea.
Build an idoc from scratch with all the fileds or use the idoc invoic01 and extend it. Comming to function module write a function module that will extract the data from the idoc and will pass the data to bapi BAPI_INCOMINGINVOICE_CREATE( MIRO SCREEN). Please comment on this!!! -
Outbound IDOC for sales order: message type, function module ?
Hi all,
is there a possibility to send out sales order data with an outbound IDOC (like sending an purchase order out with ORDERS.ORDERS05)
I've looked in WE20, for application V1 there are process codes like SD01, SD04, ... but the function modules behind are no existing on our system (release 500)
can anybody give me an little hint?
Thank you very much
best regards HansHi George,
for every process code there is a function module attached you can see in WE41(t-code)..
double click on the Process code you will able to see the Function Module attached to Process code..
and also you can check it out in WE57 (t-code) link between the Function module and Message type and Idoc type..
Process code SD01
Description ORDRSP: Order acknowledgment, ORD_ID01 (SD_ORDRSP)
Function module SD_EDI_ORDRSP_ORD_ID01
Process code SD04
Description DESADV: Shipping notif. with DES_ID01 (SD_DESADV)
Function module SD_EDI_DESADV_DES_ID01
regards,
Prabhudas -
Dialog Performance Monitoring / Customizing Call Type Function Module
done
Edited by: hama01 on Jun 17, 2010 1:31 PMCheck if you have all the join conditions that you could specify in the view definition. The FM code is fairly standard.
To do similar test, do an SE16 on your view, on the selection screen remove no of records (200 or 500 whatever it is) to select all records, and execute. Check how long it takes to show you the records from the view. If it is similar to what your FM is taking, there is not much problem with your FM. You will need to check the view definition, and/or, provide more selection values while executing it. -
Need Appointment Function Module Name to Read any Opportunity No.
Hello Gurus
Can anyone tell me the Appointment type Function Module Name where Header_guid and Appt_type are to be supplied .
Means i want to only read(not to change or create) an opportunity no for a particular Appointment type(Date_type). I tried for the following FMs:
1.CRM_APPOINTMENT_READ_OW
2.CRM_APPOINTMENT_DETERMINE_OW
3.CRM_APPOINTMENT_CHECK_OW
thanks in advance
MadhusudanHello Madhusudan,
for the activities you can use the following coding (example):
-Beginn-
CALL FUNCTION 'BAPI_ACTIVITYCRM_GETDETAILMULT'
TABLES
guid = lt_guid
header = lt_header
date = lt_bapibus20001_app_dis.
CALL FUNCTION '/DKVES/SM_ACTIVITY_GETFROMBUPA'
EXPORTING
iv_partner = lv_partner
TABLES
et_contacts = lt_sm_activity_simple.
LOOP AT lt_sm_activity_simple INTO ls_sm_activity_simple.
CLEAR ls_bapibus20001_app_dis.
READ TABLE lt_bapibus20001_app_dis INTO ls_bapibus20001_app_dis
WITH KEY ref_guid = ls_sm_activity_simple-activity_guid appt_type = 'ORDERPLANNED'.
ls_order_aktiv-date_from = ls_bapibus20001_app_dis-date_from.
APPEND ls_order_aktiv TO lt_order_aktiv.
ENDLOOP.
-end-
If you want the other 'one order Objects' you can perhaps modify the selection.
I hope that helps
Torsten -
Hi experts,
what is the use of,
Receiver Function Module and
Receiver Type Function Module.
I already search for this in forum. But I didn't get the answer.
Thanks in advance.
Points will be rewarded for all replies.Hi,
SWE2
double click an entry
position the cursor on the receiver FM and press F1 and read all subsequent documentation
Kind regards, Rob Dielemans
PS help.sap.com also has this info. -
Question about the function module (RFC_READ_TABLE)
Dear everyone
Could I ask you a question about the function module (RFC_READ_TABLE)?
I was asked if it's possible to create a report which compares the data between different SAP systems (both production systems).
Now, the easiest way would be to use the function module (RFC_READ_TABLE) within a SAP infoset query (SQ01 type query).
But I heard the rumor that using the function module (RFC_READ_TABLE) is not advisable due to the security reason.
However, I am not exactly sure what sort of security problems this function module can possibly have...
Would you help me on this?
I also would like to know if using "remote enabled module" type function module can always overcome this possible security issue.
Or, are there any points that I need to be careful about even when I use "remote enabled module" function module?
Thank you very much in advance.
TakashiDear Fred-san
Thank you very much for your support on this.
But, may I double check about what you mentioned above?
So, what you were mentioning was that if some user executes the query with
the function module (RFC_READ_TABLE), under the following conditions, he can access to
the HR data even when he does not have the authorizations for HR transactions?
<Conditions>
1. the user has the authorization for HR database tables themselves
2. RFC_READ_TABLE is called to retrieve the data from HR database
<example>
Data: LF_HR_TABLE like DD02L-TABNAME value 'PA0000'.
CALL FUNCTION 'RFC_READ_TABLE'
EXPORTING
query_table = LF_HR_TABLE
TABLES
OPTIONS =
fields =
data = .
But then, as long as we call this function module for a non-critical tables such as
VBAP (sales order) or EKKO (purchase order) within our query, it wouldn't seem to be
so security risk to use RFC_READ_TABLE...
Besides, each query (infoset query) has got the concept of user groups, which limits
the access to the queries within the user group.
※If someone does not belong to the user group, he cannot execute the queries within that
user group, etc
So, my feeling is that even infoset queries does have authorization concept...
Would you give me your thought on this?
I also thank you for your information for SCU0.
That is an interesting transaction
Kind regards,
Takashi -
Problem when using function module PYXX_READ_PAYROLL_RESULT giving dump.
When i am using PYXX_READ_PAYROLL_RESULT function module to get HR cluster data. I am getting following dump.
So,can any one help me to solve this issue.I want this function data.
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', was
not caught in
procedure "PYXX_READ_PAYROLL_RESULT" "(FUNCTION)", nor was it propagated by a
RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
Call to FORM "IMPORT_RESULT" is incorrect:
The actual parameter no. 2 has a different data type in the
PERFORM than requested for the FORM "IMPORT_RESULT" in program "%_T0LJ20".
Program SAPLHRPAY99_IMPEXP
Include LHRPAY99_IMPEXPU02
Row 1
Module type (FUNCTION)
Module Name PYXX_READ_PAYROLL_RESULT
Program SAPLHRPAY99_IMPEXP
Include LHRPAY99_IMPEXPU02
Row 137
Module type (FUNCTION)
Module Name PYXX_READ_PAYROLL_RESULTFind below is my code can u tell me wch type is not true .i tried but not able to find prob solution.
Plz help me waiting for reply.
TYPE-POOLS: SLIS.
DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
it_sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid,
gt_events TYPE slis_t_event,
gd_prntparams TYPE slis_print_alv,
it_eve TYPE slis_t_event,
V_LAYOUT TYPE SLIS_LAYOUT_ALV.
wa_eve TYPE slis_alv_event.
*DATA header TYPE slis_t_listheader WITH HEADER LINE.
*DATA: ls_fcat TYPE slis_t_fieldcat_alv,
l_lin TYPE i.
*DATA: ls_event TYPE slis_alv_event.
DATA : WA_COLNO(2) TYPE N VALUE '1'.
DATA : REPID LIKE SY-REPID.
TABLES: PA0001,PA0002,T001P,T528T,T527X,T503T.
DATA:BEGIN OF IT_PA0002 OCCURS 0,
PERNR LIKE PA0002-PERNR,
END OF IT_PA0002.
DATA:BEGIN OF IT_PA0001 OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
PLANS LIKE PA0001-PLANS,
WERKS LIKE PA0001-WERKS,
BTRTL LIKE PA0001-BTRTL,
ORGEH LIKE PA0001-ORGEH,
PERSK LIKE PA0001-PERSK,
END OF IT_PA0001.
DATA: BEGIN OF IT_T528T OCCURS 0,
PLANS LIKE T528T-PLANS,
PLSTX LIKE T528T-PLSTX,
END OF IT_T528T.
DATA: BEGIN OF IT_T001P OCCURS 0,
WERKS LIKE T001P-WERKS,
BTRTL LIKE T001P-BTRTL,
BTEXT LIKE T001P-BTEXT,
END OF IT_T001P.
DATA: BEGIN OF IT_T527X OCCURS 0,
ORGEH LIKE T527X-ORGEH,
ORGTX LIKE T527X-ORGTX,
END OF IT_T527X.
DATA: BEGIN OF IT_T503T OCCURS 0,
PERSK LIKE T503T-PERSK,
PTEXT LIKE T503T-PTEXT,
END OF IT_T503T.
DATA:BEGIN OF IT_FINAL OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
PLSTX LIKE T528T-PLSTX,
BTEXT LIKE T001P-BTEXT,
ORGTX LIKE T527X-ORGTX,
PTEXT LIKE T503T-PTEXT,
END OF IT_FINAL.
*DATA: WI_RT LIKE LINE OF PAYROLL-INTER-RT,
*DATA: WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
DATA: IT_EVP TYPE HRPY_TT_RGDIR,
ls_evp LIKE LINE OF IT_EVP,
WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
WI_PAYRESULT TYPE PAY99_RESULT.
WI_PAYRESULT TYPE STANDARD TABLE OF PAYUS_RESULT WITH HEADER LINE.
DATA WG_MOLGA LIKE T500L-MOLGA.
SELECTION-SCREEN BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_PERNR FOR PA0001-PERNR,
S_BTRTL FOR PA0001-BTRTL,
S_ORGEH FOR PA0001-ORGEH.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FIELD_CATLOG.
PERFORM DISPLAY_DATA.
*& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM GET_DATA .
SELECT PERNR
INTO CORRESPONDING FIELDS OF TABLE IT_PA0002
FROM PA0002
WHERE PERNR IN S_PERNR.
IF IT_PA0002[] IS NOT INITIAL.
SELECT PERNR ENAME PLANS WERKS BTRTL ORGEH PERSK
INTO CORRESPONDING FIELDS OF TABLE IT_PA0001
FROM PA0001
FOR ALL ENTRIES IN IT_PA0002
WHERE PERNR = IT_PA0002-PERNR
AND BTRTL IN S_BTRTL
AND ORGEH IN S_ORGEH.
ENDIF.
IF IT_PA0001[] IS NOT INITIAL.
SELECT PLANS PLSTX
INTO CORRESPONDING FIELDS OF TABLE IT_T528T
FROM T528T
FOR ALL ENTRIES IN IT_PA0001
WHERE PLANS = IT_PA0001-PLANS
AND SPRSL = 'EN'.
SELECT WERKS BTRTL BTEXT
INTO CORRESPONDING FIELDS OF TABLE IT_T001P
FROM T001P
FOR ALL ENTRIES IN IT_PA0001
WHERE WERKS = IT_PA0001-WERKS
AND BTRTL = IT_PA0001-BTRTL.
SELECT ORGEH ORGTX
INTO CORRESPONDING FIELDS OF TABLE IT_T527X
FROM T527X
FOR ALL ENTRIES IN IT_PA0001
WHERE ORGEH = IT_PA0001-ORGEH
AND SPRSL = 'EN'.
SELECT PERSK PTEXT
INTO CORRESPONDING FIELDS OF TABLE IT_T503T
FROM T503T
FOR ALL ENTRIES IN IT_PA0001
WHERE PERSK = IT_PA0001-PERSK
AND SPRSL = 'EN'.
ENDIF.
*DELETE ADJACENT DUPLICATES FROM IT_PA0001 COMPARING PERNR.
LOOP AT IT_PA0001.
MOVE IT_PA0001-ENAME TO IT_FINAL-ENAME.
READ TABLE IT_PA0002 WITH KEY PERNR = IT_PA0001-PERNR.
IF SY-SUBRC = 0.
MOVE IT_PA0002-PERNR TO IT_FINAL-PERNR.
ENDIF.
READ TABLE IT_T528T WITH KEY PLANS = IT_PA0001-PLANS.
IF SY-SUBRC = 0.
MOVE IT_T528T-PLSTX TO IT_FINAL-PLSTX.
ENDIF.
LOOP AT IT_T001P WHERE WERKS = IT_PA0001-WERKS AND BTRTL = IT_PA0001-BTRTL.
MOVE IT_T001P-BTEXT TO IT_FINAL-BTEXT.
ENDLOOP.
READ TABLE IT_T527X WITH KEY ORGEH = IT_PA0001-ORGEH.
IF SY-SUBRC = '0'.
MOVE IT_T527X-ORGTX TO IT_FINAL-ORGTX.
ENDIF.
READ TABLE IT_T503T WITH KEY PERSK = IT_PA0001-PERSK.
IF SY-SUBRC = '0'.
MOVE IT_T503T-PTEXT TO IT_FINAL-PTEXT.
ENDIF.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
PERSNR = IT_FINAL-PERNR
BUFFER
NO_AUTHORITY_CHECK = ' '
IMPORTING
MOLGA = WG_MOLGA
TABLES
IN_RGDIR = WI_RGDIR
EXCEPTIONS
NO_RECORD_FOUND = 1
OTHERS = 2 .
CLEAR WG_SUM.
LOOP AT WI_RGDIR INTO ls_evp.
IF ( WI_RGDIR-FPEND BETWEEN P_STDATE AND P_ENDATE AND
WI_RGDIR-SRTZA = 'A' ) .
IF Wg_MOLGA = '10'.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
CLUSTERID = 'IN'
EMPLOYEENUMBER = IT_FINAL-PERNR
SEQUENCENUMBER = ls_evp-SEQNR
READ_ONLY_INTERNATIONAL = ''
CHANGING
PAYROLL_RESULT = WI_PAYRESULT
EXCEPTIONS
ILLEGAL_ISOCODE_OR_CLUSTERID = 1
ERROR_GENERATING_IMPORT = 2
IMPORT_MISMATCH_ERROR = 3
SUBPOOL_DIR_FULL = 4
NO_READ_AUTHORITY = 5
NO_RECORD_FOUND = 6
VERSIONS_DO_NOT_MATCH = 7
ERROR_READING_ARCHIVE = 8
ERROR_READING_RELID = 9
OTHERS = 10.
endif.
ENDLOOP.
APPEND IT_FINAL.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING ALL FIELDS.
ENDFORM. " GET_DATA
*& Form BUILD_FIELD_CATLOG
text
--> p1 text
<-- p2 text
FORM BUILD_FIELD_CATLOG .
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PERNR'.
FIELDCATALOG-SELTEXT_M = 'Emp Code'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 9.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'ENAME'.
FIELDCATALOG-SELTEXT_M = 'Emp Name'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 40.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PLSTX'.
FIELDCATALOG-SELTEXT_M = 'Position'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 26.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'BTEXT'.
FIELDCATALOG-SELTEXT_M = 'Work Location'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 15.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'ORGTX'.
FIELDCATALOG-SELTEXT_M = 'Dept. Description'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 25.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PTEXT'.
FIELDCATALOG-SELTEXT_M = 'Grade Set Code'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 21.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
ENDFORM. " BUILD_FIELD_CATLOG
*& Form DISPLAY_DATA
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA .
REPID = SY-CPROG.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = 'X'
IT_FIELDCAT = FIELDCATALOG[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " DISPLAY_DATA -
Function Modules in Event Linkage
Dear all,
In the event linkage of workflow, we can find 3 types of function modules. They are receiver function module, check function module and receiver type function module. Can anybody explain what are they used for?
Thanks + Best Regards
JeromeHi Jerome,
Explanation for each of the FM's(Receiver Fm, Check FM, Receiver Type FM).
<b>1) Receiver Function Module.</b>
This is the main function module which will actually link the Object Event and Workflow Or Task.
Ex Event : BUS2012.ReleaseStepCreated
Workflow : WS20000075
FM : ZReceiver.
An Entry in SWE2(Event linkage) with above values Does mean "The workflow WS20000075 will start when Event BUS2012.ReleaseStepCreated is triggered with the help of ZReceiver ".
All Receiver Function Module should have standard interface(Same input and table parameters specified by SAP).
<b>2)Check Function Module</b>
This function module is used to prevent the event linkage.
It is called <b>before the Receiver Function</b> Module is being called.
Lets take the above ex:
Ex Event : BUS2012.ReleaseStepCreated
Workflow : WS20000075
In this case if you want to do some checks before actually linking the BUS2012.ReleaseStepCreated and WS20000075 using Receiver Function Module then you can use Check function module to do validation and raise the Exceptions.
If any exceptions are raised in the Check function module then The Receiver Function module will not be called hence no EVent Linkage.
<b>3) Receiver Type Function Module</b>
This is the <b>First function module</b> to be called among three if it is specified in SWE2.
This Function module is used to find the Receiver type Dynamically. ie if you have not specified the reciever type(Workflow or Task) in SWE2 you can determine that at runtime using this Function module.
Reward if its helps. Feel free to ask for clarifications.
Thanks
Praveen -
Exception while executing Function module - HRXSS_PER_READ_P0006_US
Unable to execute any of the following Function modules(ECC 5)
(Gave the neccesary inputs)
HRXSS_PER_P0006_US
HRXSS_PER_DELETE_P0006_US
HRXSS_PER_EDIT_P0006_US
HRXSS_PER_MODIFY_P0006_US
HRXSS_PER_NEW_P0006_US
HRXSS_PER_READ_P0006_US
Getting an exception
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
Exceptn CX_SY_REF_IS_INITIAL
ShrtText
Access with 'ZERO' object reference not possible.
What happened?
Error in ABAP application program.
The current ABAP program "SAPLHRXSS_PER_MAC" had to be terminated because one of the statements could not be executed.
This is probably due to an error in the ABAP program.
Error analysis
An exception occurred. This exception is dealt with in more detail below . The exception, which is assigned to the class 'CX_SY_REF_IS_INITIAL', was neither caught nor passed along using a RAISING clause, in the procedure "HRXSS_PER_CLEANUP" "(FUNCTION)".
Since the caller of the procedure could not have expected this exception to occur, the running program was terminated.
The reason for the exception is:
There was an attempt to access a component using a 'NULL' object reference (points to nothing).
An object reference must indicate an object (an instance of a class), before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using a CLEAR statement.
Missing RAISING Clause in Interface
Program SAPLHRXSS_PER_MAC
Include LHRXSS_PER_MAC$04
Row 7
Module type (FUNCTION)
Module Name HRXSS_PER_CLEANUP
Trigger Location of Exception
Program SAPLHRXSS_PER_MAC
Include LHRXSS_PER_MACU04
Row 13
Module type (FUNCTION)
Module Name HRXSS_PER_CLEANUP
What could be the reason?
Regards,
SarathHi Sarath,
The problem is caused by a program error in the CRM system.
Solution for this is Import the Support Package or implement the correction instructions as specified in note 742720, there are some corrections attached to the note. Hope this will resolve the issue.
Cheers,
Shyam. -
How to connect our outbound function module to the message type
how to connect our outbound function module to the message type any transcation code exits to assign the message type with the function module .
Thank in advance .
A. ThiruHi Thiru,
Standard Transaction Codes, have their own Function Modules for generating Outbound/Indbound Idocs. Where these Function Modules will be configured to a particular Process Codes.
For E.g for PO's
Process code : ME10 - IDOC_OUTPUT_ORDERS - for creation
In case if its a Z Function Module, It depends on the case how you use IDOC types. either directly through Z Program or through Inbound/Outbound Process codes with respective Function modules.
Regards,
Anbalagan -
Type conflict when calling a function module (field length)
Dear All,
I am getting this following error while executing: Type conflict when calling a function module (field length)
This is piece of coding i have writern in my action button.
method SEARCH_MATERIAL .
data:
node_mat_input TYPE REF TO if_wd_context_node,
node_mat_output TYPE REF TO if_wd_context_node,
material TYPE BAPIMATDET-MATERIAL,
itab TYPE TABLE OF BAPIMATDOA.
node_mat_input = wd_context->get_child_node( 'NODE_MAT_INPUT' ).
node_mat_output = wd_context->get_child_node( 'NODE_MAT_OUTPUT' ).
node_mat_input->get_attribute( EXPORTING name = 'MATERIAL'
IMPORTING value = material ).
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = material
PLANT = plant
VALUATIONAREA =
VALUATIONTYPE =
MATERIAL_EVG =
IMPORTING
MATERIAL_GENERAL_DATA = itab
RETURN =
MATERIALPLANTDATA =
MATERIALVALUATIONDATA =
node_mat_output->bind_table( itab ).
endmethod.
Attributes are:
Node name = INPUT its structure is BAPIMATDET
INPUT attributes = MATERIAL of type BAPIMATDET-MATERIAL
Thanks,
Gopi.Hi Amit,
I have used service call to fetch records from that bapi..
The following is the code generated by service call:-
METHOD execute_bapi_material_get_deta .
declarations for context navigation
DATA:
node_bapi_material_get_de TYPE REF TO if_wd_context_node,
node_exporting TYPE REF TO if_wd_context_node,
node_material_general_dat TYPE REF TO if_wd_context_node,
node_importing TYPE REF TO if_wd_context_node,
lri_element TYPE REF TO if_wd_context_element.
declarations for fuba parameters
data:
stru_c_material_general_dat TYPE if_componentcontroller=>element_material_general_dat.
DATA:
attr_material TYPE bapimatdet-material,
attr_plant TYPE bapimatall-plant.
get all involved child nodes
node_bapi_material_get_de = wd_context->get_child_node( `BAPI_MATERIAL_GET_DE` ).
node_exporting = node_bapi_material_get_de->get_child_node( `EXPORTING` ).
node_material_general_dat = node_exporting->get_child_node( `MATERIAL_GENERAL_DAT` ).
node_importing = node_bapi_material_get_de->get_child_node( `IMPORTING` ).
get input from context
node_importing->get_attribute( EXPORTING name = `MATERIAL`
IMPORTING value = attr_material ).
node_importing->get_attribute( EXPORTING name = `PLANT`
IMPORTING value = attr_plant ).
the invocation - errors are always fatal !!!
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = attr_material
plant = attr_plant
" valuationarea = wd_This->Valuationarea
" valuationtype = wd_This->Valuationtype
" material_Evg = wd_This->Material_Evg
IMPORTING
material_general_data = stru_c_material_general_dat
" return = wd_This->Return
" materialplantdata = wd_This->Materialplantdata
" materialvaluationdata = wd_This->Materialvaluationdat
node_material_general_dat->bind_structure( stru_c_material_general_dat[] ).
ENDMETHOD.
but the problem is I am getting the following error while compiling...
" stru_c_materialplantdata " is not an internal table - the " OCCOURS n" specification is missing.
Thanks,
Gopi.
Edited by: Yegalaivan on Nov 18, 2009 8:30 AM -
ERROR: -Type conflict when calling a function module
hi to all,
when iam executing the program in browser Type conflict when calling a function module error is showing, i have bind all the attribute correctly still iam getting error, WHEN I CLICK ON THE SEARCH BUTTON DATA IS NOT COMING TO MY TABLE ITAB1 plz help me....
DATA:
NODE_IP_SELECTION TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_IP_SELECTION TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_IP_SELECTION TYPE IF_PLANNING_HISTORY=>ELEMENT_IP_SELECTION ,
ITAB TYPE TABLE OF ZSL_PL_UPDATE1,
WA TYPE ZSL_PL_UPDATE1.
navigate from <CONTEXT> to <IP_SELECTION> via lead selection
NODE_IP_SELECTION = WD_CONTEXT->GET_CHILD_NODE( NAME = `IP_SELECTION` ).
get element via lead selection
ELEM_IP_SELECTION = NODE_IP_SELECTION->GET_ELEMENT( ).
get all declared attributes
ELEM_IP_SELECTION->GET_STATIC_ATTRIBUTES(
IMPORTING
STATIC_ATTRIBUTES = STRU_IP_SELECTION ).
CALL FUNCTION 'ZBAPI_PL_UPDATE'
EXPORTING
GV_LIFNR = STRU_IP_SELECTION-LIFNR
GV_MATNR = STRU_IP_SELECTION-LIFNR
GV_GJAHR = ' '
GV_WEEK_LOW = STRU_IP_SELECTION-FROM_WEEK
GV_WEEK_HIGH = STRU_IP_SELECTION-TO_WEEK
IMPORTING
RETURN =
TABLES
GT_PL_UPDATE = ITAB
DATA:
NODE_PLANN_NODE TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_PLANN_NODE TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_PLANN_NODE TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
WA1 TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
ITAB1 TYPE TABLE OF IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE.
LOOP AT ITAB INTO WA.
MOVE-CORRESPONDING WA TO WA1.
APPEND WA1 TO ITAB1.
ENDLOOP.
navigate from <CONTEXT> to <PLANN_NODE> via lead selection
NODE_PLANN_NODE = WD_CONTEXT->GET_CHILD_NODE( NAME = `PLANN_NODE` ).
CALL METHOD NODE_PLANN_NODE->BIND_TABLE
EXPORTING
NEW_ITEMS = ITAB1
SET_INITIAL_ELEMENTS = ABAP_TRUE
INDEX =
ENDMETHOD.CALL FUNCTION 'ZBAPI_PL_UPDATE'
EXPORTING
GV_LIFNR = STRU_IP_SELECTION-LIFNR
GV_MATNR = STRU_IP_SELECTION-LIFNR
GV_GJAHR = ' '
GV_WEEK_LOW = STRU_IP_SELECTION-FROM_WEEK
GV_WEEK_HIGH = STRU_IP_SELECTION-TO_WEEK
IMPORTING
RETURN =
TABLES
GT_PL_UPDATE = ITAB
Problem is here
check out the type GV_GJAHR whether it accepts string type.
thanks
sarbjeet singh -
Hi Experts,
When I run my Application in Portal, i am getting the following error.
Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
When I execute the BAPI, it is getting executed.
My Bapi Strucute:
Import Parameters
IM_MAT_Search --> ZPTIP_MAT --> Import Parameters
Tables
IT_INFO_REC --> ZMM_GET_ITEM --> Output Parameters
When I import the model, i am getting the structure like this
BAPI_Name > ZMM_BAPI_Input> IM_MAT_Search(respective Parameters) , Output (respective Tables and their parameters)
> ZMM_Input1> Parameters
This is the way, how i am executing in webdynpro java
Zmm_Bapi_Ptip_Search_Input eleInput = new Zmm_Bapi_Ptip_Search_Input();
wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
Zptip_Asset eleInputAsset = new Zptip_Asset();
eleInputAsset.setSearch("ACRS");
wdContext.nodeZptip_Asset().bind(eleInputAsset);
eleInput.setIm_Ast_Search(eleInputAsset);
wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
wdContext.nodeZmm_Bapi_Ptip_Search_Input().currentZmm_Bapi_Ptip_Search_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
Please let me know, how to do the same.
Thanks in advance.
Regards,
PalaniHi David,
I checked for the Parameter of setIm_Ast_Search, it is of Zptip_Asset.
Hi Saleem,
When I changed the same, i am getting the Type conflict error,
Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
Please let me know,what can be done in this regard to solve the problem.
My BAPI Structure when imported as model
SearchBAPI
--> ZMM_BAPI_SEARCH_INPUT
> IM_AST_SEARCH(zPTIP_ASSET)
>Zptip_Asset
>Search (Parameter)
> OutPut(ZMM_BAPI_Search_Output)
>IT_Asser_Rec(ZMM_Asset)
>ZMM_Asset
>TXT100 (output Parameter)
--> ZMM_BAPI_SEARACH_OUTPUT
--> ZPTIP_ASSET
>Search (Parameter)
Thanks & Regards,
Palani
Edited by: Palani Appan on Nov 11, 2009 5:31 PM
Maybe you are looking for
-
HT4433 Requesting help with the placement of dimms in relation to ram performance?
Does the placement onto the memory cards of dimms of different capacities/size matter when it comes to performance ? I want to know if it matters how I install a new pair (2 pcs) of 4gb dimms in a machine currently with 8 x 1 gb dims? IF it matters,
-
XML Crashing FCP while importing. Magic Bullet Looks could be the problem
Hi All, Need a little help here. I am using FCP 6.0.5 on a power mac G-5. I am trying to open an XML which was exported out of FCP 7 as a version 4 XML. Magic Bullet Looks is being used on the project, and I think this is were the problem is. when im
-
Brightness when plugged into a LCD projector
How do I adjust the brightness of the image when projecting through a LCD projector? As soon as I connect (through DVI port) to a LCD projector (as a professional speaker, I connect to different LCD projectors almost on a daily basis) the Brightness
-
Hi Im making a school project to make a stop motion movie, but Im having problems making my pictures into clips shorter than 1 sec. is there any way to make the pictures show for a shorter period of time or do I need to use a different program? If iM
-
To get Current,Last, Next months data for Efashion report
To Create a report with the user input prompt on Year and Month: If user select year as 2005 and month as 2 (Feb), revenue should be displayed for previous Month (Jan) and next month (March) of selected year. Sample output should looks as below. Year