SAP BILLING_SCHEDULE_SAVE

这段代码展示了如何在VF11交易代码中调用函数模块BILLING_SCHEDULE_READ和BILLING_SCHEDULE_SAVE来实现对销售订单发票计划行的冻结操作。通过读取并更新内表,将冻结状态设置为02,并进行数据保存,确保在冲销过程中正确处理相关数据。
摘要由CSDN通过智能技术生成

使用VF11冲销时,将对应销售订单的出具发票计划行打上冻结标记
使用FM:BILLING_SCHEDULE_SAVE实现

  if sy-tcode eq 'VF11'.
*    break hand-ccc.
    data: lt_vbrp type table of vbrp,
          ls_vbrp type vbrp.

    data: lt_fpla_new type table of fplavb,
          ls_fpla_new type fplavb.
    data: lt_fpla_old type table of fplavb,
          ls_fpla_old type fplavb.

    data: lt_fplt_new type table of fpltvb,
      ls_fplt_new type fpltvb.
    data: lt_fplt_old type table of fpltvb,
          ls_fplt_old type fpltvb.

    lt_vbrp[] = xvbrp[].
    clear ls_vbrp.
    loop at lt_vbrp into ls_vbrp.

      clear: lt_fpla_old,lt_fplt_old.
      clear: lt_fpla_new,lt_fplt_new.

      "调用FM读取发票对应的数据
      call function 'BILLING_SCHEDULE_READ'
        exporting
          fplnr    = ls_vbrp-fplnr
*         I_VFKDAT =
*         I_BFKDAT =
        tables
          zfpla    = lt_fpla_old
          zfplt    = lt_fplt_old.

      lt_fpla_new[] = lt_fpla_old[].
      lt_fplt_new[] = lt_fplt_old[].

      "更新内表,冻结状态设置为02,设置更新标识
      clear ls_fplt_new.
      ls_fplt_new-faksp = '02'.
      ls_fplt_new-updkz = 'U'.   "U:UPDATE 必须,不然不会更新
      modify lt_fplt_new from ls_fplt_new transporting faksp updkz where fplnr eq ls_vbrp-fplnr and fpltr eq ls_vbrp-fpltr.

      "调用FM去更新
      call function 'BILLING_SCHEDULE_SAVE'
        tables
          fpla_new = lt_fpla_new
          fpla_old = lt_fpla_old
          fplt_new = lt_fplt_new
          fplt_old = lt_fplt_old.

      call function 'BAPI_TRANSACTION_COMMIT'
        exporting
          wait = 'X'.


      clear ls_vbrp.
    endloop.

  endif.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在这个引用中,是一段ABAP代码,用于在SAP系统中生成发票计划。代码中使用了一个名为lt_rspar的内部表,通过向其中添加不同的选择条件,来筛选需要生成发票计划的数据。具体的选择条件包括POSNR、VBELN、BEDAT和ENDAT等字段。最后,通过调用submit语句,将选择条件传递给sdfpla02事务码,并执行生成发票计划的操作。 引用\[2\]:这个引用提到了一个名为mtl_system_items_b的基本表,它是ERP系统中的一个项目基本表。该表包含了许多列,但是作者并不清楚每一列的用途,特别是像'%_flag'这样的列。作者认为,一般异常的原因可能是因为'%_flag'列的值为'Y'或'N'。因此,作者记录了列与接口之间的对应关系,相信这对于在生成异常时会有所帮助。 引用\[3\]:这个引用是一个SQL查询语句,用于查询销货成本账户。查询语句中使用了两个表,分别是GL_CODE_COMBINATIONS和mtl_system_items_b。通过在mtl_system_items_b表中根据segment1字段的值为'jamtest'来获取cost_of_sales_account字段的值,然后将该值作为条件在GL_CODE_COMBINATIONS表中进行查询。 问题: BILLING_SCHEDULE_GENERATE是什么意思? 回答: BILLING_SCHEDULE_GENERATE是一个功能或者操作的名称,根据提供的引用内容,无法确定它的具体含义。根据上下文推测,它可能是一个用于生成发票计划的功能或者操作。在SAP系统中,通过使用ABAP代码和相应的选择条件,可以调用相应的事务码或者功能模块来执行生成发票计划的操作。 #### 引用[.reference_title] - *1* [SAP SD Sales Order - Maintain billing plan & Billing Dates](https://blog.csdn.net/adamyam/article/details/40505913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [EBS 物料属性 前后台对应关系 MTL_SYSTEM_ITEMS_B](https://blog.csdn.net/weixin_33858249/article/details/92520282)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mtl_system_items_b表中的栏位与界面栏位对应](https://blog.csdn.net/huangwenkangz/article/details/50378637)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值