Coding Block维护客户化字段

2023-11-19

转载自:http://blog.sina.com.cn/s/blog_4298a2c80102xhco.html

SAP系统是个各个模块高度集成、无缝衔接的系统,特别是财务模块与各个业务模块的集成程度,是比较高的。因此,财务核算时,会涉及的大量的辅助核算问题,像WBS元素、采购定单、内部定单、成本中心等辅助核算对象。我们把这些辅助字段称为帐户分配字段(Account assignment field),放置这些字段的屏幕我们称之为帐户分配(Account assignment),控制这些字段可选输入、必输、隐藏等功能的,我们称为字段状态变式(Field status)。但是由于某些企业核算程度和方法的不一致,SAP自带的标准的字段,并不能满足核算的需求,存在新增字段的需求。如制造费用,需要分车间进行核算,需要按费用类别进行核算,还需要分配费用明细进行核算,SAP中科目与国内系统软件的区别之一就是科目设置的明细程度是不一样的,国内系统往往将科目设置至业务层,但是SAP并不是这样。现将新增字段的方法介绍如下:

1Coding Block新字段
财务会计(新)-财务会计基本设置(新)-分类帐-字段-客户字段-编辑编码块(OXK3);

Coding <wbr>Block维护客户化字段


添加客户化字段如图(摘自SAP屠夫文章:Maintain Coding Block);
T-code:OXK1|OXK2|OXK3

什么是Coding block?

为了让读者彻底理解它举一个简单的例子,假设你设计了一个学生成绩管理系统,其中记录学生成绩表XSCJ有这些字段XhID(学号),Name(姓名),grade(年级),Class(班级),Chinesescore(语文成绩),Mathscore(数学成绩) 等,现在需要在填写学生成绩同时输入学生的年纪身高信息 (在此姑且不讨论设计范式,因为按设计范式,XSCJ表保留XhID就足够,Name,Grade,Class你通常会建立另一学生资料表XSZL,如果你看SAP的物料主数据设置,就是物料描述都建立MAKT表,已经是第N范式).

这时需要的是更改XSCJ加入这些字段或在XSCL表中加入一个结构,这结构包含年纪身高字段. 然后在记录学生成绩时定义一个子屏幕弹出(或默认带出,SAP管这叫Account Assginment coding block screen)一个窗口让用户维护学生信息,在保存学生成绩时将这些信息也一并保存.

SAP Codig block一般原理基本如下,它允许增加字段,自动将增加的字段加入各模块的相关表中,并且动态产生一些支持程序.

各模块的相关表究竟是哪些表?下面将继续详细阐述coding block的设置.

OXK3 Maintain coding block fields进入后界面如图2.

Coding <wbr>Block维护客户化字段

 [1]专家模式

如果读者对ABAP很熟悉,使用此模式,你将一步步建立domain, data element,structure(CI_COBL,CI_COBL_BI),然后是将增加的field加入表BSEG(当然还有其它模块的表和Structure),如果读者觉得自己还不是专家,就使用默认的Light mode(简易模式)吧,它自动完成这些操作.你按F6键Add自定义Field,选择开发类(47后是Package),输入字段类型和长度.

[2]coding block subscreen OXK1

你想在记帐的account assignment屏幕自动加入刚才自定义字段(本例是ZZCB1),请使用它

[3]产生一些程序

[4]SAP标准的科目分配字段,这些字段使用SE16:TCOBF可看到,ZZCB1也在此中.

[5]自定的ZZCB1,需要指出的是如果使用的是include structure, 这字段将假如COBL,TCOBF,BSEG等表

[6]只是将此结构Append到COBL中,OXK1并不可见,它将被用在一些用户自定义程序中.

激活字段ZZCB1的Log

Coding <wbr>Block维护客户化字段

coding block field ZZCB1激活过程由于修改了大量标准表和结构(即要将这字段插到各模块可能设计的表中),你可能需要Access Key.

读者必须耐心等待整个激活过程,在此过程中,读者可发现所有的记帐操作都可能会错误,毕竟连BSEG表都正在更新.那个著名的记帐总程序SAPMF05A需要重新编译(不知读者对半解释型的ABAP的运行速度反应如何?).

图3读者可看到激活field ZZCB1更新了的ABAP对象,包括CO用到的一些ABAP对象,典型的比如CO Line item表COEP和SPL 共用的Send table ACCIT_GLX(结构)等,SE11你看到有了ZZCB1 .

1.在等待激活时你唯一要做的就是耐心等待,如果过程中途意味Cancel, 这将有一定风险,你可能会发现记帐出了问题,这就意味大多数会产生财务凭证的交易失败,开PO出了问题….你可根据ABAP错误使用SE11直接去激活ABAP对象.

如果需要,可执行这些程序重新生成程序或排错,SE38:RGUGBR18|RGUGBR00|

RGUGBR26| RSINCL00.   .

2. 为什么激活过程会如此长?

很容易理解,SAP是一个庞大的集成系统,但是会计凭证的产生(表BSEG)就有个模块Post过来的相关数据,你在BSEG加了一个字段,这些模块的相关程序或程序中使用的结构肯定要做相应调整 . 至于激活内部的设计逻辑如何, SAP AG的设计人员应该最清楚.

3.什么时候要自定义Coding block字段?

 一企业希望费用能按多种用途分析,Internal Order,Cost center, Functional area等还是不能满足其需求,Line item Text已做它用,财务部依旧要求费用区分能By类,By个人,By区域,By..,总之,似乎你已经没辙,这样的情况下,你就字定义coding block字段,上面已经知道这些字段是可用于Account assignment的(OXK1).

一般的财务软件都会提供一个类似功能,就是允许用户自由定义Account assignment字段.

4. SAP允许定义最多7个coding block fields,这些自定义字段也可用在SPL中,因为在SPL Send table ACCIT_GLX(结构)你能看到它(前提是你必须将ZZCB1加入你定义的SPL 表,请看接下来的相关配置).

CO相关表比如COEP你可看到ZZCB1,这意味自定义字段的数据也能传到CO模块,很不幸的是,你不能将自定义字段ZZCB1内容传到CO-PCA模块,因为似乎没有相关配置允许你更改Ledger 8A的表GLPCA/GLPAP/GLPCT(比如你可将Ledger L0的GLT1改成你自定义的table,而这table你包含了ZZCB1).

关于如何使用OXK1定义Account assignment subscreen请看例2 维护coding block screen

 


2、安装新字段到新总账汇总表FAGLFLEXT
财务会计(新)-财务会计基本设置(新)-分类帐-字段-客户字段-包括总计表中的字段(FAGL_GINS);

 

输入表FAGLFLEXT,修改进入,

Coding <wbr>Block维护客户化字段

 

将自定义字段加入,


Coding <wbr>Block维护客户化字段
 

保存并激活;
 该步骤耗时,完成后退出,在初始界面激活汇总表;
 使用SE16,检查表FAGLFLEXT和BSEG,发现字段ZZFI已经加入了;
新增补的字段需要更改其记账码和字段状态组的字段状态(可使用事务码:FBKP),才能正常显示和输入,系统默认的状态是为隐藏。注意维护的语言,否则可能看不到字段名;
 
3、Coding Block新字段定义凭证输入的子屏幕为了使新增补的字段能在凭证输入时比较方便的输入,使新增的字段能出现在事务OXK3的屏幕中:发票/贷项发票快速输入、总账快速输入、科目分配和预制凭证等;
 
财务会计(新)-财务会计基本设置(新)-分类帐-字段-客户字段-编辑编码块(OXK3);
选择菜单“环境”,“预备快速输入”进入新的屏幕;执行完成后,即可在FB50,F-02的屏幕中看到新增字段;可以通过维护自定义屏幕变式和自定义子屏幕来设置字段出现的位置,路径如下:
       财务会计(新)-总账会计核算(新)-业务交易-总账会计过帐-满意-在Enjoy事务中包括客户字段;
       财务会计(新)-财务会计基本设置(新)-分类帐-字段-为编码块定义子屏幕(OXK1);
 
4、Coding Block新字段维护数据表内容
      1)第一步:使用事务SE11创建客户自定义的数据表ZZFI_BB;点创建后进入表格创建界面,维护参数
  Coding <wbr>Block维护客户化字段

点击“创建”进入下一屏幕

Coding <wbr>Block维护客户化字段

Delivery Class 字段:C 定制表,仅由客户维护,非SAP输入

Data Browser/Table view Maint 字段:X  允许通过标准表格维护工具维护

 

点击“Fields”页签,进行添加字段“ZZFIHUA”,系统进入下一屏幕

Coding <wbr>Block维护客户化字段

维护技术设置;
Coding <wbr>Block维护客户化字段  
保存后激活;然后可以使用事务SE16直接维护数据表ZZFI_BB的内容;但对于一般的最终用户来说不会被分配访问数据表的操作权限,因此需要开发人员编写一段ABAP程序以使最终用户能简单方便的维护数据表内容;
 2)第二步:定义数据元素;在上面我们选择了数据元素(ZZFIHUA),但是并没有进行定义。


Coding <wbr>Block维护客户化字段

点击“创建“,出现界面如下,选择”Data element”,


Coding <wbr>Block维护客户化字段

5、定义Coding Block新字段的搜索帮助
       为了在数据输入时方面的选择输入其数据值(F4),需要为新增补的字段创建搜索帮助;使用事务SE11创建搜索帮助;

Coding <wbr>Block维护客户化字段







 

 

点击“创建”按钮,系统进入下一屏幕

Coding <wbr>Block维护客户化字段

 

选择“基本索引帮助”,进入创建搜索帮助界面;

Coding <wbr>Block维护客户化字段

 

保存并激活;
 
6、分配搜索帮助给Coding Block新字段
       使用事务SE11将创建号的搜索帮助分配给新增补字段;保存并激活;

 
7、分配数据检查表给Coding Block新字段
       使用事务SE11修改结构CI_COBL;点修改进入,选中所需要维护的组件ZZFI,点 ,

进入搜索帮助及检查视图;点击 按钮选择“外来码”,系统弹出对话框“外来关键词不存在,创建带值表ZZFI_BB的建议作为检查表格?”,
 
选择“是”,接受系统建议;
 
选择“复制”复制外来码关键字检查表ZZFI_BB;此时可以看
 
到ZZFI_BB已经填入到CheckTable中了;
 
       保存并激活;此时可以使用FB50,F-02试试效果;
 
8、把方案和客户字段分配到分类帐
       财务会计(新)-财务会计基本设置(新)-分类帐-分类帐-把方案和客户字段分配到分类帐
 将客户字段ZZFI添加到分类帐OL中,这样表FAGLFLEXT中,就能对字段ZZFI产生一条汇总记录;经过这样设置,可以查询查询针对ZZFI的期初、发生、期末的数据了;

Coding <wbr>Block维护客户化字段

点击“把方案和客户字段分配到分类帐”,系统进入下一屏幕

Coding <wbr>Block维护客户化字段

选择“分类账:OL”行项目,然后点击“客户化字段”文件夹,系统进入下一屏幕

Coding <wbr>Block维护客户化字段

 

 

点击“保存”按钮。

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

Coding Block维护客户化字段 的相关文章

  • 手把手教你部署AutoGPT,30分钟拥有自己的AI助手!

    如果不想往下看了 那就直接 点我 AutoGPT是由GPT 4驱动的开源应用程序 可以自主实现用户设定的任务目标 从AutoGPT开始 AI将可以自主地提出计划 然后执行计划 还具有互联网访问 长期和短期内存管理 用于文本生成的GPT 4实
  • std::packaged_task的简单使用

    std packaged task 包装一个可调用的对象 并且允许异步获取该可调用对象产生的结果 从包装可调用对象意义上来讲 std packaged task 与 std function 类似 只不过 std packaged task
  • 【Java】网络编程——多线程下载文件

    前言 多线程下载文件 比单线程要快 当然 线程不是越多越好 这和获取的源文件还有和网速有关 原理 在请求服务器的某个文件时 我们能得到这个文件的大小长度信息 我们就可以下载此长度的某一个片段 来达到多线程下载的目的 每条线程分别下载他们自己
  • docker使用(一)生成,启动,更新(容器暂停,删除,再生成)

    docker使用 一 编写一个 Dockerfile 构建镜像 构建失败 构建成功 运行镜像 运行成功 修改代码后再次构建 请不要直接进行构建 要将原有的旧容器删除或暂停 停止成功 删除成功 再次构建且构建成功 要创建一个镜像 你可以按照以
  • 最全前端性能优化总结

    最全前端性能优化总结 前端性能优化分两部分 一 加载性能优化 1 减少请求次数 为什么减少请求次数 减少请求次数方式 2 减少资源大小 减少资源大小方式 3 网络优化 其他 二 渲染性能优化 浏览器渲染过程 重排 重绘 渲染性能优化方式 三
  • GB28181状态信息报送解读及Android端国标设备接入技术实现

    今天主要聊聊GB T28181状态信息报送这块 先回顾下协议规范相关细节 然后再针对代码实现 做个简单的说明 状态消息报送基本要求 当源设备 包括网关 SIP设备 SIP客户端或联网系统 发现工作异常时 应立即向本 SIP监控域 的SIP服
  • Qume-KVM虚拟化

    Qume KVM虚拟化 文章目录 虚拟化概述 KVM概述 KVM虚拟化架构 Qume概述 部署Qume KVM KVM Web管理界面安装 Web管理界面 添加连接 新建存储池 新建镜像 新建网络 实例管理 虚拟化概述 什么是虚拟化 虚拟化
  • 用Python画出圣诞树,瞧瞧我这简易版的吧

    前言 嗨嗨 大家好 我是小圆 今天来实现一下 用python画出圣诞树 代码 模块 源码 点击领取即可 import turtle as t from turtle import import random as r import time
  • 32种针对硬件与固件的漏洞攻击

    2018年1月 全球计算机行业因为Meltdown以及Spectre这两个在处理器中存在的新型漏洞而受到威胁 这两个漏洞直接打破了分离内核以及用户内存的OS安全边界 这两个漏洞基于了现代CPU的预测执行功能 而缓解这两个漏洞带来的影响则需要
  • 最快方式 ESP-IDF 创建例子 教程

    需要条件 安装了 VSCODE 安装了插件 Espressif IDF工具 系统中安装了 ESP IDF 可使用离线包 或在线安装包 在插件中配置了 ESP IDF 可能需要在线更新一些东西 点击F1 输入 ESP 等待提示 出现提示后 选
  • 软件测试 接口测试 入门Jmeter 接口关联 提取器 断言 与fiddler配合使用 使Jmeter录制和创建脚本 操作数据库 持续集成测试

    文章目录 1 接口测试概述 1 1 什么是接口测试 1 2 接口分类 1 3 接口的设计风格分类 1 3 1 Soap架构 1 3 2 Rpc架构 1 3 3 RestFul架构 1 3 4 接口测试工具介绍 1 4 接口测试流程 2 Jm
  • 使用 Vue.js 结合bootstrap 实现的分页控件

    使用 vue js 结合 bootstrap 开发的分页控件 效果如下 实现代码 div class contai div
  • 毕业设计-基于卷积神经网络的花卉图片识别

    目录 前言 课题背景和意义 实现技术思路 一 LeNet 5 卷积神经网络模型 二 设计思路 三 实验及结果分析 四 总结 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要
  • vue项目使用externals优化打包体积

    查看打包体积 下载查看打包体积的插件 npm install webpack bundle analyzer save dev 在vue config js中配置 chainWebpack config gt 打包结果分析 if proce
  • prompt 综述

    动手点关注 干货不迷路 1 概述 1 1 基本概念 用一句话概括模板学习 即将原本的输入文本填入一个带有输入和输出槽位的模板 然后利用预训练语言模型预测整个句子 最终可以利用这个完整的句子导出最终需要的答案 模板学习最吸引人的关键在于其通过
  • Spring Boot 项目在本地可以成功访问但是在服务器上无法访问 Controller 方法解决办法

    这是一篇记录自己失了智的博客 晚上写了一个小 Demo 来测试在云服务器上同时运行两个 jar 包的情况 两个项目的端口分别为 8080 和 8880 以 8880 为端口的 Demo 在本地成功运行并且访问到了 Controller 中的

随机推荐

  • 2023华为OD机试真题【最大平分数组/动态规划】

    题目描述 给定一个数组nums 可以将元素分为若干个组 使得每组和相等 求出满足条件的所有分组中 最大的平分组个数 输入描述 第一行输入 m 接着输入m个数 表示此数组 数据范围 1 lt M lt 50 1 lt nums i lt 50
  • GAN数学原理及代码实现

    GAN generator 和discriminator 生成式对抗网络 Generative Adversarial Networks GAN 包括生成器 generator 和判别器 discriminator 生成器 generato
  • springboot+mybatis+druid 多数据源整合

    前言 在上一篇文章里面我们进行了spring boot 和 mybatis 的整合 springboot整合mybatis使用druid数据源 文中是使用的单数据源 因为项目中有很多需要用到多数据源的场景 比如主从同步 读写分离 或者业务库
  • Pandas基本操作总结 excel读取和数据清洗

    1 读取表格 df pd read excel 目标文件路径 skiprows 要跳过的行数 指定读取表格时要跳过前面空行的行数 2 筛选某列不是空值的所有行 df loc df 某列 notnull 筛选某列不为空值的所有行 筛选行后选取
  • docker使用常用基础命令详解版

    文章目录 Docker基本命令 1 查看docker信息 version info 2 对image的操作 search pull images rmi history 3 启动容器 run 4 查看容器 ps 5 保存对容器的修改 com
  • Scala>scala类型判断

    文章目录 类型判断 isInstanceOf asInstanceOf getClass和classOf 类型判断 有时候 我们设计的程序 要根据变量的类型来执行对应的逻辑 在scala中 如何来进行类型判断呢 有两种方式 isInstan
  • python——lambda函数

    lambda 表达式 又称匿名函数 常用来表示内部仅包含 1 行表达式的函数 如果一个函数的函数体仅有 1 行表达式 则该函数就可以用 lambda 表达式来代替 name lambda list 表达式 其中 定义 lambda 表达式
  • nacos配置中心链接超时问题:java.net.ConnectException: no available server, currentServerAddr

    nacos配置中心链接超时问题 java net ConnectException no available server currentServerAddr 从异常信息来看 是与nacos链接异常导致 可能是因为服务器网络的问题 解决 重
  • Web前端开发概述

    Web World Wide Web 全球广域网 是指一种基于互联网的信息系统 通过超文本链接将全球各地的文档 图像 视频等资源相互关联起来 并通过Web浏览器进行交互浏览和访问 Web的发展使得人们可以方便地获取和共享各种类型的信息 成为
  • 异步接口调用

    http的异步调用 package com example asyncmethod import com fasterxml jackson annotation JsonIgnoreProperties JsonIgnorePropert
  • Babelfish【map函数】

    题目链接 这道题用哈希可以做 但是这道题的输入要求太过于繁琐 所以我直接上map稍微好弄些 这道题讲真更多的考察的是字符串的输入问题 看下代码就会明白的 完整代码 include
  • QItemDelegate和 QStyledItemDelegate的区别

    为使用方便 从 4 4开始 Qt 提供了另外的基于组件的子类 QItemDelegate和 QStyledItemDelegate 默认的委托是 QStyledItemDelegate 二者的区别在于绘制和向视图提供编辑器的方式 QStyl
  • 基于用户协同过滤(User-CF)的推荐算法

    基于用户协同过滤 User CF 的推荐算法 User CF的推荐实例 在学校生活的时候 新生开学都会问同专业的师兄师姐 我要买什么书 我要怎么安排作息 等相似的问题 此时师兄师姐就会依着他们的专业和偏好做一些推荐 这就是现实中个性化推荐具
  • KEIL5报 core_cm4.h(169): error:错误解决办法

    KEIL4的工程转到KEIL5上面出现 Core core cm4 h 169 error 5 cannot open source input file core cmInstr h No such file or directory 这
  • javascript脚本何时被执行

    javascript脚本何时被执行 javascript脚本可以嵌入在内的任意地方 但它何时被调用呢 当浏览器打开HTML文件后 会直接运行不是声明函数的脚本或通过事件调用脚本函数 下面分析这几种情况 1 浏览器在打开页面时执行脚本 当浏览
  • 漫谈软件测试工程师与mercury认证

    漫谈软件测试工程师与mercury认证 出自无忧网 作者 叶赫华 sinckyzhang hotmail com 自从本人从事软件测试培训以来 接触了太多的软件测试工程师 发觉从业者多数存在以下现象 刚刚毕业 踏入IT行业 不懂开发或开发经
  • git分离出分支

    git将历史提交的某个commit作为终点分离出一个新的分支 最近遇到了一个问题 需要从历史提交中的某次commit分离出一个新的分支 使用下面的命令 git checkout b 新分支名 某次commitId 例如 git checko
  • Vue3状态管理库Pinia——核心概念(Store、State、Getter、Action)

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 正逐渐往全干发展 个人状态 研发工程师 现效力于中国工业软件事业 人生格言 积跬步至千里 积小流成江海 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 3项目实战 Node js
  • Filter

    Filter 过滤器 Filter 它是JavaWeb三大组件之一 另外两个是Servlet和Listener 它是在2000年发布的Servlet2 3规范中加入的一个接口 是Servlet规范中非常实用的技术 Filter是一个接口 如
  • Coding Block维护客户化字段

    转载自 http blog sina com cn s blog 4298a2c80102xhco html SAP系统是个各个模块高度集成 无缝衔接的系统 特别是财务模块与各个业务模块的集成程度 是比较高的 因此 财务核算时 会涉及的大量