Check Function Module is not working
Hi All Expert,
I'm new in workflow and develop custom workflow for Transaction FB65 ( Vendor Credit Memo) and using business object FIPP , event CREATED.
Actually requirement is that when user click on park button in FB65 then should be trigger workflow only for particular vendor code .
Now my workflow is working fine for all vendor code.
For particular vendor code, I have created an new entries in SWE2 and assigning a check function module to that
Refer Link : http://www.****************/Tutorials/Workflow/checkfunctionmodule/demo.htm
and also same entries create in SWETYPV But Check Function Module is not working before workflow trigger.
Appreciate your help and support.
Regards
Saurabh
Hi
: Check FM : ZWF_DR_CR_MEMO
SourceCode :
FUNCTION ZWF_DR_CR_MEMO.
*"*"Local Interface:
*" IMPORTING
*" VALUE(OBJTYPE) LIKE SWETYPECOU-OBJTYPE
*" VALUE(OBJKEY) LIKE SWEINSTCOU-OBJKEY
*" VALUE(EVENT) LIKE SWETYPECOU-EVENT
*" VALUE(RECTYPE) LIKE SWETYPECOU-RECTYPE
*" EXPORTING
*" REFERENCE(RESULT) TYPE C
*" TABLES
*" EVENT_CONTAINER STRUCTURE SWCONT
*" EXCEPTIONS
*" NOT_TRIGGERED
BREAK-POINT.
TABLES : VBSEGK.
DATA : LV_VEND TYPE VBSEG-LIFNR.
CLEAR : LV_VEND.
SELECT SINGLE LIFNR FROM VBSEGK INTO LV_VEND WHERE BELNR EQ OBJKEY.
if sy-subrc eq 0
IF LV_VEND = '0000120510'.
RAISE NOT_TRIGGERED.
ENDIF
endif.
ENDFUNCTION.
Similar Messages
-
Function module is not working properly in background
Hi all,
i have used one Function module 'PRICING' in user exit SAPMV45A to calculate pricing for sales order.
i am using BAPI_SALESORDER_CHANGE to change the sales order pricing.
when i run the program in foreground, all condition records for pricing is updated correctly. but it is not updating
correctly when i run the program in background.
Please tell me wheather 'PRICING' or 'BAPI_SALESORDER_CHANGE' function module is not working properly in background ?
or any other reason?
Thanks
babuHi Pabitra,
Can you provide some more information as to the type of error you are getting? Or can you check the log entries and give some more information so that it would be possible to provide a solution.
And, try to put questions in proper Forum for quick and prompt reply.
Hope this helps.
Thanks,
Samantak. -
Hi All,
When i execute the function module SAPWL_GET_SUMMARY_STATISTIC in CRM ABAP 6.0 passing the values below,
PERIODTYPE
HOSTID
STARTDATE
it's not showing any values in the summary.
it's showing the exporting parameters as,
RFC_ERROR_TYPE L
SUMMARY_AVAILABLE N
HITLISTS_N_PROFILES_AVAILABLE A
if this function module will not work means kindly provide me the solution for calculating
Average Response Time as in tcode st03 - Instance - total - Workload Overview.
Average CPU Time and some more fileds.
Regards,
SureshHi
I used the FM mentioned and found the details as below:
VKORG
TABNAME TVKO
FIELDNAME VKORG
LANGU EN
POSITION 0001
OFFSET 000006
DOMNAME VKORG
ROLLNAME VKORG
CHECKTABLE
VTEXT
TABNAME TVKOT
FIELDNAME VTEXT
LANGU EN
POSITION 0002
OFFSET 000014
DOMNAME TEXT20
ROLLNAME VTXTK
CHECKTABLE
LENG 000020
Shiva -
Function Module (ENQUEUE_ES_PROG) not working in Background
I scheduled a job which runs every 15 mins in the the background to fetch data from an external system,depending on the data volume ,the program can sometimes run for over 15 minutes.To avoid data conflict I used a function module ENQUEUE_ES_PROG on the program to first check if the job started is still running before another job gets kicked.The problem I have is the fact that this function module does not seem to work in the background but in the looks perfect in foreground. Does anyone have a clue on how to use this FM for background job?
Hello Mochabo,
Consider the following scenario:
Your job is running for more than 15 minutes. Since it is running in the background, it will be executed by a work-process of type BACKGROUND. If there's only one BACKGROUND work process configured for your application server, then the second job will have to be waiting till the first one finishes and releases the background work process.
But when you are executing this in the foreground, the DIALOG work-process does the processing. So you are not finding any problem.
So, to my knowledge, there will be a problem when there's only one BACKGROUND work process. Please go to transaction SM50 and see how many of them are configured for the current application server.
Also, in case there's only one BACKGROUND work-process, you will not have toworry that the second job will start before the first has finished. It simply can't. It has got to wait.
Hope this explanation helps.
Regards,
Anand Mandalika. -
Function module is not working
Hi Experts,
There is one function module "RH_READ_INFTY_1001" is working fine with developement server but not working with Quality server.
In development server the value of sy-subrc is 0. But in quality server it is not working.
Error comes NO MSGTYPE " " FOUND.
Thanks....Hi,
I guess the message type is not getting populated.
Use your own message
Message 'Error' TYPE 'E'. "--> Message type must be in CAPS
Regards -
Hi All,
I have used a function module PTRA_WEB_EXPENSE_REPORT_GET_2 in a custom fumction module which i am developing fetch the travel expense data . The function module PTRA_WEB_EXPENSE_REPORT_GET_2 returns the travel expense data based on the employee and the trip number. I want to fetch the travel expense data for a given set of employees and trip number and hence i have used this function module inside a loop statement.
The function module returns the travel expense data for the employee and trip in the first loop pass. From the second loop passs it doesn't return the value. I have also checked this in se37 and the same thing happens. Value is returned for the fist employee but for the next employee we have to go to initial screen of se37 and execute the Func. module again.
I debugged this function module and found that the value of the employee and the trip number is stored in the global variable. The value passed for the employee and trip is compared with the correspomding value in the global variable and if they are not same an error message is returned. Since we are using in a loop , each time a different value is passed for the employee and trip and the check fails .
Is there any way to clear the value in the global parameters or is there any other function module which can be used to clear the values of the global variables?
Thanks!
Regards
Manipal ParkalaHello Archana,
May be we can try several ways...
1) can you try calling function module BUFFER_REFRESH_ALL ??
after each call...
2) May be u can call Function module "PTRA_WEB_EXPENSE_REPORT_GET_2 " in background task or seperate task , it will load the function group everytime when u call it in loop.
***DO let us know if it does not work.
thanks
~Raj -
Gui_download Function module is not working in Background Scheduling
Hi Experts,
Function modules like GUI_DOWNLOAD are not working in background scheduled jobs, It is raising an exception. Though it is working fine in foreground execution.
Please provide me solution for this challenging task.
you could be rated well for this question.
Thanks,
Rama Krishna.Hello,
work with open dataset and close dataset...
just loop over itab and transfer itab field for field into a string field separated by ;
Here is an extract of coding:
OPEN DATASET p_dath FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT itab_pos.
CLEAR satz.
MOVE itab_pos-vbeln TO satz-vbeln.
MOVE ';' TO satz-fill1.
MOVE itab_pos-kunnr TO satz-kunnr.
MOVE ';' TO satz-fill2.
MOVE itab_pos-ktgrd TO satz-ktgrd.
MOVE ';' TO satz-fill3.
MOVE itab_pos-fkdat TO satz-fkdat.
MOVE ';' TO satz-fill4.
MOVE itab_pos-budat TO satz-budat.
MOVE ';' TO satz-fill5.
MOVE itab_pos-cpudt TO satz-cpudt.
MOVE ';' TO satz-fill6.
MOVE itab_pos-fkimg TO satz-fkimg.
MOVE ';' TO satz-fill7.
MOVE itab_pos-netwr TO satz-netwr.
MOVE ';' TO satz-fill8.
MOVE itab_pos-vrkme TO satz-vrkme.
MOVE ';' TO satz-fill9.
MOVE itab_pos-ktgrm TO satz-ktgrm.
MOVE ';' TO satz-fill10.
MOVE itab_pos-matnr TO satz-matnr.
MOVE ';' TO satz-fill11.
MOVE itab_pos-mattxt TO satz-mattxt.
MOVE ';' TO satz-fill12.
MOVE itab_pos-gewei TO satz-gewei.
MOVE ';' TO satz-fill13.
MOVE itab_pos-brgew TO satz-brgew.
TRANSFER satz TO p_dath.
ENDLOOP.
CLOSE DATASET p_dath.
It is not so comfortable as it is with GUI_DOWNLOAD but it works in background! -
User Exit for Variable which calls to a Function Module is NOT working ???
Hi all,
I have a created a variable 'ZNBUSDAY' with Processing Type 'Customer Exit' on 0SCL_DELDAT (Date). The query is on 0PUR_C04 and passing 0SCL_DELDAT to Function Module Z_WORKDAY to get the Next Business Day by using the company Calendar(30). The following code is NOT working and what is WRONG with it, PLEASE? The FM is working FINE.
DATA: wa_calendar(2) TYPE c value '30',
wa_znbusday like sy-datum,
0scl_deldat like sy-datum,
p_days TYPE i value 1.
case i_vnam.
when 'ZNBUSDAY'.
CLEAR wa_znbusday.
CALL FUNCTION 'Z_WORKDAY'
EXPORTING
CURR_DATE = 0scl_deldat
NUMBER_DAYS = p_days
CALENDAR = wa_calendar
IMPORTING
WORK_DAY = wa_znbusday
l_s_range-low = wa_znbusday.
l_s_range-opt = 'EQ'.
l_s_range-sign = 'I'.
append l_s_range to e_t_range.
endcase.
Thanks,
Venkat.Hi Venkat,
Looks like you're only assigning type sy-datum to 0scl_deldat but not the actual value. Try the following:
DATA: wa_calendar(2) TYPE c value '30',
wa_znbusday like sy-datum,
0scl_deldat like sy-datum,
p_days TYPE i value 1.
case i_vnam.
when 'ZNBUSDAY'.
CLEAR wa_znbusday.
0scl_deldat = sy-datum.
CALL FUNCTION 'Z_WORKDAY'
EXPORTING
CURR_DATE = 0scl_deldat
NUMBER_DAYS = p_days
CALENDAR = wa_calendar
IMPORTING
WORK_DAY = wa_znbusday
l_s_range-low = wa_znbusday.
l_s_range-opt = 'EQ'.
l_s_range-sign = 'I'.
append l_s_range to e_t_range.
endcase.
Kind regards,
Alex -
Function Module "SO_OBJECT_SEND" not working in ECC6
Hi experts,
We have upgraded our SAP version from 4.6c to EEC6, in 4.6C one of our
Z program has used function module u201CSO_OBJECT_SENDu201D for sending mails
to external user. But the same prog throws error in SOST "Message cannot be processed as it cannot be
converted ".
If I try with another FM u201CSO_NEW_DOCUMENT_ATT_SEND_AP1u201D is not fulfill our requirement. ie. we can send the mail to external user but we cannot send output List as attachement.
Our requirement is first we have to convert the list into a object and
send that object to external user. We are using following FM for
sending mails.
SAVE_LIST - Save the list as Object.
TABLE_COMPRESS u2013 Compress the object to compressed attachment.
SO_OBJECT_SENT u2013 Finally send the attachment to external user.
Pl. suggest me, how to sort it out.
Thanks,
Regards
M.VeerabadranHi
Answer is pure assumption
Pls check the OSS Note 170175 - SAPconnect: Message not convertable
Pls take opinion from SAP / BASIS before implementing the note
Regards
Madhan D -
Function module END_TIME_DETERMINE not working correctly
Hi,
I have a task within a workflow which is used to determine the deadline date and time. Within the method there is a call to function module 'END_TIME_DETERMINE'. Sometimes this is not calculating the correct date and time in the production system. This is not happening always. When I am debugging the method or the function module its giving the correct date and time. An example for this is as below.
The function module is taking sy-datum and sy-uzeit as input parameters and exporting new dates and times based on the no. of hours in l_deadlinehours
l_startdate = sy-datum.
l_starttime = sy-uzeit.
CALL FUNCTION 'END_TIME_DETERMINE'
EXPORTING
DURATION = l_deadlinehours
UNIT = 'H'
FACTORY_CALENDAR =
IMPORTING
END_DATE = l_enddate
END_TIME = l_endtime
CHANGING
START_DATE = l_startdate
START_TIME = l_starttime
EXCEPTIONS
FACTORY_CALENDAR_NOT_FOUND = 1
DATE_OUT_OF_CALENDAR_RANGE = 2
DATE_NOT_VALID = 3
UNIT_CONVERSION_ERROR = 4
SI_UNIT_MISSING = 5
PARAMETERS_NO_VALID = 6
OTHERS = 7
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
An example where it has gone wrong is :
Current date: 28.01.2008 Current time: 04:27:11
l_deadlinehours = 12
New date: 20.10.0427 New time: 20:01:28.
Can anyone pls suggest why this could be happening?
regards,
AbhishekDoes it happen for certain users? Maybe there is something from how you handle the dates in your workflow. Maybe the date settings are different for certain users - check their user master.
Regards,
Karri -
RFC Function module is not working in program while Background
Hi All,
we have a one program in BI system which is calling RFC function module. it is executing the program in foreground very well. Same program we have executed in background , it is not working at all. Thiis RFC function module exists in R/3 4.6c system.Hello Raju,
Transactional call of a remote-capable function module specified in func using the RFC interface. You can use the addition DESTINATION to specify an individual destination in dest. If the destination has not been specified, the destination NONE is used implicitly. Character-type data objects are expected for func and dest.
When the transactional call is made, the name of the called function, together with the destination and the actual parameters given in parameter list, are registered for the current SAP LUW in the database tables ARFCSSTATE and ARFCSDATA of the current SAP system under a unique transaction ID (abbreviated as TID, stored in a structure of type ARFCTID from the ABAP Dictionary, view using transaction SM58). Following this registration, the program making the call is continued by way of the statement CALL FUNCTION.
When executing the COMMIT WORK statement, the function modules registered for the current SAP LUW are started in the sequence in which they were registered. The statement ROLLBACK WORKdeletes all previous registrations of the current SAP LUW.
If the specified destination is not available for COMMIT WORK, an executable called RSARFCSE is started in the background. This attempts to start the functional modules registered for an SAP LUW in their destination, every 15 minutes up to a total of 30 times. You can make changes to these parameters using transaction SM59. If the destination does not become available within the given time, this is noted in the database table ARFCSDATA as a CPICERR entry. By default, this entry in database table ARFCSSTATE is deleted after 8 days.
Thanks and Regards,
SAP Shori -
Function module MAM25_011_getdetail not working
hi,
I m using Function Module Mam25_011_getdetail which is already designed in SAP.
I want to execute it but when I m executing it, it is asking me for user and notification number.... I have notification Number but i didn't have any idea about user. which user i fill there. I m using ECC 6.0 IDES Demo version and online version of SAP for this. but it is not working... pleas help me
Edited by: Thomas Zloch on Apr 25, 2011 10:47 PM exclamation marks removedNo still I m not getting any Value A return value in this
this Function Module is already created in SAP system You can also chk it there
with name MAM25_011_getlist (in IDES DEMO)
Or MAM30_011_getlist (real Time System)
Please Chk It and reply
I need it very much -
Issue in Check Function Module
Hi All,
Am doing a custom Workflow for Goods Movement.
In my Workflow am using the Triggering event "created" of Business Object "/SAPCEM/02".
I need to trigger my Workflow only for specific "Movement Type" (Eg. 551).
The Event Container is having only the values Material Document & Year. I have created a check function module in which I built the logic to get the MovementType(BWART) from table MSEG for the Material Document & raising exception in case of other than 551.
But the function module is not working as I expected. The problem is the MSEG table is not getting updated with the new Material Doc, while the Check Function Module is being called. (MSEG is updated after Check FM, it seems). So no record in MSEG for our MaterialDoc during the call to check function module. So the query always fails.
I need to restrict my workflow for specific Movement Types(MSEG-BWART).
Could you please advice me in this ?
Regards,
Anbarasan KI have absolutely no idea if this works, but you could try to place a check FM on the event only in transaction SWEINST with a wait up to 1 second statement in it.
Maybe, just maybe then you can properly use the check FM on the event-->WF in SWE2.
Alternatively if you are of the opinion that the data should be updated when the event is triggered you could raise an OSS message (obviously search OSS first to see if this has come up previously)
Kind regards, Rob Dielemans -
Function module "GM_DOCUMENT_REVERSE" not found. after Patch Update
Hi Abapers/Basis
After patch update i am not able to do FBCJ reversal entry getting below error message.
Runtime Errors CALL_FUNCTION_NOT_FOUND
Exception CX_SY_DYN_CALL_ILLEGAL_FUNC
Date and Time 25.05.2011 14:43:26
Short text
Function module "GM_DOCUMENT_REVERSE" not found.
What happened?
The function module "GM_DOCUMENT_REVERSE" is called,
but cannot be found in the library.
Error in the ABAP Application Program
The current ABAP program "SAPLRWCL" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FUNC', was
not caught in
procedure "CALL_DISPATCHER_STORNO_R" "(FORM)", 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:
The program "SAPLRWCL" contains the CALL FUNCTION statement.
The name of the function module to be called is "GM_DOCUMENT_REVERSE".
No function module exists with the name "GM_DOCUMENT_REVERSE".
All function modules are listed in the Function Library (SE37).
Possible reasons:
a) Wrong name specified. Pay particular attention to
upper/lower case and underscores ("_").
or
b) Transport error
c) In the case of an enqueue/dequeue module,
the lock object may not have been activated
(ABAP/4 Dictionary).
How to correct the error
Check the last transports to the SAP System.
Is the program "SAPLRWCL" currently being changed?
If an enqueue/dequeue module is involved, is the activation
of the lock object missing in the ABAP/4 Dictionary?
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"CALL_FUNCTION_NOT_FOUND" "CX_SY_DYN_CALL_ILLEGAL_FUNC"
"SAPLRWCL" or "LRWCLF10"
"CALL_DISPATCHER_STORNO_R"
Function modules with names similar to "GM_DOCUMENT_REVERSE":
GM_DOCUMENT_CLOSE
GM_DOCUMENT_RECORD
GM_DOCUMENT_DELETE
GM_DOCUMENT_POST
GM_DOCUMENT_CHECK
G_DOCUMENT_RECORD
GJ_DOCUMENT_RECORD
GM_DOCUMENT_PROJECT
GET_DOCUMENTS
GM_DOCUMENT_DISPLAY
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
Moderator message: please don't just dump your dumps, search for SAP notes or open a call with SAP instead.
Edited by: Thomas Zloch on May 25, 2011 2:16 PMHi Karthik,
Thank you for ur reply.
I did not implement any user exit/ badi. Dump is saying that my smarform function module does not exist in the se37 library.
I have excuted my form through se38, that time is working fine. When i tried through output type it is going to dump.
Regards,
Kusuma. -
Read workitem Container Value in Terminating event Check Function Module
Hi
I have some problems reading work item data / values of a work item container element in a check function module on a terminating event Do any of you know if this is possible, and if so, how its done ?
In My scenario I have created a multiline approval step for my business document, one task pr Line Owner. The Event Approved is defined as a terminating event for this task, and the line owner is passed to the task container.
Now, when I raise the event, with the line owner as an event parameter, I would like to check if the line owner on the raised event, matches the line owner in the task container in question in a check fm. But here I faced the problem, that only event data, and not work item data, are passed to the Check Function module.
Regards,
Morten NielsenHello Morten, hello Arghadip,
in the instance linkage's check function module (entered via transaction SWEINST) you'll have the workitem-id in the system event parameter EVTRECEIVER_ID
With this number you can use the frame work in order to read the work item container.
This is a sample coding, how you access the correct work item container using SAP Enterprise and it's new OO frame work, which checks on the terminating event of BUS2105.Released the correct release code for a work item.
INCLUDE <cntn01>.
INCLUDE <SWFCNTN01>.
INCLUDE RSWEINCL.
*** Read workitem instance and container from event
DATA: wi_id TYPE swwwihead-wi_id.
swc_get_element EVENT_CONTAINER evt_receiver_id wi_id.
IF sy-subrc <> 0.
MESSAGE E015(ZPREL) WITH evt_receiver_id
RAISING wrong_call.
ENDIF.
DATA: lv_wi_handle TYPE REF TO if_swf_run_wim_internal.
DATA: ls_context TYPE sww_wimctx.
DATA: lv_wi_container TYPE REF TO if_swf_cnt_container.
* - set context
ls_context-do_commit = ' '.
ls_context-called_btc = 'X'.
ls_context-exec_user = sy-uname.
ls_context-fbname = 'Z_CHECK_RELEASE_CODE'.
CLEAR lv_wi_handle.
CALL METHOD cl_swf_run_wim_factory=>initialize( ).
CALL METHOD cl_swf_run_wim_factory=>find_by_wiid
EXPORTING
im_wiid = wi_id
im_read_for_update = ' '
* im_enqueue_owner = fb_name
* im_wait_for_enqueue = 'X'
im_context = ls_context
RECEIVING
re_instance = lv_wi_handle.
*** This check is only done for workitem linkage TS90100081
IF lv_wi_handle->m_sww_wihead-wi_rh_task <> 'TS90100081'. "#EC_SYNTEXT
EXIT. "Let event pass, as this is an instance linkage to another workitem
ENDIF.
DATA: releaseCode_wi TYPE t16fc-frgco.
* - read releaseCode from workitem container
lv_wi_container = lv_wi_handle->get_wi_container( ).
* - perform binding event container -> workitem container
swf_get_element lv_wi_container 'RELEASECODE' releaseCode_wi.
DATA: e TYPE REF TO cx_swf_run_wim.
CATCH cx_swf_run_wim INTO e.
RAISE WORKFLOW_RUNTIME_ERROR.
ENDTRY.
*** From here on, the variable releaseCode_WI hold the
*** container element RelaseCode of the work item, that
*** is going to be terminated...
*** Further coding from here as appropriate...
Best regards,
Florin
Maybe you are looking for
-
Hooking up my iphone to a new computer for the first time....
My computer broke and isn't worth fixing so I can't access it again. My mom just bought her a new laptop so I just inherited the one she had been using (actually ended up working out great for me cause it's only a year old and nicer than mine that br
-
Multiple condition for payment terms
Hi, I wanted to create new payment terms with multiple combination say for example 95% Payment in Advance & Remining 5% in Net 360 days. How to configure with multiple conditions.
-
I can't reposition a movie clip into an earlier part of my project
I have made some vids on my iPad, uploaded them to iMovie no problem. I watched the sequence and deleted some blunders etc. This left the long film strip into clips which still plays fine. I re-filmed one section and loaded that into my project.
-
How do I get my old number back
I did a switch to have my Skype telephone number transport over to a cellular phone, but I actually do not want to do that. Is there a way that I can get that exact same number back? This is the only telephone that I have been using for several years
-
Kodak ZxD & iPad camera connection kit
I've been very happy with the quality of video and ease of use of the ZxD with my iMac. It is a seamless process to transfer video off my ZxD which shoots native .mov into FCP. To my surprise I've not been able to directly load video shot with my ZxD