SAP 在制品明细

2023-11-16

*&---------------------------------------------------------------------*
*& Report ZCO019
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zco019.

TABLES matdoc  .

SELECT-OPTIONSs_bukrs FOR matdoc-bukrs OBLIGATORY ,
                s_budat FOR matdoc-budat OBLIGATORY ,
                s_aufnr FOR matdoc-aufnr .


DATABEGIN OF gs_out ,
        budat        LIKE matdoc-budat,
        bukrs        LIKE matdoc-bukrs,
        werks        LIKE matdoc-werks,
        mblnr        LIKE matdoc-mblnr,
        aufnr        LIKE matdoc-aufnr,
        matnr        LIKE matdoc-matnr,
        bwtar        LIKE matdoc-bwtar,
        charg        LIKE matdoc-charg,
        bwart        LIKE matdoc-bwart,
        stock_qty    LIKE matdoc-dmbtr_stock,
        dmbtr_stock  LIKE matdoc-dmbtr_stock,
        vprsv        LIKE matdoc-vprsv,
        objnr        LIKE aufk-objnr,
        dj           TYPE  DECIMALS 6"单价
        dmbtr_stock2 LIKE matdoc-dmbtr_stock,
      END OF gs_out .
DATAgt_out LIKE TABLE OF gs_out .

DATABEGIN OF ls_covp,
        aufnr  LIKE    matdoc-aufnr,
        belnr  LIKE  coep-belnr ,  "如果不加这个 FOR ALL ENTRY IN 会少一行
        wogbtr LIKE  coep-wogbtr,
      END OF ls_covp .
DATAlt_covp LIKE TABLE OF ls_covp .


DATAgt_fieldcat TYPE   lvc_t_fcat .
DATAgs_fieldcat TYPE   lvc_s_fcat .
DATAgs_layout   TYPE   lvc_s_layo .

PARAMETERS CB_01 AS CHECKBOX .



"取物料

SELECT
     budat
     a
~bukrs
     a
~werks
     mblnr
     a
~aufnr
     matnr
     bwtar
     charg
     bwart
     stock_qty
    dmbtr_stock
     vprsv
    objnr
  
INTO TABLE gt_out
  
FROM matdoc AS a
  
JOIN aufk AS ON a~aufnr b~aufnr
  
WHERE a~bukrs IN s_bukrs
   
AND  budat IN s_budat
  
AND a~aufnr IN s_aufnr
  
AND B~AUART <> 'Z010'
  AND B~AUART <> 'Z020'  .

DATABEGIN OF ls_jest,
        objnr LIKE jest-objnr,
*       STAT  LIKE JEST-STAT ,  "查询TECO DLV等描述可以 关联 TJ02T 这个表
      END OF ls_jest .
DATAlt_jest LIKE TABLE OF ls_jest .

if cb_01  eq 'X' .
SELECT  objnr
  
INTO TABLE lt_jest
  
FROM jest
  
FOR ALL ENTRIES IN gt_out
  
WHERE objnr gt_out-objnr
   
AND   stat EQ 'I0012'  OR  stat EQ 'I0045' OR  stat EQ 'I0046'   )   "查询TECO DLV等描述可以 关联 TJ02T 这个表
   AND INACT  EQ '' .

DATA lv_tabix TYPE sy-tabix .
LOOP AT gt_out INTO gs_out .
  CLEAR lv_tabix .
  lv_tabix =  sy-tabix  .
  READ TABLE lt_jest INTO ls_jest WITH KEY objnr gs_out-objnr .
  IF sy-subrc EQ .
    DELETE gt_out  INDEX lv_tabix .
  ENDIF .

ENDLOOP .
ENDIF .

DATA lv_KALNR LIKE ckmlhd-kalnr .
DATAlv_peinh LIKE ckmlcr-peinh .
DATAlv_year TYPE c LENGTH .
DATAlv_mon TYPE c LENGTH .

取实际金额
LOOP AT gt_out INTO gs_out    .
  SELECT SINGLE  kalnr INTO lv_KALNR
    
FROM ckmlhd
    
WHERE matnr gs_out-matnr
    
AND  bwkey gs_out-werks
    
AND bwtar  gs_out-bwtar
    
AND kzbws space.
  lv_year gs_out+0(4) .
  lv_mon '0' && gs_out+4(2) .
  IF gs_out-vprsv EQ 'S' .
    SELECT SINGLE   pvprs peinh INTO  gs_out-dj lv_peinh )
      FROM ckmlcr
      
WHERE  kalnr lv_kalnr
      
AND bdatj lv_year
      
AND poper lv_mon .

    IF lv_peinh IS NOT INITIAL .
      gs_out-dj gs_out-dj / lv_peinh .
    ELSE .
      gs_out-dj  =  .
    ENDIF .
    gs_out-dmbtr_stock2 =    gs_out-stock_qty *  gs_out-dj .
*    IF gs_out-bwart EQ '101' OR  gs_out-bwart EQ '102' .
*      gs_out-dmbtr_stock2  = gs_out-dmbtr_stock .
*    ENDIF .

  ELSE .
    gs_out-dmbtr_stock2  gs_out-dmbtr_stock .
  ENDIF .
  MODIFY gt_out FROM gs_out .

ENDLOOP .


"取制造费用
IF CB_01 EQ 'X' .
IF gt_out IS NOT INITIAL .
  SELECT aufnr  belnr   wogbtr
    
FROM v_covp
    
INTO CORRESPONDING FIELDS OF  TABLE  lt_covp
    
FOR ALL ENTRIES IN gt_out
    
WHERE aufnr gt_out-aufnr
    
AND   budat IN  s_budat
    
AND   k_vrgng  <> 'COIN' .
endif.
else .
     SELECT aufnr  belnr   wogbtr
    
FROM v_covp
    
INTO CORRESPONDING FIELDS OF  TABLE  lt_covp
    
WHERE aufnr in s_aufnr
    
AND   budat IN  s_budat
    
AND   k_vrgng  <> 'COIN' .
ENDIF .


DATABEGIN OF gs_covp,
        aufnr  LIKE    matdoc-aufnr,
        wogbtr LIKE  coep-wogbtr,
      END OF gs_covp .
DATAgt_covp LIKE TABLE OF gs_covp .

LOOP AT lt_covp INTO ls_covp .
  MOVE-CORRESPONDING ls_covp TO gs_covp .
  COLLECT gs_covp INTO gt_covp .
  CLEAR  gs_covp .
ENDLOOP .

调整发出为正数 入库为负数
LOOP AT gt_out INTO gs_out .
  gs_out-stock_qty =  gs_out-stock_qty * -.
  gs_out-dmbtr_stock =  gs_out-dmbtr_stock * -.
  gs_out-dmbtr_stock2 =  gs_out-dmbtr_stock2 * -.
  MODIFY gt_out  FROM gs_out .
ENDLOOP .

"添加制造费用

LOOP AT gt_covp INTO gs_covp .
  CLEARgs_out .
  gs_out-aufnr  gs_covp-aufnr .
  gs_out-matnr '制造费用.
  gs_out-dmbtr_stock  gs_covp-wogbtr .
  gs_out-dmbtr_stock2  gs_covp-wogbtr .
  APPEND gs_out TO gt_out .
ENDLOOP .

SORT gt_out  BY aufnr budat  ASCENDING  .




DEFINE append_field.
  gs_fieldcat-fieldname &1.
  gs_fieldcat-coltext &2.
  APPEND gs_fieldcat TO gt_fieldcat.
  CLEARgs_fieldcat.
END-OF-DEFINITION.


append_field'BUKRS' '公司代码.
append_field'BUDAT' '过账日期.
append_field'AUFNR' '工单号.
append_field'MBLNR' '物料凭证号.
append_field'MATNR' '物料编号.
append_field'BWTAR' '评估类型.
append_field'CHARG' '物料批次.
append_field'BWART' '移动类型.
append_field'STOCK_QTY' '数量.
append_field'DMBTR_STOCK' '金额_标准.
append_field'VPRSV' '价格控制.

append_field'DJ' '实际单价.
append_field'DMBTR_STOCK2' '金额_实际.



gs_layout-cwidth_opt 'X'.   "列宽自适应
gs_layout-zebra      'X'.      "斑马线

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  EXPORTING
    i_callback_program sy-repid
*   i_callback_pf_status_set = 'FRM_STATUS_SET'
*   i_callback_user_command  = 'FRM_USER_COMMAND'
*
*   I_GRID_SETTINGS    =
    is_layout_lvc      gs_layout
    it_fieldcat_lvc    
gt_fieldcat
    i_save             
'A'
*   i_grid_settings    = ls_grid_settings
*   it_events          = lt_events
*   is_variant         = ls_variant
*   ES_EXIT_CAUSED_BY_USER   =
  TABLES
    t_outtab           gt_out
  
EXCEPTIONS
    program_error      1
    OTHERS             2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SAP 在制品明细 的相关文章

  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • Java:从集合中获取第一项

    如果我有一个集合 例如Collection
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 如何在sql server 2008R2中将单个单元格拆分为多个列?

    我想将每个名称拆分为各个列 create table split test value integer Allnames varchar 40 insert into split test values 1 Vinoth Kumar Raj
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI

随机推荐

  • Redis主从复制与Redis集群

    Redis主从复制与Redis集群 前言 一 主从复制 1 是什么 2 能干嘛 3 怎么玩 主从复制 4 新建redis conf配置文件 5 主从集群常用3种 1 主从模式一 一主二从 2 主从模式二 薪火相传 3 主从模式三 反客为主
  • Python循环的技巧

    Python的for循环是coder最常用的语句之一 如果只是简单地对容器循环遍历 那便会少了很多美好的体验 像下面这样 for i in range 10 print i python提供了很多用于循环的技巧 这些方法能让代码更加简洁美观
  • [Linux] 输入命令ls -laF后的各字段含义解析

    在登陆Ubuntu之后 我们切换超级管理用户root su root 然后切换到其所在的主目录 cd 然后以该目录下的所有文件以及文件夹为例进行介绍 我们输入命令查看该目录下面的所有文件以及文件夹 包括隐藏文件 ls laF 然后显示的内容
  • 回调函数使用

    https www cnblogs com shenwen p 9046482 html
  • 用c语言简单实现通讯录(详解和具体代码)

    前言 一 明确通讯录的功能 1 查找通讯录上的姓名 性别 电话和住址 2 可以增加 删除或修改相关信息 二 如何实现通讯录的功能 1 使用struct函数 2 实现通讯录的步骤 1 初始化通讯录并打印目录 2 实现增加信息与展示通讯录 3
  • [ 注意力机制 ] 经典网络模型2——CBAM 详解与复现

    Author Horizon Max 编程技巧篇 各种操作小结 机器视觉篇 会变魔术 OpenCV 深度学习篇 简单入门 PyTorch 神经网络篇 经典网络模型 算法篇 再忙也别忘了 LeetCode 注意力机制 经典网络模型2 CBAM
  • mysql导出数据为文本,MySQL 文本文件的导入导出数据的方法

    搜索热词 MysqL写入数据通常用insert语句 如 insert into person values 张三 20 李四 21 王五 70 但有时为了更快速地插入大批量数据或交换数据 需要从文本中导入数据或导出数据到文本 一 建立测试表
  • 【TensorFlow】TensorBoard的使用(一)

    概述 TensorBoard是一个可视化工具 它可以用来展示网络图 张量的指标变化 张量的分布情况等 特别是在训练网络的时候 我们可以设置不同的参数 比如 权重W 偏置B 卷积层数 全连接层数等 使用TensorBoader可以很直观的帮我
  • 关于spring integration jpa 使用druid 连接池 不可恢复问题排查

    背景 2023年6月10日 测试说生产环境报错 有个job 没执行 我打开服务就报如下错 却看不到代码在哪报错 由于比较忙 直接暴力重启了应用 问题解决 2023年6月17日 测试说生产环境报错 有个job 又没执行 依旧是如上的错 等我有
  • 使用exe4j打包exe

    首先 需要下载一个exe4j的软件 网址 http www softpedia com get Authoring tools Setup creators exe4j shtml 现在主要说一下怎么打exe的过程 1 打开安装好的exe4
  • unity新动画系统之IK动画

    国际惯例 先来一段说明 IK动画全称Inverse Kinematics 即反向动力学 牵一发而动全身的既视感 代码如下 using System Collections using System Collections Generic u
  • Mac使用工具tree,打印项目目录树到Markdown

    主要使用tree这个工具 安装方法 brew install tree 使用方法是 tree 参数 目录 常用方法 显示当前目录及子目录结构 tree 只显示目录 不显示文件 tree d 保存打印的结果到文件 tree gt my pro
  • Python安装包的三种方式: pip在线安装、setup.py安装、whl文件安装

    之前在自己电脑上一直用 pip instal xx 来安装python的包 后来因为公司电脑的网络连接限制 无法通过正常联网的方式安装 所以总结了几种在线 或 离线安装包的方式 具体如下 在线安装 pip install xx 正常在线安装
  • Android android:configChanges的简介

    AndroidManifest xml 文件中 在声明Activity时 会有这样一个属性设置 即 android configChanges 现在就来简单介绍下吧 程序在运行时 一些设备的配置可能会改变 如 横竖屏的切换 键盘的可用性等
  • cannot find -lstdc++解决方案

    今天在ubuntu12 10 64位下编译32位android 4 04源码时报错 usr bin ld skipping incompatible usr lib gcc x86 64 linux gnu 4 5 4 libstdc so
  • Linux:进程(概念)

    学习目标 1 认识冯诺依曼系统 2 认识操作系统概念与定位 系统调用接口 3 理解进程的概念 PCB 4 理解进程的状态 fork创建进程 僵尸进程及孤儿进程 5 了解进程的调度 优先级 竞争性 独立性 并行 并发 6 理解环境变量 熟悉常
  • bert结构模型的转换及[unusedxx]的不拆token

    这里写自定义目录标题 前沿 torch格式转onnc 方法1 方法2 保留 unused9 不分词 transformers模块 tensorflow模块 前沿 业界主流的模型结构包括tensorflow和pytorch 很多时候两者的模型
  • 北斗导航系统伪码定位原理,MATLAB迭代法求解

    用户到卫星的距离可以先简单理解成通过光速 时间差得到 而用户测得的是包含各种误差影响在内的距离 称之为伪距 这是伪距 是用户机钟差 加上用户三维坐标 共四个未知量 所以需要至少同时看到四颗卫星才能实现定位 设用户坐标是 X Y Z 三颗卫星
  • 13、【创业必备企业架构,可开发任意项目】SpringCloud大型企业分布式微服务云架构源码之MySQL 分组

    MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组 在分组的列上我们可以使用 COUNT SUM AVG 等函数 GROUP BY 语法 SELECT column name function col
  • SAP 在制品明细

    Report ZCO019 REPORT zco019 TABLES matdoc SELECT OPTIONS s bukrs FOR matdoc bukrs OBLIGATORY s bu