How to exit from an update Function Module
Hi Friends,
I am using an Update Function Module in my program.The Program also has various other logics implemented in it. The Update Function Module gets triggered only when it finds COMMIT WORK statement. Now, I want that when the FM gets triggered and inside it, sy-subrc <> 0 at any stage, it should exit the complete processing and come to my main screen.
I tried to use Exit, STOP commands in the FM, but they only make the processing to exit from the FM.
Please suggest what shud I do.
Helpful suggestions will be surely rewarded.
Thanks in advance.
Regards,
Himanshu
hi hemansu,
after coming out from function module check value of sy-subrc
and
if sy-subrc ne 0
exit. or leave to screen 0 [module pool progarm] or stop.
endif.
if helpful reward some points.
with regards,
suresh babu aluri.
Similar Messages
-
Regarding update function module
Hi all,
This is regrding update function module
How to handle errors in update function module
Can exception be used in Update function modules
while calling in update Task
if we can use please let me know how to do so while calling in Update task.
Regards,
siva chalasani.Hi Vinod,
Just wanted to say...
your answer solved my problem.
I needed to pass my error records into a internal table and from there to notepad using GUI_DOWNLOAD.
The following is my function module....
RHPP_Q_PROFILE_WRITE
It has under TABLES-- 'err_profile' to capture error records.
So, I passed a internal table in " err_profile" to capture the errors.
And then passed this internal table in GUI_DOWNLOAD.
Regards,
Hari Kiran
Edited by: HARI KIRAN REDDY on Aug 12, 2008 12:20 PM -
Update Function module - How to provide detailed messages in case of errors
Hello everyone,
I am using update function modules. When there is a error, the Message i provide goes to inbox and i get a express message.
I am looking for ways to provide detailed messages (multiple lines) and i also need to add the error message returned by the BAPI
Providing a long text for the MESSAGE also does not work.
How can i achieve this ?
ThanksHi,
The express message is because the update functions executes in background.
You can view the detail messages of updates [Error Information from Update Management|http://help.sap.com/saphelp_nw04/helpdata/en/e5/de874735cd11d3acb00000e83539c3/content.htm]
For your requirement have alook at [Application Log and Application-Specific Error Tables|http://help.sap.com/saphelp_nw04/helpdata/en/a5/3ec9f74ac011d1894e0000e829fbbd/content.htm]
There are some functions avaibale for this and is mentioned in the document.
Keshav -
How can i get currency values from flatfile to function module
Dear All,
I have to take currency values from flat file and i have to assign those flat file value to function module .
Eg: "Convert_to_local_currency". I need technical code how to calculate those amount in work area and how to assign those amount value function module.
I need sample program for currency conversion from flat file to function module. My requirement is based on flat file amount i have to calculate in work area and assign those work area to function module.
With Regards,
BaskaranHi Satish or Baskaran,
First conform in which format the flat file is present, as abhi mentioned if it is there in notepad
try to use F.M GUI_UPLOAD as shown below...
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\Desktop\rpf1.TXT'
TABLES
DATA_TAB = ITAB.
Now loop at ITAB Into Work_area and press the respect currency fields which you want and in the same way
if the file is in EXCEL format use F.M ALSM_EXCEL_TO_INTERNAL_TABLE
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = P_FNAME
i_begin_col = 1
i_begin_row = 1
TABLES
intern = ITAB
LOOP AT ITAB INTO WA.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
foreign_currency = wa-waers
local_currency = wa-waers
IMPORTING
local_amount = tvals-gross.
ENDIF.
endloop.
And as mentioned loop the records into work area and process the currenct field which is present in the
ITAB according to its field name. And make sure within the loop you call your function module.
Regards
VEnk@
Edited by: Venkat Reddy on Dec 9, 2009 5:51 PM -
How two create UPDATE FUNCTION MODULE
Hi,
I have 2 tables to update one after the other...
I have geard it is advisable to use update function module for this..
can any1 tell me how to create and work with update function modules...
Answers will be rewarded....Abhay,
How an update function module works is, the execution of the FM is delayed to until when a COMMIT WORK statement is executed.
Hence if you have the data available for updating the two DB tables at the time of calling the FM, you can pass the tables to the same FM and program the DB update for both in the same FM.
However the COMMIT WORK should be outside the FM further down in the calling program.
This link is very good and easy to follow
http://help.sap.com/saphelp_erp2005vp/helpdata/en/41/7af4daa79e11d1950f0000e82de14a/frameset.htm
Hope it helps
Aditya[url=http://help.sap.com/saphelp_erp2005vp/helpdata/en/41/7af4daa79e11d1950f0000e82de14a/frameset.htm]
Message was edited by:
Aditya -
Checking the contents of update function module log table
Dear experts,
I created several CALL FUNCTION ... IN UPDATE TASK lines and is curious about the contents of the update function module log table. How can I see its contents?
Thanks in advance.
Regards,
HarisHi Hari,
Use transaction SM13. This gives all the details
To view the details in SM13 switch on Update debugging before you call your update function module.
In debugger Settings --> Display / change Debugger settings --> Use the check box "Update Debugging" --> Press save button
So after COMMIT WORK statement, debugging will start with the update function module
During this time check the entries in SM13
Once the update is complete the entries will be removed from SM13 (Unless there is a failure)
I am not sure if there is option to view records in SM13 for which update is complete (No authorization to change settings in SM13). So i cannot check this
Regards
Rajvansh
Edited by: Rajvansh Ravi on Jul 24, 2011 3:52 PM -
Short dump for update function module
Hi Folks,
If I try to raise exception in Update Task function module which is in turn called in Custom BAPI function module. When I test the BAPI stand-alone using explicit COMMIT WORK (For testing)I can see the error in SM13 and it processes further in BAPI. Now when I am using this BAPI for ALE Inbound processing function module to SAP, when I test using testing tool WE19 it crashes when it passes the update FM inside BAPI, and encounteres BAPI_TRANSACTION_COMMIT, the update Function module is executed as encountered and gives me dump at the raised exception and does not show error in SM13. Please suggest how I could overcome this dump.
Regards,
TimHi there,
Yes. I know that I can details from ST22 Analysis. And I did go through that.
Here's the Section that explains:
How to correct the error
Try to find out why the number of decimal places of the field should be
2.
There are various possible options:
1. The number of decimal places of the imported field has changed in the
Data Dictionary. Make sure that the number of decimal places of the
imported field matches the number of decimal places of the field in
the Data Dictionary.
If the data cannot be restored from another source, the data of the
'old' structure must be read by the 'old' structure, converted und
again eported with the new structure, so that future IMPORTs will
always function with the new structure.
2. A new program version is active, which no longer fits the dataset.
Try to solve the error generating the program
"ZFI_FM_GET_STD_COSTS==========FT" again. This
works as follows: Select transaction SE38 in the SAP system. Enter
the program name "Z_GET_COSTS==========FT". Then activate the
function 'Generate'.
1. I made sure that the decimal places matches.
2. I did re-generate the program.
But still got the same dump. Interestingly, the program where I am using this FM is working absolutely fine.
Thanks. -
How to Exit from Session by executing program
How to Exit from Session by executing program
Hi,
Try the following
CALL the function module HLP_MODE_CREATE and pass '/nex' to tcode import parameter.
Regards,
Sesh
Message was edited by: Seshatalpasai Madala -
How to find out the inbound function module in the extended idoc
Hi,
how to find out the inbound function module in the extended idocs
Thanks .through we41/we42 you can find the inbound function module.......
or
thorough we19(idoc test tool) ....
give the input as message type or basic idoc..
press exec...
then you can find th button on application tool bar as inbound funtion module....
from here also you can find..........
<REMOVED BY MODERATOR>
Khasimsa
Edited by: Alvaro Tejada Galindo on Apr 14, 2008 1:34 PM -
How to write the exceptions in function module
dear all,
how to write the exceptions in function modules with example.
thanq
jyothiHi,
Raising Exceptions
There are two ABAP statements for raising exceptions. They can only be used in function modules:
RAISE except.
und
MESSAGE.....RAISING except.
The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
If the calling program does not handle the exception
· The RAISEstatement terminates the program and switches to debugging mode.
· The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
Source Code of READ_SPFLI_INTO_TABLE
The entire source code of READ_SPFLI_INTO_TABLE looks like this:
FUNCTION read_spfli_into_table.
""Local Interface:
*" IMPORTING
*" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
*" EXPORTING
*" VALUE(ITAB) TYPE SPFLI_TAB
*" EXCEPTIONS
*" NOT_FOUND
SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
IF sy-subrc NE 0.
MESSAGE e007(at) RAISING not_found.
ENDIF.
ENDFUNCTION.
The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
Calling READ_SPFLI_INTO_TABLE
The following program calls the function module READ_SPFLI_INTO_TABLE:
REPORT demo_mod_tech_fb_read_spfli.
PARAMETERS carrier TYPE s_carr_id.
DATA: jtab TYPE spfli_tab,
wa LIKE LINE OF jtab.
CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
EXPORTING
id = carrier
IMPORTING
itab = jtab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
WHEN 2.
MESSAGE e702(at).
ENDCASE.
LOOP AT jtab INTO wa.
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDLOOP.
The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
Or
just have to decide what exceptions u want and under what conditions.
then declarethese exeptions under the exceptions tab.
in the source code of ur function module.
if
like this u can code .
now when u call the function module in tme mainprogram.
if some error occurs and u have declared a exception for this then it will set sy-subrc = value u give inthe call of this fm.
in the fm u can program these sy-subrc values and trigger the code for ur exception.
Please reward if useful
Regards,
Ravi
Edited by: Ravikanth Alapati on Mar 27, 2008 9:36 AM -
How to use a user defined function module in IP
Hi All,
Can you please guide me on how to use a user created function module in IP? My requirement is to have 2 exit function modules to be used in IP to load the falt file data into a cube..
Regards,Hi,
/people/marc.bernard/blog/2007/11/25/how-to-load-a-file-into-sap-netweaver-bi-integrated-planning-part-1
thanks to Marc Bernard
Regards -
Doubt in update function module
dear friends..
i have created an UPDATE function module with Processing type- Update Module, Start Immediate. i have handled the exceptions using Raise statement in the function module..
the call function looks as..
CALL FUNCTION 'ZFI_LCTXN_TABLES_UPDATE'
in update task
EXPORTING
ZLCTMB1 = p_lctmb1
NU_ENTRY = p_global-ins_zlctmb1
TABLES
UPD_PO = UPD_PO
UPD_SH = UPD_SH
EXCEPTIONS
ERROR = 1
OTHERS = 2.
p_subrc = sy-subrc.
commit work.
but if the update fails, and even though the RAISE ERROR works, and update termination message is registered in SM13, i dont get the value for sy-subrc as 1 .
is it the right way..if yes please tell me how to generate an error message within the transaction..so that the user knows the update has failed..
thank you for your time
NivinHi,
Maybe it's usefull for you.
<b>
IF sy-subrc EQ 4.
MESSAGE e001 RAISING not_found.
ELSEIF sy-subrc EQ 8.
MESSAGE e002 RAISING not_found.
ELSE.
ENDIF.</b>
Using this to create a message and raise in the same time !
Regards.
Marcelo Ramos -
Questions regarding update function module
Hello experts,
I am on customer site to help them investigate one issue: they have a background job which runs periodically.
In the report database table A is changed firstly ( new entries are inserted ), then a update function module is called via keyword CALL FUNCTION ... IN UPDATE TASK.
Inside the function module database table B is updated. ( existing entries are updated )
Customer issue:
sometimes they find A is updated as expected, however B remains unchanged at the same time.
customer could not find exact steps to reproduce the issue. However the issue does exist there and occur from time to time.
the issue could only be reproduced in their production system, but works perfectly well in dev & Q system. It is difficult to debug in their production system for trouble shooting.
After analyzing related code, I have one doubt: according to ABAP help on CALL FUNCTION aaa IN UPDATE TASK, I know the function module aaa is called in a new update work process. I wonder whether there is any possibility there this issue might be caused because the update function module fails to get called at all? ( perhaps due to heavy system load so no free update function module could serve the table B update ? )
If update function module fails to execute, is there any system utility to record this? That is to say, will it be recorded in such as SM13 or SM21?
Looking forward to your expertise on this topic!
Best regards,
JerryHello friends,
Thanks a lot for your interests on this issue. I update all my findings:
1. issue background: this issue occurs in SAP CRM Channel manageement Solution, software component CRM-CHM-POS.
2. due to some limitations, the table CMSD_CI_HISTORY and history table are not updated in the same LUW. Instead the first one is updated in normal work process while the other is done in update work process. Since I am not the original developer I didn't know the whole complex scenario ( I did see this is done delibrately in note 1764006 - CMS:Sell In Release creating PB with zero available quantity ).
So for the moment we have to accept this design.
3. during our testing ,we ensure COMMIT WORK is always called.
4. So why sometimes the first table update fails, however there is no hint at all for this failure in the system like ST22 and SM21 ?? ( forget SM13, since it is updated in normal work process ).
The root cause is the flaw of SAP code below.
The code has planned to raise exception if insertion failed due to duplicate records to be inserted.
Unfortunately, the fact is if we use "INSERT db FROM TABLE xxx" to insert records into database and some record already exists with the same key, it will result in a termination but SY-SUBRC is STILL 0; Just compare it with single insertion using "INSERT db FROM <work area>", in the same error situation, processing does not terminate, and SY-SUBRC is set to 4.
As a result in this case even the insertion fails, line 29 will never be executed as sy-subrc is always 0. Since the insertion fails and the exception is caught without any notification, so customer sufferred because they do not know what has happened.
Best regards,
Jerry -
Invalid COMMIT WORK in an update function module. in VKM1 Tcode
Hi All,
I am getting the short dump with message "Invalid COMMIT WORK in an update function module. "
Calling a COMMIT WORK in an update process is not allowed
because the function modules triggered in a Logical Unit
of Work cannot then be processed correctly.
in FM : SO_DOCUMENT_SEND_API1
Prev. it was giving error in one of my driver program where I had written the commi Work after calling FM for sending fax :
"CONVERT_OTF_AND_FAX" .
call function 'CONVERT_OTF_AND_FAX'
exporting
FAXOPTIONS = W_ITCPP
USER = NAST-USNAM
importing
MSGID = W_MSGID
MSGNO = W_MSGNO
MSGV1 = W_MSGV1
MSGV2 = W_MSGV2
MSGV3 = W_MSGV3
MSGV4 = W_MSGV4
tables
OTF = IT_OTF.
if sy-subrc eq 0.
commit work.
submit RSCONN01 with MODE = 'FAX' and return.
endif.
Please explain me where and how I can change my code so that this error should not come?
Rgds.
MAdhuriHello, Suhas!
I am getting the short dump with message "Invalid COMMIT WORK in a COMMIT WORK or ROLLBACK WORK."
Short text
Invalid COMMIT WORK in a COMMIT WORK or ROLLBACK WORK.
What happened?
Error in the ABAP Application Program
The current ABAP program "CL_FDT_CC_SERVICES============CP" had to be
terminated because it has
come across a statement that unfortunately cannot be executed.
Error analysis
The call of a COMMIT WORK in a FORM, that will not be executed until
the commit or rollback point of the caller using the variant
PERFORM ... ON COMMIT or PERFORM ... ON ROLLBACK is not permitted.
etc.
Could you help me to solve the issue?
Regards,
Kseniya Tsyganchuk -
Add entries to database tables using update function module
Hi All,
I have a small requirement, in which I need to update Z-tables usimg update function module in update task. In the calling program, I have gathered the data in a field symbol value of type any. I need to pass the same to that function module to update the data which is in the field symbol.
Please guide me how to achieve this technically.
Thanks in advance,
Pradipta .Hi,
I believe you already have evrything with you.....Start Coding the same and come back with any Coding issue.
I believe you will not be able to pass the Field Symbol in FM Interface.....You need to pass the Variable which Field Symbol is referring....
Maybe you are looking for
-
hi I want to add a new line in va01 when a condition is requested. So for example i put 3 line and when a condition is ok i want to create so insert in vbap a new line in the order. I try with the badi BADI_SD_SALES_ITEM and ITEM_PREPARE but it's no
-
Problem with gray background in SmartForms
Hi all I have uploaded a logo via SE78. The logo have white background both in windows and in the print preview in SAP (SE78). When I insert the logo in my SmartForm the background gets gray, not white. I have tried just to upload a picture that is o
-
Which the best way to make a webservice based on a java class in JDeveloper 10.1.2? I need to make a webservice that make some queries in views of BPEL's dehydration DB, but I would not like that this webservice was a BPEL process in the Process Mana
-
Cacheing /storing form data from mulitple pages selected from a jump menu
What is the best way or is it even possible to cache /store info through a series of pages (9 randomly selected from a jump menu) until the user is done with commenting and is ready to submit the form. We are trying some PHP but not very successfully
-
Hi , Currently landscape is updated to Unicode, i'm getting blankspace after each character in the attachemnt. i have tested the same program on diffrent servers which is working properly. is this the unicode issue or help me out how to resolve the p