如何使用BAPI_ACC_DOCUMENT_POST发布FB41条目

2020-09-09 07:15发布

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

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

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


大家好,

如何使用BAPI_ACC_DOCUMENT_POST发布FB41条目。

Rgds

阿努莎

2条回答
当学会了学习
2020-09-09 07:58

您好

下面是示例代码,供您参考,以供您注释。

 数据:gl_acc喜欢bapiacgl09发生了带标题行的0,
       ap_acc像bapiacap09一样,在标题行中出现了0,
       返回带有标题行的LIKE bapiret2 OCCURS 0,
       amt_in_cur像bapiaccr09一样,以标头行出现0,
       headerinfo喜欢bapiache09发生了HEADER LINE出现的0,
       tax_acc喜欢bapiactx09发生了0个标题行,
       obj_type像bapiache09-obj_type,
       obj_key像bapiache09-obj_key,
       obj_sys像bapiache09-obj_sys,
       pstng_date LIKE headerinfo-pstng_date,
       doc_date LIKE headerinfo-doc_date,
       计数器TYPE I VALUE 0,
       gv_vendor(10)C型,
       gv_gl_acc(10)类型c。

 环在excel_source。
 *表格的第一行朝向标题,因此请勿执行任何操作
   如果excelayout是INITIAL。
     将excel_source移动到excelayout。
     将excelayout转换为大写。
     继续。
   万一。
   输出= excel_source。

   清除:obj_type,obj_sys,obj_key,pstng_date,doc_date,gv_vendor,gv_gl_acc。
 *以正确的格式设置日期
   合并excel_source-col_c + 6(4)excel_source-col_c(2)excel_source-col_c + 3(2)加入pstng_date。

   合并excel_source-col_b + 6(4)excel_source-col_b(2)excel_source-col_b + 3(2)输入doc_date。

 *填充零,非常重要,否则将丢失一堆东西
   通话功能" CONVERSION_EXIT_ALPHA_INPUT"
     出口
       输入= excel_source-col_e
     输入
       输出= gv_vendor。

   通话功能" CONVERSION_EXIT_ALPHA_INPUT"
     出口
       输入= excel_source-col_j
     输入
       输出= gv_gl_acc。

 *标头
   刷新headerinfo。
   headerinfo-bus_act ='RFBU'。
   headerinfo-用户名= sy-uname。
   headerinfo-header_txt = excel_source-col_h。 发票文字
   headerinfo-comp_code = excel_source-col_a。 公司代码
   headerinfo-doc_date = doc_date。  " 发票日期
   headerinfo-pstng_date = pstng_date。  " 发布日期
   headerinfo-doc_type ='KR'。  "退货单...?
   headerinfo-ref_doc_no = excel_source-col_d。  " 发票号码
   APPEND标头信息。
 *总帐帐户
   刷新gl_acc。
   gl_acc-itemno_acc ='1'。
   gl_acc-gl_account = gv_gl_acc。  "总帐帐户
   gl_acc-item_text = excel_source-col_o。  "订单项文字
   gl_acc-doc_type ='KR'。  "退货单...?
   gl_acc-comp_code = excel_source-col_a。 公司代码
   gl_acc-pstng_date = pstng_date。  " 发布日期
   gl_acc-vendor_no = gv_vendor。  " 供应商编号
   gl_acc-costcenter = excel_source-col_k。  " 成本中心
   gl_acc-wbs_element = excel_source-col_q。  WBS元素
   " gl_acc-tax_code = excel_source-col_m。"税代码
   gl_acc-network = excel_source-col_p。 内部订单
   conv_s_amt = excel_source-col_f。 发票金额
   用conv_s_amt替换','的所有匹配项。
   如果conv_s_amt <0。
     gl_acc-de_cre_ind ='H'。 高信用
     conv_s_amt =-conv_s_amt。
   其他。
     gl_acc-de_cre_ind ='S'。 借记卡
   万一。
   CONDENSE conv_s_amt。
   APPEND gl_acc。
 * AP帐户
   刷新ap_acc。
   ap_acc-itemno_acc ='2'。  " 发票号码
   ap_acc-vendor_no = gv_vendor。  " 供应商编号
   ap_acc-comp_code = excel_source-col_a。 公司代码
   ap_acc-item_text = excel_source-col_o。  "订单项文字
   APPEND ap_acc。
 *货币
   刷新amt_in_cur。
   amt_in_cur-itemno_acc ='1'。  " 发票号码
   amt_in_cur-curr_type ='00'。
   amt_in_cur-currency = excel_source-col_g。 货币
   amt_in_cur-amt_doccur = conv_s_amt。  "订单项金额
   APPEND amt_in_cur。
   amt_in_cur-itemno_acc ='2'。  " 发票号码
   amt_in_cur-curr_type ='00'。
   amt_in_cur-currency = excel_source-col_g。 货币
   amt_in_cur-amt_doccur = conv_s_amt * -1。  "订单项金额
   APPEND amt_in_cur。
   刷新返回。
 *将过帐到总帐帐户和应付帐
   通话功能'BAPI_ACC_DOCUMENT_POST'
     出口
       documentheader = headerinfo
     输入
       obj_type = obj_type
       obj_key = obj_key
       obj_sys = obj_sys
     桌子
       accountgl = gl_acc
       currencyamount = amt_in_cur
       应付款= ap_acc
       return =返回。
   通话功能'BAPI_TRANSACTION_COMMIT'
     出口
       等待='X'。
 *检查是否有错误
   计数器= 0。
   LOOP AT返回。
     IF return-type ='E'。
       输出代码='E'。
       error_count = error_count + 1。
     其他。
       输出代码='S'。
     万一。
     计数器=计数器+ 1。
     如果计数器= 1。
       output-mesg1 =返回消息。
     其他。
       如果计数器= 2。
         output-mesg2 =返回消息。
       万一。
     万一。
   结局。
   APPEND输出。
   cur_line = cur_line +1。
 ENDLOOP。

一周热门 更多>