我想使用DI API向OCRD/业务合作伙伴添加附件

2020-09-05 06:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在使用SAP B...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在使用SAP B1 DI API,无法在OCRD中输入附件。

我正在使用PHP COM输入数据,并且能够在ATC1和OACT上输入附件,但是我找不到在OCRD中访问的属性或方法供我输入。

 $ atc = $ this-> vCmp-> GetBusinessObject(221);
 if($ atc-> GetByKey($ o [24])!= true){
   $ atc-> Lines-> Add();
   $ filename_arr = explode('。',$ o [23]);
   $ atc->行-> FileName = $ filename_arr [0];
   $ atc-> Lines-> FileExtension = $ filename_arr [1];
   $ atc-> Lines-> SourcePath =" somepath";
   $ atc-> add();
   $ this-> oBP-> AttachmentEntry = $ o [24]; //<-不起作用
 } 

有人可以帮助我实现这一目标吗?

非常感谢

2条回答
nice_wp
2020-09-05 07:17
 if($ this-> oBP-> GetByKey($ o [0])== true){
           $ this-> oBP-> CardName = $ o [4];
           $ this-> oBP-> GroupCode = $ o [6];
           $ this-> oBP-> Phone1 = $ o [8];
           $ this-> oBP-> Fax = $ o [9];
           $ this-> oBP-> PayTermsGrpCode = $ o [10];

  如果($ o [1] =='NLA_LIVE'|| $ o [1] =='NLA_TEST'){
    如果($ o [24] && $ o [23]){
      $ atc = $ this-> vCmp-> GetBusinessObject(221);
      if($ atc-> GetByKey($ o [24])!= true){
 $ atc-> Lines-> Add();
 $ filename_arr = explode('。',$ o [23]);
 $ atc->行-> FileName = $ filename_arr [0];
         $ atc-> Lines-> FileExtension = $ filename_arr [1];
 $ atc-> Lines-> SourcePath =" \\\ SAP \ B1_SHR2 \ ATTACHMENTS \ RESALECERTS \\";
 $ absentry = $ atc-> Add();
 如果($ absentry == 0){
 $ this-> oBP-> AttachmentEntry =(int)$ o [24];
 }
      }
      $ atc = null;
     }
   }
 }
 

我已经在其上方初始化了业务合作伙伴对象,所有其他值都被保存。 但会在-> AttachmentEntry处出错。

我的过程是这样。 我先将文件通过FTP传输到服务器上,然后运行此脚本。 ATC1和OATC表已更新,我确认它们已写入文件附件(添加了AbsEntry和行)。 我实际上得到了之前的电话号码(我可以确认此电话号码/id AbsEntry已正确写入)。 然后,我尝试通过执行$ this-> oBP-> AttachmentEntry = absentry_number;

输入该数字(整数)。

但是在那之后,我收到一条错误消息,提示Unknown'AttachmentEntry',就像OCRD对象上根本没有使用该名称的方法或属性一样。

完成所有这些操作后,oBP-> Update()的脚本位于末尾。

一周热门 更多>