- 博客(44)
- 收藏
- 关注

原创 撇开取可用量标准函数,取可用量的另外一种取法
系统取可用量可以用标准函数AVAILABILITY_CHECK去读取,它会把商品的所有可用量信息全部列出来,而且列的很清楚,这很方便地从可以从执行结果得到需求所要的东西,对如CO09单个商品查可用量是非常方便的,但如果一个报表取可用量,那在同一时间取可用量就可能非常多的商
2011-08-15 17:07:16
1577

原创 用OO生成ALV集成代码
*& 调用说明:*&*& 1. 创建ALV_GRID.*& FORM CONTAINER_CREATE TABLES P_IT_TAB "显示的内表*& USING P_CONTAINER_NAME "控件名称*& P_CONTAINER
2011-07-06 14:03:38
2120

原创 PB调用SAP RFC函数
<br />OLEObject I_OLE_ExcelServer<br />long ll_col , ll_cols , ll_row , ll_rows<br />string ls_filename<br />long i,j<br />string ls_data<br />long ll_ret_row //返回当前导出的数据行数<br /> <br /> <br />fxn = i_ole_fxnctrl.add(as_export_table)//给接口
2011-01-14 16:34:00
2802
1

原创 pb 与SAP的连接
oleObject i_ole_Conn,i_ole_FxnCtrl //用OLE定义对象long ll_status //通过OLE建立的SAP函数成功或失败 (0-成功,否则失败)boolean lb_logon //判断登录SAP成功或失败 (true - 成功,false - 失败)i_ole_FxnCtrl = create oleobjectll_status = i_ole_FxnCtrl.ConnectToNewObject ("sap.fun
2011-01-14 16:30:00
1916
1

原创 取商品的可用量函数,类似CO09
FUNCTION ZF_GET_SP_KYL.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" REFERENCE(MATNR) LIKE MARA-MATNR*" REFERENCE(WERKS) LIKE T001W-WERKS*" REFERENCE(PRREG) LIKE ATPCS-PRREG DEFA
2011-01-13 16:35:00
1550
原创 指定格式或者快速导出的EXCEL文件函数(升级版)
该函数与前面的函数不同,为升级版,可以生成文件的同时,自动按照ID区分生成多个sheet,并且每个sheet可以按照KEY_FIELD生成多个不同的表格,内表参数结构在后面的贴图中。一、函数:FUNCTION ZF_EXP_EXCEL_FILE_MULTI.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" REFEREN...
2021-07-07 14:31:55
697
1
原创 关于集中采购问题
客户订单(调拨单或销售订单,这里暂且叫客户订单吧)参与集中采购,部份表数据变化:一、汇总报订前:1、当调拨单报订时,调拨单信息必须存在表VETVG,(具体数据汇总可参与FUNCTION:W_CPO_SELLING_DOC_GET_PO);2、当销售订单报订时,销售订单信息必须存在表VEPVG,(具体数据汇总可参与FUNCTION:W_CPO_SELLING_DOC_GET_SO);
2017-10-19 11:23:57
1012
原创 非法字符处理(替换)
FUNCTION ZF_REPLACE_STR.*"----------------------------------------------------------------------*"*"Local interface:*" CHANGING*" REFERENCE(STR) TYPE CLIKE*"---------------------------
2017-08-09 09:53:45
5530
转载 SAP ABAP常用增强记录文档
BADI-ADDRESS_UPDATE-CRM服务商主数据字段必输控制增强-V1.docxBADI-ALERT_EXIT_LOCAL_PPF-CRM报价单审批Alert增强-V1.docxBADI-BADI_ACC_DOCUMENT_POST-会计凭证创建BAPI的增强-V1.docxBADI-BADI_CRM_BP_UIU_AUTHORITY-CRM客户主数据权限增强-V1.docx
2017-05-23 14:30:10
4562
2
原创 采购单与调拨单或销售订单关联,增加表FRET记录
采购单与调拨单或销售订单关联,增加表FRET记录,在对采购单做收货时,系统自动对调拔单或销售订单,创建拣配单(交货单),具体做法:1、往FRET增加记录;2、修改采购单抬头和行项目相应关联标识。代码:(1)在SE11创建结构: ZST_SAVE_FRETBLNRB CHAR 10 0 凭证号,采购BPOSB NUMC 6 0 凭证项目,采购 BLNRA CH
2015-01-22 14:43:56
3336
原创 指定格式或者快速导出的EXCEL文件函数
DATA: IT_FIELD LIKE ZST_EXP_EXCEL_FILE_COND OCCURS 0 WITH HEADER LINE.CLEAR:IT_FIELD[],IT_FIELD....IT_FIELD-NAME = 'MATNR'.IT_FIELD-TEXT = '商品编码'.IT_FIELD-LEN = 10IT_FIEL
2013-03-19 11:03:49
2011
原创 自定义价格计算方案要执行的程序
一般新建的价格计算方案方法:定义VOFM公式后,编写相应代码;当从DEV传到QAS或PRD时,发现新的价格计算方案用不了,可以用以下方法解决:1、在SE38直接 执行RV80HGEN 2、在SE38 打开RV61ANNN, 执行菜单Utilities Menu>Update Navigation Index
2013-01-11 16:17:13
688
转载 SAP数据更新
SAP 应用系统架构应用层运行着DIALOG进程,每个DIALOG进程绑定一个数据库进程,DIALOG进程与GUI进行通信,每次GUI向应用服务器发送请求时都会通过dispatcher服务为每个GUI的请求分配一个Dialog进程.一个程序运行时,GUI与Dialog进行需要多次通信,每次通信使用的Dialog进程不一定相同,在Dialog进程将控制权转给前台的GUI时,由于Dialog进
2012-10-10 14:07:14
10390
原创 无固定内表字段,导出EXCLE文件
FORM FRM_DOWLOAD TABLES P_IT_TABLE USING P_FILENAME. DATA:FRM_FILENAME LIKE RLGRAP-FILENAME. DATA:FRM_IT_DOWNLOAD TYPE STRING OCCURS 0 WITH HEADER LINE. DATA:FRM_ITAB_COMPONET TYPE REF TO CL_
2012-07-16 10:51:09
705
转载 SMARTFORMS 参数
SMARTFORMS 参数 &symbol& (括号中为参数,SYMBOL为变量) &symbol& 屏蔽从第一位开始的N位&symbol (n)& 只显示前N位&symbol (S)& 忽略正负号&symbol (符号在左边&symbol (>)& 符号在右边&symbol (Z)& 不输出前导零&symbol (C)& 空格压
2012-07-10 09:46:06
725
原创 修改销售订单(备注)
DATA:SALESDOCUMENT LIKE BAPIVBELN-VBELNVALUE'0000000011', ORDER_HEADER_INX LIKE BAPISDH1X, IT_RETURN LIKE BAPIRET2 OCCURS0WITHHEADERLINE, IT_ORDER_ITEM_IN LIKE BAPISDITM OCCU
2012-07-03 15:35:14
1875
原创 定时打印信息
CLASS CL_TIME_EVENT DEFINITION. PUBLIC SECTION. CLASS-METHODS: AUTO_EXE FOR EVENT FINISHED OF CL_GUI_TIMER IMPORTING SENDER.ENDCLASS. "cl_time_event DEFINITIONCLASS C
2012-02-10 15:13:27
508
原创 TABLE CONTROL 跳页代码
TABLE CONTROL 跳转代码总结,TABLE CONTROL的名字是SCR_RESULT,屏幕上分别有四个按钮:第一页,上一页,下一页和最后一页 定义全局变量:DATA: G_SCR_RESULT_LINES LIKE SY-LOOPC.在屏幕PBO里面设置G_SCR_RESULT_LINES 的值:PROCESS BEFORE OUTPUT. ...
2011-12-19 11:28:34
767
原创 根据屏幕中的控件获得其所在的屏幕号
有时候实现更加复杂的屏幕设计时,需要用到很多子屏幕和CONTAINER来实更丰富的功能,假如屏幕有多个子屏幕,子屏幕上有多个CONTAINER的时候,在某种情况下,如果想知道,用户操作的事件来自哪个子屏幕号,便可以从事件源来找其所在子屏幕,得到它的屏幕号,同时也可以CONTAINER的名字,这个问题折腾了我很多时间,也请教过别人,最终还是没得到想要的答案,今天总结一下,就拿OO ALV
2011-12-19 11:10:43
830
原创 弹出屏幕如何DEBUG
一直对这种屏幕的DEBUG都是在CALL SCREEN或者屏幕PBO设置断点,今天学到一招弹出屏幕的DEBUG方法,这个方法很简单,为了避免忘记把它记录在这里。 方法:先文本文件写入以下代码 [FUNCTION] Command = /H Type
2011-11-02 10:49:49
1174
原创 alv设置单元格效色
用ALV显示数据,有时候因为一些特殊的要求,可以把某些字段背景颜色设置为不同的颜色,这样可以让用户马上一目了然数据的异同。 其实设置背景颜色并不难,只要在传递数据给ALV函数的那个数据内表加多一列颜色设置,用于设置单元格的背景颜色,这个列的定义,可以直接引用这个结构SLIS_T_SPECIALCOL_ALV。 下面代码说明这个用法:
2011-11-01 11:07:36
729
原创 保存文件(以TAB键隔开列的文件)
标准程序保存文件到EXCEL总会出现一些前导显示格式不对,去掉了前导0或者用一串数字字符串显示成科学计数,很不方便,所以今天有空用函数GUI_DOWNLOAD 转换一下格式保存文件。 保存文件代码 如下:(1)调用FORM保存文件: PERFORM SAVE_DATA TABLES ITAB. "ITAB不需要指定结构的内表(2)保存文件代码 FORM SAVE_DA
2011-10-31 08:45:30
1414
原创 取图标ICON号码
TYPE-POOLS: SLIS.*INCLUDE ZPHBDP_ALV_DISPALY.**** begin of ALV 引用 *****************TYPE-POOLS SLIS. "引用ALV控件DATA: GT_LIST_TOP_O
2011-09-22 14:24:48
1034
原创 产生销售订单的后续交货单
产生销售交货单很简单,只要调用以下函数就可以了,传入参数也很简单,只需要传入SALES_ORDER_ITEMS 这个参数就可以了,不指定行项目号的时候,是整单交货,产生了哪些交货行项目可以从CREATED_ITEMS查看得到。 注意:这个函数产生的交货单,当可用
2011-08-16 10:39:39
1845
原创 PB如何创建动态数据窗口
创建数据有多种方法,比如用SELECT语句创建,这里最简单,还有用自定义字创建数据窗口,这个比较复杂,下面就这两种方法介绍一下:1、用SELECT创建数据窗口 string ls_sql = 'select * from mara' string
2011-08-15 11:41:23
12245
2
原创 读取XML文件
读取XML文件方法,其实也不难,可以参考以下的程序:BCCIIXMLT1BCCIIXMLT2BCCIIXMLT3 可以拷贝相关的程序代码,如果想把它的内容读出来给内表,我可以把其中的一段代码:... CASE pnode->get_type( ).
2011-08-02 13:35:40
811
原创 修改导入本地EXCEL文件的函数(ALSM_EXCEL_TO_INTERNAL_TABLE)
ABAP原来提供的导入本地EXCEL文件的函数(ALSM_EXCEL_TO_INTERNAL_TABLE)感觉比较麻烦,所以做了相应的修改。 FUNCTION ZF_TEST.*"--------------------------------------------------
2011-07-25 16:50:18
3749
原创 ABAP读取文件
ABAP读取文本文件分两种情况:第一种是本地文本文件,第二种是服务器。它读取方式不一样,本地文件可以直接用 CALL FUNCTION 'WS_UPLOAD'来实现,然再进行处理,服务器读取文件需要用OPEN DATASET来读取,然后再进行处理。以下是两种读取方式的代码: "(
2011-07-25 13:30:43
5735
原创 内表列值相加
有些报表需要将每一列的数值做合计,而且列非常多,将每列的值相加就要写很多条列相加的代码是很麻烦的,所以ABAP提供了一个简单的计算方法:ADD xxx THEN xxx UNTIL xxx GIVING/TO xxx.它自动把指定的列进行相加. DATA: BEGIN OF S
2011-07-14 16:07:54
2178
原创 ASCII码转换
通常ASCII码的转换可以通过ASCII码去查找得到,程序里面也会有专的ASCII码转换函数,ABAP的ASCII码转换,可以简单地先将字符转换成一个16进制的数,再把它转换成一个10进制的数字,就可以了! "转换成ASCI码FIELD-SYMBOLS : TYPE X.DAT
2011-07-14 15:26:05
3092
原创 读取本地EXCEL文件
DATA: IT_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.PARAMETERS FN LIKE RLGRAP-FILENAME MEMORY ID MO1.AT SELECTION-SCREEN ON VALUE-R
2011-07-14 09:42:57
731
原创 内表当前与其它所有的行相加
DATA: DATA TYPE I, C_DATA, CON_DATA.DATA: POS TYPE STRING VALUE '1', SUM TYPE i VALUE 3.DATA: COUNT TYPE I.DATA: BEGIN OF IT_
2011-07-14 09:36:09
400
转载 获取标准程序的BADI,用户出口,增强
TABLES: SXS_ATTR, TOBJT, TSTCT, "TCode texts TRDIRT, "Program texts SXC_EXIT.
2011-07-14 09:27:39
794
原创 取用户帐号描述
DATA: NAME_FIRST LIKE ADRP-NAME_FIRST, NAME_LAST LIKE ADRP-NAME_LAST. SELECT SINGLE ADRP~NAME_FIRST
2011-07-12 13:22:26
734
原创 下拉框
TYPE-POOLS: VRM.DATA: IT_LIST TYPE VRM_VALUES , "list box的值 WA_LIST LIKE LINE OF IT_LIST."list box的结构 PARAMETERS:TJFW AS
2011-07-12 11:29:45
297
原创 取字符长度
DATA: LENGTH TYPE P.PARAMETERS P_STR TYPE STRING.LENGTH = CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH( P_STR ). "包含中文字符串(全角/半角)MESSAGE i0
2011-07-11 14:35:22
574
原创 at new 用法
DATA: BEGIN OF ITAB OCCURS 0, C1(4), C2(4), C3(4), C4(4), END OF ITAB.DATA: C1(4).ITAB-C1 = '
2011-07-05 13:45:36
602
原创 ABAP 数学函数
abs :取绝对值。cos、sin、tan :取三角函数值。acos、asin、atan :反三角函数。cosh、sinh、tanh :双曲函数。exp :e的幂函数。Log
2011-07-04 15:05:20
2869
转载 SAP SD定价技术分析
定价技术一直是SAP引以为豪的一个设计。设计也很复杂。基础的IMG设定有(定价表/访问顺序/定价类型/定价过程)等; SAP的定价逻辑如下: 1) 定价程序 FunctionPool: SAPLV61A Function Name: Pricing 2) 变量说明 XKOMV 记录系统定价结果(Item Level) TKOMV 记录系统定价结果(Doc. Level) KOMT1 定价过程 KOMT2 访问顺序 KOMK 定价关键字(表头) KOMP 定价关键字(行) 3) 程序处理逻辑 A) 整理 KO
2011-04-15 09:42:00
6390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人