‎2012 Dec 12 10:52 AM
Dear experts,
I am trying to debug a job that deals with WBS postings.
The job does everything it is supposed to ( according to our Functional Consultants), however, the log generated contains many error messages.
They are of the type "Field 'Structure name'-'Field name' is not in the ABAP dictionary."
I have debugged to a great extent and pointed out the Function module where this error message is raised. "RS_DS_INT_FIELD_INFO".
I see a Function call beyond which a sy-subrc check fails and the error message is generated.
We have contacted SAP and they suggested that there might be a commit statement which is probably being called at the wrong time.
"This message about not existing status object is usually caused by a
COMMIT statement being sent in customer code at the wrong time."
I am unable to make any progress at this point.
Please see if you could provide some pointers for me to proceed.
Regards,
Prasenjit Sarkar.
‎2012 Dec 14 10:04 PM
SAP's message is quite clear - you need to check if there is any custom code (user exit, enhancement, etc.) that calls COMMIT incorrectly. We can't possibly know what custom code is there in your system, so not sure what pointers you're expecting...
At the least get the main program name and search for COMMIT command. You can also set up a watchpoint for a specific command. Plenty of options, just do your research.
‎2012 Dec 15 7:07 AM
The message that you have reported seems to be the one at line 36 in FM RS_DS_INT_FIELD_INFO. It would be appearing when the READ on L_NAMETAB is failing. Did you check the values of P_TABLENAME and P_FIELDNAME when the READ is failing. If it's a custom table, then you know what's causing the problem.
‎2012 Dec 19 8:29 AM
Hi guys,
Thanks for the responses.
I have found 2 Commit statements in the report (sorry didn't get that earlier).
One is being used after FM "STATUS_CHANGE_EXTERN" call, this seems to be the cause at the moment.
Our job logs have been archived, I will wait for another job to fail and then try to debug to see if I can see these messages coming from this statement.
I will keep you posted as soon as I learn more.
Regards,
Prasenjit.
‎2013 Jan 02 2:31 PM
Hi guys,
I have a job now that has error messages in the log, and I have identified 2 commit statements.
Is there any way I could pin point to the exact place where the error is generated.
I saw a lot of perfomrs being executed when I tried to debug the "COMMIT WORK" statement, but couldn't identify anything.
Thanks for the help!
Regards,
Prasenjit Sarkar.
‎2013 Jan 03 7:07 AM
Hi Prasenjit,
I had faced similar problem but in another form with 'COMMIT' being called before some part of standard coding was executed. What I would suggest is once you identify the spot of error generation, try figuring out the places where the same parameters gets changed and how. There must be a place where the parameters gets changed. Also you would have to keep in mind that there are many implicit ways where a commit work is executed. Good Luck!
Regards,
Kumud
‎2013 Jan 08 12:56 PM
Hello,
Thank you for the responses.
I have debugged and identified the FM "BAPI_PROJECT_GETINFO" is the last place in the code before which the debugger goes to FM "RS_DS_INT_FIELD_INFO" and populates the error.
I have not succeeded to find any custom code as of now.
Anyone familiar with this behaviour?
Thanks a lot!
Regards,
Prasenjit Sarkar.
‎2013 Jan 09 7:09 AM
I did a global search for 'COMMIT' on this FM and found that in Include 'FCNIFF01_GENERAL_OBJECTS_MAINT' commit work is present.
You could place a break-point on this statement and check if it's getting executed!
In debugging, did you check E_MESSAGE_TABLE after BAPI_PROJECT_GETINFO is called. There could be a chance that this table is populated with log messages. You could check and let me know that. Thanks.
Regards,
Kumud