E1920 Debugging jdeObjectCall

cameron0960

Member
Hello,

I have a UBE that is failing after making a call to a jdeObjectCall. The API returns a 1, indicating a warning, which indicates to the report to stop processing.

The image below shows the jdeObjectCall in question that is returning a 1.

example.jpg

I'd like to determine why jdeObjectCall is returning a warning, so that I can investigate a fix.

Any help on this is greatly appreciated!

Cheers, Cam.
 
The BSFN, "EditDate", is returning a warning.

jdeCallObject is just an api wrapper that is used to call any other BSFN from another BSFN. Its return value is the actual return value of the BSFN it is calling.
 
The BSFN, "EditDate", is returning a warning.

jdeCallObject is just an api wrapper that is used to call any other BSFN from another BSFN. Its return value is the actual return value of the BSFN it is calling.

Yup, that's exactly it. My question lies in why was the "EditDate" function returning a warning. How can I understand what the warning was? How can I debug the "EditDate" code to find how the error is being generated?
 
The BSFN, "EditDate", is returning a warning.

jdeCallObject is just an api wrapper that is used to call any other BSFN from another BSFN. Its return value is the actual return value of the BSFN it is calling.

Yup, that's exactly right. My question lies in how can I understand the reason the warning is happening? Is there a warning message that I can read to get more information? How do I find the EditDate code to debug it?
 
It looks like you were debugging B4900090, no? If so, it is the same process for any BSFN. You must build the BSFN locally on your fat client first.

There is no magic way of knowing why EditDate is returning a warning. If you have debuglogging set AND the BSFN sets an error at the point it determines the warning, then there could be a message in the debug log. Take a look at the EditDate code to see if you can see all the places that would produce a warning message. If there are a bunch, then debug that function to find out exactly why your process is causing it.

If you don't know how to debug a BSFN, I suggest searching on JDELIST... you will find some info on how to set that up.
 
Looks like you are using BSFN Journal entry?

So it could be lots of reasons based on fiscal periods and where the company you are using is at I'd imagine

Search for ER_WARNING

Example, in X0903
************************************************************************** *
If passed date is less than begin date, return PYEB.
* Return warning if document type is PRIOR_YEAR_END_DOC_TYPE,
* else return hard error.
**************************************************************************/
if (lDate < lBeginDate) { if ((jdeStrncmp ((JCHAR *)(lpDS->szDocumentType),
(JCHAR *)(PRIOR_YEAR_END_DOC_TYPE),
DIM(lpDS->szDocumentType))) == 0)
{ if ((lpDS->cSuppressFlag != _J('1')) && (lpDS->cSuppressFlag != _J('2')))
{ jdeSetGBRError(lpBhvrCom, lpVoid, IDERRjdDate_2, _J("0064")); }
jdeStrncpy(lpDS->szErrorNumber, (const JCHAR *)(_J("0064")),
DIM(lpDS->szErrorNumber));
lpDS->cWarningType = _J('1');
idReturnValue = ER_WARNING;
bReturnFlag = TRUE;


You'll also get an error number too
 
Last edited:
It looks like you were debugging B4900090, no? If so, it is the same process for any BSFN. You must build the BSFN locally on your fat client first.

There is no magic way of knowing why EditDate is returning a warning. If you have debuglogging set AND the BSFN sets an error at the point it determines the warning, then there could be a message in the debug log. Take a look at the EditDate code to see if you can see all the places that would produce a warning message. If there are a bunch, then debug that function to find out exactly why your process is causing it.

If you don't know how to debug a BSFN, I suggest searching on JDELIST... you will find some info on how to set that up.

Yup, I'm debugging B4900090. From what I can see, the "EditDate" function isn't contained within B4900090. Do you know how I can determine which BSFN contains the "EditDate" function so that I can debug it? Is there a way to determine which BSFN needs to be built by examining the jdeObjectCall parameters?

I'll take a look at the logs to see if they tell me anything useful.

EDIT: The logs provided some useful information. I've provided a screenshot below. I'm to build X0903 locally using the FAT client and investigate this issue further through the code.


example2.jpg


Thanks for your help on this guys!
 
Last edited:
I see you use JDETRACE from patwel... Do you also use ObjectBrowser? if not, I suggest you get that too.

Anyway, if you select BSFN from the object type drop-down box, it activates another text field for function name. In there, you can key in the function name and do your search. That will quickly give a way to find what E1 object contains that function.
 
I think you should build "X0903" (Edit Date function) for debugging . The data structure name (DXX00025) is matching to provided business function ( B4900090) code snap shot data structure name.
 
Back
Top