FOR ALL ENTRIES 优化

该语法在生成 Native SQL 时会根据内表数据将 Open SQL 拆分成多条在数据库中执行,在内表数据量较大的时候会发生性能问题.

优化 FOR ALL ENTRIES 可以在全局配置参数文件;

针对单独的程序可以使用 HINT 语句 覆盖参数文件的值。

 
查看明细…

SAP 基本单位与物料计量单位间的转换

基本单位的转换函数

UNIT_CONVERSION_SIMPLE  - 基本单位间的转换(如:1MIN = 60S)

物料单位转换的两个函数

1) MD_CONVERT_MATERIAL_UNIT  -  计量单位之间转换(如:每PCS 等于多少 SET)

2) MATERIAL_UNIT_CONVERSION  - 每基本单位等于多少计量单位(如:KG),如果KZMEINH = ‘X’ 则为每计量单位等于多少基本单位

 
查看明细…

生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

生产完成后,需要对产品进行完工确认(也叫 报工确认);

一般情况下,可以通过事务码(T-Code)CO11CO11N 进行确认。

 

对于一些零配件的生产时,往往需要确认大量的数量,因而有些用户就会有批量报工的需求。

批量报工可以通过两种方式实现:录制BDC 或者 Call 系统标准 BAPI

1) 录制BDC这里就不讲述了,直接在CO11N上录屏即可;

2) Call 系统标准 BAPIBAPI_PRODORDCONF_CREATE_TT.

查看明细…

ABAP 开发系列(09): ABAP 数据字典

SAP ABAP 数据字典ABAP Dictionary)SAP定义和管理数据的主要工具,是 ABAP Workbench 的重要组成部分。

通过数据字典可以定义系统中的各类数据对象,包括数据类型、数据结构、数据库表、视图等。

数据字典中的所有对象可以供所有SAP程序使用。

用户也可以创建自定义表,称之为Add-On表,一般通过字母 ‘Z’ 或者 ‘Y’ 开头定义。

 
查看明细…

ABAP 开发系列(08): SAP Open SQL

在前面我们介绍ABAP WorkBench时了解到 SAP 的三层架构:

表现层(Presentation),应用层(Application),数据层(Database)

Open SQL就发生在 Application 和 Database 之间;

SAP Application将发送的Open SQL请求,与Database进行匹配,转换成接受的SQL语句,

DB再执行SQL,将结果返回给Application。

 
查看明细…

ABAP 四舍五入函数

ABAP 中处理数据的函数方法很多,其中涉及到四舍五入的有两个(可能还有更多):ROUNDHR_NZ_ROUNDING_DECIMALS

前者位于Basis功能开发包 SZME 里面,在标准中用于计量单位的计算;

后者主要用于HR模块,位于 PB43 开发包,处理HR模块中的主数据。

 
查看明细…

ABAP 开发系列(07): 模块化 – 子程序

4. 模块化(Modularization)

ABAP 主要有三种模块单元:

1).Event:事件
2).Subroutine子程序
3).Function module:功能模块

这里主要讲解的是第2种模块单元: ABAP子程序 (Subroutine)

它是包含在程序中的一段功能代码,单独作为一个小程序封装并包含在主程序中;

特别是主程序中多次用到的代码,可以抽离出来,放在子程序中,方便多次使用。

以便于分析与简化代码可读性,更主要的是能便于程序的维护。

 
查看明细…

ABAP 开发系列(06): ABAP 控制语句

3. 控制语句

ABAP语言的掌握到一定程序后,会处理一些复杂的内容,而SAP的数据流控制中,更有很多复杂的逻辑操作。

这时候需要一些手段来管理和组织这些项目,ABAP的分支结构,如 if,case;循环操作,如 Do,While 等。

以便程序按照所需要的逻辑处理相应的任务。

 
查看明细…

ABAP 开发系列(05): ABAP 内表与内表结构

2.内表和内表结构

2.1  结构体(Structure)

2.1.1 结构体的定义

ABAP 中可以定义结构来包含多个基本类型,便于整理及操作;

结构体不属于数据字典对象(数据字典中可以定义结构体,但不能存储数据),在程序运行时会被作为临时对象存储在内存空间;

在创建内表时,可参考直接定义的结构体作为内表结构

结构体的定义,可以通过两种方式实现:

 

查看明细…

SAP MM 仓库产销存-期初期末逻辑处理

仓库产销存报表,是为了供物流部及相关部门查询指定期间的物料的产销存情况。

根据查询条件(年/月/工厂)获取物料的期初、期末库存

 

程序逻辑:

1、 按查询条件从MARD(物料主储存位置)和MSKA(销售订单库存)获取最新的库存信息,按物料、库存地点合并后得到主表数据;

2、 根据主表数据查找期初库存期末库存,如下:

3、 以物料、工厂、库存地点为KEY,从表MARDMARDH、MSKA、MSKAH获取期初库存(上月末库存):

 
查看明细…