海纳百川

记录学习中的点点滴滴

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2014年10月21日

摘要: REPORTZSDR035.INCLUDEZSDR035TOP.TABLES: KNA1,MKPF,MSEG,MEAN.DATA: lt_data like TABLE OF ZSMBLIST WITH HEADER LINE.DATA: BEGIN OF lt_data_out OCCURS 0.... 阅读全文
posted @ 2014-10-21 10:58 Avatar 阅读(808) 评论(0) 推荐(0) 编辑

摘要: SY-ABCDE 常量,A-Z字母表SY-BATCH 后台的程序运行SY-COLNO:当前选定列的列号SY-CPAGE 列表的当前显示页SY-CUCOL 屏幕,PAI 的水平光标位置SY-CUROW:选择某行时光标列位置sy-datar:在PAI中,如果屏幕上至少有一个输入字段的值被用户或其他数据传... 阅读全文
posted @ 2014-10-21 10:54 Avatar 阅读(539) 评论(0) 推荐(0) 编辑

摘要: REPORTZSDR004.INCLUDEZSDR004TOP.TABLES: KNA1,/ATU/STOREMASTER,KNVV,ZSSTORE02.TYPE-POOLS: slis.DATA: ls_data type ZSSTORE02, it_data type TABLE OF... 阅读全文
posted @ 2014-10-21 10:47 Avatar 阅读(619) 评论(0) 推荐(0) 编辑

摘要: REPORTZSDR020.INCLUDEZSDR020TOP.TABLES: ZRLB_H,ZRLB_I,KNA1,/ATU/STOREMASTER,MARA,knvv.DATA: ls_data_out type ZSXSFX, lt_data_out like TABLE OF ZS... 阅读全文
posted @ 2014-10-21 10:43 Avatar 阅读(831) 评论(0) 推荐(0) 编辑

2013年12月17日

摘要: 一 财务期间处理 T_CODE: OB29**取 公司年度变式, 和 货币 SELECT SINGLE waers periv FROM t001 INTO (v_waers,v_periv) WHERE bukrs = 'HL01'.**取当前日期所在的财务期间年月 CALL FUNCTION 'DATE_TO_PERIOD_CONVERT' EXPORTING i_date = sy-datum i_periv = v_periv IMPORTING e_buper = p_emonth e_gjahr = p_gjahr.** 根据会计期间得到月初日期 C 阅读全文
posted @ 2013-12-17 09:20 Avatar 阅读(2132) 评论(1) 推荐(0) 编辑

2013年12月5日

摘要: 公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1、增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数据不一致,所以在过账成功后触发,效果更好。2、BADI增强:DELIVERY_PUBLISH:数据库更新期间交货数据的公告,采用方法:PUBLISH_AFTER_SAVE3、功能实现:由于该增强没有参数,所以问题的关键是业务数据的获取,采用以下方法获取,其他功能就大家自己具体去实现了,这里只是把关键的地方粘贴出来: FIELD-SYMBOLS : TYPE LIKP-VBELN. FIELD-S. 阅读全文
posted @ 2013-12-05 11:05 Avatar 阅读(3047) 评论(0) 推荐(0) 编辑

2013年12月3日

摘要: 1、基本需求:业务部门提出如上表格式进销存需求,并且金额要和总账中存货科目保持一致,如果要实现上表格式进校存,可以通过SAP标准程序(MC.9、MB51、MB5B)加工繁琐而成。现分析一下SAP标准程序逻辑优缺点及自开发程序实现方案。2、SAP标准程序逻辑及优缺点分析2.1 MC.9取数逻辑MC.9取数逻辑基于S031和S032两个信息结构可以取的某个月底库存数量金库存金额,其中S032表记录当前库存数量及金额,S031表记录过去某个时间段的入库数量、金额及出库数量及金额,然后采用倒推方式计算出过去某个时点(按月)的库存数量及金额。优点:如果查询数据量较小时,数据提取效率快且准确;缺点:由于采 阅读全文
posted @ 2013-12-03 14:41 Avatar 阅读(1629) 评论(0) 推荐(1) 编辑

摘要: 一、SQLInterface1.Select...Wherevs.Select+Check用Select…Where语句效率比Select+Check语句要高,例如:SELECT*FROMSBOOKINTOSBOOK_WAWHERECARRID='LH'ANDCONNID='0400'.ENDSELECT.SELECT*FROMSBOOKINTOSBOOK_WA.CHECK:SBOOK_WA-CARRID='LH'ANDSBOOK_WA-CONNID='0400'.ENDSELECT.2.TestExistence检查满足某个(些 阅读全文
posted @ 2013-12-03 14:21 Avatar 阅读(1133) 评论(0) 推荐(0) 编辑

2013年11月29日

摘要: SCA1 日期:转换这个函数组里主要是一些转换例程,平时大概用到的机会不多。BUFFER_CONTROL_SCA1CONVERSION_EXIT_IDATE_INPUT External date INPUT conversion exit (e.g. 01JAN1994)CONVERSION_EXIT_IDATE_OUTPUT External date OUTPUT conversion exit (e.g. 01JAN1994)CONVERSION_EXIT_LDATE_OUTPUT Internal date OUTPUT conversion exit (e.g. YYYYMMDD) 阅读全文
posted @ 2013-11-29 15:21 Avatar 阅读(287) 评论(0) 推荐(0) 编辑

摘要: 这个函数组可以执行与财务相关的各种检查,具体功能请自行发掘。包含下列函数:ACC_ROUNDING_DIFF_DETERMINEACC_ROUNDING_DIFF_LINEITEMAC_KURSF_CORRECTAC_KURTP_CORRECTCURRENCY_CODE_CHECKFI_ABWZE_ACCOUNT_CHECKFI_ABWZE_ACCOUNT_SUBSTFI_ACCOUNT_CHECKFI_ALPHA_CONVERTFI_BUSINESS_AREA_CHECKFI_BVTYP_CHECKFI_CESSION_KZ_CHECKFI_CHART_OF_ACCOUNT_CHECKFI_ 阅读全文
posted @ 2013-11-29 15:20 Avatar 阅读(1092) 评论(0) 推荐(0) 编辑

摘要: SAP 的后台有关库存的表,是一种很有意思的表。库存表分两种,一种是当前库存表,另一种是历史库存表。例如有MARD\MCHB\MSPR\MKOL等表,对应的历史库存表就是MARDH\MCHBH\MSPRH\MKOLH。当前库存表表示的是,某款物料在当前时间的库存,表里的年份月份字段表示的是某款物料从当时到现在的库存,也就是说从当时到现在一直没有发生过物料移动。举个例子,某物料在当前表里的年份月份字段是201006,则表示这款物料从2010年6月到系统当前时间一直都没有做过出入库。数量不变。 而历史库存表表示的是,某款物料在历史上的库存记录。如某款物料在201006是10个,201105是6个, 阅读全文
posted @ 2013-11-29 15:14 Avatar 阅读(1907) 评论(0) 推荐(0) 编辑

摘要: mard里记载的是当前库存的数量,但是期间并不一定是当月。比如你物料4月一整月都没有库存数量变化(没收没发),那么5月初你看mard里的条目期间数还是4月而非5月。当某个期间发生货物移动的时候,系统在更新mard数据的之前(这个表是实时更新的),会检查此笔业务过账期间和mard里对应记录的期间是否一致,也就是看这是不是本期间第一笔移动。如果是,copy表mard里对应记录到mardh,然后把mard记录改成当期(也可能是先删后建),然后再作更新数量数据的操作。如果不是第一笔记录,也就是mard期间和mseg期间一致,则不作copy记录只更新mard数量。这样处理貌似减少了冗余数据,不过给编程取 阅读全文
posted @ 2013-11-29 15:13 Avatar 阅读(751) 评论(0) 推荐(0) 编辑

摘要: ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的 内表支持循环对每行数据进行操作,也支持整体操作内表是具有行和列的表结构,然而,不同于数据库表,内表仅在程序运行期间在内存中存储数据 ABAP中有三种内表类型:标准表,哈希表,排序表- ABAP内表数据类型内表数据对象是实际的内表,可以用数据进行填充 内表数据类型是用于定义内表数据对象的抽象数据类型(ADT) 可以使用的内表数据类型有: Structure 数据库表 用户自定义数据类型-ABAP内表声明1>TYPES: BEGIN OF l 阅读全文
posted @ 2013-11-29 15:12 Avatar 阅读(406) 评论(0) 推荐(0) 编辑

2013年10月15日

摘要: 把内表的行列转换,网上的例子很多,但是新人想看懂,几乎很难,所以总结下我是怎么完成的。比如:你的内表如图:你想让内表最后展示成这样:如图:那么完成之后会是这样:完成这个过程,得用到动态内表。看代码:DATA:BEGIN OF itab8 OCCURS 0, bezei LIKE zchannel-bezei, "销售办事处 zdate LIKE zchannel-zdate, "日期 salesamount LIKE zchannel-salesamount, "总额 END OF itab8.先排序: S... 阅读全文
posted @ 2013-10-15 17:14 Avatar 阅读(8636) 评论(2) 推荐(1) 编辑

2013年8月29日

摘要: 最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下.这次的屏幕增强主要用到两个BADI:ME_GUI_PO_CUST和ME_PROCESS_PO_CUST这两个BADI都是有例子的, 可以在se18那里按GoTo->Sample code->Display来查看, 也可以直接在SE24查看类CL_EXM_IM_ME_GUI_PO_CUST和CL_EXM_IM_ME_PROCESS_PO_CUST现在我们对PO header加上自己的subscreen, SAP的例子提供的是对item增加subscreen.Step 1: Create Fun 阅读全文
posted @ 2013-08-29 11:52 Avatar 阅读(12675) 评论(0) 推荐(0) 编辑

摘要: 针对 SD 模块,有一个专门管理 user-exit 的开发包 VMOD , 只要用tcode: se80 查看它, 会发现绝大部分的 SD 要相关的 user-exit 都能在这找到。 阅读全文
posted @ 2013-08-29 11:23 Avatar 阅读(596) 评论(0) 推荐(0) 编辑

摘要: sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了。(1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,操作过程如下:输入se24,然后输入cl_exithandler进去双击get_instance设置断点查看exit_name的值:(2)通过st05跟踪,badi对应的数据表为 SXS_INTER, SXC_EXIT, SXC_CLASS 和 SXC_ATTR,而这些表都是通过视图V_EXT 阅读全文
posted @ 2013-08-29 11:16 Avatar 阅读(309) 评论(0) 推荐(0) 编辑

摘要: ***方法一****************************************通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单。找以“exit”开头的SAP程序,如:EXIT_SAPLIE01_007,这个FUNCTION就是TCODE提供的一个出口。至于如何查看这个增强是属于哪个SMOD,能够查阅 MODSAP这个表(SAP Enhancements).***方法二****************************************通过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找,在函数的最后一行打 阅读全文
posted @ 2013-08-29 09:48 Avatar 阅读(1238) 评论(0) 推荐(0) 编辑

2013年6月18日

摘要: Folks,I was wondering if I could get a bit of help here as I've been racking my brains on it for ages.I am using BAPI_ACC_DOCUMENT_POST to post an FI Document. When I run the FM with the below parameters I get the message back:SG105 Enter rate / GBP rate type M for 23.06.2011 in the system setti 阅读全文
posted @ 2013-06-18 09:13 Avatar 阅读(1071) 评论(0) 推荐(0) 编辑

2013年6月17日

摘要: CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT' EXPORTING i_bukrs = '1000' "公司代码 i_mwskz = 'X1' "税码 i_waers = 'CNY' "币种 i_wrbtr = amount "金额 TABLES T_MWDAT = t_tax_info. * Now I loop the t_tax_info table in order to fill the ACCOUNTTAX and CURRENCYA 阅读全文
posted @ 2013-06-17 12:55 Avatar 阅读(5761) 评论(0) 推荐(0) 编辑