应付暂估科目是不挂供应商的,但是期初需要导入,发票的时候需要手工清账。因此对暂估的取数需要三部分。

1 正常的,可以直接取到供应商

2 期初导入的,供应商代码维护在分配的地方。

3 手工MIRO 做发票,通过对方科目取供应商。

*&---------------------------------------------------------------------*
*& Report ZFI023
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zfi024.

TABLES : acdoca .

SELECT-OPTIONS : s_budat FOR acdoca-budat  .

SELECT-OPTIONS : s_racct FOR acdoca-racct  .
SELECT-OPTIONS : s_lifnr FOR acdoca-lifnr  .

PARAMETERS : p_rbukrs TYPE acdoca-rbukrs OBLIGATORY  .
PARAMETERS : p_gjahr TYPE acdoca-gjahr OBLIGATORY  .

PARAMETERS:  r_01 RADIOBUTTON GROUP g1 DEFAULT 'X'  .
PARAMETERS:  r_02 RADIOBUTTON GROUP g1  .

*PARAMETERS: cb_02 AS CHECKBOX DEFAULT 'X'  .

DATA :BEGIN OF gs_out ,
        rbukrs LIKE acdoca-rbukrs,
        gjahr  LIKE acdoca-gjahr,
        belnr  LIKE acdoca-belnr,
        budat  LIKE acdoca-budat,
        docln  LIKE acdoca-docln,
        racct  LIKE acdoca-racct,
        tsl    LIKE acdoca-tsl,
        lifnr  LIKE acdoca-lifnr,
        zuonr  LIKE acdoca-zuonr,
        txt20  LIKE SKAt-txt20,
        name1  LIKE lfa1-name1,

END OF gs_out .
DATA : gt_out LIKE TABLE OF gs_out  .

DATA: ls_out LIKE gs_out .
DATA: lt_out LIKE TABLE OF gs_out .

DATA: ls_out2 LIKE gs_out .
DATA: lt_out2 LIKE TABLE OF gs_out .

DATA: ls_out3 LIKE gs_out .
DATA: lt_out3 LIKE TABLE OF gs_out .

DATA: ls_out4 LIKE gs_out .
DATA: lt_out4 LIKE TABLE OF gs_out .

DATA: gt_fieldcat TYPE   lvc_t_fcat .
DATA: gs_fieldcat TYPE   lvc_s_fcat .
DATA: gs_layout   TYPE   lvc_s_layo .

"1正常的
SELECT  acdoca~rbukrs,acdoca~gjahr ,  acdoca~belnr , acdoca~budat ,docln ,racct,  tsl , lifnr

FROM acdoca  " JOIN BSIS_view ON  acdoca~gjahr = BSIS_view~gjahr AND  acdoca~belnr = BSIS_view~belnr  AND  substring( docln , 4, 3 ) =  BSIS_view~buzei

WHERE racct IN @s_racct
  AND acdoca~gjahr  = @p_gjahr
  AND acdoca~budat IN @s_BUDAT
  AND lifnr IN @s_lifnr
  AND rbukrs  = @p_rbukrs
  INTO TABLE @lt_out.

DELETE lt_out WHERE lifnr IS INITIAL .

"2期初

"获取供应商信息

DATA: BEGIN OF ls_lfa1 ,
        lifnr LIKE lfa1-lifnr,
        zuonr LIKE acdoca-zuonr,
      END OF ls_lfa1 .

DATA lt_lfa1 LIKE TABLE OF ls_lfa1 .

SELECT lifnr INTO
  TABLE LT_lfa1
 FROM  lfa1
 WHERE lifnr IN s_lifnr .

LOOP AT LT_lfa1 INTO LS_lfa1 .
  LS_lfa1-zuonr = |{ LS_lfa1-lifnr ALPHA = OUT }| .
  MODIFY LT_lfa1 FROM LS_lfa1 .
ENDLOOP .

"获取期初

SELECT acdoca~rbukrs acdoca~gjahr   acdoca~belnr acdoca~budat  docln racct  tsl lifnr acdoca~zuonr
  APPENDING TABLE lt_out2
  FROM acdoca
  FOR ALL ENTRIES IN lt_lfa1
  WHERE  acdoca~zuonr = lt_lfa1-zuonr
  AND racct IN s_racct
  AND acdoca~gjahr  = p_gjahr
  AND acdoca~budat IN s_BUDAT
  AND acdoca~rbukrs  = p_rbukrs  .

LOOP AT lt_out2 INTO ls_out2 .
  READ TABLE lt_lfa1 INTO ls_lfa1 WITH KEY zuonr = ls_out2-zuonr .
  IF sy-subrc EQ 0 .
    ls_out2-lifnr = ls_lfa1-lifnr .
  ENDIF .
  MODIFY lt_out2 FROM ls_out2 .

ENDLOOP .

"通过对方科目 找供应商

"3找到暂估供应商为空的行
SELECT acdoca~rbukrs , acdoca~gjahr , acdoca~belnr , acdoca~budat ,  docln ,racct , tsl

*  FROM acdoca JOIN BSIS ON  acdoca~GJAHR = BSIS~GJAHR AND  ACDOCA~BELNR = BSIS~BELNR AND ACDOCA~DOCLN = BSIS~BUZEI

FROM acdoca  " JOIN BSIS_view ON  acdoca~gjahr = BSIS_view~gjahr AND  acdoca~belnr = BSIS_view~belnr  AND  substring( docln , 3, 3 ) =  BSIS_view~buzei

WHERE racct IN @s_racct
  AND acdoca~gjahr  = @p_gjahr
  AND acdoca~budat IN @s_BUDAT
  AND lifnr   EQ ''
  AND acdoca~rbukrs  = @p_rbukrs
   INTO TABLE @lt_out3
   .

"删除期初分配字段有值的行
DATA lv_tabix TYPE sy-tabix .
LOOP AT lt_out3 INTO ls_out3 .
  CLEAR lv_tabix .
  lv_tabix =  sy-tabix  .
  READ TABLE lt_out2 WITH KEY belnr = ls_out3-belnr
                              docln = ls_out3-docln
                             TRANSPORTING NO FIELDS                              .
  IF sy-subrc EQ 0 .
    DELETE lt_out3  INDEX lv_tabix .
  ENDIF .

ENDLOOP .

"对方科目(供应商)
IF lt_out3 IS NOT INITIAL .
  SELECT acdoca~rbukrs acdoca~gjahr acdoca~belnr acdoca~budat   docln racct  tsl  lifnr
    INTO TABLE lt_out4
    FROM acdoca
    FOR ALL ENTRIES IN lt_out3
    WHERE acdoca~gjahr  = lt_out3-gjahr
    AND acdoca~belnr = lt_out3-belnr
    AND lifnr <> ''
    AND acdoca~rbukrs  = p_rbukrs  ..
ENDIF .

从对方科目获取供应商
LOOP AT lt_out3 INTO ls_out3 .
  CLEAR  ls_out4 .
  READ TABLE lt_out4 INTO ls_out4 WITH KEY  belnr = ls_out3-belnr .
  IF sy-subrc EQ 0 .
    ls_out3-lifnr = ls_out4-lifnr .
  ENDIF .
  MODIFY lt_Out3 FROM ls_out3 .
ENDLOOP .

APPEND LINES OF lt_out TO gt_out .
APPEND LINES OF lt_out2 TO gt_out .
APPEND LINES OF lt_out3 TO gt_out .

LOOP AT gt_out INTO gs_out .
  SELECT SINGLE  txt20 INTO  gs_out-txt20
   FROM  SKAt
   WHERE saknr  = gs_out-racct .

SELECT  SINGLE name1 INTO gs_out-name1
    FROM lfa1
    WHERE lifnr = gs_out-lifnr .

gs_out-lifnr =   |{ gs_out-lifnr ALPHA = OUT }| .

MODIFY gt_out FROM gs_out .

ENDLOOP .

"删除已经请项目

DATA: BEGIN OF gs_bsis,
        bukrs LIKE bsis-bukrs,
        gjahr LIKE bsis-gjahr,
        belnr LIKE bsis-belnr,
        buzei LIKE bsis-buzei,
      END OF gs_bsis .
DATA : gt_bsis LIKE TABLE OF gs_bsis .

SELECT    bukrs
    gjahr
    belnr
    buzei
  INTO TABLE gt_bsis
  FROM bsis
  FOR ALL ENTRIES IN gt_out
  WHERE bukrs  = gt_out-rbukrs
  AND gjahr = gt_out-gjahr
  AND belnr = gt_out-belnr .

SORT gt_bsis BY bukrs gjahr belnr buzei   .

DATA: gt_out2 LIKE  TABLE OF gs_out .

DATA lv_tabix2 TYPE sy-tabix .
LOOP AT gt_out INTO gs_out ." where belnr = '5000006318' and docln = '000002' .
  CLEAR lv_tabix2 .
  lv_tabix2 =  sy-tabix  .
  READ TABLE gt_bsis INTO gs_bsis  WITH KEY bukrs = gs_out-rbukrs
                                            gjahr = gs_out-gjahr
                                            belnr = gs_out-belnr
                                            buzei = gs_out-docln+3(3)
                                            BINARY SEARCH .
  IF sy-subrc EQ 0 .

ELSE .
    IF r_02 EQ 'X'.
      APPEND gs_out TO gt_out2 .
    ENDIF .
    DELETE gt_out  INDEX lv_tabix2 .

ENDIF .

ENDLOOP .

DEFINE append_field.
  gs_fieldcat-fieldname = &1.
  gs_fieldcat-coltext = &2.
 gs_fieldcat-ref_field = &3.
 gs_fieldcat-ref_table =  &4.

APPEND gs_fieldcat TO gt_fieldcat.
  CLEAR: gs_fieldcat.
END-OF-DEFINITION.

*    gs_layout-box_fname = 'MARK'.
*  gs_layout-coltab_fieldname = 'CLR' . "列颜色
*gs_layout-ctab_fname = 'CELLCOLOR' .   "单元格颜色
gs_layout-cwidth_opt = 'X'.   "列宽自适应
gs_layout-zebra      = 'X'.      "斑马线

append_field: 'GJAHR' '会计年度'  '' '' .
append_field: 'BELNR' '凭证编号'  '' ''  .
append_field: 'BUDAT' '凭证日期'  '' '' .
append_field: 'DOCLN' '行项目'  '' '' .
append_field: 'RACCT' '会计科目'  '' '' .
append_field: 'TXT20' '科目名称'  '' '' .
append_field: 'TSL' '金额'  '' '' .
append_field: 'LIFNR' '供应商代码'  '' '' .
append_field: 'NAME1' '供应商名称'  '' '' .

IF r_01 EQ 'X'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program      = sy-repid
*     i_callback_pf_status_set = 'FRM_STATUS_SET'
      i_callback_user_command = 'FRM_USER_COMMAND'
**
*     I_GRID_SETTINGS         =
      is_layout_lvc           = gs_layout
      it_fieldcat_lvc         = gt_fieldcat
      i_save                  = 'A'
*     i_grid_settings         = ls_grid_settings
*     it_events               = lt_events
*     is_variant              = ls_variant
*     ES_EXIT_CAUSED_BY_USER  =
    TABLES
      t_outtab                = gt_out
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ELSE .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program      = sy-repid
*     i_callback_pf_status_set = 'FRM_STATUS_SET'
      i_callback_user_command = 'FRM_USER_COMMAND'
**
*     I_GRID_SETTINGS         =
      is_layout_lvc           = gs_layout
      it_fieldcat_lvc         = gt_fieldcat
      i_save                  = 'A'
*     i_grid_settings         = ls_grid_settings
*     it_events               = lt_events
*     is_variant              = ls_variant
*     ES_EXIT_CAUSED_BY_USER  =
    TABLES
      t_outtab                = gt_out2
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ENDIF .

FORM frm_user_command  USING r_ucomm LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.

IF rs_selfield-fieldname EQ 'BELNR'.

SET PARAMETER ID 'BLN' FIELD gs_out-belnr .
    SET PARAMETER ID 'BUK' FIELD  p_rbukrs .
    SET PARAMETER ID 'GJR' FIELD gs_out-gjahr .
    CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

ENDIF .

ENDFORM .

期初暂估导入报表查看相关推荐

  1. U8采购暂估常见问题

    1.期初暂估科目录入查询不到数据,为什么? 存货核算期初记账后,期初暂估科目录入中可以查询到期初采购入库单的数据,并录入暂估科目,用于暂估科目与总账对账. 2.暂估成本录入的作用是什么? 没有成本的采 ...

  2. NetSuite应付暂估报表

    上海疫情防控升级到了足不出户的程度,看了很多视频.文字,大家给上海加油!在这种大事件中,无他法,仅能做到照顾好家人,不抱怨,积极文字,以身作则而已.身修而家园清净,守沪太平. 今天的题目是个古早的话题 ...

  3. 金蝶K3采购暂估案例教程4商业模式单到冲回

    目录 实验环境 案例背景 后台参数配置 后台凭证模板设置 案例物料编码 采购订单 外购入库单 当月外购入库估价处理 当月生成凭证  外购入库单(单据直接生成) 当月结账 次月收到采购发票 次月发票钩稽 ...

  4. 多暂估的库存如何调整_会计们看过来 暂估存货小知识

    原标题:会计们看过来 暂估存货小知识 按照相应会计政策和制度规定,企业在作外购入库核算时,必须基于材料已经验收入库.材料货款已经结算,要有外购发票.外购入库单等相关单据票据. 现在很多企业在生产经营过 ...

  5. 用友T3软件暂估业务的三种方式

    采购商品的时候,商品在本月已经入库,但是发票却是下个月才到,这个应该如何在软件中处理呢? 经常会有客户提到类似的问题,其实在T3中,此类业务可以通过暂估来处理,那么暂估又有好多种情况,比如下个月发票全 ...

  6. 金蝶K3采购暂估案例教程1月初一次冲回

    目录 实验环境 案例背景 工业模式采购暂估流程图 后台参数配置 凭证模板设置 案例物料编码 采购订单 外购入库单 当月外购入库估价处理 当月生成凭证  外购入库估价入账(票未到) 当月结账 次月收到采 ...

  7. 金蝶云·星空——暂估应收冲回模式下存货对账

    启用暂估应收冲回模式,按发票确认收入和成本,存货对账本期减少差异分析 一.业务流程: 应收管理系统启用暂估应收冲回模式,出库单审核生成暂估应收单,开票后暂估应收下推财务应收,开票确认收入和成本. 记账 ...

  8. 会计实务:金蝶K3各种采购暂估处理会计分录案例

    案例背景 金蝶K3系统主要有四种采购暂估处理方式:工业模式月初一次冲回,工业模式单到冲回,商业模式差额调整,商业模式单到冲回.一个账套同时只能选择工业或商业一种暂估方式,工业或商业模式(由参数&quo ...

  9. 多暂估的库存如何调整_存货核算成本暂估修改方法

    不同情形下如何修改暂估方式 如果"月初回冲"暂估方式下有很多不方便的地方,但系统默认的是暂估方式是"月初回冲",建账套时按照默认设置了. 一两个月后,发现操作不 ...

最新文章

  1. 树莓派悄悄放了个微软“后门”,系统加入微软源却未告知,用户怒了
  2. 分析mysql日志文件_MySQL日志文件与分析
  3. GDI 绘制圆角矩形
  4. python tkinter button颜色变不了_tkinter多按钮颜色变化
  5. C++知识点(六)数组、指针与字符串导学
  6. python可变参数函数二阶导数公式_python中函数的可变参数
  7. Xshell 官方免费版下载流程
  8. Spring常用注解含义
  9. php调京东联盟接口,使用京东联盟API获取自定义促销链接
  10. php 协成wifi_WIFI_YIXI2 协成WIFI营销系统2 - 下载 - 搜珍网
  11. 数据挖掘——时间序列算法之ARCH模型
  12. uploadify的简单使用
  13. react native Xcode打包app发布ipa到蒲公英
  14. krpano plugin interface
  15. 微信小程序开发使用onreachBottom实现页面触底加载及分页
  16. linux中阻塞机制
  17. 计算机网络课设-电子邮件客户端程序设计与实现(C/C++语言)
  18. 计算机应用技术移动UI设计方向,周口职业技术学院专科(高职)计算机应用技术(移动UI设计方向)_周口职业技术学院专科(高职)计算机应用技术(移动UI设计方向)简介-查字典学校网...
  19. 高阶自动驾驶量产之战,小鹏汽车NGP究竟有何优势?
  20. UIL 算法学习 Structure Based User Identification across Social Networks

热门文章

  1. ssh 链接不上虚拟机 ping不通虚拟机 而且防火墙已经关闭的状态下
  2. 2011:吹响三网融合集结号
  3. Faster rcnn裂缝检测
  4. [MATLAB学习笔记]MATLAB读取UG三维模型数据
  5. 2022款联想小新Air14和Thinkbook14区别
  6. 强商科技连接宝应用软件使用攻略
  7. Linux As4 u4 oracle10R2 安装
  8. G++ 4.4.7 无法编译模板程序,Vs可以,和解?智者尾部留言,本人第一次使用vs pro,通常并且习惯在linux下写些小东西,虽然程序简单;...
  9. 马德里烈风和java的鱼雷,碧蓝航线航母舰载机怎么搭配_碧蓝航线航母舰载机搭配思路及优缺点详解_手心游戏...
  10. 如何使用Docx4J合并docx及pptx文档