CK13物料价格评估的数据ALV显示
*&---------------------------------------------------------------------*
*& Report ZPP023
*&
*&---------------------------------------------------------------------*
*& Author:**** DAta:****
*& description: *****
*&---------------------------------------------------------------------*
Report ZPP023.
tables:KEKO,KEPH,marc.
DATA: BEGIN OF F_KEKO_KEY.
INCLUDE STRUCTURE CKIKEKOKEY.
DATA: END OF F_KEKO_KEY.
DATA: BEGIN OF F_KEKO.
INCLUDE STRUCTURE KEKO.
DATA: END OF F_KEKO.
DATA: BEGIN OF GT_KEKO OCCURS 20.
INCLUDE STRUCTURE KEKO.
DATA: END OF GT_KEKO.
DATA: BEGIN OF GT_EXCEL OCCURS 20.
DATA: MONTH(6) type C,
MAKTX LIKE MAKT-MAKTX,
MTART LIKE MARA-MTART.
data: MATNR LIKE KEKO-MATNR,
KLVAR like KEKO-KLVAR,
LOSGR like KEKO-LOSGR.
INCLUDE STRUCTURE KEPH.
data: KST_HJ001(16) type p decimals 5,
KST_HJ005(16) type p decimals 5,
KST_HJ007(16) type p decimals 5,
KST_HJ009(16) type p decimals 5,
KST_HJ011(16) type p decimals 5,
KST_HJ013(16) type p decimals 5,
KST_HJ(16) type p decimals 5.
DATA: END OF GT_EXCEL.
DATA: BEGIN OF GW_EXCEL .
DATA: MONTH(6) type C,
MAKTX LIKE MAKT-MAKTX,
MTART LIKE MARA-MTART.
DATA: MATNR LIKE KEKO-MATNR,
KLVAR like KEKO-KLVAR,
LOSGR like KEKO-LOSGR.
INCLUDE STRUCTURE KEPH.
data: KST_HJ001(16) type p decimals 5,
KST_HJ005(16) type p decimals 5,
KST_HJ007(16) type p decimals 5,
KST_HJ009(16) type p decimals 5,
KST_HJ011(16) type p decimals 5,
KST_HJ013(16) type p decimals 5,
KST_HJ(16) type p decimals 5.
DATA: END OF GW_EXCEL.
type-pools:slis.
data:f_pos type i,
it_fieldcat type lvc_t_fcat,
is_fieldcat type lvc_s_fcat,
it_layout type lvc_s_layo.
selection-screen begin of block b1 with frame title text-001.
select-options:R_MATNR for marc-matnr.
select-options:R_KADKY for KEPH-KADKY."成本核算日期
select-options:R_DATS for KEKO-KADAT.
selection-screen end of block b1.
at selection-screen.
perform get_Data.
perform dis_alv.
*----------------------------------------------------------------------*
* FORM get_Data.
*----------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form get_Data.
SELECT * INTO table GT_KEKO FROM KEKO WHERE matnr in R_MATNR and KADAT in R_DATS and BIDAT in R_DATS and KADKY in R_KADKY.
loop at GT_KEKO into F_KEKO.
move-corresponding F_KEKO to F_KEKO_KEY.
perform KEPH_READ using F_KEKO_KEY F_KEKO.
clear:F_KEKO.
endloop.
endform.
*----------------------------------------------------------------------*
* FORM KEPH_READ.
*----------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form KEPH_READ using F_KEKO_KEY type CKIKEKOKEY F_KEKO type KEKO.
data:Y_X type c value 'X'.
DATA: BEGIN OF T_KEPH OCCURS 20.
INCLUDE STRUCTURE KEPH.
DATA: END OF T_KEPH.
DATA: BEGIN OF W_KEPH.
INCLUDE STRUCTURE KEPH.
DATA: END OF W_KEPH.
CALL FUNCTION 'CK_F_KEKO_KEPH_DIRECT_READ'
EXPORTING
F_KEKOKEY = F_KEKO_KEY
READ_KEKO = Y_X
READ_KEPH = Y_X
IMPORTING
F_KEKO = F_KEKO
TABLES
I_KEPH = T_KEPH
EXCEPTIONS
DATA_NOT_FOUND = 01.
loop at T_KEPH into W_KEPH where KKZST <> 'X'.
move-corresponding W_KEPH to gw_excel.
gw_excel-matnr = F_KEKO-matnr.
gw_excel-month = F_KEKO-KADKY+0(6).
gw_excel-losgr = F_KEKO-LOSGR.
gw_excel-klvar = F_KEKO-klvar.
select single mtart into gw_excel-mtart from mara where matnr = gw_excel-matnr.
select single maktx into gw_excel-maktx from makt where matnr = gw_excel-matnr.
"计算价格单位为1时的成本
if gw_excel-losgr is not initial.
gw_excel-KST_HJ001 = gw_excel-KST001 / gw_excel-losgr.
gw_excel-KST_HJ005 = gw_excel-KST005 / gw_excel-losgr.
gw_excel-KST_HJ007 = gw_excel-KST007 / gw_excel-losgr.
gw_excel-KST_HJ009 = gw_excel-KST009 / gw_excel-losgr.
gw_excel-KST_HJ011 = gw_excel-KST011 / gw_excel-losgr.
gw_excel-KST_HJ013 = gw_excel-KST013 / gw_excel-losgr.
gw_excel-KST_HJ = gw_excel-KST001 + gw_excel-KST005 + gw_excel-KST007 + gw_excel-KST009 + gw_excel-KST011 + gw_excel-KST013.
gw_excel-KST_HJ = gw_excel-KST_HJ / gw_excel-losgr.
endif.
shift gw_excel-matnr left deleting leading '0'.
append gw_excel to gt_excel.
clear:gw_excel,W_KEPH.
endloop.
endform.
*&---------------------------------------------------------------------*
*& Form DIS_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form DIS_ALV .
perform fill_fieldcat.
call function 'REUSE_ALV_GRID_DISPLAY_LVC'
exporting
i_callback_program
= sy-repid
"i_callback_pf_status_set = 'PF_status'
" i_callback_user_command = 'USER_COMMAND'
it_fieldcat_lvc
= it_fieldcat
"is_layout_lvc = it_layout
"i_save = 'A'
"it_sort_lvc = it_sort_lvc
tables
t_outtab
= gt_excel
exceptions
program_error
= 1
others = 2.
endform. " DIS_ALV
*&---------------------------------------------------------------------*
*& Form FILL_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form FILL_FIELDCAT .
define add_field.
is_fieldcat
-fieldname = &1.
is_fieldcat
-tabname = &2.
is_fieldcat
-coltext = &3.
is_fieldcat
-key = &4.
is_fieldcat
-col_pos = &5.
append is_fieldcat to it_fieldcat.
clear:is_fieldcat.
end-of-definition.
add_field
:'MONTH' 'gt_excel' '月份' 'X' '1',
'MATNR' 'gt_excel' '物料号' 'X' '2',
'MAKTX' 'gt_excel' '物料描述' 'X' '3',
'MTART' 'gt_excel' '物料类型' 'X' '4',
'KLVAR' 'gt_excel' '价格类型' 'X' '5',
'KST_HJ001' 'gt_excel' '原材料' '' '6',
'KST_HJ005' 'gt_excel' 'SMT加工成本' '' '7',
'KST_HJ007' 'gt_excel' '直接人工' '' '8',
'KST_HJ009' 'gt_excel' '制造费用' '' '9',
'KST_HJ011' 'gt_excel' '外协加工费' '' '10',
'KST_HJ013' 'gt_excel' '辅助部门费用分摊' '' '11',
'KST_HJ' 'gt_excel' '合计' '' '12'.
endform. " FILL_FIELDCAT
CK13物料价格评估的数据ALV显示的更多相关文章
- 程序间获取ALV显示数据(读取ALV GRID上的数据)
程序间获取ALV数据的两种方法: 方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点: * Execu ...
- 简单的ALV显示例子
废话不多说,直接上傻瓜代码.归根结底,就是要将显示的字段一行一行的放入fieldcat的表里. "定义ALV数据变量 DATA: IT_FIELDCAT TYPE SLIS_T_FIELDC ...
- EXTJS中grid的数据特殊显示,不同窗口的数据传递
//EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...
- input中空格后的数据不显示
bug,input中空格后的数据不显示 昨天在修bug,有一个bug是用户修改的个人信息的地址栏,输入有空格的话,空格后面的内容存不上,而且没有报错,奇怪了,只好跟踪下. 页面上的输入框就是个 ...
- easyui datagrid 没数据时显示滚动条的解决方法
今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...
- ENVI软件操作之【数据的显示操作】
数据的显示操作主要包括以下的一些简单窗口操作 1.文件列表管理 1)可用的波段列表Available Bands List,使用于存取ENVI图像文件和显示图像文件的主要控制对话框.无论何时何地打开一 ...
- 从多个XML文档中读取数据用于显示webapi帮助文档
前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...
- 实现easyui datagrid在没有数据时显示相关提示内容
本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...
- easy ui datagrid在没有数据时显示相关提示内容
$(function () { $('#dg').datagrid({ fitColumns: true, url: 'product.json', pagination: true, pageSiz ...
随机推荐
- 转载: Emmet:HTML/CSS代码快速编写神器
Emmet:HTML/CSS代码快速编写神器 因为文章严禁转载,那本着做一个遵纪守法的好公民,我就不转载了,把链接放下面,方便查阅. http://www.iteye.com/news/27580
- SpringMVC学习系列(1) 之 初识SpringMVC
1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论 ...
- 安装jessie记录
// */ // ]]> 安装jessie记录 Table of Contents 1 引言 2 目标 3 usb安装 4 无线网卡 5 代理上网 6 rabbitvcs 7 locale ...
- redis集群的一些笔记
当节点数量少于6个时候会提示如下信息,初始化一个集群的时候需要6个节点,为什么?? *** ERROR: Invalid configuration for cluster creation. *** ...
- 为什么学习Ruby On Rails:
简单总结了一下自己为什么喜欢ruby on rails: 语法简单,写代码很愉快,比较接近伪代码: 喜欢其强大的正则表达式和字符串操作. ruby中面向对象更自由,更动态: ruby给人信任,相信你了 ...
- R中,去掉dataframe中的NA行
R中使用complete.cases 和 na.omit来去掉包含NA的行 现在有个一data.frame datafile如下所示 Date sulfate nitrate ID 1 ...
- linux 下的clock_gettime() 获取精确时间函数
#include <time.h> int clock_gettime(clockid_t clk_id, struct timespec* tp); clock_gettime() 函数 ...
- IIS与Apache同时使用80端口
如果我们在一台服务器即使用IIS作为WEB服务器,同时又想使用Apache作为WEB服务器,那么如何来公用80端口呢? 我们可以使用单IP地址来实现,但是在性能上有损失: 将apache设为使用80端 ...
- ios开发 iphone中获取网卡地址和ip地址
这是获取网卡的硬件地址的代码,如果无法编译通过,记得把下面的这几个头文件加上把. #include <sys/socket.h> // Per msqr#include <sys/s ...
- php实例源码之获取mysql表中所有行和列
本文章向大家介绍php获取mysql表中所有行和列的源码,主要使用到mysql_num_rows和mysql_fetch_row等php的数据库操作函数,该实例有助于大家熟悉PHP mysql数据库编 ...