SAP采购订单历史明细报表源代码(自己收藏)
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF }
.L0S31 { font-style: italic; color: #808080 }
.L0S32 { color: #3399FF }
.L0S33 { color: #4DA619 }
.L0S52 { color: #0000FF }
.L0S55 { color: #800080 }
.L0S70 { color: #808080 }
*&---------------------------------------------------------------------*
*& Report ZTESTXIAO002
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTESTXIAO002.
TABLES:EKBE,EKPO,EKKO,LFA1.
*定义ALV变量
TYPE-POOLS: SLIS.
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID,
GT_EVENTS TYPE SLIS_T_EVENT,
GD_PRNTPARAMS TYPE SLIS_PRINT_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GS_SORT TYPE SLIS_SORTINFO_ALV,
G_TITLE TYPE LVC_TITLE.
DATA:BEGIN OF GT_OUT OCCURS 0,
EBELN LIKE EKBE-EBELN, "采购订单号
WERKS LIKE EKPO-WERKS, "工厂
AEDAT LIKE EKPO-AEDAT, "采购凭证日期
MATNR LIKE EKPO-MATNR, "物料号
TXZ01 LIKE EKPO-TXZ01, "物料描述
NETPR LIKE EKPO-NETPR, "净价
MENGE LIKE EKPO-MENGE, "凭证数量
BUZEI LIKE EKBE-BUZEI, "行项目
VGABE LIKE EKBE-VGABE, "业务\事件类
BELNR LIKE EKBE-BELNR, "凭证号
MENGE1 LIKE EKBE-MENGE, "数量
BWART LIKE EKBE-BWART, "移动类型
BUDAT LIKE EKBE-BUDAT, "过账日期
HSWAE LIKE EKBE-HSWAE, "货币
LIFNR LIKE EKKO-LIFNR, "供应商
NAME1 LIKE LFA1-NAME1, "供应商名称
END OF GT_OUT.
DATA:BEGIN OF GT_EKBE occurs 0,
EBELN LIKE EKBE-EBELN, "采购订单号
BUZEI LIKE EKBE-BUZEI, "行项目
VGABE LIKE EKBE-VGABE, "业务\事件类
BELNR LIKE EKBE-BELNR, "凭证号
MENGE1 LIKE EKBE-MENGE, "数量
BWART LIKE EKBE-BWART, "移动类型
BUDAT LIKE EKBE-BUDAT, "过账日期
HSWAE LIKE EKBE-HSWAE, "货币
MATNR LIKE EKPO-MATNR, "物料号
END OF GT_EKBE.
DATA:BEGIN OF GT_EKKO occurs 0,
EBELN LIKE EKBE-EBELN, "采购订单号
WERKS LIKE EKPO-WERKS, "工厂
AEDAT LIKE EKPO-AEDAT, "采购凭证日期
MATNR LIKE EKPO-MATNR, "物料号
TXZ01 LIKE EKPO-TXZ01, "物料描述
NETPR LIKE EKPO-NETPR, "净价
MENGE LIKE EKPO-MENGE, "凭证数量
LIFNR LIKE EKKO-LIFNR, "供应商
BUZEI LIKE EKBE-BUZEI, "行项目
VGABE LIKE EKBE-VGABE, "业务\事件类
BELNR LIKE EKBE-BELNR, "凭证号
MENGE1 LIKE EKBE-MENGE, "数量
BWART LIKE EKBE-BWART, "移动类型
BUDAT LIKE EKBE-BUDAT, "过账日期
HSWAE LIKE EKBE-HSWAE, "货币
* MATNR LIKE EKPO-MATNR, "物料号
END OF GT_EKKO.
DATA:BEGIN OF GT_LFA1 occurs 0,
LIFNR LIKE EKKO-LIFNR, "供应商
NAME1 LIKE LFA1-NAME1, "供应商名称
END OF GT_LFA1.
"定义选择屏幕(输入条件)
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_EBELN for EKBE-EBELN. "采购订单号
SELECTION-SCREEN END OF BLOCK BLOCK1.
START-OF-SELECTION.
"取数
PERFORM GET_DATA.
"处理数据
PERFORM DEAL_DATA.
"alv显示
PERFORM ALV_DIS.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT
EBELN
BUZEI
VGABE
BELNR
MENGE AS MENGE1
BWART
BUDAT
HSWAE
MATNR
INTO CORRESPONDING FIELDS OF TABLE GT_EKBE
FROM EKBE
WHERE EBELN in S_EBELN.
SELECT
A~EBELN
A~WERKS
A~AEDAT
A~MATNR
A~TXZ01
A~NETPR
A~MENGE
B~LIFNR
INTO CORRESPONDING FIELDS OF TABLE GT_EKKO
FROM EKPO AS A
INNER JOIN EKKO AS B ON A~EBELN = B~EBELN
* inner join ekbe as c on A~EBELN = c~EBELN
WHERE B~EBELN in S_EBELN.
SELECT
LIFNR
NAME1
INTO CORRESPONDING FIELDS OF TABLE GT_LFA1
FROM LFA1
FOR ALL ENTRIES IN GT_EKKO
WHERE LIFNR = GT_EKKO-LIFNR.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DEAL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DEAL_DATA . "给需要输出的字段赋值
loop at GT_EKKO.
READ TABLE GT_EKBE WITH KEY EBELN = GT_EKKO-EBELN.
IF SY-SUBRC <> 0.
MOVE-CORRESPONDING GT_EKKO TO GT_out.
READ TABLE GT_LFA1 WITH KEY LIFNR = GT_EKKO-LIFNR.
IF SY-SUBRC = 0.
GT_OUT-NAME1 = GT_LFA1-NAME1.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GT_OUT-MATNR
IMPORTING
OUTPUT = GT_OUT-MATNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GT_OUT-LIFNR
IMPORTING
OUTPUT = GT_OUT-LIFNR.
append GT_out.
clear GT_EKKO.
ENDIF.
endloop.
LOOP AT GT_EKBE.
MOVE-CORRESPONDING GT_EKBE TO GT_OUT.
* GT_OUT-EBELN = GT_EKBE-EBELN.
* GT_OUT-BUZEI = GT_EKBE-BUZEI.
* GT_OUT-VGABE = GT_EKBE-VGABE.
* GT_OUT-BELNR = GT_EKBE-BELNR.
* GT_OUT-MENGE1 = GT_EKBE-MENGE1.
* GT_OUT-BWART = GT_EKBE-BWART.
* GT_OUT-BUDAT = GT_EKBE-BUDAT.
* GT_OUT-HSWAE = GT_EKBE-HSWAE.
READ TABLE GT_EKKO WITH KEY EBELN = GT_EKBE-EBELN
matnr = GT_EKBE-matnr.
IF SY-SUBRC = 0.
GT_OUT-WERKS = GT_EKKO-WERKS.
GT_OUT-AEDAT = GT_EKKO-AEDAT.
GT_OUT-MATNR = GT_EKKO-MATNR.
GT_OUT-TXZ01 = GT_EKKO-TXZ01.
GT_OUT-NETPR = GT_EKKO-NETPR.
GT_OUT-MENGE = GT_EKKO-MENGE.
GT_OUT-LIFNR = GT_EKKO-LIFNR.
ENDIF.
READ TABLE GT_LFA1 WITH KEY LIFNR = GT_EKKO-LIFNR.
IF SY-SUBRC = 0.
GT_OUT-NAME1 = GT_LFA1-NAME1.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GT_OUT-MATNR
IMPORTING
OUTPUT = GT_OUT-MATNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GT_OUT-LIFNR
IMPORTING
OUTPUT = GT_OUT-LIFNR.
APPEND GT_OUT.
CLEAR GT_OUT.
ENDLOOP.
ENDFORM. " DEAL_DATA
*&---------------------------------------------------------------------*
*& Form ALV_DIS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_DIS .
*创建字段宏定义和输出字段赋值
PERFORM FRM_BUILD_FIELDCATALOG.
*定义输出模式
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GD_LAYOUT-F2CODE = '&IC1'. "Sets fcode for when double click(press f2)
"gd_layout-box_fieldname = 'BOX'.
GD_LAYOUT-CELL_MERGE = 'X'.
GD_LAYOUT-ZEBRA = 'X'.
*使用ALV输出函数
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
**用户操作的参数
* I_CALLBACK_USER_COMMAND = 'USER_COMMAND_4000' "自定义指向代码
*ALV输出状态的参数
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS_3200' "菜单
*输出模式参数
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IS_PRINT = GD_PRNTPARAMS
I_GRID_TITLE = G_TITLE
I_SAVE = 'X'
"it_sort = gt_sort[]
TABLES
*用于输出ALV的内表
T_OUTTAB = GT_OUT
EXCEPTIONS
*定义输出异常时的信息,配合MESSAGE语句使用
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " ALV_DIS
*&---------------------------------------------------------------------*
*& Form FRM_BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_BUILD_FIELDCATALOG .
"创建字段宏定义
DEFINE ADD_FIELD.
FIELDCATALOG-FIELDNAME = &1. "内表字段名称
FIELDCATALOG-SELTEXT_M = &2. "字段输出名称
FIELDCATALOG-NO_ZERO = &3. "是否显示零
FIELDCATALOG-JUST = &4. "对齐方式
FIELDCATALOG-EMPHASIZE = &5. "是否高亮
FIELDCATALOG-CHECKBOX = &6. "是否带单选框
FIELDCATALOG-EDIT = &7. "可编辑
APPEND FIELDCATALOG.
CLEAR FIELDCATALOG.
END-OF-DEFINITION.
*输出字段赋值
ADD_FIELD 'EBELN' '采购订单号' '' 'L' '' '' ''.
ADD_FIELD 'WERKS' '工厂' '' 'L' '' '' ''.
ADD_FIELD 'AEDAT' '凭证日期' '' 'L' '' '' ''.
ADD_FIELD 'MATNR' '物料号' '' 'L' '' '' ''.
ADD_FIELD 'TXZ01' '物料描述' '' 'L' '' '' ''.
ADD_FIELD 'NETPR' '净价' '' 'L' '' '' ''.
ADD_FIELD 'MENGE' '凭证数量' '' 'L' '' '' ''.
ADD_FIELD 'BUZEI' '行项目' '' 'L' '' '' ''.
ADD_FIELD 'VGABE' '业务\事件类' '' 'L' '' '' ''.
ADD_FIELD 'BELNR' '凭证号' '' 'L' '' '' ''.
ADD_FIELD 'MENGE1' '数量' '' 'L' '' '' ''.
ADD_FIELD 'BWART' '移动类型' '' 'L' '' '' ''.
ADD_FIELD 'BUDAT' '过账日期' '' 'L' '' '' ''.
ADD_FIELD 'HSWAE' '货币' '' 'L' '' '' ''.
ADD_FIELD 'LIFNR' '供应商' '' 'L' '' '' ''.
ADD_FIELD 'NAME1' '供应商名称' '' 'L' '' '' ''.
ENDFORM. " FRM_BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*& Form set_pf_status_3200
*&---------------------------------------------------------------------*
* GUI定义
*----------------------------------------------------------------------*
* -->EXTAB text
*----------------------------------------------------------------------*
FORM SET_PF_STATUS_3200 USING EXTAB TYPE SLIS_T_EXTAB.
DATA: R_UCOMM LIKE SY-UCOMM.
SET PF-STATUS 'MYSTATUS'.
ENDFORM.
SAP采购订单历史明细报表源代码(自己收藏)的更多相关文章
- SAP公司间采购订单关联交货单报表源代码(自己收藏)
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } ...
- SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...
- 为什么MB51本位币金额和采购订单历史本位币金额不一样?
翻译 为什么物料凭证的本位币金额有时和采购订单历史记录物料的本位币金额不一致? 回答: 有2个字段对应FI存放位置.物料凭证的字段(MSEG-DMBER)是存放库存账目金额.采购订单历史(EKBE-D ...
- 【MM系列】SAP 采购订单的批量修改
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言 ...
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- SAP采购订单入库后不允许修改单价增强
需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- SAP采购订单屏幕增强
转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...
- SAP 采购订单收货时报错:对于采购订单xxxx无收货可能
因为这个问题查了挺长时间,所以写在博客里记录下. 报错详细: 每个公司的配置不同,我公司遇到的这个问题原因是这里的确认控制是从信息记录带过来的,问题解决方法是,修改下确认控制的选项: 修改确认控制的后 ...
随机推荐
- xhtml 和 html 的区别
xhtml遵循xml文档规则,对于书写比较严格,相对于html来说,主要有以下不同: 标签不能重叠,可以嵌套标签与属性都要小写标签都要有始有终,要么以</p>形式结束,要么以<br ...
- [osx] 设置crontab
比较坑爹,直接使用 crontab -e 设置是没有效果的,只能这样设置 env EDITOR=vi crontab -e Have fun with Max OSX
- activity 所需jiar包
activity下载后有很多jar包有的jar包不一定用得上,也有些jar是重复的,这里就整理了一下必要的jar包 路径.. \activiti-5.19.0.2\wars\activiti-expl ...
- sp_MSforeachtable 与 sp_MSforeachdb
在MSSQL里有许多不公开的系统存储过程,其中可能常用的sp_MSforeachtable和sp_MSforeachdb有这2个.分别用于遍历某数据库的每个用户表.每个数据库. sp_MSforeac ...
- Subversion Edge
http://www.collab.net/downloads/subversion#tab-1
- qt qml fuzzyPanel 毛玻璃效果
毛玻璃效果,用qml来写代码真是简短,大爱qml:) [下载地址]http://download.csdn.net/detail/surfsky/8426641 [核心代码] Rectangle{ c ...
- java获取文件的md5值
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- <基督教福音视频>
<信耶稣还是罪人吗?>全集 http://www.youku.com/playlist_show/id_18458615.html <因信称义>全集 http://www.yo ...
- AB窗体互传参数
一.找了好几个,都不靠谱,不是说不靠谱,自己感觉太繁琐 二.父窗口传子窗口好传,有两种方法(自己认为比较简单的方法哈), 1第一种方法:在子窗口中新建一个属性:再新建一个方法,当然方法就是把属性个窗体 ...
- ROCKETMQ源码分析笔记2:client
CLIENT 之前讲过tools里面有大量调用client的东西.为了从源码层面了解rocket,决定啃下client这块骨头. pom 先看pom,看看CLIENT依赖谁.看完后原来是依赖commo ...