知识点2

1.  DUMMY是不是检查所有的类型的权限呢?
    PS:不是,dummy的意思是虚拟的意思,就是说权限检查的时候有这个权限检查字段,但是不对该字段做权限检查。
AUTHORITY-CHECK OBJECT 'Z_BRAND'
             ID 'ACTVT' DUMMY
            
 ID 'BRAND' FIELD p_brand. 
   
 IF sy- subrc <> 0. 
     
 MESSAGE e001(00 ) WITH '无品牌' p_brand '的权限'. 
   
 ENDIF .
 
2. BKK_DOMAIN_TEXTS_READ读取域文本的内容,并存放到内表中,
       DATA: lt_text TYPE bkkdc_t_domain_text, "抬头
            lw_text
 TYPE bkkdc_s_domain_text ."工作区
     
 CALL FUNCTION 'BKK_DOMAIN_TEXTS_READ'
       
 EXPORTING 
          i_langu       
 = sy-langu
          i_domname     
 = 'ZD_HZDLX' 
       
 IMPORTING 
          et_domain_text = lt_text[] .   
     方式二:
     DATA: lt_domain TYPE STANDARD TABLE OF dd07v WITH HEADER LINE .
     CALL FUNCTION 'DD_DOMVALUES_GET'
     
 EXPORTING 
        domname  
 = 'ZD_ZAPPSEX'
       
 text      = 'X'
        langu    
 = sy -langu
     
 TABLES 
        dd07v_tab
 = lt_domain.
   方式三:
DATA: lt_values_tab  TYPE TABLE OF dd07v.
CALL FUNCTION 'GET_DOMAIN_VALUES'
          EXPORTING
            domname         = 'ZE_ZZSTA'
*           TEXT            = 'X'
*           FILL_DD07L_TAB  = ' '
          TABLES
            values_tab      = lt_values_tab
*           VALUES_DD07L    =
          EXCEPTIONS
            no_values_found = 1
            OTHERS          = 2.
        IF sy-subrc <> 0.
          REFRESH lt_values_tab.
        ENDIF.
3.使用消息,便面DUMP掉。
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 
   
 EXPORTING 
      i_callback_program      
 = w_repid
      i_callback_pf_status_set
 = 'FRM_SET_PF_STATUS'
      i_callback_user_command 
 = 'FRM_USER_COMMAND'
      is_layout               
 = w_layout
      it_fieldcat             
 = it_fieldcat[]
      i_save                  
 = 'A'
   
 TABLES 
      t_outtab                
 = gt_fhhzd[]
   
 EXCEPTIONS 
      program_error           
 = 1 
     
 OTHERS                   = 2. 

 
 IF sy- subrc <> 0. 
   
 MESSAGE e001(00 ) WITH '函数REUSE_ALV_GRID_DISPLAY错误!' .
 
 ENDIF.
4. 调用SUBMIT获取数据
  SUBMIT zhzd_process
         
 WITH p_hzd EQ l_hzd
         
 WITH p_lx EQ 'M' 
         
 AND RETURN .

 
 IMPORT msg = gt_fhhzd-msg subrc = sy- subrc FROM MEMORY ID 'ZHZD_PROCESS'.
 
REPORT zhzd_process. 

DATA: msg TYPE char255. 
PARAMETERS p_hzd TYPE ze_hzd.
PARAMETERS p_lx TYPE c .

CASE p_lx. 
 
 WHEN 'F'. 
   
 CALL FUNCTION 'Z_JSLHZD_PROCESS'
 
 EXPORTING
    hzd          
 = p_hzd
 
 IMPORTING
    msg          
 = msg
 
 EXCEPTIONS
    process_error
 = 1
   
 OTHERS        = 2. 
 
 WHEN 'T'. 
   
 CALL FUNCTION 'Z_JSLTHZD_PROCESS'
 
 EXPORTING
    hzd          
 = p_hzd
 
 IMPORTING
    msg          
 = msg
 
 EXCEPTIONS
    process_error
 = 1
   
 OTHERS        = 2. 
 
 WHEN 'M'. 
   
 CALL FUNCTION 'Z_MDHZD_PROCESS'
 
 EXPORTING
    hzd          
 = p_hzd
 
 IMPORTING
    msg          
 = msg
 
 EXCEPTIONS
    process_error
 = 1
   
 OTHERS        = 2. 
ENDCASE.

EXPORT msg = msg subrc = sy -subrc TO MEMORY ID 'ZHZD_PROCESS'.
 
5. 默认值,但是不显示
      PARAMETERS:p_jsdlx LIKE ztjsd -jsdlx DEFAULT 'W' NO-DISPLAY .
6. 用来匹配模式与逻辑表达式 "p_num CO '0123456789.'  p_num NA 'A....'"
   1. CO / CN contains only or not      :  只包含  不包含
CA / NA contains any or not any :包含任何一个  不包含任何一个
CS / NS contain string or not      :包含string     不包含string
CP / NP contains pattern or not  : 包含模式       不包含模式
     IF g_fiuser = space. "非财务用户 
      r_werks
- sign = 'I' .
      r_werks
- option = 'NP' .
      r_werks
- low = '*' . "全部门店
     
 APPEND r_werks.
     
 CLEAR r_werks.
   
 ELSE .
      r_werks
- sign = 'I' .
      r_werks
- option = 'CP' .
      r_werks
- low = '*' . "全部门店
     
 APPEND r_werks
     
 CLEAR r_werks.
   
 ENDIF 
2.逻辑表达式
EQ或=          等于
     NE或<>或><     不等于
     LT或<          小于
     LE或<=          小于等于
     GT或>          大于
GE或>=          大于等于
7. 将特定的值查询后直接赋值到指定的变量中。
SELECT SINGLE name1 jyfs mdxz INTO (g_name1, g_jyfs,g_mdxz ) FROM t001w WHERE werks = p_werks.
 

8. DIV除之后,取的是整数部分,舍弃了小数部分的内容。如果想保留小数部分,需要使用‘/’

 
9. ON_CHANGE_OF 用来分组排序,在不同的组内进行排序。
     LOOP AT gt_data ASSIGNING <fs_a>.
      ON CHANGE OF <fs_a>-clas1 . 
        CLEAR : l_pm. 
      ENDON . 
      l_pm = l_pm + 1. 
      <fs_a>- pm = l_pm . 
    ENDLOOP .
10.*删除F8按钮.
  APPEND 'CRET' TO gt_exclude.
 
 CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
   
 EXPORTING 
      p_status 
 = sy-pfkey
   
 TABLES 
      p_exclude
 = gt_exclude.
     
11.BCALV_EDIT_04:使用INFORM来展示数据
  * first check airline and connection
  select single * from spfli into gs_spfli where carrid = g_carrid and connid = g_connid.
 
 if sy- subrc ne 0 .
   
 call function 'POPUP_TO_INFORM'
        
 exporting 
              titel
 = text -i01
              txt1 
 = text -i02
              txt2 
 = text -i03
              txt3 
 = text -i04
              txt4 
 = text -i05. 
 
 else.
* §0.Lock your database table according to CARRID and CONNID 
   
 perform lock_sflight changing g_success .
   
 if g_success eq 'X'.
     
 call screen 100.
   
 else .
     
 message i000(0k ) with text- i10.
   
 endif .
 
 endif.
12.* 数量四舍五入  向上取值与向下取值 1.
    1.CALL FUNCTION 'HR_NZ_ROUNDING_DECIMALS'
      EXPORTING 
        value_in 
 = gv_max " Input field with decimals
        conv_dec 
 = 0   " i    Number of desired decimals for conversion
     
 IMPORTING 
        value_out
 = gv_max " Output field with rounded decimals
    2. a = 1.36   b = 1.34
       CEIL( a/b ).   "2
       FLOOR( a/b ).  "1
ABS( dobj ) 返回参数绝对值
SIGN( dobj )返回参数符号:正数返回1,0返回0,负数返回-1.
TRUNC( dobj )返回参数的整数部分
FRAC( dobj )返回参数的小数部分
CEIL( dobj )返回不小于输入参数的最小整数值
FLOOR( dobj )返回不大于输入参数的最大整数值
SQRT 平方根
注意:函数名与左括号间不能有空格,括号与参数间必须有空格.
13.检查必须为数字
     "折扣检查 
    l_str_len
 = strlen( gt_tab -netpr ). 
   
 CLEAR l_do_index.
   
 DO l_str_len TIMES .
     
 IF NOT '0123456789.' CA gt_tab-netpr+l_do_index( 1).
       
 CONCATENATE gt_tab-msg  '折扣必须为数字!' INTO gt_tab-msg.
     
 ENDIF .
      l_do_index
 = l_do_index + 1. 
   
 ENDDO .
"最好的方法定义一个P类型的,用Catch来把字符串(去掉空格后)赋值给这个P类型,如果返回值为0,就说明是数字~
14.ZFC_RT024:如果BAPI调用出错,直接跳出本次的调用PERFORM 则使用RETURN。程序块:FORM,MODULE,EVENT等。
 
1. CHECK: 后面跟一个表达式,当表达式的值为假(false),CHECK发生作用,退出循环LOOP或者处理程序 Processing Block.
          如果CEHCK在循环中,则退出当前的一次循环,从下一次循环继续执行,类似于CONTINUE.
          如果CHECK出现在循环外,则发生作用时,退出的是当前执行的程序块 Processing Block,如:FORM METHOD or EVENT.
2. EXIT:  EXIT出现在循环中,退出整个循环,程序从循环结束处开始继续执行。 
          EXIT出现在循环外,退出的是当前的程序块:processing Block,如:FORM METHOD or EVENT。与RETURN类似。
3. RETURN:使用RETURN来退出当前执行的程序块,不管是在LOOP中还是在Processing Block中,
   PS:    建议只在循环中使用EXIT,而不使用RETURN,在外部退出Processing Block中,使用RETURN。
4. LEAVE PROGRAM: 直接退出当前程序。
5. CONTINUE: 与CHECK类似,CHECK是有条件终止,CONTINUE是无条件终止。在循环中,结束此轮循环,继续下一轮循环。

     6. STOP:结束当前块,从下一个块开始执行。这里的块指的是语句快。直接到END-OF-SELECTION.


15. 初始化field-symbols :
    UNASSIGN <fs_gw_eban> .
 
16. 在界面显示正在执行的动作.
  if SY -BATCH is initial . "SY-BATCH 正在后台执行程序
   
 call function 'SAPGUI_PROGRESS_INDICATOR'
     
 exporting 
       
 TEXT = '正在迁移中间数据...'.
 
 endif.
17. 解决筛选时出现筛选输入字段没有实际表中的字段那么长的问题。 定义参照的表和字段,对于自定义的字段使用intlen属性来设置
  CLEAR: ls_fieldcat.
 
 LOOP AT gt_fieldcat INTO ls_fieldcat.
   
 CASE ls_fieldcat-fieldname .
     
 WHEN 'MATNR'.
        ls_fieldcat
- ref_table = 'MARA' .
        ls_fieldcat
- ref_field = 'MATNR' .
*        ls_fieldcat-intlen    = 18. 
   
 ENDCASE .
   
 MODIFY gt_fieldcat FROM ls_fieldcat .
 
 ENDLOOP.
18.单位转换函数: 
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'EXPORTINGinput =  lv_in"输入的英文单位IMPORTINGoutput =  lv_out."输出的中文单位
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'EXPORTINGinput = lv_in"输入的中文单位IMPORTINGoutput = lv_out."输出的英文单位
19.RENAMING WITH SUFFIX suffix
TYPES: BEGIN OF t_day,
work TYPE c LENGTH 8,
free TYPE c LENGTH 16,
END OF t_day.
DATA BEGIN OF week.
INCLUDE TYPE t_day AS monday    RENAMING WITH SUFFIX _mon.
INCLUDE TYPE t_day AS tuesday   RENAMING WITH SUFFIX _tue.
INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed.
...
DATA END OF week.
20.ABAP的Parameter ID ,用来get/set值

Parameter ID 通常用于 Data element中,通过set/get方法存取它的值, 那么到底Parameter ID 在哪儿进行维护的呢? 要注意的是这个Parameter ID 是跨Client的,所以维护的时候要注意。

记住可维护表:TPARA 是有必要的
21.查询用户的权限列表: SUIM  OR S_BCE_68001400
22.      四舍五入函数:
CALL FUNCTION 'HR_NZ_ROUNDING_DECIMALS'
        EXPORTING
          value_in  = l_p                    " Input field with decimals
          conv_dec  = 0                         " i    Number of desired decimals for conversion
        IMPORTING
          value_out = l_p                " Output field with rounded decimals
*       EXCEPTIONS
*         NO_ROUNDING_REQUIRED             = 1        " No rounding required. (CONV_DEC > VALUE_IN dec)
*         DECIMALS_GREATER_THAN_10       = 2        " Conversion only possible with decimals <= 10
*         ROUNDING_ERROR                          = 3        " An error occurred during the decimal conversion
*         OTHERS                                           = 4.
 
 
 
 

 

 

 
 
 
 
 
 

转载于:https://www.cnblogs.com/colorstory/p/3802593.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java调用jndi出错,无法使用Java JNDI上下文查找来访问对象

我正在运行Tomcat6并希望从我的Servlet访问数据源。但我得到了javax.naming.OperationNotSupportedException: cant generate an absolute name for this namespaceat org.apache.naming.NamingContext.getNameInNamespace(NamingContext.java:772)我的context.xml在HomeContro…

java是如何实现原语的_Java中的低GC:使用原语而不是包装器

java是如何实现原语的总览 有两个很好的理由在可能的地方使用原语而不是包装器。 明晰。 通过使用原语&#xff0c;您可以清楚地知道null值是不合适的。 性能。 使用原语通常更快。 清晰度通常比性能更重要&#xff0c;并且是使用它们的最佳理由。 但是&#xff0c;本文讨论…

MFC 错误异常,用vs添加资源并为资源定义类后报错:error C2065 : 未声明的标识符...

添加了一个Dialog资源&#xff0c;修改了ID之后右击资源添加了一个类&#xff0c;在类里面有一个成员变量&#xff1a; // 对话框数据 enum { IDD IDD_GETIN }; 而在编译过程中出现报错&#xff0c;错误代号是error C2065 : 未声明的标识符&#xff0c;我的第一反应是为什么…

php 正则匹配数字范围,正则表达式之匹配数字范围

最近有个需求就是根据产品编号批量下架产品&#xff0c;需要下架日期为16-31号之间的产品&#xff0c;比如编号为B201607280023匹配表达式如下:^201607(1[6-9]|2[0-9]|3[0-1]).逻辑很简单&#xff0c;如果是必须是1或2或3开头&#xff0c;如果是1开头则后面范围为6-9&#xff0…

php 取utc时间,得到UTC时间在PHP

使用gmdate将始终返回GMTdate。 语法与date相同。一个简单的gmdate()就足够了$time time(); $check $timedate("Z",$time); echo strftime("%B %d, %Y %H:%M:%S UTC", $check);正如以前在这里回答的那样 &#xff0c;从PHP 5.2.0开始&#xff0c;您可以…

BrnShop开源网上商城第二讲:ASP.NET MVC框架

BrnShop开源网上商城第二讲&#xff1a;ASP.NET MVC框架 原文:BrnShop开源网上商城第二讲&#xff1a;ASP.NET MVC框架在团队设计BrnShop的web项目之初&#xff0c;我们碰到了两个问题&#xff0c;第一个是数据的复用和传递&#xff0c;第二个是大mvc框架和小mvc框架的选择。下…

tomcat不停机部署_Tomcat中的零停机部署(和回滚); 演练和清单

tomcat不停机部署亲爱的大家&#xff0c; 如果您认为Tomcat不能再进步&#xff0c;那您就错了。 Tomcat 7引入了所谓的并行部署 。 这是由SpringSource / VMWare贡献的。 简而言之&#xff0c;并行部署是指能够并行部署一个以上版本的Web应用程序&#xff0c;从而使所有版本都…

dataframe建一个空的,创建一个空的Pandas DataFrame,然后填充它?

我想用时间序列计算中的值迭代地填充数据框 . 所以基本上&#xff0c;我想初始化数据框&#xff0c;包括列A&#xff0c;B和时间戳行&#xff0c;全部为0或全部为NaN .然后我会添加初始值并检查此数据&#xff0c;计算前一行中的新行&#xff0c;比如行[A] [t] 行[A] [t-1] 1左…

Android给TextView和EditText等控件设置透明背景、圆角边框

第一种方法&#xff1a;在drawable文件夹下新建一个文件设置背景样式 代码&#xff1a; 在drawable文件夹下面新建text_view_border.xml <?xml version"1.0" encoding"UTF-8"?> <shape xmlns:android"http://schemas.android.com/apk/res/…

将jOOQ与JDBC比较

本文是我们学院课程的一部分&#xff0c;标题为jOOQ –类型安全的数据库查询 。 在SQL和特定关系数据库很重要的Java应用程序中&#xff0c;jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多&#xff0c;JDBC过多时&#xff0c;这是一种替代方法。 它显示了一种现代的领域特…

matlab三维选取二维,基于Matlab绘制二维和三维图形以及其他图形控制函数的使用方法...

Matlab绘图强大的绘图功能是Matlab的特点之一&#xff0c;Matlab提供了一系列的绘图函数&#xff0c;用户不需要过多的考虑绘图的细节&#xff0c;只需要给出一些基本参数就能得到所需图形&#xff0c;这类函数称为高层绘图函数。此外&#xff0c;Matlab还提供了直接对图形句柄…

迭代器生成器可迭代对象_使用迭代器时如何避免ConcurrentModificationException

迭代器生成器可迭代对象Java Collection类是快速失败的&#xff0c;这意味着如果在使用迭代器遍历某个线程的同时更改了Collection&#xff0c;则iterator.next&#xff08;&#xff09;将抛出ConcurrentModificationException 。 在多线程以及单线程环境中都可能出现这种情况。…

Console命令详解,让调试js代码变得更简单

刚刚在浏览关于js方面的博客时发现这个方法挺好玩的&#xff0c;自己爽了一把。 1 <script> 2 console.time(/X(.)X/ test); 3 "XX".match(/X(.)X/); 4 console.timeEnd(/X(.)X/ test); 5 </script> 然后恶补了一下关于Firebug控制台的知识。熟练地使用…

mysql as tmp,启动mysql时显示:/tmp/mysql.sock 不存在的解决办法

启动mysql时显示&#xff1a;/tmp/mysql.sock 不存在的解决方法启动mysql时显示&#xff1a;/tmp/mysql.sock 不存在的解决方法启动mysql时报错的解决(mysql 5.0.45 redhat as43)启动mysql时报错的解决(mysql 5.0.45 redhat as 43)作者: lawzjf(http://lawzjf.itpub.net)发表于…

PHP求体重成绩函数,PHP数组

数组提出一个问题&#xff1a;一个养鸡场有6只鸡&#xff0c;他们的体重分别为3kg&#xff0c;5kg&#xff0c;1k个&#xff0c;3.4kg&#xff0c;2kg&#xff0c;6.kg请问这六只鸡的总体重是多少平均体重是多少请你用现在掌握的技术编一个程序现在我们使用现有的技术来解决问题…

Sublime Text 3插件之Emmet:HTML/CSS代码快速编写神器

一、快速编写HTML代码 1. 初始化 HTML文档需要包含一些固定的标签&#xff0c;比如<html>、<head>、<body>等&#xff0c;现在你只需要1秒钟就可以输入这些标签。比如输入“!”或“html:5”&#xff0c;然后按Tab键&#xff1a; html:5 或!&#xff1a;用于…

批处理停止php服务,通过批处理启动和停止MSSQL+IIS

电脑安装了不少的开发工具环境&#xff0c;如MSSQL2005(2000)IIS\MySQLApache等等&#xff0c;开机和娱乐时为了加快速度&#xff0c;都得把这些占用内存的开发工具系统服务停止&#xff0c;每项手工操作明显麻烦&#xff0c;用批处理就简单多了... 点一下启动&#xff0c;再点…

k8s secret使用_Java Secret:使用枚举构建状态机

k8s secret使用总览 Java中的枚举比许多其他语言更强大&#xff0c;可以导致令人惊讶的用途。 在本文中&#xff0c;我概述了Java 枚举的一些单独功能&#xff0c;并将它们放在一起形成一个状态机。 单例和实用程序类的枚举 您可以非常简单地将枚举用作Singleton或Utility。…

mydumper备份原理和使用方法

mydumper介绍 MySQL自身的mysqldump工具支持单线程工作&#xff0c;依次一个个导出多个表&#xff0c;没有一个并行的机&#xff0c;这就使得它无法迅速的备份数据。 mydumper作为一个实用工具&#xff0c;能够良好支持多线程工作&#xff0c;可以并行的多线程的从表中读入数据…

大津阈值分割matlab实验,OTSU(大津法)分割源程序(MATLAB版)

接下来介绍OTSU方法的原理&#xff1a;***************************************************************************************************************************************************************OTSU法对于具有双峰性质的灰度图像或是彩色图像的某一通道的分割效…