当前位置: 首页 > news >正文

SAP Smartform小结

SAP系统做打印单据用的, 感觉很不好用, 特别是要嵌入韩文时必须使用嵌入的word编辑器,运行速度简直不可忍受. 见过一些Adobe interactive form的示例, 看着相当不错, 不过据说需要花money额外买licence, 哪有smartform这种免费东西来得实惠.

一般打印需求,会要求有标题抬头,打印主体, 打印页脚.

在smartform中实现时, 抬头window作为secondary window, 而打印主体则是作为Main window, 页脚部分区域包含页码等内容,注意它的类型为Final window, 不然输出时可能有错误.

1. 合理使用Table , template.

前者是如同列表般输出, 可以多行多列重复输出. 而且可以设置table 的header, footer. Table 一行的高度是可调的,可以根据内容的多少自动整高度

Template则需要固定格式输出, 需要将所需要的表格画出格子, 然后将内容分配给各自的格子. 注意它的格子的大小是固定的, 如内容超出格子,将不会显示多余内容.

上例中是采用的Loop中嵌套Table输出. 注意 Table中其实对应的内表只有一行,只是这一行数据在显示时采用了多行显示.

每一行对应的抬头都是在Mani area中.

2. Table输出控制新页

譬如在输出20行后,打开新页输出.

我们需要得到输出的当前行, 而且需要注意与ABAP程序不同, sy-tabix不能标识此时table中的当前行索引, 需要采用一自增变量来作为内表索引号. 判断是否需要分页,采用余数MOD 计算

1> 定义Table内的索引及分页标记g_page

2> 根据分页标记变量决定是否转到新页

如果等于0的情况下

3. 调用两个smartform.

固定输出的内容需要采用两页输出, 方便的实现是分别实现两个smartform对应两页内容,调用流程如下:

FM: SSF_OPEN
FM: SSF_FUNCTION_MODULE_NAME FORM1
FM: SSF_FUNCTION_MODULE_NAME FORM2
FM: SSF_CLOSE

4. 程序与smartform间传递内表数据

因为一般smartform 要打印的内表类型都是定制化的, 而在标准smartform中如果传入的是内表类型, 则需要定义stuture类型在DDIC 中. 但这样会比较繁琐。可以通过下面的方法访问程序中的内表,而不用定义DDIC中的结构,如下:

1> Copy 结构类型到smartform的类型定义中

2> 定义输出内表

3> 初始化时获取程序输出内表内容

5. 在smartform中插入图片

首先在SE78 中上传图片

然后在Smartform中插入Graphic元素,如果需要调整图片大小,则需要调整DPI属性, 其值越大,图片越小.

相关文章:

SAP Smartform小结

SAP系统做打印单据用的, 感觉很不好用, 特别是要嵌入韩文时必须使用嵌入的word编辑器,运行速度简直不可忍受. 见过一些Adobe interactive form的示例, 看着相当不错, 不过据说需要花money额外买licence, 哪有smartform这种免费东西来得实惠. 一般打印需求,会要求有标题抬头,打…...

KVM虚拟机的NAT网络模式原理及过程展示

NAT的方式及原理 NAT方式是KVM安装后的默认方式。 它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。 default是宿主机安装虚拟机支持模块的时候自动安装的。 其中 virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接…...

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(一) ​

随着大语言模型效果明显提升,其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型(LLM)知识召回(Knowledge Retrieval)的方式,在私域知识问答方面可以很好的弥补通…...

C# MemoryCache的使用和封装

封装个缓存类,方便下次使用。 using Microsoft.Extensions.Caching.Memory; using System; using System.Collections.Generic;namespace Order.Core.API.Cache {public class GlobalCache C#有偿Q群:927860652{private static readonly MemoryCache …...

【nlp】4.2 nlp中标准数据集(GLUE数据集合中的dev.tsv 、test.tsv 、train.tsv)

nlp中标准数据集 1 GLUE数据集合介绍1.1 数据集合介绍1.2 数据集合路径2 GLUE子数据集的样式及其任务类型2.1 CoLA数据集文件样式2.2 SST-2数据集文件样式2.3 MRPC数据集文件样式2.4 STS-B数据集文件样式2.5 QQP数据集文件样式2.6 (MNLI/SNLI)数据集文件样式2.7 (QNLI/RTE/WNLI…...

Java LinkedList

LinkedList 一个双向链表。 本身是基于链表进行封装的列表, 所以具备了链表的特性: 变更简单, 容量是无限的, 不必像数组提前声明容量等。 同时 LinkedList 支持存储包括 null 在内的所有数据类型。 1 链表 了解 LinkedList 之前, 我们需要先了解一下双向链的特点 单链表, 双…...

【单片机学习笔记】STC8H1K08参考手册学习笔记

STC8H1K08参考手册学习笔记 STC8H系列芯片STC8H1K08开发环境串口烧录 STC8H系列芯片 STC8H 系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的 8051 单片机,在相同的工作频率下,STC8H 系列单片机比传统的 8051约快12 倍速度…...

RevCol:可逆的柱状神经网络

文章目录 摘要1、简介2、方法2.1、Multi-LeVEl ReVERsible Unit2.2、可逆列架构2.2.1、MACRo设计2.2.2、MicRo 设计2.3、中间监督3、实验部分3.1、图像分类3.2、目标检测3.3、语义分割3.4、与SOTA基础模型的系统级比较3.5、更多分析实验3.5.1、可逆列架构的性能提升3.5.2、可逆…...

HCIA-RS基础-RIP路由协议

前言: RIP路由协议是一种常用的距离矢量路由协议,广泛应用于小规模网络中。本文将详细介绍RIP路由协议的两个版本:RIPv1和RIPv2,并介绍RIP的常用配置命令。通过学习本文,您将能够掌握RIP协议的基本原理、RIPv1和RIPv2的…...

虚拟化逻辑架构: LBR 网桥基础管理

目录 一、理论 1.Linux Bridge 二、实验 1.LBR 网桥管理 三、问题 1.Linux虚拟交换机如何增删 一、理论 1.Linux Bridge Linux Bridge(网桥)是用纯软件实现的虚拟交换机,有着和物理交换机相同的功能,例如二层交换&#…...

【Spring之AOP底层源码解析,持续更新中~~~】

文章目录 一、动态代理1.1、ProxyFactory1.2、Advice的分类1.3、Advisor的理解 二、创建代理对象的方式2.1、ProxyFactoryBean2.2、BeanNameAutoProxyCreator2.3、DefaultAdvisorAutoProxyCreator 三、Spring AOP的理解3.1、AOP中的概念3.2、Advice在Spring AOP中对应API3.3、T…...

C语言:有一篇文章,共三行文字,每行有80个字符。要求分别统计出单词个数、空格数。

分析&#xff1a; #include<stdio.h>&#xff1a;这是一个预处理指令&#xff0c;将stdio.h头文件包含到程序中&#xff0c;以便使用输入输出函数。 int main()&#xff1a;这是程序的主函数&#xff0c;是程序执行的入口点。 char a[3][80];&#xff1a;定义了一个二维…...

【数据结构与算法篇】一文详解数据结构之二叉树

树的介绍及二叉树的C实现 树的概念相关术语树的表示 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一 个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c; 也就是说它是根朝上&#xff0c;而叶朝…...

Windows主机信息收集命令

一.常用信息搜集 whoami # 查看当前用户 net user # 查看所有用户 query user # 查看当前在线用户 ipconfig /all # 查看当前主机的主机名/IP/DNS等信息 route print # 查看路由表信息 netstat -ano # 查看端口开放情况 arp -a # 查看arp解析情况 tasklist /svc # 查看进…...

「go module」一文总结 go mod 入门使用

文章目录 什么是 Go Modules为什么要使用 Modules怎么使用前置条件项目初始化如何安装/管理依赖&#xff1f;依赖安装 go get版本选择方式 替换版本 replace间接依赖 && go mod tidy远程代理 总结 什么是 Go Modules Module 是 Go 的依赖管理工具。 核心概念 Module…...

48. 旋转图像 --力扣 --JAVA

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 解题思路 顺时针旋转90度 上下翻转 对角线翻转&#xff1b;两次两层循环…...

Java中的jvm——面试题+答案(Java虚拟机更深层次的概念和原理,包括字节码、代理、内存管理、并发等)——第17期

什么是即时编译&#xff08;JIT Compilation&#xff09;&#xff1f; 答案&#xff1a; 即时编译是一种在运行时将字节码转换为本地机器代码的技术&#xff0c;以提高程序的执行速度。JVM中的JIT编译器负责执行这个过程。 什么是Java字节码&#xff1f;为什么Java使用字节码…...

docker打包前端镜像

文章目录 一、构建镜像二、查看本地镜像三、启动容器四、查看启动的容器五、保存镜像六、读取镜像七、创建镜像八、最后 docker官网 一、构建镜像 -t是给镜像命名&#xff0c;.(点)是基于当前目录的Dockerfile来构建镜像 docker build -t image_web .二、查看本地镜像 docke…...

深入理解数据结构:链表

文章目录 &#x1f330;导语&#x1f330;链表的定义及基本结构&#x1f330;单链表&#x1f955;单链表特点 &#x1f330;双向链表&#x1f955;双链表特点 &#x1f330;循环链表&#x1f955;循环链表特点 &#x1f330;链表的操作&#x1f346;链表的插入&#x1fad8;链头…...

7:kotlin 数组 (Arrays)

数组是一种数据结构&#xff0c;它保存固定数量的相同类型或其子类型的值。kotlin中最常见的数组类型是对象类型数组&#xff0c;数组由array类表示。 什么时候使用 当你在kotlin中有特殊的底层需求需要满足时&#xff0c;可以使用数组。例如&#xff0c;如果你有超出常规应用…...

Vite代理配置实战:如何通过响应头追踪真实接口地址

1. 为什么需要追踪Vite代理的真实接口地址 前端开发过程中&#xff0c;使用Vite的代理功能解决跨域问题已经成为标配。但实际调试时经常会遇到这样的困扰&#xff1a;浏览器Network面板里看到的请求地址全是http://localhost:5173/api/user这样的本地路径&#xff0c;根本不知道…...

CSS 渐变:创造绚丽的色彩效果

CSS 渐变&#xff1a;创造绚丽的色彩效果 掌握 CSS 渐变的高级技巧&#xff0c;创造绚丽而独特的色彩效果。 一、渐变概述 作为一名把代码当散文写的 UI 匠人&#xff0c;我对 CSS 渐变有着独特的见解。渐变是 CSS 的强大特性&#xff0c;它可以让我们创建从一种颜色到另一种颜…...

Python从入门到精通(第36章):多线程编程与线程安全

开头导语 写循环时,很多需求是重复的:拼接多个迭代器、取前N个、按相邻相同键分组……itertools 提供了这些常见迭代需求的函数式解决方案,更重要的是,所有函数都返回惰性迭代器——不占额外内存。本章围绕 itertools 模块展开,讲解 count/cycle/repeat、chain/islice/co…...

Phi-4-reasoning-vision-15B部署案例:开箱即用Web界面,免配置跑通文档OCR问答

Phi-4-reasoning-vision-15B部署案例&#xff1a;开箱即用Web界面&#xff0c;免配置跑通文档OCR问答 1. 模型介绍 Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型&#xff0c;专为处理复杂视觉任务而设计。这个模型最厉害的地方在于&#xff0c;它能像人类一样&…...

如何处理phpMyAdmin提示配置文件读取失败_文件属组与读写权限调整

根本原因是PHP进程无法读取config.inc.php文件&#xff0c;主因是系统级权限问题&#xff1a;Web服务器用户&#xff08;如www-data&#xff09;无读取权限&#xff0c;或文件权限为666/660等不安全组合&#xff0c;或SELinux/AppArmor拦截&#xff0c;或符号链接目标权限错误。…...

免费IP离线数据库完全指南:3种方法快速实现IP地址解析与地理位置查询

免费IP离线数据库完全指南&#xff1a;3种方法快速实现IP地址解析与地理位置查询 【免费下载链接】ip-database 免费IP离线数据库&#xff0c;支持IPV4IPV6 &#xff0c;国家、省、市、县、运营商 项目地址: https://gitcode.com/gh_mirrors/ip/ip-database ip-database…...

Reportr安全配置指南:如何保护你的个人数据仪表板

Reportr安全配置指南&#xff1a;如何保护你的个人数据仪表板 【免费下载链接】dashboard Your lifes personal dashboard. 项目地址: https://gitcode.com/gh_mirrors/das/dashboard Reportr是一个开源的个人数据仪表板项目&#xff0c;帮助用户追踪和可视化生活中的各…...

生物信息学避坑实录:我花一周搞定了PSSM、HMM和DSSP特征提取的Linux环境配置

生物信息学避坑指南&#xff1a;PSSM、HMM与DSSP特征提取实战全解析 刚接触计算生物学时&#xff0c;我天真地以为特征提取就是运行几个命令行工具。直到在实验室服务器前熬了三个通宵&#xff0c;才明白那些没写进文档的"潜规则"才是真正的拦路虎。这份指南不会重复…...

IAR Embedded Workbench 8.1安装避坑指南:从下载到第一个STM32项目实战

IAR Embedded Workbench 8.1安装避坑指南&#xff1a;从下载到第一个STM32项目实战 当第一次打开IAR Embedded Workbench时&#xff0c;许多嵌入式开发者会被其专业界面所震撼——这个诞生于1983年的开发环境&#xff0c;至今仍是工业级嵌入式项目的首选工具之一。不同于普通ID…...

CK3M+驱动器(模拟量控制+力矩模式)CompDac前馈补偿:原理与实现方法(1)

在高精度运动控制场景中&#xff0c;CK3M控制器搭配力矩模式驱动器时&#xff0c;CompDac-前馈补偿是提升动态响应速度、减小跟踪误差的核心技术。其核心逻辑是通过“预测性补偿”提前抵消已知扰动与系统非线性影响&#xff0c;弥补传统反馈控制的滞后缺陷&#xff0c;尤其适用…...