ABAP 外销财务凭证与客户采购合同对应关系报表
2013-01-08 14:02
330 查看
目的:将运输部开具的“出口商品发票”匹配到确认销售收入的凭证后面。 说明:外销每月的销售收入凭证都要将对应的“出口商品发票”匹配到后面作为附件装订成册。 此类凭证每个月近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 *--------------------------------------------------------------------------------
相关文章推荐
- FI 清帐,未清帐,客户凭证和供应商凭证以及总帐和明细帐的关系
- SAP R/3 中会计凭证和物料凭证的对应关系
- EBS事务处理对应的财务借贷关系
- abap--REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系
- 财务管理----原始凭证和记账凭证的关系
- 财务三大报表的关系
- SAP R/3 中会计凭证和物料凭证的对应关系
- 国内SEM客户与SEM公司对应关系表
- 数据字典中的数据类型与ABAP中的中数据类型对应关系
- SAP中会计凭证和物料凭证的对应关系
- abap--REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系
- 外部类型和ABAP type对应关系表
- ZFI002财务凭证查询报表
- SAP 采购收货时与FICO科目的对应关系,关联点 Account Assignment Category
- 关于采购订单和物料凭证关系
- SAP中会计凭证和物料凭证的对应关系
- abap学习笔记-SAP字段与表的对应关系
- 管家婆ERP V3Ⅱ采购入库单生成金蝶财务软件K3 V10.3标准凭证引入的SQL select 查询语句
- abap--REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系
- 数据字典中的数据类型与ABAP中的中数据类型对应关系