*&---------------------------------------------------------------------*
*& 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显示的更多相关文章

  1. 程序间获取ALV显示数据(读取ALV GRID上的数据)

    程序间获取ALV数据的两种方法: 方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点: * Execu ...

  2. 简单的ALV显示例子

    废话不多说,直接上傻瓜代码.归根结底,就是要将显示的字段一行一行的放入fieldcat的表里. "定义ALV数据变量 DATA: IT_FIELDCAT TYPE SLIS_T_FIELDC ...

  3. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

  4. input中空格后的数据不显示

    bug,input中空格后的数据不显示     昨天在修bug,有一个bug是用户修改的个人信息的地址栏,输入有空格的话,空格后面的内容存不上,而且没有报错,奇怪了,只好跟踪下. 页面上的输入框就是个 ...

  5. easyui datagrid 没数据时显示滚动条的解决方法

    今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...

  6. ENVI软件操作之【数据的显示操作】

    数据的显示操作主要包括以下的一些简单窗口操作 1.文件列表管理 1)可用的波段列表Available Bands List,使用于存取ENVI图像文件和显示图像文件的主要控制对话框.无论何时何地打开一 ...

  7. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  8. 实现easyui datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...

  9. easy ui datagrid在没有数据时显示相关提示内容

    $(function () { $('#dg').datagrid({ fitColumns: true, url: 'product.json', pagination: true, pageSiz ...

随机推荐

  1. java 里面的string 和byte[] 怎么互转

    public class TestBytes { private static String FORMAT = "UTF-8"; public static void main(S ...

  2. c#定义全局条件编译符号

    在"工程"上单机右键,"属性"--->"生成"--->"条件编译符号"后边的输入框中,输入自定义的条件编译变 ...

  3. 微信公众平台开发教程(十一)微信"企业号“上线

    什么是企业号? 企业号是微信为企业客户提供的移动应用入口 关注更安全 只有企业通讯录的成员才能关注企业号,分级管理员.保密消息等各种特性确保企业内部信息的安全. 应用可配置 企业可自行在企业号中可配置 ...

  4. c++函数重载

    为方便使用,在一定范围内,c++可以定义多个功能形似的同名函数,但是这些函数的形参必须不同(类型.个数.顺序),这就是重载函数.重载函数常用来实现功能类似而所处理的数据类型不同的问题. 看下面的一个例 ...

  5. make自动生成依赖文件的两种形式

    最近编译源文件发现当修改头文件后,make并不会自动把包含此头文件的所有源文件重新编译,而每次都是需要把对应的中间文件清除才能重新编译,非常的麻烦.因此需要make自动对源文件所依赖的头文件进行管理, ...

  6. [HTML5]HTML语义(Semantics)

    HTML 是有含义的 语义指的是计算机语言定义的符号有其规范的含义,HTML中的标签.属性和属性值都有其约定的含义. 语义和默认样式有所不同,默认样式是浏览器设定的一些常用标签的表现形式,而语义化的主 ...

  7. 【javascript基础】3、变量和作用域

    前言 这篇和大家说一下javascript中的变量和作用域,由于是将基础嘛,主要给大家捋一下知识,不想翻开书复习的道友可以看一下,打算刚开始学习javascript的同学可以扫一眼. PS:jQuer ...

  8. 【转】C#环形队列

    概述 看了一个数据结构的教程,是用C++写的,可自己C#还是一个菜鸟,更别说C++了,但还是大胆尝试用C#将其中的环形队列的实现写出来,先上代码: 1 public class MyQueue< ...

  9. windows下使用VS2010编译jpeglib

    1.下载源代码下载地址:http://www.ijg.org/files/,    选择最新版本的windows版本压缩包,进行下载.    jpegsr9a.zip    1042 Kb    Su ...

  10. C#GridViewExport帮助类,美化导出

    1.将整GridView的数据导出到Excel中关增加一个效果线做美化 最新的GridViewExport操作类 using System.Data; using System.Web; using ...