SAP Bar Code 开发(03) – 后台作业任务实现条码编号归零

Barcode开发中,条码标签内容都可以通过客户自定义编制;

通常情况下,流水号的编码都可以通过SAP的编码范围(Number Range)生成;

只是通常流水号都需要通过日期来生成,后面带出从数字1开始的流水,而对于SAP的number range来说,只能不断累加,不能倒退;

因此,要实现每天归零操作,可以通过录制 BDC 实现归零操作,再将实现 BDC 的程序扔向后台任务,固定每天 00:00 执行任务。

查看明细…

SAP Bar Code 开发(02) – 条码生成与输出打印

上篇文章中讲述了SAP Bar Code的几种解决方案;

而本文主要讲述条码的格式类型及其SAP提供的条码格式打印;

 

1. 条码类型与码制

对于条码的类型估计都很熟悉,主要分为一维码和二维码;

然而,条码的码制却是有众多格式,如:

一维码:Code-39、Code-93、 Code-128等

二维码:PDF-417、Data Matrix、Maxi Code、QR Code、Code-49、Code-16K等

查看明细…

SAP Bar Code 开发(01) – SAP条码解决方案

前段时间,需要对客户进行售前工作,整理下Barcode相关的PPT,加上之前也开发过几个Barcode的项目,于是整理了下相关内容,就有了这个系列。

相信很多朋友对Barcode(即条码)都不陌生,在企业生产管理当中的使用,非常频繁;

同时SAP也提供了几种解决方案供用户选择。下面简述下SAP Barcode常用的几种解决方案及其区别。

查看明细…

SAP维护视图(2)-表维护视图事件处理

1. 前言

上篇文章简单介绍了表维护视图的生成,也提及到视图事件的扩展,这里主要讲述也是关于视图的事件处理。

当为表生成了维护视图后,在用户操作体验时,总是会出现一些很莫名的需求;

然而很多时候明明在维护视图上能做到,但往往却退而求其次的额外开发新的程序去维护数据。

不仅浪费时间又浪费资源,会出现这种尴尬的情况,主要还是对表维护生成器的不熟悉导致的。

查看明细…

SAP维护视图(1)-生成表维护视图

1. 前言

SAP中由于数据量较大,很多Add-On表都需要通过用户自行维护,一般可以直接在SE16N 数据字典上直接维护数据;

但不是每个用户都有其操作权限,而且直接在数据字典上操作数据也有所危险;

因此SAP提供了表维护视图生成器,解决了这一难题;

可以通过对数据表直接生成维护视图,然后可以在维护视图上直接维护数据。

 
查看明细…

自定义ALV Grid 通用模板(ALV Grid Template)

ALV 通用模板

在项目中,如若定制的Report开发量较大时,ALV的通用模板则能起到相应的作用;

如若需要开发的Report较少时,还是不适宜用该模板;

 

1.添加自定义 ALV 工具栏

首先,需要为ALV模板创建标准工具栏,新建Function Module:ZCA_ALV_PRINT_SELECTION

然后,通过标准程序拷贝相应的ALV工具栏;

具体操作可以查看前面笔者的愚作:《REUSE_ALV_GRID_DISPLAY_LVC函数输入参数属性的应用》中自定义工具栏的内容。

查看明细…

REUSE_ALV_GRID_DISPLAY_LVC函数输入参数属性的应用

前面我们讲过,ALV Grid 函数的输出有两个:REUSE_ALV_GRID_DISPLAY 和 REUSE_ALV_GRID_DISPLAY_LVC

两者的操作大同小异,只是后者能更好的和ALV容器结合使用,前后则不能;而在输入参数属性的结构上也有些差异。

本篇文章主要讲解下ALV函数中输入参数的一些应用。

 

首先了解下ALV函数输入参数的作用(粗体为常用参数):

I_INTERFACE_CHECK: 检查接口一致性

I_BYPASSING_BUFFER: 是否使用缓存

I_BUFFER_ACTIVE:是否激活缓存,如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一特殊的缓存里,加快显示速度。

I_CALLBACK_PROGRAM:调用ALV的程序名称

I_CALLBACK_PF_STATUS_SET:ALV工具栏Subroutine(子程序)

I_CALLBACK_USER_COMMAND:ALV User Command Subroutine(子程序),实现对应菜单项及相应事件功能

I_CALLBACK_TOP_OF_PAGE:ALV抬头内容信息

I_CALLBACK_HTML_TOP_OF_PAGE:ALV HTML格式抬头内容信息

查看明细…

ALV FIELDCAT添加属性 – REUSE_ALV_FIELDCATALOG_MERGE函数

在上篇文章中,介绍了ALV的两个输出函数,及其 Layout 和 Fieldcat 的相关属性;

在 ALV 定义 Fieldcat 的时候,我们往往需要通过 slis_fieldcat_alv 的赋值给Fieldcat导入结构。

如上篇文章中给出的例子:


DATA: wa_fieldcat TYPE slis_fieldcat_alv ,    
      i_fieldcat  TYPE slis_t_fieldcat_alv ,   
      i_layout    TYPE slis_layout_alv.

wa_fieldcat-tabname     = 'I_TAB'.
wa_fieldcat-fieldname   = 'MATNR'.        " 需要输出的内表的字段名
wa_fieldcat-seltext_l   = 'Material NO.'. " 字段的描述-长字段标签
wa_fieldcat-seltext_m   = 'Material NO.'. " 字段描述-中字段标签
wa_fieldcat-seltext_s   = 'Material NO.'. " 字段描述-短字段标签
wa_fieldcat-fix_column  = 'X' .           " 是否是固定列

APPEND wa_fieldcat TO i_fieldcat.
CLEAR  wa_fieldcat.

查看明细…

ALV简介和Fieldcat与Layout相关参数属性

1.ALV简介

2.ALV报表开发的相关参数及属性

3.Layout的相关属性

4.Fieldcat的相关属性

5.调用ALV输出函数

 

1.ALV简介

ALV(SAP List Viewer) 是SAP常用的屏幕显示列表控件对象,通过传递数据内表方式显示数据;

ALV显示格式分为Grid 和 List两种模式:

Grid模式有栏位选择按钮功能,允许用户直接输出格式,操作更为灵活;

List 模式则固定格式,应用于较严格的标准报表。

查看明细…

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 开发系列(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 中可以定义结构来包含多个基本类型,便于整理及操作;

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

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

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

 

查看明细…

ABAP 开发系列(03): ABAP Selection Screens

用户与SAP数据之间的通信交互是通过对屏幕的操作来实现的,如:数据报表,业务功能操作等,而SAP的屏幕开发一般分为两种:

1.  通过SAP ABAP语法创建屏幕元素,称之为Selection Screen(选择屏幕);

2.  通过SAP的屏幕编辑器开发,称之为Dialog(对话框屏幕),通过屏幕编辑器可以实现数据的多种展现模式。

abap_03_Selection_Screen

本文主要 讲述的是第一种屏幕开发的内容(选择屏幕):

1. 屏幕基本元素

2. 屏幕输入值控制

3. 屏幕事件(ABAP Event)

4. 屏幕对象的F1/F4功能

5. SAP屏幕框架

查看明细…

SAP

ABAP 开发系列文章

从事ABAP开发也有好些年了,很多知识总是会不经意间从我们脑海中溜走;重温了下以前的一些知识,

觉得有必要记录下过去的所学,也好让初学者了解下ABAP开发;

当然,网络上也有很多关于这方面的内容,这里仅仅记录我在工作中用到的,用过的知识,整理出来的一些学习笔记。

其中文章基本为原创,只是有些可能会参考网络的内容,本系列文章会不断更新,也希望自己能有毅力能够写完。

 

本系列内容包括:

[01]. ABAP Development Workbench(上)- SAP概述及ABAP开发环境

导读:作为开篇,简单介绍下SAP 的相关概念和 ABAP 的开发环境。

[02]. ABAP Development Workbench(下)- ABAP 调试器

导读:ABAP开发环境中,ABAP 调试器的运用。

查看明细…