首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAP Business One -添加BP (DI错误:(-5002) )

SAP Business One -添加BP (DI错误:(-5002) )
EN

Stack Overflow用户
提问于 2021-01-23 05:02:35
回答 1查看 418关注 0票数 0

我正在尝试将新地址添加到BP中。如果在BP中注册了地址,则一切正常,但现在如果是新地址,则返回错误-5002 -错误更新BP: OCRD.State2,‘链接值’SP‘不存在’

我使用SAP Business 10 (10.00.140) FP 2011进行测试

代码语言:javascript
复制
if (oBP.GetByKey(CardCode))
{
    oBP.Addresses.SetCurrentLine(oBP.Addresses.Count - 1);
    if (!string.IsNullOrEmpty(oBP.Addresses.AddressName))
    {
        oBP.Addresses.Add();
    }
    UF = json.data.endereco_uf;
    if (UF.Length > 2)
    {
        UF = "";
    }
    oBP.Addresses.SetCurrentLine(oBP.Addresses.Count - 1);
    oBP.Addresses.AddressName = "Novo 1";
    oBP.Addresses.AddressType = BoAddressType.bo_ShipTo;
    oBP.Addresses.Street = json.data.endereco_logradouro;
    oBP.Addresses.Block = json.data.endereco_bairro;
    oBP.Addresses.ZipCode = json.data.endereco_cep;
    oBP.Addresses.City = json.data.endereco_municipio;
    oBP.Addresses.State = UF;
    oBP.Addresses.County = county;
    oBP.Addresses.StreetNo = json.data.endereco_numero;
    oBP.Addresses.BuildingFloorRoom = json.data.endereco_complemento;
    oBP.Addresses.Add();


    oBP.Addresses.SetCurrentLine(oBP.Addresses.Count - 1);
    oBP.Addresses.AddressName = "Novo 2";
    oBP.Addresses.AddressType = BoAddressType.bo_BillTo;
    oBP.Addresses.Street = json.data.endereco_logradouro;
    oBP.Addresses.Block = json.data.endereco_bairro;
    oBP.Addresses.ZipCode = json.data.endereco_cep;
    oBP.Addresses.City = json.data.endereco_municipio;
    oBP.Addresses.State = UF;
    oBP.Addresses.County = county;
    oBP.Addresses.StreetNo = json.data.endereco_numero;
    oBP.Addresses.BuildingFloorRoom = json.data.endereco_complemento;
    oBP.Addresses.Add();
 
    int iRetVal = oBP.Update();
    if (iRetVal != 0)
    {
    Program.oApplication.StatusBar.SetText("Error updating BP: " + Program.oCompany.GetLastErrorDescription(), BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
    return false;
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-26 19:49:51

SAP帮助我解决了这个问题。答案如下。

我尝试在DemoUK (GB本地化)数据库中重现此问题,并且也能够重现。

调查后发现,您无法链接特定国家不存在的州。

在您的示例中,系统会抛出错误,因为数据是基于以下查询进行验证的:

代码语言:javascript
复制
SELECT* FROM OCST WHERE  "Code" = 'SP' and "Country" = ''

同样,如果我尝试将State设置为'Arizona‘并将Country设置为’Arizona‘,它会给出同样的错误,因为正确的'Country’值应该是'USA‘。

因此,要解决此问题,您需要选择不执行以下操作之一:

  1. 还在DI代码中设置了Country属性(州应该属于您尝试设置的国家):

代码语言:javascript
复制
oBP.Addresses.Country = "GB"

  1. 从DI代码中删除状态属性:

代码语言:javascript
复制
oBP.Addresses.State = "SP"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65852728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档