cmd_ei_api => maintain_bapi与sales_data-合作伙伴角色问题

2020-08-14 17:43发布

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

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


你好,

使用cmd_ei_api => maintain_bapi创建客户时出现错误。 这是我的代码块;

数据:znetth_demostudent的lt_students类型表
                      带标题行。
   数据:TYPE线znetth_demopayment_transaction。
   数据:ls_kna1,类似于kna1。
   数据:i_insert类型cmd_ei_object_task值'I'。
   数据:ls_customers TYPE cmds_ei_extern,
          lt_company TYPE cmds_ei_company_t,
          ls_sales_data TYPE cmds_ei_sales,
          ls_company TYPE cmds_ei_company,
          ls_masterdata类型cmds_ei_main,
          lt_sales_data TYPE cmds_ei_sales_t,
          lt_customers TYPE cmds_ei_extern_t,
          ls_master_data_correct TYPE cmds_ei_main,
          ls_message_correct TYPE cvis_message,
          ls_master_data_defective TYPE cmds_ei_main,
          ls_message_defective TYPE cvis_message,
          ls_mail类型cvis_ei_smtp_str,
          lt_mail类型cvis_ei_smtp_t,
          ls_mail_main TYPE cvis_ei_cvi_smtp,
          ls_phone_main TYPE cvis_ei_cvi_phone,
          ls_phone TYPE cvis_ei_phone_str,
          lt_phone TYPE cvis_ei_phone_t,
          ls_fax_main TYPE cvis_ei_cvi_fax,
          ls_fax TYPE cvis_ei_fax_str,
          lt_fax TYPE cvis_ei_fax_t,
          lt_contacts TYPE cmds_ei_contacts_t,
          ls_contacts TYPE cmds_ei_contacts,
          lt_message TYPE bapiret2_t,
          ls_functions TYPE cmds_ei_functions,
          lt_functions TYPE cmds_ei_functions_t,
          lt_functionsmuh TYPE cmds_ei_functions_t,
          lt_vergi TYPE cmds_ei_tax_ind_t,
          ls_vergi TYPE cmds_ei_tax_ind。
   数据错误TYPE cvis_message。
 *常量:c_update类型c值'M',c_insert类型c值'I'。

   刷新lt_students。
   在lt_payment_transaction INTO行上环行。
     选择单*从kna1
                     INTO ls_kna1
                     其中stcd2 = line-student-tckn。
     如果sy-subrc <> 0。
       lt_students =线型学生。
       附加lt_students。
     万一。
   结局。
   排序lt_students按tckn升序。
   从与tckn比较的lt_students中删除相邻的重复项。

   面向lt_students。
     ls_customers-header-object_task = i_insert。
     ls_customers-header-object_instance-kunnr =''。
     ls_customers-central_data-central-data-ktokd ='YOGR'。
     ls_customers-central_data-central-datax-ktokd ='X'。
     ls_customers-central_data-address-task = i_insert。
     ls_customers-central_data-address-postal-data-from_date = sy-data。
     ls_customers-central_data-address-postal-data-to_date ='99991231'。
     ls_customers-central_data-address-postal-data-country ='TR'。
     ls_customers-central_data-address-postal-data-langu ='T'。
     ls_customers-central_data-address-postal-data-region =
                                        lt_students-city_code。
     ls_customers-central_data-address-postal-data-district =
                                        lt_students-district。
     ls_customers-central_data-address-postal-data-name =
                                 lt_students-full_name。
     ls_customers-central_data-address-postal-data-name_3 =
                                               lt_students-address。


     ls_customers-central_data-address-postal-datax-from_date ='X'。
     ls_customers-central_data-address-postal-datax-to_date ='X'。
     ls_customers-central_data-address-postal-datax-country ='X'。
     ls_customers-central_data-address-postal-datax-langu ='X'。
     ls_customers-central_data-address-postal-datax-region ='X'。
     ls_customers-central_data-address-postal-datax-district ='X'。
     ls_customers-central_data-address-postal-datax-name ='X'。
     ls_customers-central_data-address-postal-datax-name_3 ='X'。

     如果lt_students-parent1不是INITIAL。
       ls_contacts-task = i_insert。
       ls_contacts-address_type_3-postal-data-firstname =
                                 lt_students-parent1-name。
       ls_contacts-address_type_3-postal-data-lastname =
                                       lt_students-parent1-surname。
       ls_contacts-address_type_3-postal-datax-firstname ='X'。
       ls_contacts-address_type_3-postal-datax-lastname ='X'。
       APPEND ls_contacts至lt_contacts。
     万一。



     如果lt_students-parent2不是INITIAL。
       ls_contacts-task = i_insert。
       ls_contacts-address_type_3-postal-data-firstname =
                                 lt_students-parent2-name。
       ls_contacts-address_type_3-postal-data-lastname =
                                lt_students-parent2-surname。
       ls_contacts-address_type_3-postal-datax-firstname ='X'。
       ls_contacts-address_type_3-postal-datax-lastname ='X'。
       APPEND ls_contacts至lt_contacts。
     万一。



     ls_vergi-task = i_insert。
     ls_vergi-data_key-aland ='TR'。
     ls_vergi-data_key-tatyp ='MWST'。
     ls_vergi-data-taxkd ='1'。
     ls_vergi-datax-taxkd ='X'。
     附加ls_vergi至lt_vergi。

     ls_sales_data-task = i_insert。
     ls_sales_data-data_key-vkorg ='1000'。
     ls_sales_data-data_key-vtweg ='10'。
     ls_sales_data-data_key-spart ='10'。
     ls_sales_data-data-waers ='TRY'。
     ls_sales_data-data-vkbur ='9999'。
     ls_sales_data-data-kvgr1 = lt_students-school_code。
     ls_sales_data-data-kvgr2 = lt_students-class。
     ls_sales_data-data-kalks ='2'。
     ls_sales_data-data-versg ='1'。
     ls_sales_data-data-zterm ='0000'。
     ls_sales_data-data-ktgrd ='01'。
     ls_sales_data-data-vwerk ='1000'。
     ls_sales_data-data-mrnkz ='X'。
     ls_sales_data-data-bokre ='X'。
     ls_sales_data-data-prfre ='X'。

     ls_sales_data-datax-waers ='X'。
     ls_sales_data-datax-vkbur ='X'。
     ls_sales_data-datax-kvgr1 ='X'。
     ls_sales_data-datax-kvgr2 ='X'。
     ls_sales_data-datax-kalks ='X'。
     ls_sales_data-datax-versg ='X'。
     ls_sales_data-datax-zterm ='X'。
     ls_sales_data-datax-ktgrd ='X'。
     ls_sales_data-datax-vwerk ='X'。
     ls_sales_data-datax-mrnkz ='X'。
     ls_sales_data-datax-bokre ='X'。
     ls_sales_data-datax-prfre ='X'。


     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='AG'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='RE'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='RG'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='WE'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     lt_functionsmuh [] = lt_functions []。
     ls_sales_data-functions-functions = lt_functionsmuh。


     ls_company-task = i_insert。
     ls_company-data_key-bukrs ='1000'。
     ls_company-data-akont ='0012010200'。
     ls_company-data-fdgrv ='MYOGR'。
     ls_company-data-zterm ='0000'。
     ls_company-datax-akont ='X'。
     ls_company-datax-zterm ='X'。
     ls_company-datax-fdgrv ='X'。

     ls_customers-central_data-address-communication-smtp = ls_mail_main。
     ls_customers-central_data-address-communication-phone = ls_phone_main。
     ls_customers-central_data-address-communication-fax = ls_fax_main。
     ls_customers-central_data-tax_ind-tax_ind = lt_vergi。
     APPEND ls_company至lt_company。
     APPEND ls_sales_data至lt_sales_data。


     ls_customers-sales_data-sales = lt_sales_data。
     ls_customers-central_data-contact-contacts = lt_contacts。
     ls_customers-company_data-company = lt_company。
     APPEND ls_customers至lt_customers。

     ls_masterdata-customers = lt_customers。
     中断xuser-abap。

     cmd_ei_api => maintain_bapi(
         出口
         iv_collect_messages ='X'
         is_master_data = ls_masterdata
         输入
         es_master_data_correct = ls_master_data_correct
         es_message_correct = ls_message_correct
         es_master_data_defective = ls_master_data_defective
         es_message_defective = ls_message_defective)。


     如果ls_message_defective-is_error为INITIAL。
       提交工作并等待。
     万一。
   ENDLOOP。

我遇到了这些错误;

错误的英语含义=> cmd_ei_api维护方法错误knvp-kunn2 -lifnr -pernr -parnr合理性。

有人对这个问题有想法吗? 请让我在我错的地方。

(32.0 kB)

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

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


你好,

使用cmd_ei_api => maintain_bapi创建客户时出现错误。 这是我的代码块;

数据:znetth_demostudent的lt_students类型表
                      带标题行。
   数据:TYPE线znetth_demopayment_transaction。
   数据:ls_kna1,类似于kna1。
   数据:i_insert类型cmd_ei_object_task值'I'。
   数据:ls_customers TYPE cmds_ei_extern,
          lt_company TYPE cmds_ei_company_t,
          ls_sales_data TYPE cmds_ei_sales,
          ls_company TYPE cmds_ei_company,
          ls_masterdata类型cmds_ei_main,
          lt_sales_data TYPE cmds_ei_sales_t,
          lt_customers TYPE cmds_ei_extern_t,
          ls_master_data_correct TYPE cmds_ei_main,
          ls_message_correct TYPE cvis_message,
          ls_master_data_defective TYPE cmds_ei_main,
          ls_message_defective TYPE cvis_message,
          ls_mail类型cvis_ei_smtp_str,
          lt_mail类型cvis_ei_smtp_t,
          ls_mail_main TYPE cvis_ei_cvi_smtp,
          ls_phone_main TYPE cvis_ei_cvi_phone,
          ls_phone TYPE cvis_ei_phone_str,
          lt_phone TYPE cvis_ei_phone_t,
          ls_fax_main TYPE cvis_ei_cvi_fax,
          ls_fax TYPE cvis_ei_fax_str,
          lt_fax TYPE cvis_ei_fax_t,
          lt_contacts TYPE cmds_ei_contacts_t,
          ls_contacts TYPE cmds_ei_contacts,
          lt_message TYPE bapiret2_t,
          ls_functions TYPE cmds_ei_functions,
          lt_functions TYPE cmds_ei_functions_t,
          lt_functionsmuh TYPE cmds_ei_functions_t,
          lt_vergi TYPE cmds_ei_tax_ind_t,
          ls_vergi TYPE cmds_ei_tax_ind。
   数据错误TYPE cvis_message。
 *常量:c_update类型c值'M',c_insert类型c值'I'。

   刷新lt_students。
   在lt_payment_transaction INTO行上环行。
     选择单*从kna1
                     INTO ls_kna1
                     其中stcd2 = line-student-tckn。
     如果sy-subrc <> 0。
       lt_students =线型学生。
       附加lt_students。
     万一。
   结局。
   排序lt_students按tckn升序。
   从与tckn比较的lt_students中删除相邻的重复项。

   面向lt_students。
     ls_customers-header-object_task = i_insert。
     ls_customers-header-object_instance-kunnr =''。
     ls_customers-central_data-central-data-ktokd ='YOGR'。
     ls_customers-central_data-central-datax-ktokd ='X'。
     ls_customers-central_data-address-task = i_insert。
     ls_customers-central_data-address-postal-data-from_date = sy-data。
     ls_customers-central_data-address-postal-data-to_date ='99991231'。
     ls_customers-central_data-address-postal-data-country ='TR'。
     ls_customers-central_data-address-postal-data-langu ='T'。
     ls_customers-central_data-address-postal-data-region =
                                        lt_students-city_code。
     ls_customers-central_data-address-postal-data-district =
                                        lt_students-district。
     ls_customers-central_data-address-postal-data-name =
                                 lt_students-full_name。
     ls_customers-central_data-address-postal-data-name_3 =
                                               lt_students-address。


     ls_customers-central_data-address-postal-datax-from_date ='X'。
     ls_customers-central_data-address-postal-datax-to_date ='X'。
     ls_customers-central_data-address-postal-datax-country ='X'。
     ls_customers-central_data-address-postal-datax-langu ='X'。
     ls_customers-central_data-address-postal-datax-region ='X'。
     ls_customers-central_data-address-postal-datax-district ='X'。
     ls_customers-central_data-address-postal-datax-name ='X'。
     ls_customers-central_data-address-postal-datax-name_3 ='X'。

     如果lt_students-parent1不是INITIAL。
       ls_contacts-task = i_insert。
       ls_contacts-address_type_3-postal-data-firstname =
                                 lt_students-parent1-name。
       ls_contacts-address_type_3-postal-data-lastname =
                                       lt_students-parent1-surname。
       ls_contacts-address_type_3-postal-datax-firstname ='X'。
       ls_contacts-address_type_3-postal-datax-lastname ='X'。
       APPEND ls_contacts至lt_contacts。
     万一。



     如果lt_students-parent2不是INITIAL。
       ls_contacts-task = i_insert。
       ls_contacts-address_type_3-postal-data-firstname =
                                 lt_students-parent2-name。
       ls_contacts-address_type_3-postal-data-lastname =
                                lt_students-parent2-surname。
       ls_contacts-address_type_3-postal-datax-firstname ='X'。
       ls_contacts-address_type_3-postal-datax-lastname ='X'。
       APPEND ls_contacts至lt_contacts。
     万一。



     ls_vergi-task = i_insert。
     ls_vergi-data_key-aland ='TR'。
     ls_vergi-data_key-tatyp ='MWST'。
     ls_vergi-data-taxkd ='1'。
     ls_vergi-datax-taxkd ='X'。
     附加ls_vergi至lt_vergi。

     ls_sales_data-task = i_insert。
     ls_sales_data-data_key-vkorg ='1000'。
     ls_sales_data-data_key-vtweg ='10'。
     ls_sales_data-data_key-spart ='10'。
     ls_sales_data-data-waers ='TRY'。
     ls_sales_data-data-vkbur ='9999'。
     ls_sales_data-data-kvgr1 = lt_students-school_code。
     ls_sales_data-data-kvgr2 = lt_students-class。
     ls_sales_data-data-kalks ='2'。
     ls_sales_data-data-versg ='1'。
     ls_sales_data-data-zterm ='0000'。
     ls_sales_data-data-ktgrd ='01'。
     ls_sales_data-data-vwerk ='1000'。
     ls_sales_data-data-mrnkz ='X'。
     ls_sales_data-data-bokre ='X'。
     ls_sales_data-data-prfre ='X'。

     ls_sales_data-datax-waers ='X'。
     ls_sales_data-datax-vkbur ='X'。
     ls_sales_data-datax-kvgr1 ='X'。
     ls_sales_data-datax-kvgr2 ='X'。
     ls_sales_data-datax-kalks ='X'。
     ls_sales_data-datax-versg ='X'。
     ls_sales_data-datax-zterm ='X'。
     ls_sales_data-datax-ktgrd ='X'。
     ls_sales_data-datax-vwerk ='X'。
     ls_sales_data-datax-mrnkz ='X'。
     ls_sales_data-datax-bokre ='X'。
     ls_sales_data-datax-prfre ='X'。


     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='AG'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='RE'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='RG'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     ls_functions-task = i_insert。
     ls_functions-data_key-parvw ='WE'。
     ls_functions-data-partner = ls_customers-header-object_instance-kunnr。  "内部"
     将ls_functions附加到lt_functions。

     lt_functionsmuh [] = lt_functions []。
     ls_sales_data-functions-functions = lt_functionsmuh。


     ls_company-task = i_insert。
     ls_company-data_key-bukrs ='1000'。
     ls_company-data-akont ='0012010200'。
     ls_company-data-fdgrv ='MYOGR'。
     ls_company-data-zterm ='0000'。
     ls_company-datax-akont ='X'。
     ls_company-datax-zterm ='X'。
     ls_company-datax-fdgrv ='X'。

     ls_customers-central_data-address-communication-smtp = ls_mail_main。
     ls_customers-central_data-address-communication-phone = ls_phone_main。
     ls_customers-central_data-address-communication-fax = ls_fax_main。
     ls_customers-central_data-tax_ind-tax_ind = lt_vergi。
     APPEND ls_company至lt_company。
     APPEND ls_sales_data至lt_sales_data。


     ls_customers-sales_data-sales = lt_sales_data。
     ls_customers-central_data-contact-contacts = lt_contacts。
     ls_customers-company_data-company = lt_company。
     APPEND ls_customers至lt_customers。

     ls_masterdata-customers = lt_customers。
     中断xuser-abap。

     cmd_ei_api => maintain_bapi(
         出口
         iv_collect_messages ='X'
         is_master_data = ls_masterdata
         输入
         es_master_data_correct = ls_master_data_correct
         es_message_correct = ls_message_correct
         es_master_data_defective = ls_master_data_defective
         es_message_defective = ls_message_defective)。


     如果ls_message_defective-is_error为INITIAL。
       提交工作并等待。
     万一。
   ENDLOOP。

我遇到了这些错误;

错误的英语含义=> cmd_ei_api维护方法错误knvp-kunn2 -lifnr -pernr -parnr合理性。

有人对这个问题有想法吗? 请让我在我错的地方。

(32.0 kB)
付费偷看设置
发送
2条回答
N-Moskvin
1楼-- · 2020-08-14 18:05

下午好

您如何解决该问题?

小熊yu生菜
2楼-- · 2020-08-14 18:04

我用批输入更改了代码块。 但是现在我需要使用相同的api,并且遇到了同样的问题。

一周热门 更多>