通过程序将Attchemnt添加到设备时出错

2020-08-15 16:46发布

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

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


大家好,

我有要求在哪里尝试通过屏幕(对话程序)为设备创建附件。

在F4上,选择所需的文件,

模块upload_File。

  通话功能'F4_FILENAME'
  出口
  PROGRAM_NAME = SYST-CPROG
  DYNPRO_NUMBER = SYST-DYNNR
 * FIELD_NAME =''
  输入
  FILE_NAME = RLGRAP-FILENAME。

 ENDMODULE。

直到这里都没有问题。

当用户选择"更新"按钮时,我试图将图像附加到上面输入的相应设备上。

我为此在PAI模块中编写了如下代码。

 *从此处插入附件**********************************************  ****

 ws_borident-objkey = v_equi-equnr。
 ws_borident-objtype ='EXT'。  "对象类型
 ws_borident-objtype ='BUS2032'。  "公交车号


 */文件名分配给结构
 ws_files-fname = RLGRAP-FILENAME。  "路径
 将ws_files附加到wt_files。



 */文件夹根
 通话功能'SO_FOLDER_ROOT_ID_GET'
 出口
   地区='B'
 输入
   folder_id = folder_id
 例外情况
   其他= 1。



 */将数据追加到MOM结构
   w_document-foltp = folder_id-objtp。
   w_document-folyr = folder_id-objyr。
   w_document-folno = folder_id-objno。
   w_document-objdes = RLGRAP-FILENAME。  "文件名
   w_document-objnam = RLGRAP-FILENAME。  "文件名


 */附件文件名分配
  w_h_data-objdes = RLGRAP-FILENAME。



 */使用此功能模块从演示服务器读取文件
 通话功能" SO_DOCUMENT_REPOSITORY_MANAGER"
 出口
    方法='IMPORTFROMPC'
    ref_document = w_document
 桌子
     文件= wt_files
 改变
     document = w_document
     header_data = w_h_data
     folmem_data = w_fol_data
    receive_data = w_rec_data。



 */文件创建OkCodes
  如果w_document-okcode ='CREA'或w_document-okcode ='CHNG'。
     w_attachement-objtype ='MESSAGE'。
     w_attachement-objkey = w_document(34)。

         通话功能" BINARY_RELATION_CREATE_COMMIT"
              出口
                 obj_rolea = ws_borident
                 obj_roleb = w_attachement
                 关系类型='ATTA'
              例外情况
                 no_model = 1
                 internal_error = 2
                 未知= 3
                 其他= 4。


               如果sy-subrc <> 0。

                  消息ID sy-msgid类型sy-msgty编号sy-msgno
                          与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

               万一。



  万一。
 

我在创建文档时收到消息,但是图像未附加到设备上。

我遍历了一些线程并找到了这段代码,但就我而言,它无法正常工作。

我可以知道我要去哪里了。

先谢谢了。

f1.jpg (10.8 kB)

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

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


大家好,

我有要求在哪里尝试通过屏幕(对话程序)为设备创建附件。

在F4上,选择所需的文件,

模块upload_File。

  通话功能'F4_FILENAME'
  出口
  PROGRAM_NAME = SYST-CPROG
  DYNPRO_NUMBER = SYST-DYNNR
 * FIELD_NAME =''
  输入
  FILE_NAME = RLGRAP-FILENAME。

 ENDMODULE。

直到这里都没有问题。

当用户选择"更新"按钮时,我试图将图像附加到上面输入的相应设备上。

我为此在PAI模块中编写了如下代码。

 *从此处插入附件**********************************************  ****

 ws_borident-objkey = v_equi-equnr。
 ws_borident-objtype ='EXT'。  "对象类型
 ws_borident-objtype ='BUS2032'。  "公交车号


 */文件名分配给结构
 ws_files-fname = RLGRAP-FILENAME。  "路径
 将ws_files附加到wt_files。



 */文件夹根
 通话功能'SO_FOLDER_ROOT_ID_GET'
 出口
   地区='B'
 输入
   folder_id = folder_id
 例外情况
   其他= 1。



 */将数据追加到MOM结构
   w_document-foltp = folder_id-objtp。
   w_document-folyr = folder_id-objyr。
   w_document-folno = folder_id-objno。
   w_document-objdes = RLGRAP-FILENAME。  "文件名
   w_document-objnam = RLGRAP-FILENAME。  "文件名


 */附件文件名分配
  w_h_data-objdes = RLGRAP-FILENAME。



 */使用此功能模块从演示服务器读取文件
 通话功能" SO_DOCUMENT_REPOSITORY_MANAGER"
 出口
    方法='IMPORTFROMPC'
    ref_document = w_document
 桌子
     文件= wt_files
 改变
     document = w_document
     header_data = w_h_data
     folmem_data = w_fol_data
    receive_data = w_rec_data。



 */文件创建OkCodes
  如果w_document-okcode ='CREA'或w_document-okcode ='CHNG'。
     w_attachement-objtype ='MESSAGE'。
     w_attachement-objkey = w_document(34)。

         通话功能" BINARY_RELATION_CREATE_COMMIT"
              出口
                 obj_rolea = ws_borident
                 obj_roleb = w_attachement
                 关系类型='ATTA'
              例外情况
                 no_model = 1
                 internal_error = 2
                 未知= 3
                 其他= 4。


               如果sy-subrc <> 0。

                  消息ID sy-msgid类型sy-msgty编号sy-msgno
                          与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

               万一。



  万一。
 

我在创建文档时收到消息,但是图像未附加到设备上。

我遍历了一些线程并找到了这段代码,但就我而言,它无法正常工作。

我可以知道我要去哪里了。

先谢谢了。

f1.jpg (10.8 kB)
付费偷看设置
发送
2条回答
Alawn_Xu
1楼 · 2020-08-15 17:37.采纳回答

大家好,

下定决心。

我犯了个小错误。

在代码开始时,将objtype更改为EQUI,现在可以正常工作了。再次感谢所有。

 ws_borident-objtype ='EQUI'。

 
代楠1984
2楼-- · 2020-08-15 17:32

有关信息,SAP仅释放BINARY_RELATION_CREATE(在SAP库中记录),而不释放BINARY_RELATION_CREATE_COMMIT。 使用已发布的功能模块非常容易,因为后者只是对前者+ COMMIT WORK的调用。 但是,即使BINARY_RELATION_CREATE已过时,SAP也建议迁移到CL_BINARY_RELATION => CREATE_LINK。

一周热门 更多>