cancel
Showing results for 
Search instead for 
Did you mean: 

HU2 system: Create Sales Order reports "function active, but not allowed"

Former Member
0 Kudos

Hello,

In the HU2 test system we are trying to add a Sales Order.

While this worked fine when trying it through WebGUI - trying "the same" through

SalesOrderERPCreateRequestConfirmation_In_V2

gives us an error:

Requested function is active (BF 'SD_o1') but not allowed (BFS 'FICAX')

This sounds a bit like an issue with permissions - but then I shouldn't be able to create the Sales Order via WebGUI IMHO...

...am I / are we missing something just too basic?

BTW: Sorry, but you may have to scroll down first, then use the scroll bar within the page to scroll right to be able to reply

This is our functional code (in C#) - not too pretty since this was supposed to be a quick check that should show that what we found is working for us...:

try
{
SalesOrderERPCreateRequestConfirmation_In_V2Service service = new SalesOrderERPCreateRequestConfirmation_In_V2Service();
service.Credentials = new System.Net.NetworkCredential("<my account>", "<my password>");

SlsOrdERPCrteReqMsg_s_V2 soIn = new SlsOrdERPCrteReqMsg_s_V2();

soIn.MessageHeader = new BasicBusinessDocumentMessageHeader();

soIn.SalesOrder = new SlsOrdERPCrteReq_s_V2SlsOrd();

soIn.SalesOrder.ProcessingTypeCode = "OR"; // or "RO"?

//SalesOrganisationID u2013 sales organization of customer in the back-end system 
//Value 
soIn.SalesOrder.SalesAndServiceBusinessArea = new SlsOrdERPCrteReq_s_V2SlsAndSrvcBusArea();
soIn.SalesOrder.SalesAndServiceBusinessArea.SalesOrganisationID = "1000";

//DistributionChannelCode u2013 distribution channel of customer in the back-end system
//Value 
soIn.SalesOrder.SalesAndServiceBusinessArea.DistributionChannelCode = new DistributionChannelCode();
soIn.SalesOrder.SalesAndServiceBusinessArea.DistributionChannelCode.Value = "10";

//DivisionCode u2013 division of customer in the back-end system 
//Value 
soIn.SalesOrder.SalesAndServiceBusinessArea.DivisionCode = new DivisionCode();
soIn.SalesOrder.SalesAndServiceBusinessArea.DivisionCode.Value = "00";

//BuyerParty > InternalID u2013 customer number (sold-to party in the back-end system) 
//Value u2013 We have this.
soIn.SalesOrder.BuyerParty = new SlsOrdERPCrteReq_s_V2BuyrPty();
soIn.SalesOrder.BuyerParty.InternalID = new PartyInternalID();
soIn.SalesOrder.BuyerParty.InternalID.Value = "0000001000"; // using "1000" leads to the same result...

//Document Items:
soIn.SalesOrder.Item = new SlsOrdERPCrteReq_s_V2Itm[1];
soIn.SalesOrder.Item[0] = new SlsOrdERPCrteReq_s_V2Itm();

//Material number 
//Item > Product > InternalID u2013 material number of product in the back-end system 
soIn.SalesOrder.Item[0].Product = new SlsOrdERPCrteReq_s_V2Prod();
soIn.SalesOrder.Item[0].Product.InternalID = new ProductInternalID();
soIn.SalesOrder.Item[0].Product.InternalID.Value = "100-100";

//Requested quantity 
//Item > TotalValues > RequestedQuantity u2013 order quantity for product in back-end system 
soIn.SalesOrder.Item[0].TotalValues = new SlsOrdERPCrteReq_s_V2ItmTotVals();
soIn.SalesOrder.Item[0].TotalValues.RequestedQuantity = new Quantity();
soIn.SalesOrder.Item[0].TotalValues.RequestedQuantity.Value = 1;

SlsOrdERPCrteConfMsg_s_V2 so = service.SalesOrderERPCreateRequestConfirmation_In_V2(soIn);

}
catch (Exception ex)
{
//    Console.WriteLine(ex.Message);
//    Console.WriteLine(ex.InnerException.Message);
//    Console.WriteLine(ex.InnerException.StackTrace);
}

Thx - and sorry for eventually asking a dumb question :-~

Frank

Edited by: Frank Moebius on May 22, 2008 10:14 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

business function SD_01 is active. (see transaction SFW5)

But you have not the permissions to use this function.

regards