Quantcast
Channel: SCN: Message List - SAP Business ByDesign
Viewing all articles
Browse latest Browse all 5008

VB.NET MangeSalesOrderIn showing error on Sale creation attempt "2 additional sales areas exist for organizational unit 102"

$
0
0

Hi,

I am working with Manage Sales api to create new sale using VB.NET. The response log is displaying a note: "2 additional sales areas exist for organizational unit 102". Please see the code below, any help is appriciated.

 

'Create a Sale        Dim oQSale As New ManageSales.ManageSalesOrderInClient        oQSale.ClientCredentials.UserName.UserName = "XXXXXXXXX"        oQSale.ClientCredentials.UserName.Password = "XXXXXX"        oQSale.Open()        Dim oreadsync As New ManageSales.SalesOrderMaintainRequestBundleMessage_sync        Dim salesOrder As New ManageSales.SalesOrderMaintainRequest        salesOrder.itemListCompleteTransmissionIndicator = True        salesOrder.itemListCompleteTransmissionIndicatorSpecified = True        salesOrder.businessTransactionDocumentReferenceListCompleteTransmissionIndicator = True        salesOrder.businessTransactionDocumentReferenceListCompleteTransmissionIndicatorSpecified = True        salesOrder.actionCode = ManageSales.ActionCode.Item01        salesOrder.ReleaseAllItemsToExecution = True        salesOrder.ReleaseAllItemsToExecutionSpecified = True        salesOrder.FinishFulfilmentProcessingOfAllItems = True        salesOrder.FinishFulfilmentProcessingOfAllItemsSpecified = True        'Sales and Service Business Area        Dim ssbusinessArea As New ManageSales.SalesOrderMaintainRequestSalesAndServiceBusinessArea        Dim distributionchannelcode As New ManageSales.DistributionChannelCode        distributionchannelcode.Value = "Z1"        ssbusinessArea.DistributionChannelCode = distributionchannelcode        salesOrder.SalesAndServiceBusinessArea = ssbusinessArea        'Sales unit Party        Dim salesunitparty As New ManageSales.SalesOrderMaintainRequestPartyIDParty        Dim salepartyId As New ManageSales.PartyID        salepartyId.Value = "102"        salesunitparty.PartyID = salepartyId        salesOrder.SalesUnitParty = salesunitparty        'Account Party        Dim accountparty As New ManageSales.SalesOrderMaintainRequestPartyParty        Dim accountpartyId As New ManageSales.PartyID        accountpartyId.Value = customer.SAPInternalId        accountparty.PartyID = accountpartyId        salesOrder.AccountParty = accountparty        'Employee Responsible Party        Dim empResponsible As New ManageSales.SalesOrderMaintainRequestPartyIDParty        Dim empPartyId As New ManageSales.PartyID        empPartyId.Value = "112"        empResponsible.PartyID = empPartyId        salesOrder.EmployeeResponsibleParty = empResponsible        'Bill to party        Dim billtoparty As New ManageSales.SalesOrderMaintainRequestPartyParty        billtoparty.actionCode = ManageSales.ActionCode.Item04        billtoparty.actionCodeSpecified = True        Dim billtopartyId As New ManageSales.PartyID        billtopartyId.Value = customer.SAPInternalId        billtoparty.PartyID = billtopartyId        'Bill to party address        Dim billaddress As New ManageSales.SalesOrderMaintainRequestPartyAddress        'Bill address email        Dim bemail As New ManageSales.SalesOrderMaintainRequestPartyAddressEmail        Dim bemailuri As New ManageSales.EmailURI        bemailuri.Value = order.EmailAddress        bemail.URI = bemailuri        Dim bemaillist = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressEmail)        bemaillist.Add(bemail)        billaddress.Email = bemaillist.ToArray        'Bill address postal address        Dim bpostaaddress As New ManageSales.SalesOrderMaintainRequestPartyAddressPostalAddress        bpostaaddress.CountryCode = GetCountryCode(order.BillingCountry)        bpostaaddress.DistrictName = order.BillingLine2        bpostaaddress.CityName = order.BillingCity        bpostaaddress.StreetPostalCode = order.BillingPostcode        bpostaaddress.StreetPrefixName = order.BillingCompanyName        bpostaaddress.StreetName = order.BillingLine1        bpostaaddress.HouseID = order.BillingAddress        Dim bpostaladdressList = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressPostalAddress)        bpostaladdressList.Add(bpostaaddress)        billaddress.PostalAddress = bpostaladdressList.ToArray        'Bill address telephone        Dim btelephone As New ManageSales.SalesOrderMaintainRequestPartyAddressTelephone        btelephone.FormattedNumberDescription = order.PhoneNumber        Dim btelephonelist = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressTelephone)        btelephonelist.Add(btelephone)        billaddress.Telephone = btelephonelist.ToArray        billtoparty.Address = billaddress        salesOrder.BillToParty = billtoparty        'recipient party        Dim recipientparty As New ManageSales.SalesOrderMaintainRequestPartyParty        recipientparty.actionCode = ManageSales.ActionCode.Item04        recipientparty.actionCodeSpecified = True        Dim recipientpartyId As New ManageSales.PartyID        recipientpartyId.Value = customer.SAPInternalId        recipientparty.PartyID = recipientpartyId        'Bill to party address        Dim deliveryaddress As New ManageSales.SalesOrderMaintainRequestPartyAddress        'Bill address email        Dim demail As New ManageSales.SalesOrderMaintainRequestPartyAddressEmail        Dim demailuri As New ManageSales.EmailURI        demailuri.Value = order.EmailAddress        demail.URI = demailuri        Dim demaillist = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressEmail)        demaillist.Add(demail)        deliveryaddress.Email = demaillist.ToArray        'Bill address postal address        Dim dpostaaddress As New ManageSales.SalesOrderMaintainRequestPartyAddressPostalAddress        dpostaaddress.CountryCode = GetCountryCode(order.DeliveryCountry)        dpostaaddress.DistrictName = order.DeliveryLine2        dpostaaddress.CityName = order.DeliveryCity        dpostaaddress.StreetPostalCode = order.DeliveryPostcode        dpostaaddress.StreetPrefixName = order.DeliveryCompanyName        dpostaaddress.StreetName = order.DeliveryLine1        dpostaaddress.HouseID = order.DeliveryAddress        Dim dpostaladdressList = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressPostalAddress)        dpostaladdressList.Add(dpostaaddress)        deliveryaddress.PostalAddress = dpostaladdressList.ToArray        'Bill address telephone        Dim dtelephone As New ManageSales.SalesOrderMaintainRequestPartyAddressTelephone        dtelephone.FormattedNumberDescription = order.PhoneNumber        Dim dtelephonelist = New List(Of ManageSales.SalesOrderMaintainRequestPartyAddressTelephone)        dtelephonelist.Add(dtelephone)        deliveryaddress.Telephone = dtelephonelist.ToArray        recipientparty.Address = deliveryaddress        salesOrder.ProductRecipientParty = recipientparty        'Product Items        Dim itemList = New List(Of ManageSales.SalesOrderMaintainRequestItem)        Dim pitems As BusinessObjects.OrderItemListItemCollection = order.OrderItems        Dim pitem As BusinessObjects.OrderItemListItem        For Each pitem In pitems            Dim item As New ManageSales.SalesOrderMaintainRequestItem            item.itemScheduleLineListCompleteTransmissionIndicator = True            item.itemScheduleLineListCompleteTransmissionIndicatorSpecified = True            'Item Product Internal Id            Dim itemproduct As New ManageSales.SalesOrderMaintainRequestItemProduct            Dim itemProductId As New ManageSales.ProductInternalID            itemProductId.Value = pitem.ProductItemCode            itemproduct.ProductInternalID = itemProductId            item.ItemProduct = itemproduct            'Item Schedule Line            Dim itemScheduleLine As New ManageSales.SalesOrderMaintainRequestItemScheduleLine            Dim itemQty As New ManageSales.Quantity            itemQty.unitCode = "EA"            itemQty.Value = pitem.OrderItemQuantity            itemScheduleLine.Quantity = itemQty          Dim schedulelinelist = New List(Of ManageSales.SalesOrderMaintainRequestItemScheduleLine)            schedulelinelist.Add(itemScheduleLine)            item.ItemScheduleLine = schedulelinelist.ToArray            'Alteration text            If Trim(pitem.OrderItemOptions) <> "" Then                alterationCount = alterationCount + 1                Dim textcollection As New ManageSales.SalesOrderMaintainRequestTextCollection                Dim textcollectiontext As New ManageSales.SalesOrderMaintainRequestTextCollectionText                Dim texttypecode As New ManageSales.TextCollectionTextTypeCode                texttypecode.Value = "10024"                textcollectiontext.TypeCode = texttypecode                textcollectiontext.ContentText = Trim(pitem.OrderItemOptions)                Dim textlist = New List(Of ManageSales.SalesOrderMaintainRequestTextCollectionText)                textlist.Add(textcollectiontext)                textcollection.Text = textlist.ToArray                item.ItemTextCollection = textcollection            End If            itemList.Add(item)        Next        'Payment Control        Dim paymentControl As New ManageSales.SalesOrderMaintainRequestPaymentControl        paymentControl.creditCardPaymentListCompleteTransmissionIndicator = True        paymentControl.creditCardPaymentListCompleteTransmissionIndicatorSpecified = True        paymentControl.ResponsibleEmployeeID = "112"        paymentControl.PaymentFormCode = "05"        paymentControl.SinglePaymentIndicator = True        paymentControl.SinglePaymentIndicatorSpecified = True        Dim paymentnote As New ManageSales.MEDIUM_Note        paymentnote.Value = "Transaction No.: " & order.ProtxVendorTxCode        paymentControl.Note = paymentnote        salesOrder.PaymentControl = paymentControl        'Text Collection        Dim orderTextCollection As New ManageSales.SalesOrderMaintainRequestTextCollection        Dim orderTextCollectionText As New ManageSales.SalesOrderMaintainRequestTextCollectionText        Dim oTextTypecode As New ManageSales.TextCollectionTextTypeCode        oTextTypecode.Value = "10011"        orderTextCollectionText.TypeCode = oTextTypecode        orderTextCollectionText.ContentText = "Transaction No.: " & order.ProtxVendorTxCode & ", Amount Paid: GBP " & FormatNumber(order.TotalOrderValue, 2)        Dim otcTextList = New List(Of ManageSales.SalesOrderMaintainRequestTextCollectionText)        otcTextList.Add(orderTextCollectionText)        orderTextCollection.Text = otcTextList.ToArray        salesOrder.TextCollection = orderTextCollection        Dim salesOrderlist = New List(Of ManageSales.SalesOrderMaintainRequest)        salesOrderlist.Add(salesOrder)        oreadsync.SalesOrder = salesOrderlist.ToArray        Dim resp = oQSale.MaintainBundle(oreadsync)        If Not IsNothing(resp) Then            If Not IsNothing(resp.SalesOrder) Then                Trace.Write("Internal Id", resp.SalesOrder(0).ID.Value)                Trace.Write("UUID", resp.SalesOrder(0).UUID.Value)            End If            If Not IsNothing(resp.Log) Then                If Not IsNothing(resp.Log.Item.First) Then                    If Not IsNothing(resp.Log.Item.First.Note) Then                        Trace.Write("note", resp.Log.Item.First.Note.ToString)                    End If                End If            End If        End If        oQSale.Close()

Any help is appriciated!


Viewing all articles
Browse latest Browse all 5008

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>