生成预付款会计凭证

FUNCTION zrfc_mm014.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(CALLNO) TYPE  ZCALLNO
*"  TABLES
*"      ZMMS002 STRUCTURE  ZMMS002
*"----------------------------------------------------------------------
TYPES:BEGIN OF ty_regup,
  bukrs      TYPE regup-bukrs,
  belnr      TYPE regup-belnr,
  gjahr      TYPE regup-gjahr,
  retn_date  TYPE regup-retn_date,
  zzbelnr    TYPE regup-zzbelnr,
  zzgjahr    TYPE regup-zzgjahr,
  END OF ty_regup.

DATA: lt_zmmt002  TYPE TABLE OF zmmt002,
      lt_zmmt002s TYPE TABLE OF zmmt002,
      ls_zmmt002  LIKE LINE  OF lt_zmmt002,
      lt_regup    TYPE TABLE OF ty_regup,
      ls_regup    TYPE ty_regup,
      lv_datano   TYPE i.

*---查询未发给费控的会计凭证
SELECT * INTO TABLE lt_zmmt002 FROM zmmt002
  WHERE flag = ‘ ‘.

lt_zmmt002s = lt_zmmt002.
SORT lt_zmmt002 BY bukrs gjahr belnr.
DELETE ADJACENT DUPLICATES FROM lt_zmmt002 COMPARING bukrs gjahr belnr.

IF lt_zmmt002 IS NOT INITIAL.
  SELECT bukrs belnr gjahr retn_date zzbelnr zzgjahr INTO TABLE lt_regup
    FROM regup
    FOR ALL ENTRIES IN lt_zmmt002
    WHERE bukrs = lt_zmmt002-bukrs
     AND  belnr = lt_zmmt002-belnr
     AND  gjahr = lt_zmmt002-gjahr.
ENDIF.

*---删除未产生清帐凭证的数据
DELETE lt_regup WHERE zzbelnr IS INITIAL.

*---数据编辑
LOOP AT  lt_regup INTO  ls_regup.
zmms002-bukrs       = ls_regup-bukrs.
zmms002-gjahr       = ls_regup-gjahr.
zmms002-belnr       = ls_regup-belnr.
zmms002-retn_date   = ls_regup-retn_date.
zmms002-flag        = ‘S‘.
APPEND zmms002.
ENDLOOP.

*---记录已发给费控系统的凭证
CLEAR:gt_log,gs_log.
LOOP AT zmms002.
  lv_datano     = lv_datano + 1.
  gs_log-name   = ‘ZRFC_MM014‘.
  gs_log-cdate  = sy-datum.
  GET TIME.
  gs_log-ctime  = sy-uzeit.
  gs_log-callno = callno.
  gs_log-datano = lv_datano.
  gs_log-flag   = ‘S‘.
  gs_log-log    = ‘Success‘.
  CONCATENATE zmms002-bukrs  zmms002-gjahr zmms002-belnr zmms002-retn_date
              zmms002-flag
  INTO gs_log-content SEPARATED BY ‘|‘.
  CONDENSE gs_log-content NO-GAPS.
  gs_log-length = STRLEN( gs_log-content ).
  APPEND gs_log TO gt_log.
ENDLOOP.
IF gt_log IS NOT INITIAL.
  INSERT zrfc_mm01out_log FROM TABLE gt_log.
  IF sy-subrc = 0.
    COMMIT WORK.
  ENDIF.
ENDIF.

*---更新客制会计凭证表
CLEAR ls_zmmt002.
ls_zmmt002-flag = ‘X‘.
MODIFY lt_zmmt002s FROM ls_zmmt002 TRANSPORTING flag WHERE flag IS INITIAL.

MODIFY zmmt002 FROM TABLE lt_zmmt002s.
IF sy-subrc = 0 .
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.

ENDFUNCTION.
时间: 2024-11-05 15:17:36

生成预付款会计凭证的相关文章

[转载]生成总账会计凭证的源程序

转自:http://blog.chinaunix.net/uid-22490185-id-75722.html BAPI: BAPI_ACC_GL_POSTING_POST 生成总账会计凭证的源程序 1. BAPI没有记帐码的字段 BAPI一般是给其他系统调用的,所以BAPI的参数字段名和SAP的字段名不同,对于其他系统更容易理解,除了SAP,其他系统还有记帐码一说吗?! 2. BAPI创建成功后不返回SAP凭证号 OBJ_参考交易,OBJ_KEY字段参考关键 这2个参数如果赋值,则return

生产型企业原材料采购及入库的处理

来自:http://shine-it.net/index.php/topic,4178.0.html 原材料采购有两种情况,一种是先收货,并按实际收货数量付款:一种是先付款,对方再发货.对于国内的供应商,通常都采用前者处理,但有些进口原材料,对方会要求先付款,或者预付部分款额,对方才会发货.两种情况在OpenERP中的处理方法有所不同. 一.先收货再付款 一般来说,仓库入库数量及财务付款金额都应该以采购单上的数量及金额为准.但实际中,由于下面一些常见原因,仓库入库数量及付款金额不同于采购单的现象

易飞ERP客户问题集合之一

导读:若不为空则抓取得是录入科目/部门限制里单身的部门区间,客户的科目没有做部门管理自, [问题]录入采购发票, [问题]应付子系统中税控接口在哪儿?, [问题]应收账款实时核销怎么处理?, [问题]损益结转后生成的凭证无法反过账,客户将其设置成别的凭证单别后, [问题]录入报表格式中%项都改为%了, [问题]资产负债表直接查询资产总计及负债和所有者权益或股东权益总计都跑到中间行显, [问题]在[现金流量表]中能 [解答] 单身会计科目若为空,开窗抓取得就是所有部门信息,若不为空则抓取得是录入科

技能UP:SAP OBYC自动记账的实例说明(含value String应用说明)

一. 自动过账原理 在MM模块的许多操作都能实现在FI模块自动过账,如PO收货.发票验证(LIV).工单发料.向生产车间发料等等.不用说,一定需要在IMG中进行配置才可以实现自动处理.但SAP实现的这种自动配置的机制是怎样的呢?其实也并不复杂,让我们先以一种最简单的情况来了解实现原理和实现流程,然后就可以轻松对各种情况作出配置. 如果我们使用SAP系统,初始化库存一定必不可少.大家都知道初始化库存使用移动类型(movement type) 561/562.我们先以561 / 562的配置方法为例

采购订单_退货

一.业务描述 本文档属于MM模块,描述的是采购流程的退货订单.当之前采购的货物已入库并向供应商结算,由于某种原因(如发现质量问题)需退回给供应商,就可以创建退货型采购订单. 退货型采购订单后续操作也需要收货,并进行发票校验.其中收货的移动类型是161,发票校验采用贷方凭证(与发票类作法相反). 二.操作 此示例数据与创建标准采购订单类似,只是项目的“退回项目”栏打上选择标志(如图1所示).价格数据从采购记录中提取,也可以在项目细节的条件子页面输入或修改. 图1 采购订单(勾选退回项目标志) 三.

SAP 差旅报销集成方案的实现

跨国集团通常都会有一个财务共享中心SSC的集中处理业务部门,用于统计来自各个公司的差旅报销,而1).传统的OA审批 虽然审批流是优势存在着需要SAP数据二次录入,数据不同步等困难,2).如果终端用户都采用SAP进行报销,则会增加SAP许可证费用,且SAP workflow二次开发成本过高,开发难度大,不利于成本控制 :特此立项实施了此Travel & Expense集成系统,即提高了 报销效率,也降低了实施成本 项目收益如下: 1)    Automatic approval process b

SAP MM/FI 自动过账实现 OBYC 接口执行

一. 自动过账原理 在MM模块的许多操作都能实现在FI模块自动过账,如PO收货.发票验证(LIV).工单发料.向生产车间发料等等.不用说,一定需要在IMG中进行配置才可以实现自动处理.但SAP实现的这种自动配置的机制是怎样的呢?其实也并不复杂,让我们先以一种最简单的情况来了解实现原理和实现流程,然后就可以轻松对各种情况作出配置. 如果我们使用SAP系统,初始化库存一定必不可少.大家都知道初始化库存使用移动类型(movement type) 561/562.我们先以561 / 562的配置方法为例

【FI 收付款条件】Payment Terms 收付款条件

一.相关概念 SAP Payment Terms 中文翻译为收付款条件,他的用途是应收和应付的财务凭证中账期的管理,顾名思义即手动录入和自动生成的财务文档多少天内冲销处理则为正常,否则为超期应收应付文档,它包含的内容是:账期计算基准日(开始计算过期日的日期),账期到期日(未过期的最晚日期)或者周期天数(基准日+周期天数即为最晚未过期日),同时SAP系统还引申扩充应用为分期付款阶段日期管理,提前付款折扣管理. 基准日期缺省值: 基准日期的作用是,根据此日期加上付款条款中定义的天数,就是逾期日,有四

联机交易与批量交易

系统小事>>>联机交易与批量交易 =================== 什么是联机交易/批量交易?联机与批量并没有确切的定义,我个人的简单理解如下: 联机交易就意味着系统对外直接提供的交易,该类交易具有事务性——可回滚:实时性——交易有生命周期,并有超时机制等,调用方需实时等待被调方的反馈,成功或失败皆有反馈:并发性——同一类甚至同一个交易可同时被多个线程调用,相互间有锁处理机制. 批量处理则意味着该交易相关的参数.系统状态已经锁定,系统需要进行的是某一类操作,该类操作具有统一性——使