Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Getting message No maintenance authorization for shipping point 2001

Former Member
0 Kudos

Getting message No maintenance authorization for shipping point 2001 when performing goods receipt for a STO with reference to delivery using BAPI BAPI_GOODSMVT_CREATE.

When same program is executed in program it is working fine.

We have set the SU24 for the program name as no authorization check.

For back ground do we neeed to set anything specific.

4 REPLIES 4

Former Member
0 Kudos

Yep. The same also applies to couples of call transactions (see SAP note 358122) - although BAPI's by definition do not and may not check S_TCODE...

The reason for this is because the checks can be turned off in SU24 against specific transactions. BUt when you schedule a program into a background job, then it does not have a transaction context. You will experience similar behaviour if you execute the program directly from SA38, SE38, etc.

Generally, you have 3 options:

- Some functions will expose a "NO_CHECK" or "NO_AUTHORITY" parameter which can be set when calling the function module. Some of them will only let you do it once Others will call themselves again with certain (usually customizable) parameters. You can look for this in the function module documentation, interface and coding.

- Grant the authority to the user ID, and ensure that this is a SYSTEM type user segregated from the dialog users. It would then have this authority, but by design could not start the transaction directly (even if someone did logon as the user...).

- If this object is not intended to be used at all for control in your concept, then you can globally deactivate some authorization objects using transaction AUTH_SWITCH_OBJECTS. The object will have no affect in the whole system when the ABAP application coding checks it in an AUTHORITY-CHECK object statement. The return code is always set to 0, and not only selectively...

You need to be carefull with all 3 options, but they can all three be applied in a secure way.

Cheers,

Julius

0 Kudos

Hi Julius,

Thanks for your reply. Can you please give some more detilas about option 1.We are using functional module MB_POST_GOODS_MOVEMENT.I went through the functional module documentaiton but not able to find NO_CHECK" or "NO_AUTHORITY parameter.

We cannot go for 2 because for this process we need the user to execute the program in background from their id.

We also cannot go for option 3 as the object v_likp_vst is used in many other places.

Thanks,

Hemalatha A

Former Member
0 Kudos

Hi,

Please goto debug and check where the authorization check is happening and modify the code. If not write custom user exit which skips the necessary authorization check.

Regards,

Gowrinadh

Former Member
0 Kudos

I suppose the problem arises when you are running it in the background.

If you can get the call transaction replaced by function module job_submit it allows you to provide a user name to be used for authorization check in the ABAP code. In which you could specify one of your system users with complete authorizations.

Also can you let us know what version and Basis release are you working on?