ABAP 外销财务凭证与客户采购合同对应关系报表
来源:互联网 发布:ubuntu vsftpd 根目录 编辑:程序博客网 时间:2024/04/29 02:45
目的:将运输部开具的“出口商品发票”匹配到确认销售收入的凭证后面。说明:外销每月的销售收入凭证都要将对应的“出口商品发票”匹配到后面作为附件装订成册。此类凭证每个月近600张,都要找到对应的“商品发票”,工作量单纯且耗费大量时间。目前采用的方法是:将商品发票按客户分类排序,再分客户到SAP查询每个客户的收入确认凭证,根据金额找到对应的凭证号,放到对应的凭证后面。此类简单耗时的工作希望可以借助系统更快的完成。
处理逻辑:通过会计凭证(表:BKPF)找到相应的发票号(表:VBRK)、再找到对应的销售订单(表:VBRP)取出客户采购订单编号(表:VBAK)
REPORT YWFIR040.TABLES:BKPF,"会计核算凭证抬头 VBRK,"出具发票:抬头数据 VBAK.DATA:BEGIN OF ITAB OCCURS 0, BUKRS LIKE BKPF-BUKRS, " 公司代码 BELNR LIKE BKPF-BELNR, "会计凭证号码 GJAHR LIKE BKPF-GJAHR, "会计年度 BUDAT LIKE BKPF-BUDAT, "记账日期 BLDAT LIKE BKPF-BLDAT, "凭证日期 XBLNR LIKE BKPF-XBLNR, "参照 BKPF-XBLNR ==VBRK-VBELN VBELN LIKE VBRK-VBELN, "发票号码 KUNRG LIKE VBRK-KUNRG, "客户代码 VKORG LIKE VBRK-VKORG, "销售组织 VTWEG LIKE VBRK-VTWEG, "分销渠道 NAME1 TYPE KNA1-NAME1, "为合作伙伴显示文本 (姓名, 城市, 国家, 街道) AUBEL LIKE VBRP-AUBEL,* BSTKD LIKE VBKD-BSTKD, BSTNK LIKE VBAK-BSTNK, "合同号码 NETWR LIKE VBRK-NETWR, "净价值 WAERK LIKE VBRK-WAERK, "货币 SELFI, END OF ITAB.*&--------------------画屏区域-----------------------------------------*SELECTION-SCREEN BEGIN OF BLOCK FRAME1 WITH FRAME TITLE TEXT-000 .SELECT-OPTIONS: R_BUKRS FOR BKPF-BUKRS OBLIGATORY DEFAULT '1010', "公司代码 R_VKORG FOR VBRK-VKORG, R_VTWEG FOR VBRK-VTWEG, R_BUDAT FOR BKPF-BUDAT.SELECTION-SCREEN END OF BLOCK FRAME1.*&-------------------------程序主区域-------------------------------------*AT SELECTION-SCREEN OUTPUT. "用户操作后屏幕输出事件AT SELECTION-SCREEN. "用户回车或单击后发生事件,不考滤屏幕输出START-OF-SELECTION. "正式程序运行到输出结果事件 PERFORM GET_DATA. "取数据 PERFORM REPORT_DATA. "显示数据FORM GET_DATA. SELECT A~BUKRS A~BELNR A~GJAHR A~BUDAT A~BLDAT A~XBLNR B~VBELN B~VKORG B~VTWEG B~KUNRG B~NETWR B~WAERK INTO CORRESPONDING FIELDS OF TABLE ITAB FROM BKPF AS A JOIN VBRK AS B ON A~XBLNR = B~VBELN WHERE A~BUKRS IN R_BUKRS AND B~VKORG IN R_VKORG AND B~VTWEG IN R_VTWEG AND A~BUDAT IN R_BUDAT. LOOP AT ITAB. SELECT SINGLE AUBEL INTO ITAB-AUBEL FROM VBRP WHERE VBELN = ITAB-VBELN. "取销售订单号 SELECT SINGLE BSTNK INTO ITAB-BSTNK FROM VBAK WHERE VBELN = ITAB-AUBEL. "通过销售订单号取PO号 SELECT SINGLE NAME1 INTO ITAB-NAME1 FROM KNA1 WHERE KUNNR = ITAB-KUNRG. MODIFY ITAB.ENDLOOP.ENDFORM.*&---------------------ALV变量声明区域---------------------------------*TYPE-POOLS:SLIS.DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.DATA: LAYOUT TYPE SLIS_LAYOUT_ALV .DATA: S_VARIANT LIKE DISVARIANT.*&-------------------------ALV数据展示区域----------------------------------*FORM REPORT_DATA .* 设置要显示的字段列表 PERFORM SET_FIELDCAT.* 给表格布局参数赋值 LAYOUT-GET_SELINFOS = 'X'. LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "列宽度自动根据内容优化 LAYOUT-DETAIL_POPUP = 'X'. LAYOUT-NO_KEYFIX = 'X'. LAYOUT-BOX_FIELDNAME = 'SELFI'. S_VARIANT-REPORT = SY-REPID. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "REUSE_ALV_LIST_DISPLAY EXPORTING I_CALLBACK_PROGRAM = SY-REPID "当前的程序名 IS_LAYOUT = LAYOUT "表格样式 布局 IT_FIELDCAT = FIELDCAT[] "要显示的列名,必填 I_SAVE = 'A' IS_VARIANT = S_VARIANT TABLES T_OUTTAB = ITAB "ALV数据输出使用的内表 必填 EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2.ENDFORM. " ALV_REPORT_DATA*&---------------------------------------------------------------------*FORM SET_FIELDCAT . REFRESH FIELDCAT. PERFORM INPUT_FIELDCAT USING 'BLDAT' '记账日期' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'BELNR' '凭证号码' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'VBELN' '发票号码' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'AUBEL' '销售订单号码' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'KUNRG' '客户代码' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'NAME1' '客户全称' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'BSTNK' '合同号码' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'NETWR' '凭证外币金额' '' '' '' '' ''. PERFORM INPUT_FIELDCAT USING 'WAERK' '货币' '' '' '' '' ''.ENDFORM. " SET_FIELDCAT*------------------------------------------------------------------------*FORM INPUT_FIELDCAT USING ZID WENB KEYS GD COLOR REFTAB REFFILE. ADD 1 TO FIELDCAT-COL_POS. FIELDCAT-FIELDNAME = ZID. " 对应的内表中的字段名称 FIELDCAT-SELTEXT_M = WENB. "ALV中显示的字段名称 FIELDCAT-KEY = KEYS. FIELDCAT-FIX_COLUMN = GD . FIELDCAT-EMPHASIZE = COLOR. "列颜色 FIELDCAT-REF_TABNAME = REFTAB. FIELDCAT-REF_FIELDNAME = REFFILE. APPEND FIELDCAT. CLEAR FIELDCAT.ENDFORM. "INPUT_FIELDCAT*&---------------------------------------------------------------------**& FORM SET_PF_STATUS*&---------------------------------------------------------------------** TEXT*----------------------------------------------------------------------** -->T_EXTAB TEXT*----------------------------------------------------------------------*FORM SET_PF_STATUS USING T_EXTAB TYPE SLIS_T_EXTAB. DATA: S_EXTAB TYPE SLIS_EXTAB. "要被排除的按钮的列表 SET PF-STATUS 'STANDARD_FULLSCREEN' EXCLUDING T_EXTAB.ENDFORM. " SET_PF_STATUS*--------------------------------------------------------------------------------
- ABAP 外销财务凭证与客户采购合同对应关系报表
- ZFI002财务凭证查询报表
- ABAP与Java数据类型的对应关系
- 关于采购订单和物料凭证关系
- 报表与列的对应关系
- abap学习笔记-SAP字段与表的对应关系
- EBS事务处理对应的财务借贷关系
- 财务三大报表的关系
- 基于ESB实现商友与K3财务凭证集成
- SAP财务凭证冲销
- 财务凭证的替代
- SAP 采购收货时与FICO科目的对应关系,关联点 Account Assignment Category
- 九.外包/采购/合同
- FI 清帐,未清帐,客户凭证和供应商凭证以及总帐和明细帐的关系
- SAP中会计凭证和物料凭证的对应关系
- SAP中会计凭证和物料凭证的对应关系
- 聘用合同与劳动合同的关系
- 数据字典中的数据类型与ABAP中的中数据类型对应关系
- MySQL触发器的正确使用与案例分析
- Spring注解入门
- iOS 应用中打开其他应用
- Android源码托管
- bootloader
- ABAP 外销财务凭证与客户采购合同对应关系报表
- SQLSERVER交叉连接
- request.getRemoteAddr()问题及解决办法
- 2008-10-23 22:10
- 自己的底层代码库(二)——双链表
- Win32中窗口的创建和消息机制以及MFC对Win32的封装简介
- zoj3568 BIT1003 Exchange for Cola
- java 分页
- IOS开发之----Category的使用