BDC 录屏后金额和日期 转换

转载自 ttp://blog.sina.com.cn/s/blog_9ae2f2940102v0qq.html

FUNCTION Z_F_CURRENY.

*"----------------------------------------------------------------------

*"*"Local interface:

*"  IMPORTING

*"    
VALUE(ZNUM) TYPE  BSEG-WRBTR

*"  EXPORTING

*"    
VALUE(ZSTR) TYPE  CHAR100

*"----------------------------------------------------------------------

DATA : ZCLEN TYPE I,

N TYPE I,

ZCSTR(20) TYPE C,

ZCSTR2(20) TYPE C,

ZCTEMP(3) TYPE C,

ZFLAG(1) TYPE C VALUE ‘.‘,

ZFLAG2 TYPE I VALUE 0,

ZCDEC(20) TYPE C. "记录小数部分.

data:l_dcpfm LIKE usr01-dcpfm.

SELECT SINGLE dcpfm INTO l_dcpfm

FROM usr01

WHERE bname = sy-uname.

CHECK ZNUM <> 0.

IF ZNUM <= -1000.

ZFLAG2 =
1.

ZNUM =
ABS( ZNUM ).

ENDIF.

IF ZNUM >= 1000.

ZCSTR =
ZNUM.

* 压缩字符串,去除前面的空格。

CONDENSE
ZCSTR NO-GAPS.

* 分离整数与小数,好单独处理整数。

SPLIT
ZCSTR AT ZFLAG INTO ZCSTR ZCDEC.

ZCLEN =
STRLEN( ZCSTR ).

* 在循环中从右面在每三位的前面加上一个逗号。

WHILE
ZCLEN > 3.

N = ZCLEN - 3.

ZCTEMP = ZCSTR+N(3).

IF NOT ZCSTR2 IS INITIAL.

if l_dcpfm = ‘‘.

CONCATENATE ZCTEMP ZCSTR2 INTO ZCSTR2 SEPARATED BY ‘.‘.

ELSEIF l_dcpfm = ‘X‘.

CONCATENATE ZCTEMP ZCSTR2 INTO ZCSTR2 SEPARATED BY ‘,‘.

elseif l_dcpfm = ‘Y‘.

CONCATENATE ZCTEMP ZCSTR2 INTO ZCSTR2 SEPARATED BY space.

endif.

ELSE.

ZCSTR2 = ZCTEMP.

ENDIF.

ZCLEN = ZCLEN - 3.

ENDWHILE.

* 将不剩下的不足三位数加到前面

if l_dcpfm =
‘‘.

CONCATENATE ZCSTR+0(ZCLEN) ZCSTR2 INTO ZCSTR2 SEPARATED BY
‘.‘.

ELSEIF
l_dcpfm = ‘X‘.

CONCATENATE ZCSTR+0(ZCLEN) ZCSTR2 INTO ZCSTR2 SEPARATED BY
‘,‘.

elseif  l_dcpfm = ‘Y‘.

CONCATENATE ZCSTR+0(ZCLEN) ZCSTR2 INTO ZCSTR2 SEPARATED BY
SPACE.

endif.

IF ZFLAG2 =
1.

CONCATENATE ‘-‘ ZCSTR2 INTO ZCSTR2.

ENDIF.

CLEAR
ZCSTR.

* 将处理过的整数与小数连接起来。

*CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ZFLAG.

if l_dcpfm =
‘‘.

CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ‘,‘.

ELSEIF
l_dcpfm = ‘X‘.

CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ‘.‘.

ELSEIF
l_dcpfm = ‘Y‘.

CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ‘,‘.

ENDIF

* 将值返回

ZSTR =
ZCSTR.

ELSE.

ZSTR =
ZNUM.

CONDENSE
ZSTR NO-GAPS.

IF l_dcpfm =
‘‘.

REPLACE ‘.‘ IN ZSTR WITH
‘,‘.

ELSEIF
l_dcpfm = ‘Y‘.

REPLACE ‘.‘ IN ZSTR WITH ‘,‘.

ENDIF.

ENDIF.

ENDFUNCTION.

原文地址:https://www.cnblogs.com/hdchen/p/8981273.html

时间: 2024-10-04 05:22:36

BDC 录屏后金额和日期 转换的相关文章

SAP ABAP BDC录屏工具使用

BDC(batch data communication)是SAP常用的一种数据传输方法.用于一些数据量大,但是对速度又要求不高的数据传输 BDC的两种通用写法. 1.    Call Transaction: 顾名思义,就是直接调用BDC进行数据批量导入.优点:方便快捷,程序处理方便.缺点:日志管理能力差,需自己建透明表来维护数据.我只是把它用作测试用途,不做正式使用. 2.    BDC Insert:这是一种不直接运行,而是将BDC程序生成session,间接运行的一种方法.优点:通过T-

靠谱的录屏软件 + mp4格式转换软件

找一个靠谱的录屏软件不容易.有的有时间限制,有的有水印logo. 用到现在我比较满意的一款软件名字叫 ice cream screen recorder ,他没有水印 也没有时间限制. 唯一的缺点是录屏的同时不能同时录摄像头,录完之后文件的格式是mvk . 还需要下载一款格式转换工具把mvk格式的文件转为mp4文件. 这里推荐一个款格式转换工具bigasoft total video converter ,建议下载v5以上的中文破解版. 完美搞定.

使用ffmpeg将录屏文件转换成gif

一.使用华为nova3 内置录屏软件录屏 1.下拉屏幕上方. 2.选择编辑按钮. 3.点击"屏幕录制". 4.倒计时3-2-1. 5.开始录制. 6.录制完毕时用食指以及中指关节敲打手机屏幕,录制好的文件在"图库"-"截屏录屏"中 二.使用ffmpeg将录制好的macrodroidluping.mp4转换成a.gif格式文件. 1.下载ffmpeg,选择 4.02版本-64bit-static 2.安装ffmpeg,安装在d:\ffmpeg 3.

一键生成 Android 录屏 gif 的脚本

目的 编写 bash 脚本, 实现一行命令得到 Android 手机录制屏幕 gif 动图文件. 博主使用 ubuntu 系统, shell 为 bash. 这个脚本也可以用在 mac 系统上. 听说 windows 系统出了 ubuntu on windows, 不知道能不能使用这个脚本. 原理 adb shell screenrecord Android 4.4 版本后系统内预置了一个 screenrecord 命令, 可以用来将屏幕录制为 MP4 格式. 具体命令格式可以通过 –help

linux下常用的截图、录屏工具

录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可以输入一下命令直接安装: DebianLINUX 的用户可以用命令"sudo apt-get install recordmydesktop gtk-recordmydesktop"安装该软件,其他用户 则需到以下网站下载http://sourceforge.net/projects/re

ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

公司最近在做视频直播的项目,我这里分配到对直播的视频进行录制,录制的方式是通过rtmpdump对rtmp的视频流进行录制 前置的知识 ffmpeg: 用于实现把录屏工具发出的视频和音频流,转换成我们需要的格式,然后发送到rtmp中转服务器上. rtmpdump: 用于实现视频的录制,从rtmp的中转服务器接受到视频流,并把视频流保存成flv文件 nginx-rtmp-module: 用户rtmp中转服务,虽然他可以做很多功能,但是我这里只是使用了这一个 screen capture: windo

Android实现录屏直播(一)ScreenRecorder的简单分析

应项目需求瞄准了Bilibili的录屏直播功能,基本就仿着做一个吧.研究后发现Bilibili是使用的MediaProjection 与 VirtualDisplay结合实现的,需要 Android 5.0 Lollipop API 21以上的系统才能使用. 其实官方提供的android-ScreenCapture这个Sample中已经有了MediaRecorder的实现与使用方式,还有使用MediaRecorder实现的录制屏幕到本地文件的Demo,从中我们都能了解这些API的使用. 而如果需

Camtasia 录屏说明

准备好要录制的屏幕或网页,在即将播放的位置暂停住. 从开始菜单位置“TechSmith”启动Camtasia Recorder 8,其界面如下所示: 注意,要录制系统声音,须在Recorded inputs 中的Audio 菜单中勾选 Record system audio. 在Camtasia Recorder 启动的同时,其捕捉窗口也在界面上显式出来,如下所示,绿色点划线围起来的明亮区域即为捕捉窗口: 利用捕捉窗口边缘的缩放手柄和中央的拖动手柄调整其大小和位置,使其覆盖完成的视频区域. 点击

android 调用 screenrecord 实现录屏

首先要说明的是并未实现,本文讲一下自己的思路. adb 使用shell 命令 screenrecord 可录屏. 自己写了个app,通过Process p = Runtime.getRuntime().exec(cmd)的方式调用shell命令,报错: java.lang.SecurityException: Permission Denial: broadcast asks to run as user -2 but is calling from user 0 需要android.permi