*&---------------------------------------------------------------------*
*& 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. 什么是 Web API

    http://www.cnblogs.com/developersupport/p/aspnet-webapi.html Web API 强势入门指南 Web API是一个比较宽泛的概念.这里我们提到 ...

  2. 【MySQL】探究之TIMESTAMP

    背景 之前有业务反馈表中start_time,end_time时间字段随着时间的推移被自动更新,这可不是业务意愿,说的严重点是要出故障的. MySQL中有DATE,DATETIME,TIMESTAMP ...

  3. 【Linux】浅谈I/O模型

    关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是无法直接操作I/O设备的,其必须通过系统调用请求内核来协助完成I/O动作,而内核会为每个I/O设备维护一个buffer. 如下图所示: ...

  4. eclipse中没有R文件

    换了台电脑,把eclipse安装上去,很久没用,最近用了一下.发现R文件无法生成.试了各种方法. Project-->Clean:从其他的项目中,复制一个R.java过来:检查语法:勾选上了Pr ...

  5. [家里蹲大学数学杂志]第053期Legendre变换

    $\bf 题目$. 设 $\calX$ 是一个 $B$ 空间, $f:\calX\to \overline{\bbR}\sex{\equiv \bbR\cap\sed{\infty}}$ 是连续的凸泛 ...

  6. 37. Binary Tree Zigzag Level Order Traversal && Binary Tree Inorder Traversal

    Binary Tree Zigzag Level Order Traversal Given a binary tree, return the zigzag level order traversa ...

  7. 52. Sort Colors && Combinations

    Sort Colors Given an array with n objects colored red, white or blue, sort them so that objects of t ...

  8. 65. Reverse Integer && Palindrome Number

    Reverse Integer Reverse digits of an integer. Example1: x =  123, return  321 Example2: x = -123, re ...

  9. 验证码I

    package com.ah.testjava.validatecode; import java.awt.Color; import java.awt.Font; import java.awt.G ...

  10. QTP实现功能测试的时候,当新版本的页面都改变了,应该如何解决

    去更改对象仓库的属性和更改对象仓库.