函数讲解系列.docx

上传人:b****4 文档编号:11587328 上传时间:2023-03-19 格式:DOCX 页数:37 大小:69.58KB
下载 相关 举报
函数讲解系列.docx_第1页
第1页 / 共37页
函数讲解系列.docx_第2页
第2页 / 共37页
函数讲解系列.docx_第3页
第3页 / 共37页
函数讲解系列.docx_第4页
第4页 / 共37页
函数讲解系列.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

函数讲解系列.docx

《函数讲解系列.docx》由会员分享,可在线阅读,更多相关《函数讲解系列.docx(37页珍藏版)》请在冰豆网上搜索。

函数讲解系列.docx

函数讲解系列

每日函数讲解---函数列表

2006.01.09:

    函数名                                                    描述                        

    SD_VBAP_READ_WITH_VBELN            根据销售订单读取表vbap中的信息

    EDIT_LINES                                            把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织

    VIEW_MAINTENANCE_CALL                  维护表视图

2006.01.10:

    函数名                                描述                        

DY_GET_FOCUS                获得屏幕焦点

DY_GET_SET_FIELD_VALUE    获得或者设置屏幕字段的值

2006.01.11:

    函数名                                                          描述                        

    F4IF_INT_TABLE_VALUE_REQUEST          显示检索help

    READ_TEXT                                                  读取长文本

    CONVERSION_EXIT_CUNIT_OUTPUT          单位转换

    SJIS_DBC_TO_SBC                                      全角转半角

    SJIS_SBC_TO_DBC                                      半角转换为全角

    CO_R0_CHECK_DECIMAL_POINT              根据单位检查数据的小数位

    POSTAL_CODE_CHECK                      检查邮政编码

2006.01.12:

    函数名                                      描述                        

    CONVERSION_EXIT_ALPHA_INPUT          全数字则在前面补0

    CONVERSION_EXIT_ALPHA_INPUT          和上面相反

    GET_JOB_RUNTIME_INFO                  获得job相关信息

    TERMINAL_ID_GET                      获得端末id

    DATE_CONVERT_TO_FACTORYDATE          把输入日期转为工厂日历日期

    MESSAGE_TEXT_BUILD                    把消息转为文本

2006.01.16:

    函数名                                      描述                        

    POPUP_TO_CONFIRM                      弹出确认窗口

2006.01.20:

    函数名                                      描述                        

    CONVERSION_EXIT_MATN1_INPUT                物料号码转换函数

    CONVERSION_EXIT_MATN1_OUTPUT                同上相反

    CONVERT_TO_LOCAL_CURRENCY                  按照指定日期汇率转换金额为指定货币类型

    SSF_FUNCTION_MODULE_NAME                    根据form名取得对应的函数名(SmartForm)    

2006.01.23:

    函数名                                      描述                        

    DATE_CHECK_PLAUSIBILITY                日期CHECK

    cl_gui_frontend_services=>gui_upload  上传到服务器

    cl_gui_frontend_services=>gui_download      下载到服本地

    SSF_FUNCTION_MODULE_NAME    SMARTFORMS输出报表时,生成一个函数名称,然后CALL这个名称

2006.02.11:

    函数名                                      描述                        

    POPUP_TO_DECIDE_LIST                弹出供选择窗口  

每天函数讲解系列----2006.01.09

1.function:

SD_VBAP_READ_WITH_VBELN

  功能:

根据销售订单读取表vbap中的信息

  参数:

      import:

I_VBELN                            订单号(必输项)

                  I_BYPASSING_BUFFER    是否回避buffer

                  I_REFRESH_BUFFER        是否清空buffer

    tables:

ET_VBAPVB                        不清楚其意义

                  ET_VBAP                            vbap表

2.form:

EDIT_LINES

  功能:

把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织

  原因:

如果用CREATE_TEXT登录的长文本不存在该问题,如果是在前台业务登录的text,那么存到数据库的时候会在72位的地方换行,在lines这个表中的TDFORMAT设置为空,导致READ_TEXT返回的表中的行数也许不是你需要的行数。

  代码:

FORMEDIT_LINESTABLESP_IT_LINESSTRUCTURETLINE.

  DATA:

    L_IT_LINESTYPESTANDARDTABLEOFTLINE,

    L_WA_LINESTYPETLINE,

    L_WA_LINE1TYPETLINE,

    L_LINETYPEI.

  DATA:

    L_INDEXTYPEI,

    L_I    TYPEI.

  READTABLEP_IT_LINESTRANSPORTINGNOFIELDS

    WITHKEYTDFORMAT=SPACE.

  CHECKSY-SUBRC=0.

  L_LINE=LINES(P_IT_LINES).

  CHECKL_LINE>1.

  L_IT_LINES[]=P_IT_LINES[].

  CLEAR:

P_IT_LINES[].

  L_INDEX=2.

  DO.

    CLEAR:

L_WA_LINES.

    READTABLEL_IT_LINESINTOL_WA_LINESINDEXL_INDEX.

    IFSY-SUBRC<>0.

      L_I=L_INDEX-1.

      READTABLEL_IT_LINESINTOL_WA_LINESINDEXL_I.

      IFSY-SUBRC=0.

        APPENDL_WA_LINESTOP_IT_LINES.

      ENDIF.

      EXIT.

    ENDIF.

    IFL_WA_LINES-TDFORMAT='*'.

      L_I=L_INDEX-1.

      CLEARL_WA_LINE1.

      READTABLEL_IT_LINESINTOL_WA_LINE1INDEXL_I.

      APPENDL_WA_LINE1TOP_IT_LINES.

      L_INDEX=L_I+2.

    ELSE.

      L_I=L_INDEX-1.

      READTABLEL_IT_LINESINTOL_WA_LINE1INDEXL_I.

      CONCATENATEL_WA_LINE1-TDLINEL_WA_LINES-TDLINE

            INTOL_WA_LINE1-TDLINE.

      APPENDL_WA_LINE1TOP_IT_LINES.

      L_INDEX=L_INDEX+2.

    ENDIF.

  ENDDO.

ENDFORM.                    "S4110_EDIT_LINES

3.function:

VIEW_MAINTENANCE_CALL

  功能:

维护表视图等

        Thefunctionmodulecallstheextendedtablemaintenance(Viewmaintenance).

  参数:

    import:

ACTION      S=DisplayU=ChangeT=Transport

            CORR_NUMBER  传送号(上面的action是t)

            SHOW_SELECTION_POPUP  是否弹出选择画面

            VIEW_NAME    视图名

            NO_WARNING_FOR_CLIENTINDEP  跨集团是否现实警告

            VARIANT_FOR_SELECTION  变式名

            CHECK_DDIC_MAINFLAG    察看是否为可维护对象

补充:

VIEW_MAINTENANCE_CALL

例子:

  CALLFUNCTION'VIEW_MAINTENANCE_CALL'

    EXPORTING

      ACTION                      ='U'          "更新

      SHOW_SELECTION_POPUP        ='X'          "显示选择画面

      VIEW_NAME                    ='ZPPT000020'"表名

      NO_WARNING_FOR_CLIENTINDEP  =''          "不显示警告

    EXCEPTIONS

      CLIENT_REFERENCE            =1

      FOREIGN_LOCK                =2

      INVALID_ACTION              =3

      NO_CLIENTINDEPENDENT_AUTH    =4

      NO_DATABASE_FUNCTION        =5

      NO_EDITOR_FUNCTION          =6

      NO_SHOW_AUTH                =7

      NO_TVDIR_ENTRY              =8

      NO_UPD_AUTH                  =9

      ONLY_SHOW_ALLOWED            =10

      SYSTEM_FAILURE              =11

      UNKNOWN_FIELD_IN_DBA_SELLIST=12

      VIEW_NOT_FOUND              =13

      MAINTENANCE_PROHIBITED      =14

      OTHERS                      =15.

效果:

每天函数讲解系列----2006.01.10

1.SYSTEM-CALL:

DY_GET_FOCUS

  说明:

获得屏幕焦点

  参数:

          ID'SSCREENNAM'FIELDCURRSUBSCREEN

          ID'SSCREENNBR'FIELDCURRSUBSCREENNO

          ID'MSCREENNAM'FIELDCURRSCREEN

          ID'MSCREENNBR'FIELDCURRSCREENNO

          ID'FIELDNAME'FIELDCURSOR_FIELD

          ID'FIELDOFFS'FIELDDUMMYOFFS

          ID'LINE'FIELDCURSOR_LINE.

2.SYSTEM-CALL:

DY_GET_SET_FIELD_VALUE

  说明:

获得或者设置屏幕字段的值

  参数:

      ID'GET_SET'    FIELD'S'    "S:

Setmode  G:

Getmode

      ID'SSCREENNAM'FIELDSHSUBSCREEN

      ID'SSCREENNBR'FIELDSHSUBSCREENNO

      ID'MSCREENNAM'FIELDSHSCREEN

      ID'MSCREENNBR'FIELDSHSCREENNO

      ID'FIELDNAME'FIELDDYNP_EXPORT

      ID'LINE'FIELDDYNP_EXSTEPL

      ID'VALUE'FIELDDYNP_EXPVAL.

例子:

我做了一个检索help的exit,例如屏幕上有两个字段,我按了一个字段的检索help,那么根据这个字段就会取得相应的另外一个字段的值,然后把这个之设置到第二个字段。

FUNCTIONZTEST_F4.

*"----------------------------------------------------------------------

*"*"Localinterface:

*"  TABLES

*"      SHLP_TABTYPE  SHLP_DESCT

*"      RECORD_TABSTRUCTURE  SEAHLPRES

*"  CHANGING

*"    REFERENCE(SHLP)TYPE  SHLP_DESCR

*"    REFERENCE(CALLCONTROL)LIKE  DDSHF4CTRLSTRUCTURE  DDSHF4CTRL

*"----------------------------------------------------------------------

*Localdatadefinition

  DATA:

L_ZZOINO(3)TYPEC.

  DATA:

L_ZZPOSID(10)TYPEC.

  DATA:

DYNP_EXPORT(132),DYNP_EXPVAL(132).

  DATA:

DYNP_EXSTEPLTYPEI,OK,DUMMYCHAR.

  DATA:

DUMMYOFFSTYPEI.

  DATA:

SHSUBSCREENLIKEHELP_INFO-DYNPPROG,

        SHSUBSCREENNOLIKEHELP_INFO-DYNPRO,

        SHSCREENLIKEHELP_INFO-DYNPPROG,

        SHSCREENNOLIKEHELP_INFO-DYNPRO.

  DATA:

CURRSUBSCREENLIKEHELP_INFO-DYNPPROG,

        CURRSUBSCREENNOLIKEHELP_INFO-DYNPRO,

        CURRSCREENLIKEHELP_INFO-DYNPPROG,

        CURRSCREENNOLIKEHELP_INFO-DYNPRO.

  DATA:

CURSOR_FIELDLIKEDYNPREAD-FIELDNAME,CURSOR_LINETYPEI.

  DATA:

SETCURSOR_AVAILABLETYPEI.

*Getrecordvaluefromrecordtable

  READTABLERECORD_TABINDEX1.

  L_ZZPOSID=RECORD_TAB+0(10).

  IFSHLP_TAB-INTDESCR-HOTKEYISINITIAL.

    L_ZZOINO=RECORD_TAB+10(3).

  ENDIF.

*Checkcommand,ifreturn,setscreen

  IFCALLCONTROL-STEP='RETTOP'.

*  Initializescreen,getscreenfocus

    CALL'DY_GET_FOCUS'

          ID'SSCREENNAM'FIELDCURRSUBSCREEN

          ID'SSCREENNBR'FIELDCURRSUBSCREENNO

          ID'MSCREENNAM'FIELDCURRSCREEN

          ID'MSCREENNBR'FIELDCURRSCREENNO

          ID'FIELDNAME'FIELDCURSOR_FIELD

          ID'FIELDOFFS'FIELDDUMMYOFFS

          ID'LINE'FIELDCURSOR_LINE.

*  Setscreenparameter

    GETPARAMETERID'RID'FIELDSHSUBSCREEN.

    SHSCREEN=SHSUBSCREEN.

    GETPARAMETERID'DYN'FIELDSHSUBSCREENNO.

    SHSCREENNO=SHSUBSCREENNO.

    DYNP_EXPORT  ='V_WA_DYNPRO_9000-ZZOINO'.

    DYNP_EXPVAL  =L_ZZOINO.

*  Systemcallforsetscreen

    CALL'DY_GET_SET_FIELD_VALUE'

      ID'GET_SET'    FIELD'S'    "Setmode

      ID'SSCREENNAM'FIELDSHSUBSCREEN

      ID'SSCREENNBR'FIELDSHSUBSCREENNO

      ID'MSCREENNAM'FIELDSHSCREEN

      ID'MSCREENNBR'FIELDSHSCREENNO

      ID'FIELDNAME'FIELDDYNP_EXPORT

      ID'LINE'FIELDDYNP_EXSTEPL

      ID'VALUE'FIELDDYNP_EXPVAL.

*  Systemcallforsetscreen

    DYNP_EXPORT  ='V_WA_DYNPRO_9000-ZZPOSID'.

    DYNP_EXPVAL  =L_ZZPOSID.

    CALL'DY_GET_SET_FIELD_VALUE'

      ID'GET_SET'    FIELD'S'    "Setmode

      ID'SSCREENNAM'FIELDSHSUBSCREEN

      ID'SSCREENNBR'FIELDSHSUBSCREENNO

      ID'MSCREENNAM'FIELDSHSCREEN

      ID'MSCREENNBR'FIELDSHSCREENNO

      ID'FIELDNAME'FIELDDYNP_EXPORT

      ID'LINE'FIELDDYNP_EXSTEPL

      ID'VALUE'FIELDDYNP_EXPVAL.

  ENDIF.

ENDFUNCTION.

每天函数讲解系列----2006.01.11

Function:

F4IF_INT_TABLE_VALUE_REQUEST

  功能:

显示检

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1