SAP B1 基础实操 - 用户定义字段 (UDF)
目录
一、功能介绍
1. 使用场景
2. 操作逻辑
3. 常用定义部分
3.1 主数据
3.2 营销单据
4. 字段设置表单
4.1 字段基础信息
4.2 不同类详细设置
4.3 默认值/必填
二、案例
1 要求
2 操作步骤
一、功能介绍
1. 使用场景
在实施过程中,经常会碰见用户需要的信息字段在标准单据中不存在的情况,这是需要使用【用户定义字段(UDF)】这一功能,新建自定义字段,用于收录标准单据无对应字段的信息。
2. 操作逻辑
在【用户定义字段 - 管理】表单中对增加字段进行设置后,它会出现在对应表单的自定义字段部分。点击【查看】下的【用户定义字段】,选中单据的用户定义字段就会显现,如下两图。
3. 常用定义部分
基础部分最常用需要增加用户定义字段的表单包括:【业务伙伴主数据】、【物料主数据】、营销单据。均在下图打框的类别中。
3.1 主数据
1)其中【业务伙伴主数据】、【物料主数据】在【主数据】部分。
打开【主数据】子目录,会看到许多表单类别:
找到【业务伙伴】和【物料】子目录,在其下对应位置增加用户定义字段即可:
由于【业务伙伴主数据】和【物料主数据】都是结构复杂的单据,在后台对应着多张表单,增加字段时需要确定登记位置是主表还是子表:
其中详细字段解析见同专栏《SAP B1 三大表单标准功能介绍-业务伙伴主数据》和《SAP B1 三大基本表单标准功能介绍-物料主数据》的系列文章。
3.2 营销单据
营销单据是指和营销活动相关的一系列单据,主要集中在【销售】和【采购】模块。在【用户定义字段 - 管理】表单中,【营销单据】子目录结构相较于【主数据】要简单很多,对比如下:
官方说明文档中并未指明【营销单据】范围,却经常使用这一说法,博主通过查看单据是否显示【营销单据】下新建的用户定义字段来判断单据是否属于营销单据,查出单据包括:
- 销售:销售报价单;销售订单;交货;退货请求;退货;预售款申请;应付发票;营收贷项凭证;应收预留发票
- 采购:采购申请;采购报价单;采购订单;采购收货单;采购退货单;采购退货请求;采购退货;预付款申请;应付发票;应付预留发票
也就是说,从用户定义字段影响的单据数量上说,【营销单据】要比【主数据】多得多。【营销单据】每增加一个用户定义字段,以上所有单据均受影响,而【主数据】内细分明确,设定用户定义字段时往往确定了唯一的影响单据。
4. 字段设置表单
4.1 字段基础信息
头衔:该字段是所保存信息的系统列名,类似于 “CardName”。输入全英字母,尽量是含义的英文缩写,不要用拼音。在字段保存成功后,系统会在输入内容前自动加上 “U_” 以示区分。
描述:该字段是所保存信息的单据显示名,类似于【名称】。根据客户系统语言,输入中文或英文解释,保存后会在单据页面显示为字段名。
类型:分为可选的 5 类,用于定义新建字段的类型,对应理解:【字母数字的】类似于 字符串;【数字】类似于 浮点数(可以是小数);【日期/时间】类似于 时间型;【单位与总计】用于存放有特定结构、单位的数(如费率、金额);【常规】用于存放附件信息(如链接、图片)。
长度:若字段类型没有格式长度要求(如时间型长度确定),则需要在【长度】字段输入新建字段的长度加以限制。
4.2 各类型结构/高级验证
【结构】与【验证】字段选中【高级】时【规则】选项内容,会随着【类型】的变化而变化,这里分情况讲解。
1)字母数字的
结构:此时结构包括 定期、地址、电话号码、文本、复选框。默认项为【定期】,选中时就是普通单行文本,除此结构需要设置【长度】,其余均不用。如需要对应特殊格式,则选择其他四种。其中【复选框】所生成字段效果类似于下图中【必填字段】,为勾选字段,无需对【验证】字段做设置。
验证(高级):此时规则有如下选项。其中【以...开始】意为,填入信息需要以【值】中内容为开头,否则报错。
如下例,设置需要:从“1”开始。
填入信息为“X123”,为符合开头设定,报错且不可保存。
2)数字
选择【数字】类型时不需要设置结构。
验证(高级):此时规则如下图。
3)日期/时间
结构:此时结构包括日期和小时。
选择【日期】结构后,新增用户定义字段会出现小日历图标召唤日历,并以固定的【yyyy.mm.dd】格式将日期填入字段中。
选择【小时】结构后,输入数字会自动转换为小时形式,或输入【__:__】结构。
验证(高级):结构选择【日期】时,同类型为【数字】时。结构选【小时】时,无规则。
4)单位与总计
结构:此时结构包括 费率、金额、价格、数量、百分比、度量。均不需要设置【长度】。
验证(高级):同类型为【数字】时。
5)常规
结构:此时结构包括 链接、图像,生成的字段需要从附件文件夹选取。均不需要设置【长度】。
验证(高级):无规则。
4.3 验证
验证:默认值为【无】,选【无】的时候即没有验证需求,若选择其他选项,则会通过一定的方式对字段中内容进行限定。
1)已链接至实体
选择【已连接至实体】,则设置变为下拉框字段,并且所选项来自于其他表单的实体内容,不可直接手动更改。
- 链接至系统对象:指系统表单和字段,点击下拉框可进行选择。设定效果如下面第二张图。
- 设置链接表:链接表为用户定义表单和系统预设的自定义表,效果类似【链接至系统对象】。
- 链接至用户定义对象:链接表为用户定义表单,效果类似【链接至系统对象】。
2)有效值
选择【有效值】,则设置变为下拉框字段,与【已连接至实体】不同的是,内容需要手动添加。如下图,点击【新建】即可新增选项值。其中【值】类似【头衔】是系统内记录的值,【描述】为表单内显示的值。
3)高级
见前一小节。
4.4 默认值/必填
设置字段默认值:勾选后,表示该字段需要默认值,出现单行文本字段用于输入默认值。
设置成功后,字段初始状态不为空,而是默认值。
必填字段:勾选后,该字段必填,若为空时保存单据则会报错。
二、案例
1 要求
客户给的业务伙伴信息表格中,包含 “供应商等级”、“客户简称”、“信息来源” 列,其中,要求供应商默认等级为 “C”。
2 操作步骤
1)点击通过进程:工具 --> 定制工具 --> 用户定义字段 - 管理,打开【用户定义字段 - 管理】表单。
2)找到业务伙伴主数据主表对应的位置,点击【添加】,召唤出【字段数据】。
3)逐一设定。
4)如下图,此时对【业务伙伴主数据】的【主表】定义了三个用户定义字段:
此时打开【业务伙伴主数据】显示用户定义字段,效果如下:
3. 补充
后续维护字段,或许需要在设定上做修改,或者删除。
3.1 更新字段
如需修改字段设置,则在【用户定义字段 - 管理】表单中选中需要维护的字段,这时【更新】按钮会亮起,点击后出现字段设置,可进行部分更改。
其中灰色字段不可修改,如果一定要改(如头衔拼写错误),需要整个字段设定删除重新设定。
3.2 删除字段
选中待删除字段,这是【删除】按钮会亮起,然后如下图操作即可。
相关文章:

SAP B1 基础实操 - 用户定义字段 (UDF)
目录 一、功能介绍 1. 使用场景 2. 操作逻辑 3. 常用定义部分 3.1 主数据 3.2 营销单据 4. 字段设置表单 4.1 字段基础信息 4.2 不同类详细设置 4.3 默认值/必填 二、案例 1 要求 2 操作步骤 一、功能介绍 1. 使用场景 在实施过程中,经常会碰见用户需…...

Idea发布springboot项目无法识别到webapp下面的静态资源
问题: Idea发布springboot项目无法识别到webapp下面的静态资源 访问报错404 解决办法: 修改之后重新构建,访问成功...
Redis及其他缓存
1.NOSQL、Redis概述,通用命令,redis五大数据类型,三大特殊数据类型 NOSQL概述: (NOT ONLY SQL-不仅仅是SQL),泛指非关系型数据库,为解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用问题 常见no…...
golang入门
学习视频:https://www.bilibili.com/video/BV1gf4y1r79E go安装 go源码包一般解压到/usr/local/linux下go的环境变量配置: export GOROOT/usr/local/go # 源码包export GOPATH$HOME/go # 工作路径export PATH P A T H : PATH: PATH:GOROOT/bin:$GOPATH/…...

Behind the Code:与 Rakic 和 Todorovic 对话 OriginTrail 如何实现 AI 去中心化
原文:https://www.youtube.com/watch?vZMuLyLCtE3s&listPLtyd7v_I7PGnko80O0LCwQQsvhwAMu9cv&index12 作者:The Kusamarian 编译:OneBlock 随着人工智能技术的飞速发展,一系列前所未有的挑战随之而来:模型的…...

TS 学习 (持续更新中)
如果我们在 ts 中写 不用运行就能在文件中报错 ts 是一种静态类型的检查 能将运行时出现的错误前置 一般不用 命令行编译 ts 转换成 js 将中文转码 tsc index(.ts) 输入命令生成 配置文件 能在中间进行 配置转换成 js 的哪个规范 es5 还是 6 和其它转…...

el-table使用type=“expand”根据数据条件隐藏展开按钮
一:添加className <el-table :data"tableData" border :loading"loading" :row-class-name"getRowClass" expand-change"expandchange"><el-table-column type"expand"><template #default"…...
9月6日(∠・ω<)⌒☆
1、手写unique_ptr指针指针 #include <iostream> #include <stdexcept>template <typename T> class unique_ptr { public:// 构造函数explicit unique_ptr(T* ptr nullptr) : m_ptr(ptr) {}// 析构函数~unique_ptr() {delete m_ptr;}// 禁止复制构造函数…...
k8s执行crictl images报错
FATA[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///run/containerd/containerd.sock": rpc error: code Unimplemented desc unknown service runtime.v1.ImageService 解决方法: vim /etc/contai…...

基于人工智能的音乐情感分类系统
目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 音乐情感分类是通过对音乐音频信号进行分析,识别出音乐传递的情感,如“愉快”、“悲伤”、“愤怒”等。该技术…...
MySQL灾难恢复策略:构建稳健的备份与恢复机制
在现代企业环境中,数据的安全性和可靠性至关重要。灾难恢复计划(Disaster Recovery Plan, DRP)是确保在发生灾难性事件后,能够迅速恢复业务的关键策略。对于依赖MySQL数据库的系统,实现有效的灾难恢复计划尤为重要。本…...

docker安装DVWA(巨简单)
拉取镜像docker pull vulnerables/web-dvwa 启动docker run --rm -it -p 80:80 vulnerables/web-dvwa dvwa:...

使用matplotlab绘制多条形图
##黑马程序学习 这种多个条形图放在一起的图形该怎么画呢? 请看以下代码 #横着的条形图 from matplotlib import pyplot as plt import matplotlib#设置显示中文 和 负号 matplotlib.rcParams[font.sans-serif][SimHei] matplotlib.rcParams[axes.unicode_minus]F…...
五、Selenium操作指南(二)
文章目录 四、获取页面元素属性(一)get_attribute获取属性(二)获取文本(三) 获取其他属性 五、页面交互操作(一)输入文本 send_keys()(二)点击 click()&#…...
Peewee+Postgresql+PooledPostgresqlDatabase重连机制
需求: Postgresql数据库服务重启后,需要业务代码正常读写数据库 方案: 通过继承playhouse.shortcuts.ReconnectMixin和playhouse.pool.PooledPostgresqlDatabase来创建一个新的ReconnectPooledPostgresqlDatabase类修改reconnect_errors属性来…...

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)
需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用,直接运行127.0.0.1的开发环境,然后通过反向代理访问127.0.0.1就可以了,省去麻烦的iis设置。 IIS 实现反向代…...
企业在选择CRM系统时需要注意哪些问题呼叫系统外呼系统部署搭建
在这个信息技术快速发展的时代,许多企业为了对客户进行有效的管理对CRM系统进行了实施。那么,有人会问了,企业在选择CRM系统是需要注意哪些问题呢?我们一起来看看 业务需求匹配:系统功能是否与企业当前及未来的需求相符ÿ…...
数据库水平分表方案
数据库分表有很多策略,如下: 数据库分表是处理大型数据库中数据量过大的一种常见策略,它可以提高查询性能、减少锁竞争、降低维护成本等。以下是一些常见的数据库分表方案: 1. **垂直分表(Vertical Partitioning&…...

MySQL表操作及约束
修改表 重命名: mysql> alter table user1 rename to user; 新增一列 mysql> alter table user add image_path varchar(128) comment 路径 after birthday; mysql> alter table user add image_path varchar(128) comment 路径 after birthday; Query…...

Redis 键值对操作全攻略
文章目录 一 . get 和 set二 . keys *三 . exists四 . del五 . expire六 . ttl七 . Redis 的 key 的过期策略八 . 定时器的实现8.1 基于优先级队列8.2 基于时间轮实现的定时器 九 . type十 . 数据库管理相关命令 Hello , 大家好 , 这个专栏给大家带来的是 Redis 系列 ! 本篇文章…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...