*&---------------------------------------------------------------------*
*& 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. CSS id 选择器

    id 选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式. id 选择器以 "#" 来定义. 下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二 ...

  2. 【python】类的继承和多态

    比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印: class Animal(object): def run(self): print 'Animal is r ...

  3. linux 下 用户与用户组

    1,增加一个test组:groupadd test 2,将test组重命名test2:groupmod -n test2 test 3,删除test2组:groupdel test2 4,查看当前登录 ...

  4. 【AT91SAM3S】SAM3S-EK Demo工程中,LCD驱动程序的加载(函数指针结构体)

    为了调试LCD,在英倍特的板子上烧Atmel的sam3s-ek_demo_1.4_source示例代码.LCD显示正常了,却找不到LCD的驱动究竟在哪. 花了好久,追踪到了这个执行过程. 进入main ...

  5. Windows下使用scapy+python2.7实现对pcap文件的读写操作

    scapy在linux环境中对pcap文件进行操作非常方便,但在windows下,特别是在python2.7环境下却会碰到各种各样的依赖包无法使用的问题,最明显的可能就属dnet和pcap的pytho ...

  6. context menu与submenu区别

    http://blog.csdn.net/liuxiit/article/details/6819235 总结调用顺序: 点击“Menu" 键时,调用 onCreateOptionsMenu ...

  7. 怎么取消 Windows Server 2012 r2 RDP 限制每个用户只能进行一个会话(转)

    在 Windows Server 2008 / 2008 R2 上,如果希望多个远程用户使用同一个账号同时访问服务器的 Remote Desktop(RDP),只需通过管理工具-远程桌面下的“远程桌面 ...

  8. Linux 服务器的网络配置 - 2. 查看 Linux 服务器的进程

    2. 查看 Linux 服务器的进程 1)ps [主要选项] -a  显示系统中所有进程的信息 -e  显示所有进程的信息 -f  显示进行的所有信息 -l   以长格式显示进程信息 -r  只显示正 ...

  9. [DFNews] GetData也出取证软件了

    从事计算机取证的应该都听说过MIP(Mount Image Pro).VFC仿真和Recover My Files,上述三个应用比较广泛的软件都是GetData公司的产品.GetData现在也推出了自 ...

  10. 如何在LLDB下排查message sent to deallocated instance问题

    转:http://www.devdiv.com/home.php?mod=space&uid=50901&do=blog&id=50856 在XCode的以前版本中,如果遇到了 ...