• BAPI_INCOMINGINVOICE_CREATE进项税发票创建,RBKP自定义字段写入


    遇到一个通过BAPI_INCOMINGINVOICE_CREATE写入进项发票抬头自定义字段的需求.

    研究了一下源代码和表RBKP的结构,发现SAP提供了一种新的自定义字段写入逻辑.现做一下记录.

     函数是在form invoice_ext_fields_convert中进行的值转换.

       lr_header_bapi_ext TYPE REF TO mmiv_si_s_bapi_header_ext,
        lr_gl_acc_items    TYPE REF TO mmiv_si_t_bapi_glaccitm_ext,
        lr_gl_acc_item     TYPE REF TO mmiv_si_s_bapi_glaccitm_ext,
        lr_po_ref_items    TYPE REF TO mmiv_si_t_bapi_supipr_ext,
        lr_po_ref_item     TYPE REF TO mmiv_si_s_bapi_supipr_ext,

    抬头对应的增强结构是 mmiv_si_s_bapi_header_ext.

    该结构data字段的类型是MMIV_SI_S_HEADER_INCL_EEW_PS,是被包含在进项发票抬头表RBKP中的.

    在进行数据转换时用到了XML转换.

    用到了辅助类:CL_CFD_BAPI_MAPPING

    查看源代码发现,如果要想向抬头赋值,extensionin-structure应该是如下格式:MMIV_SI_S_BAPI_HEADER_EXT_+[0,1,2,3,4,5,6,7,8,9]{1,2},

    (+[0,1,2,3,4,5,6,7,8,9]{1,2},是指正则表达式,意思是至少存在一个MMIV_SI_S_BAPI_HEADER_EXT_及连接着的0-99的数字.

    且在extension中只能有一个符合条件的记录.结构名称只要符合要求即可,不需要真地建这么一个结构.

    下边将具体的步骤:

    1. 增强结构MMIV_SI_S_HEADER_INCL_EEW_PS,起到增强rbkp的目的,为了使用bapi,务必通过此方式增强rbkp表.
    2. 补充extension.
    3. 代码如下:
       
        DATA:lt_extensionin     TYPE TABLE OF bapiparex .
        DATA(lo_bapi_mapping) = cl_cfd_bapi_mapping=>get_instance( ).
        DATA lr_source TYPE REF TO mmiv_si_s_bapi_header_ext."必须用这个类型
        CREATE DATA lr_source.
        lr_source->*-data-xref1_hd  =  p_head-srcsys.
        lr_source->*-data-xref2_hd  =  p_head-srcdocno.
      
        TRY.
      
            CALL METHOD lo_bapi_mapping->map_to_bapiparex_single
              EXPORTING
                ir_source_structure = lr_source
              CHANGING
                ct_bapiparex        = lt_extensionin[].
          CATCH cx_cfd_bapi_mapping .
        ENDTRY.

      然后在调用bapi的时候将lt_extensionin[]赋值给extensionin.

  • 相关阅读:
    MP4文件格式
    ASP.net 学习路线(详细)
    H.264开源解码器评测
    H264编码 封装成MP4格式 视频流 RTP封包
    MP4介绍与基本AVC编码(x264)教程
    创建一个简单的WCF程序
    VUE 从零开始 学习笔记 一
    关于阿里云短信接口的使用
    对Ul下的li标签执行点击事件——如何获取你所点击的标签
    二逼程序员与苦逼程序员
  • 原文地址:https://www.cnblogs.com/weixiaopeng/p/BAPI_INCOMINGINVOICE_CREATE.html
Copyright © 2020-2023  润新知