自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 SAP HANA DB和HANA Stadio的版本

hana stadio版本:help -> about SAP HANA StadioHANA DB 版本:System -> Navigator ->Properties -> Version History,尽量保持一致。

2020-07-28 16:39:43 362

原创 BADI 第三代增强 BADI 和 NEW BADI

分为Classic BADI和New BADI,传统方式的的BADI的调用是使用cl_exithandler=>get_instance,新BADI的调用方式是get badi / call badiEnhancement spot 是BADI的容器,在容器中定义我们自己的多个BADI,创建 emhancement spot 创建BADI (multiple use 多次使用,single user 只能有一个实现类,如果在SE18中创建了多个实现类或者多个enhancement i

2020-07-27 10:25:12 1317

原创 ABAP 类、接口、事件

基类:(父类)被继承,继承基类的类被称为派生类。ABAP所有的类都是默认继承了空类object.具有一般性的类称为基类(superclass),其各个子类被称为派生类(subclass)。一个类只可以有一个基类(父类),但是可以有多个派生类(被多次继承)。多态:子类继承父类可以使用父类的方法,也可以重载父类的方法(此方法需为实例方法)。但是如果需要使用父类(基类)的方法,则需要使用关键词SUPER,两个派生类使用父类的参数和方法是并不相互影响。Receiving 的使用CALLMETH...

2020-07-27 10:00:00 2896

原创 assign 的动态分配

1)、通过变量名动态访问变量Assign (name) to <fs>.2)直接访问其他程序的变量Assign (‘(zliantest1)sbook-fldate’) to <fs>.3)、通过索引动态访问结构成员Assign component sy-index of structure <f1> to <fs>.4)、通过字段名动态地访问结构成员Assign component ‘werks’ of structure &lt

2020-07-27 09:53:54 1471

原创 SAP 发送邮件

我目前经常使用的发邮件的方法有两种,一种是标准的function,另一种是CL_DOCUMENT_BCS的对象发送邮件。两者没有太大的区别,但是cl_document_bcs在发邮件的时候会给发件人发一封邮件,而且发件人必须是SAP USER,但function可以直接指定发件人邮箱地址。1、cl_document_bcs方式 clear:t_mail_text,t_mail_text[]. try . wa_mail_text_row = 'Dear Sir,send p

2020-07-27 08:42:56 3032 1

原创 取得selection-screen的参数信息

CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTING CURR_REPORT = SY-REPID TABLES SELECTION_TABLE = IT_RSPARAMS.

2020-07-25 11:29:35 184

原创 dialog的search help

在dialog程序中我们会添加自定义的search help,满足多个需求.CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'MATNR' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'P_MATNR' value_org

2020-07-25 11:10:05 1090

原创 smartform的参数分析和转PDF

smartform有许多的参数,了解这个参数所代表的含义对我们在赋值的时候有很重要的意义。Tdimmed ( print immdiately ),tddelete ( delete after printing ),tdlifetime ( spool retention period ) , tddest ( output device spool ) , tdprinter ( device type name ),No_dialog ( general indicator ), preview

2020-07-25 09:44:47 826

原创 maintain view

Maintain view在function group中跑逻辑的时候内表的存在形式其实是extract的长字符内表,所以很多时候操作起来不太方便,需要在event 中添加逻辑,下面是maintain view的常用逻辑介绍:01 Before saving the data in the database在数据库中保存数据之前02 After saving the data in the database在数据库中保存数据之后03 Before deleting the data displ

2020-07-24 19:27:43 608

原创 dialog程序 table control

table control是我们在创建doalog程序经常会用到的一个控件,他在编辑的时候会比ALV编辑更加舒适,而且在新增Item的时候更方便控制。1、对table control隐藏某一列,需要在PBO事件中补充如下逻辑。Loop at itab with control container cursor container-current_line.Module ………….Endloop.Loop at container-cols into ls_col where screen

2020-07-24 17:18:48 558

原创 ALV (八) 杂项

1、ALV怎么设置定时刷新: cl_gui_timer;2、取消右键功能: context_menu_request of cl_gui_alv_grid (事件);3、submit 调用标准程序的时候,不方便使用Import,这时候可以使用:Cl_salv_bs_runtime_info=>get_data_ref( importing r_data = ls_data ). 或者使用SUBMIT(REPORT NAME)ANDRETURN...

2020-07-24 16:15:14 310

原创 ALV ( 七 ) OO SALV

OO SALV可以不创建屏幕就生成grid报表,但是不提供编辑的功能,但是可以通过分配容器来调用cl_gui_alv_grid修改成编辑模式。汪正军博客OO SALVREPORT ztestlian_salv.TYPE-POOLS: slis.TYPES:BEGIN OF ts_spfli. INCLUDE TYPE spfli.TYPES: t_color TYPE lvc_t_scol, END OF ts_spfli.DATA: lt_spfli TY

2020-07-24 15:07:09 786

原创 ALV( 六 )、OO ALV 框架和布局

OO ALV属于一种SAP UI的框架,是以CFW( Control Framework )为基础实现的:CL_GUI_OBJECT       Proxy Class for a GUI Object |-- CL_FORMPAINTER_BASEWINDOW     SAP Form Painter Window Base Class | |-...

2020-07-24 14:08:44 789

原创 ALV (五)、 Function ALV (杂项、其他)

货币、数量( P小数 )类型字段修改小数点问题:(编辑状态下)需要对fieldcat-datatype的属性进行设置( QUAN,CURR ),才能使输入数字保持原样大小,否则输入的数据会自动将小数点提前2位;對數量類型還需要對 fieldcat-inttype 屬性進行設置,而且只能視為C類型。datatype与Inttype本质上时编辑类型和数据库类型的映射,datatype时abap字典中的数据库类型,inttype是ABAP程序内部使用的一种数据类型。表头信息说明:可以通过两种.

2020-07-24 13:42:49 226

原创 ALV (四)、 Function ALV (颜色,编辑)

颜色设置一般有单元格、行、列三种,在ALV中的优先级为:单元格 > 行 >列,如果这列被设为KEY,颜色设置就不会起作用,ls_v_fcat-key = 'X'。列颜色:是由fieldcat中的属性控制的, emphasize字段。行颜色:是内表字段 和 layout 同时起作用控制,layout-info_fieldname为内表中字段名,然后再内表中定义该字段名的CHAR4类型。单元格颜色:是内表中structure结构加上layout同时起作用控制,layout

2020-07-17 15:27:25 571

原创 ALV (三)、 Function ALV (工具栏和事件)

ALV工具栏自带很多很好用的功能,但是我们有时候也会想添加一些自己的功能,这种时候一般有两种方法:1、copy标准的GUI Status,然后在这个基础上添加新的按钮即可,标准的GUI Status:SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL'.2、先创建一个新的GUI Status,然后添加上自己的功能,然后将需要的标准自带功能参考标准GUI Status 复制过来就可以了。两种方法我一般用的是第二种,标准的功能是在太多

2020-07-14 15:16:42 2216

原创 ALV (二)、Function ALV ( Layout 和 Fieldcat )

ALV的相关函数:REUSE_ALV_GRID_DISPLAY 代表grid格式的alv,REUSE_ALV_LIST_DISPLAY,代表list格式的alv,REUSE_ALV_FIELDCATALOG_MERGE:根据内表定义的数据字典对象快速生成fieldcat内表(必须要引用data element)。此外还有一种以LVC结尾的ALV函数REUSE_ALV_GRID_DISPLAY_LVC,这个函数中的引用类型不再是slis,而是数据字典结构,而且与OO ALV所用到的类型也基本相同,所以

2020-07-14 14:30:40 1251

原创 ALV (一)、funtion ALV,OO ALV,SALV

ALV报表是我们再SAP经常需要用到的一种报表格式,除此之外还有list报表以及report的报表,他们之间可以相互的替换,但是ALV自带的函数会更多一些。通常我们在使用ALV报表的时候有三种方式,分别是funtion 通常是指:REUSE_ALV_GRID_DISPLAY[ _LVC];然后OO ALV则会用到object:CL_GUI_ALV_GRID;OO SALV则会用到 CL_SALV_TABLE等一系列Object。Function ALV:function一般有grid和list两种,

2020-07-14 13:20:16 1892

原创 Update function的用法

SAP是一个C/S结构,对数据库LUW在程序中会有一些隐式的DB Commit:A、当系统输出一个屏幕的时候B、当系统输出一个Message的时候,尤其是I类型的message( 会出现一个弹出框 )C、当执行RFC的时候(普通的function不会,意味着可以通过一个commit跨function控制lLUW )D、CALL Transaction或者sunmit <program name>,但是在做dialog程序的时候又不得不需要程序做到只有一个luw,这样可以保持数

2020-07-11 09:32:07 2283

原创 ABAP生成JOB

SAP有时候会有需求需要在程序里面触发设置JOB,今天介绍两种方法。第一种:submit的方式,下面有两种方法,submit语句和function第二种:在SE62中创建相应的event,配置上对应程序对应varaint,然后在程序中触发。*&---------------------------------------------------------------------**& Report ZTESTLIAN2*&*&-------------

2020-07-10 15:55:24 1882

原创 ABAP-使用Oracle游标和native SQL

R3的系统很多的数据库还是使用的Oracle的数据库,所以我们可以使用一些oracle的sql语句。曾经我有一本程序需要进行效能上的优化,中间有用到游标和native sql,其实我发现并不会得到效能上的优化,他们都说open sql会在执行的时候转换成为native sql语句在运行,这一点其实用ST05去查看sql log的时候就会发现,这样看来理论上我们使用native sql是能够优化一些的,而且oracle会自带很多的函数,有时候能够满足我们的需求。在下结论之前,我先说一下我对open s

2020-07-09 16:56:41 473

原创 ABAP BASE64 加密和解密

BASE64是一种编码方法,unicode编码是用8个Bits表示一个字符,BASE64则则是使用6个字符表示,由于2的6次方是64,所以是用64个可打印字符表四二进制的所有数据方法。SAP标准函数组:SSFCSSFC_BASE64_DECODESSFC_BASE64_ENCODEstring和xstring 互转:SCMS_STRING_TO_XSTRINGECATT_CONV_XSTRING_TO_STRINGCHECK plaintext IS NOT INITIAL...

2020-07-09 15:44:00 1392

原创 ALV的自动刷新和write report的自动刷新

对ALV的刷新有现成的class cl_gui_timer可以使用,对write report则可以使用并行的function的方式处理。REPORT z_alv_auto_refresh.TYPE-POOLS: slis. " ALV Global TypesDATA : gt_user LIKE uinfo OCCURS 0 WITH HEADER LINE. " User info in SM04*------------------------

2020-07-09 11:34:08 336

原创 DB Link 的方式访问外部数据库数据库直连 DBCO

DB Link也是我们会在企业内部经常会用到的一个取数的方法,简单快捷。但是首先需要在( DBCO )中创建。DATA: lo_sql TYPE REF TO cl_sql_statement, ltm_open TYPE REF TO cl_sql_connection, lo_result TYPE REF TO cl_sql_result_set,*-Exception Class for SQL Error zci_sql_exception

2020-07-09 09:07:42 2006

原创 Web Dynpro for ABAP ( 五 ) 跨WDA传参

我们偶尔会在一本程式中引用另一本WDA程式,这时候传参成了一件很重要的事,我用过的方法一共有三个:1)、利用interface node传参;2)、利用interface method传参;3)、利用url传参;1)、利用interface node传参;在使用wd_comp_controller->window_manager->create_and_open_popup 的方式去弹出popup框的时候,需要在调用程式中引用被调用程序的WDA Window,这时候我们可以直

2020-07-04 11:43:30 695

原创 Web Dynpro for ABAP ( 四 ) BPM系统的连接

BPM是我们公司用的一个文件签核系统,GUI上没有用到,但是在Portal上会用上,其核心还是需要创建webservice 的outbound的接口,对WDA而言,重要的是需要建立CHIPS,同时建立interface event和interface method作为创出与传入的函数。首先需要在SE80 package下面的 Enterprise Services中创建 outbound的service consumer,然后在soamanager中mapping上port,在SE24的构造方法中写上:

2020-07-04 10:38:28 260

原创 Web Dynpro for ABAP ( 三 ) Window popup

WDA程式在编写的过程中经常会有弹出框的需求,一般我常会用到的一般有三种:1)、Message的弹出框用于confirm;2)、需要自己画控件的window;3)、弹出一个完整的application。下面介绍具体的方法和步骤:1)、Message的弹出框用于confirm;这种最简单, APPEND '請確認是否取消!' TO lt_text. wd_this->window_cancel = wd_comp_controller-&gt

2020-07-03 16:37:34 872

原创 Web Dynpro for ABAP ( 二 ) 控件和Context

MAC结构,那与控件绑定的数据就是Context,Node 是element对象的集合,attribute即字段,element是 数据的对象形式的存在。Node可以包含着element。Node的property的属性介绍:selection :可选择的element,singleton:决定子节点加载数据,是否根据父节点lead selec,supply function:加载数据,(注:在componentcontroller中建立的Node,可以设置为Interface ).

2020-07-03 15:33:56 678

原创 Web Dynpro for ABAP ( 一 ) API

每个application都会分配一个url,我们会把账号或者application的信息存放在其中,下面的部分是读取API的内容: methods wd_get_api returning value(Result) type ref to IF_WD_VIEW_CONTROLLER. "#EC NEEDED

2020-07-02 14:23:55 301

原创 WDA的事件

WDA自带的事件说明以及执行顺序COMPONENTCONTROLLERWDDOINIT Controller Initialization MethodViewsWDDOAFTERACTION Method for non-action specific operations before navigationWDDOBEFOREACTION Method for Validation of User Input...

2020-07-02 14:17:01 400

原创 WDA

由于我们公司还在用老旧的WDA,所以不可避免的会需要写一点,但是这个是MVC的框架,又不太好截图,只能贴一点零散的代码,记录以下几个简单的功能吧。Web Dynpro 是SAP提供的用于开发基于Web和多终端的窗体开发解决方案。WDA的报错看着挺难受,还好demo的例子比较多,可以平时看看例子基本上可以满足你的需求了。...

2020-07-02 13:58:37 1183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除