是用来
自动清帐的,概括下常见的清帐.1.手工清帐处理总账
清账手动处理F-03 应收清账手动处理F-32 (可以清理码伍特别总账) 应付清账手动处理F-44(可以清理特别总账) 2.自动清账处理F.13ABAP/4 Report: Automatic ClearingF13EABAP/4 Report: Automatic Clearing FB15如果会计科目未选未清项管理,是不会起作用的,就是选择了也不一定会起作用(最好是省的麻烦不使用它清账处理规则一般如下:(1)自动清账先根据借(正)与贷(负)金额相同的,再根据其他规则比如分配字段相同的进行自动清账处理。(2)可以对GL,AP,AR和一些特别总账清理。(3)自动清账的科目需设定未清项管理,如没设定未清项管理是不能进行清账处理的。(4)自动清橘岩账和手动清账都可以对同一家客户或供应商的标准账户与其特别总账之间进行清账处理。但是A和W不能进行清账处理,因为系统会认为与标准账处理是不同的无法自动清理。(5) 清账时的选项可以是同时或多项一起进行清账处理的。但是这几个选项中必选一项。不管是手动清账还是自动清账(6)手动清账比较灵活,应收及应付的最好使用它,因为比如有笔预付是付给某PO的,毕竟计算机不可能象人一样精明能知道,并且通常自动清账处理什么都不会做.(7)自动清账一般适用于银行待清账户的清账处理(银行对账单)、GR/IR清帐(要迟伍或求每天清帐)和同一个单位既是客户又是供应商的自动清帐处理。(8)说了这么多屁话如果是有时间做帐最好是不使用它. 3.其它清帐处理F.19 G/L: Goods/Invoice Received Clearing(看以前贴子 forget)但是在自动清帐时可能并不能清除(当然Dr Cr amout 恰好相同的肯定Ok,),下面是在自动清GR/IR过程中的问题.我问过Oss, 他解释了一堆为什么OB74有时不work,最后建议用sub. 要小心,test)...Now in the absence of any preset value flow to Assignment no, the system picks up the default system date and puts it as assignment no. now since GR and IR dates are different, a clearing cannot take place even if amounts are same, since values in Assignment field are different. So automatic clearing vide F.13 does not work and a lot of open items are to be cleared manually.Even when an effort is made to clear them manually, it becomes increasingly difficult to identify and match a set of GR &IR line items in the GL clearing screen.最后通过做subtitution .定义数据类型用关键字 TYPES.
定义数据对象用关键字 DATA.
在abap程序中用abap基本数据类型(预定义类型)定义局部数据类型,还可以定义包含多个abap基本数据类型的结构体类型。
参考现有的数据对象(LIKE)
DATA A2 LIKE A1."A1对象
参考现有的旁斗数据类型(TYPE)
DATA A2 LIKE A1."A1类型
VALUE关键字来指定数据对象的初始值。
DATA NUM1 TYPE I VALUE 10. "NUM1初始值为10
LENGHT关键字指变量长度。
DATA NUM2 TYPE C LENGHT8.
DATA NUM2(8) TYPE C.
DATA语句没有指定 TYPE则默认长度为1的C类型。
SY-SUBRC:系统执行某命令后,表示执行成功与否的变量,'0'表示成功
SY-UNAME:当前使用者的name
SY-DATUM:当前系统日期
SY-UZEIT:当前系统时间
SY-TCODE:当前执行程序的Tcode
数值文字不加单引号
123,-123
字符文字加单引号
'HELLO','123.4','123E4'
CONSTANTS语句用来定义常数,必须有VALUE值
CONSTANTS a1 TYPE TNAME VALUE8.
一个汉字弯启裤占两个长度
赋值
MOVE 对象/对象字段 TO 对象/对象字段.
对象/对象字段 = 对象/对象字段.
所有的符号都要用空格隔开,圆括号和 *** 作符都是关键字需要跟 *** 作数之间至少用一个空格隔开。
例:( 20 + 10) *10 + 10 / 2.
用'/'去大值 用DIV取小值
ABS(n):取绝对值
SIGN(n):判断数值符号
n为正,返回1;n为0,返回0;n为负,返回-1;
CEIL(n):取大于数值n的最小整数.
例:WRITE CEIL(1.23). 输出2
WRITE CEIL(-2.23). 输出-2
FLOOR(n):取小于数值n的最小整数
例:WRITE FLOOR(1.23). 输出1
WRITE FLOOR(-2.23). 输出-3
TRUNC(n):去埋简数值的整数部分
例:WRITE TRUNC(1.23). 输出1
WRITE TRUNC(-2.23). 输出-2
FRAC(n):去数值的小数部分
例:WRITE FRAC(1.23). 输出0.23
具体用法:
虽然塌绝键我不懂MM模块,但是你可以在LOOP里面写个AT END OF XXX来完成这个动作,希望我的回答对你有所宏兄帮助
LOOP AT itab INTO wa.
If wa-SHKZG = 'S'.
wa-YI = wa-MENGE.
Else.
wa-YI = wa-MENGE * -1.
Endif.
MODIFY itab from wa.
clear : wa.
endloop.
因为不懂模块,所以我只团巧能在程序方面上给你解答,模块方面请教别人吧
评论列表(0条)