14 stone0823

尚未进行身份认证

我要认证

财务、SAP以及编程

等级
TA的排名 4k+

SAP 接口编程 - PyRFC

之前我有比较系统地讲解过 SAP 接口编程,但没有使用 Python 语言的,主要是因为没有一个合适的 package。之前偶见几篇介绍 PyRFC 的文章,因为对 unicode 的支持实在不敢恭维,没有任何尝试的欲望。现在 PyRFC 已经到了 2.1 版本(https://pypi.org/project/pynwrfc/),有了质的飞跃,代码在 Github 上开源(https://github.com/SAP/PyRFC),可以作为 SAP 接口编程的一个选择了。安装安装 SAP NW RFC

2020-10-22 23:35:39

C#仿Python walk方法实现文件夹遍历

Python 标准库 os 的 walk() 方法使用起来比较方便。一是 walk() 方法自动遍历子文件夹,二是方法的返回值为 tuple 类型,包含三项信息,当前的文件夹名称、包含的文件夹、包含的文件。简单的遍历可以是这样的:import osfor item in os.walk(r"C:/Users/StoneWM/Downloads/"): print (item)如果想获得文件夹下所有文件,包括子文件夹:import osall_files = []for (dir,

2020-10-09 11:24:54

ABAP 面向对象程序设计 (04)- 继承

ABAP 语言在实现面向对象的继承上总体与其它语言类似,区别主要是语法。本篇从语法的角度介绍 ABAP 如何实现继承。ABAP 继承要点:object 类是所有类的祖先,object 是一个空的抽象类,没有任何属性和方法子类继承父类所有 public 和 protected 的属性和方法ABAP 只支持单继承支持子类对方法进行改写 (override),使用 redefinition 关键字本篇将创建一个父类 lcl_vehicle 和一个子类 lcl_car,lcl_car 继承自 lcl

2020-09-20 23:42:19

SAP FI 系列 (029) - 销售手工发票录入

销售手工发票录入用于处理未启用 SD 模块标准处理流程的零星销售业务。科目设置收入类科目:设置税务类型,允许含税/不含税过账应收账款: 留空编辑选项设置在中国,编辑选项一般设置为含税过账。使用事务码 FB00 进入下面的界面进行设置。手工发票录入手工发票录入有两种界面,FB70 是新式界面,被称为 Enjoy screen, F-22 和类似的界面是老式界面,被称为 Classical screen。两种界面录入的结果没有区别,根据个人习惯选用。FB70 录入发票假设我们需要手动

2020-09-06 22:45:48

saplink的安装和使用

saplink 用于在不同的 SAP 系统之间传输开发物件和 DDIC 对象,它和其下一代产品 abapGit 都已经在 Github 上开源,如果是 Netweaver 702 之后的产品,建议使用 abapGit,之前的版本只能使用 saplink。saplink 存在较多 bug,项目已经没有开发者维护,如果不能驾驭 saplink,不要在项目中用 saplink 来传输开发物件。本文介绍 saplink 的安装和基本使用方法。

2020-08-25 21:32:27

Dapper ORM (2) - 使用存储过程

Dapper 作为一款轻量级的 ORM 包,需要开发者来编写 SQL 语句。如果将 SQL 语句放在存储过程中,则 C# 中的代码非常少。本篇接着上一篇 Dapper 文章,讲解 Dapper 使用存储过程的方法。示例数据库使用 Sql Server Express,通过 SSMS 创建 5 个存储过程:创建 employee:修改 employee删除 employeeSELECT 语句,提供三种查看方法:在 DapperHelper 中,增加 3 个方法:Employ

2020-08-21 23:19:10

SAP FI 系列 (028) - 付款条件的配置

对客户的应收账款和供应商的应付账款,付款条件 (Payment Terms) 最主要的作用是确定到期日,另外,还可以设置与特定的付款方式关联。比如付款方式需要用汇票到期结算。其它的功能包括是否有现金折扣,是否有分期付款等。

2020-08-18 22:07:41

SAP FI 系列 (027) - 手工发票基于净额计税和基于总额计税录入的区别

上一篇讲解了增值税的配置,接下来可以用 FB70 或者 F-22 来输入手工发票了。在 SAP 的应收模块中,大部分的业务应该是与 SD 模块集成而来,手工发票用于处理零星收入的业务。本篇我们来关注手工发票中,税码的使用方法。在公司代码的全局参数中 (OBY6),有一个计税基数是净值选项,对于中国的企业来说,这个选项应该是不勾上的。也可以通过事务码 OB69 查看:但 SAP 又在会计凭证编辑选项 (Editing Options) 中,允许设置税额是基于净值还是总额。所谓基于净值就是不含税,基于总额

2020-08-09 22:07:03

SAP FI 系列 (026) - 增值税的配置

产品的销售,原料的采购,都要与增值税打交道。SAP 系统对于不同国家的销售和购置税,都提供了基于国家的计税程序 (Tax Procedure),项目实施的时候,只需要选择预置的税码或者新增税码,针对这些税码配置记账的会计科目即可,税码包括的最重要两个要素就是税率和科目确定。本文讲解在SAP中如何进行增值税的相关配置

2020-08-09 20:52:09

Dapper ORM 使用教程

Dapper 是一个开源的、轻量级的 ORM 框架,性能出色,关于它的特点这里就不多说,网上的文章都在不厌其烦地提。个人比较喜欢它基于 SQL 语句的方式。本博文通过在 WinForm 界面下使用 Dapper 对数据库表进行增删改查操作,比较详细地讲解 Dapper 的用法,以及如何在 WinForm 下以绑定的方式来操作数据。开发环境:Microsoft Visual Studio Community 2019Database: SQL Server 2019 ExpressMapper 的

2020-08-06 16:10:26

SAP工作量法计算折旧

工作量法计算折旧 (Unit of production depreciation),是指以固定资产能提供的工作量为单位来计算折旧额的方法。比如一台机器,基于预计的总工作小时为基础,根据每月实际提供的工作小时,计提每月的折旧额。工作量法是平均年限法的补充和延伸。假设某台机器预计能提供的总工作量为 n,则月折旧额的计算:单位工作量的折旧额 (udepr): 原值 * (1 - 残值率)/ n月折旧额 = 固定资产当月实际工作量 * udeprSAP 支持工作量法计算折旧。工作量折旧法的配置SAP

2020-08-04 16:06:21

SAP FI 系列 (025) - 客户主数据

SAP的应收账款和应付账款配置在一起,配置遵守类似的逻辑。本篇博文解释客户主数据的配置和维护的重要内容。

2020-08-03 23:49:45

ABAP 面向对象程序设计 (03)- 对象的创建

本篇博文介绍创建对象的一些知识点。包括构造方法的运用,单例模式等

2020-07-26 22:52:44

OpenUI5 开发的辅助工具 generator-sapui5-templates 介绍

generator-sapui5-templates 包含根据 3 种模板搭建脚手架代码和测试的工具集。package 的 url:@sapui5/generator-sapui5-templates本篇博文介绍 generator-sapui5-templates 的基本使用方法,使用 Visual Studio Code 作为编辑器。假设你的电脑上已经安装 node.js。环境准备node.jsnpm yonode.js 的安装比较简单,不说明。安装 node.js 后,在命令行中使用下

2020-07-22 20:57:01

厌倦了SE11/SE16N? 告诉你如何在Excel中查看SAP的表数据

SAP 提供 SE11 / SE16 / SE16N 查看表数据,SE11 首先进入的是表结构界面。如果表设置了表维护生成器 (Table maintenance generator),可以使用事务码 SM30 查看和维护表数据。以上这些方法查看表数据,有一个共同的问题:SAP的数据展示界面,基于 SAP List Viewer 或者 ALV Control ,能对数据做排序、筛选、Number 字段求和等常规操作,但复杂的加工处理不得不借助于 Excel 。这些界面的数据,可以导出到 Excel,但格式还

2020-07-20 21:27:25

ABAP 面向对象程序设计 (02)- 属性和方法

ABAP 中的类,最主要的组件有属性 (attributes) 和方法 (methods) , 构造方法 (constructor) 是一类特殊的方法,在创建对象实例时,构造方法自动运行。可以从两个角度来看属性和方法,第一个角度是从可见性的角度,属性和方法可分为 public, protected 和 private。因为在程序中定义的 local class,智能在本程序中使用,所以下面的规则主要是针对 global class 而言。local class 的范围局限在程序内部。public 属性

2020-07-18 17:59:18

ABAP 面向对象程序设计 (01) - 类和对象

SAP 公司于 1999 年发布了面向对象的 ABAP,但在 ABAP 开发圈子中并不普及,实际开发中更多的是面向过程的开发方式。本文简单介绍 ABAP 面向对象开发的过程,重点是如下 ABAP 的语法:如何定义一个类如何创建对象的实例 (object instance)如何调用对象的方法ABAP 支持 local class 和 global class , local class 通过事务码 SE38 / SE80 创建,只能在本程序中使用;global class 通过事务码 SE24 来

2020-07-12 23:59:39

如何优雅地在 Word 中实现替换?

我们生活在一个程序的世界,编程并非是程序员的专利,每个人都可以通过编程来使自己的工作和生活更加轻松,减少对程序员的依赖。只要你愿意,用任何一种语言来辅助自己的工作都不是难事。当然,我们需要一个好的学习方法,多少人吐槽谭浩强先生的《C 语言程序设计》,说明了至少存在误导的因素。学习编程,要有一个明确的目的,根据目的选择合适的工具,而不是为了学习而学习。大家都知道,MS Office 套件带有一个宏语言:VBA。VBA 当然不是一门先进的语言,但因为在 Office 中内嵌,我们用它来解决问题还是可以的。今

2020-07-06 20:10:08

如何对SAP数据库表进行增删改查操作(2)?

本篇接着上一篇博文,继续讲解如何在 SAP 系统外部,方便的对 SAP 的数据库表进行增删改查操作。推荐的方式:SAP 暴露 OData 服务供外部调用SAP 暴露 Restful Service 供外部调用总的来说,OData 是比较新的 Restful Service 规范,在 SAP 端编写代码相对容易,但早期版本可能不支持。Restful Service 较早的版本是可以实现的。关于 OData 使用对 Netweaver 版本要求,请参考我另外一篇博文:SAPUI5 (34) - OD

2020-06-30 23:42:19

如何对SAP数据库表进行增删改查操作

本文介绍如何对SAP数据库表进行增删改查操作,尤其是如何提供编辑的界面。现在有一个 zemployee 表,表的字段如下:通过ABAP 代码进行 CRUD 操作INSERT 语句对 database table 的记录进行插入操作。语法如下:INSERT dbtab from wa/itab. 如果至少有一笔记录插入成功,sy-subrc = 0,如果至少有一笔记录插入失败, sy-subrc =4,比如可能由于 primary key 重复。DATA: gs_emp LIKE zemploy

2020-06-28 23:36:30

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。