Function

来源:互联网 发布:如何加入淘宝商城 编辑:程序博客网 时间:2024/05/10 02:45

很多经常用到的函数,希望对大家有帮助.

 

Funtion:DDIF_FIELDINFO_GET
功能:获得字段的相关信息
参数:
Import:
TABNAME:数据库表的名字
FIELDNAME:无需指定,由LFIELDNAME代替了
LANGU: 语言设定,默认sy-langu
LFIELDNAME:指定关联字段
ALL_TYPES:是否指定所有类型
GROUP_NAMES:是否包含include的字段
UCLEN:没用过,应该是和unicode相关的
Export:
X030L_WA:返回表头的信息
DDOBJTYPE:表类型
‘TRANSP’   = transparent table
‘POOL’     = logical pooled table
‘CLUSTER’  = logical cluster table
‘VIEW’     = database or projection view
‘INTTAB’   = structure, help view, maintenance view or structure view
‘TPOOL’    = physical pooled table
‘TCLUSTER’ = physical cluster table
‘DTEL’     = data element
‘TTYP’     = table type
DFIES_WA:没用过
LINES_DESCR:没用过
Tables:
DFIES_TAB:字段列表
FIXED_VALUES:域的固定值

说明:该函数可用来获得某个表或者结构或者视图等所有字段的相关信息,所以如果想用alv来维护某个表的时候,对设定field catalog有帮助。

Funtion:DDIF_NAMETAB_GET
功能:获得字段的相关信息(不包含text)
参数:
Import:
TABNAME:数据库表的名字
LFIELDNAME:指定关联字段
ALL_TYPES:是否指定所有类型
GROUP_NAMES:是否包含include的字段
UCLEN:没用过,应该是和unicode相关的
Export:
X030L_WA:返回表头的信息
DTELINFO_WA:data element的信息
TTYPINFO_WA:表类型的信息
DDOBJTYPE:表类型
‘TRANSP’   = transparent table
‘POOL’     = logical pooled table
‘CLUSTER’  = logical cluster table
‘VIEW’     = database or projection view
‘INTTAB’   = structure, help view, maintenance view or structure view
‘TPOOL’    = physical pooled table
‘TCLUSTER’ = physical cluster table
‘DTEL’     = data element
‘TTYP’     = table type
DFIES_WA:没用过
LINES_DESCR:没用过
Tables:
DFIES_TAB:字段列表
FIXED_VALUES:域的固定值

Funtion:DDIF_TABL_GET
功能:获得表的相关信息
参数:
Import:
NAME:数据库表的名字
STATE:状态
STATE = ‘A’ (read the active version)
STATE = ‘M’ (read the latest version)
LANGU: 语言设定,默认sy-langu
Export:
GOTSTATE:状态信息
DD02V_WA:表头
DD09L_WA:表表的技术信息
Tables:
DD03P_TAB:表的字段列表
DD05M_TAB:表的外键字段
DD08V_TAB:表的外键
DD12V_TAB:表索引
DD17V_TAB:表的索引字段
DD35V_TAB:检索help相关
DD36M_TAB:检索help相关

Funtion:POPUP_TO_DECIDE_LIST
功能:弹出供选择窗口,最多25个选项,选择可以是单选按钮也可以是复选按钮,可以设定最多选择的个数。
参数:
Import:
CURSORLINE  :默认光标所在行
MARK_FLAG:选择的标志,一般设为‘X’
MARK_MAX: 最大选择的选项个数
START_COL:起始行
START_ROW  :起始列,用来定位弹出窗口的位置
TEXTLINE1:文本行
TEXTLINE2:文本行
TEXTLINE3 :文本行
TITEL:弹出窗口的标题
DISPLAY_ONLY:仅显示
Export:
ANSWER:A:取消  空:做了选择
Tables:
T_SPOPLI:选择结果

例子:
REPORT  Z_BOBO                                  .
* 定义函数需要的变量
DATA: BEGIN OF SPOPLIST OCCURS 15.
INCLUDE STRUCTURE SPOPLI.
DATA: END   OF SPOPLIST.
DATA: ANTWORT TYPE C.
* 添加选择参数
SPOPLIST-VAROPTION = ‘Creditor’.
APPEND SPOPLIST.
SPOPLIST-VAROPTION = ‘Material’.
APPEND SPOPLIST.
SPOPLIST-VAROPTION = ‘Account ‘.
SPOPLIST-SELFLAG   = ‘X’.

CALL FUNCTION ‘POPUP_TO_DECIDE_LIST’
EXPORTING  TITEL            = ‘Possible entra: Order’
TEXTLINE1        = ‘By which criteria’
TEXTLINE2        = ‘should orders’
TEXTLINE3        = ‘be selected?’
MARK_MAX         = 2
MARK_FLAG        = ‘X’
IMPORTING  ANSWER           = ANTWORT
TABLES     T_SPOPLI         = SPOPLIST
EXCEPTIONS TOO_MUCH_ANSWERS = 1
TOO_MUCH_MARKS   = 2.

IF SY-SUBRC = 2.
WRITE: ‘Too many answers chosen.’.
ENDIF.
* 取消
IF ANTWORT = ‘A’.
WRITE: ‘Popup canceled.’.
ELSE.
WRITE: ‘Options chosen:’.
LOOP AT SPOPLIST WHERE SELFLAG = ‘X’.
WRITE: / SPOPLIST-VAROPTION.
ENDLOOP.
ENDIF.

SYSTEM-CALL:DY_GET_FOCUS

说明:获得屏幕焦点

参数:

ID ‘SSCREENNAM’ FIELD CURRSUBSCREEN
ID ‘SSCREENNBR’ FIELD CURRSUBSCREENNO
ID ‘MSCREENNAM’ FIELD CURRSCREEN
ID ‘MSCREENNBR’ FIELD CURRSCREENNO
ID ‘FIELDNAME’ FIELD CURSOR_FIELD
ID ‘FIELDOFFS’ FIELD DUMMYOFFS
ID ‘LINE’ FIELD CURSOR_LINE.

SYSTEM-CALL:DY_GET_SET_FIELD_VALUE

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

参数:

ID ‘GET_SET’    FIELD ‘S’    “S:Set mode  G:Get mode
ID ‘SSCREENNAM’ FIELD SHSUBSCREEN
ID ‘SSCREENNBR’ FIELD SHSUBSCREENNO
ID ‘MSCREENNAM’ FIELD SHSCREEN
ID ‘MSCREENNBR’ FIELD SHSCREENNO
ID ‘FIELDNAME’ FIELD DYNP_EXPORT
ID ‘LINE’ FIELD DYNP_EXSTEPL
ID ‘VALUE’ FIELD DYNP_EXPVAL.

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

FUNCTION ZTEST_F4.
*”———————————————————————-
*”*”Local interface:
*”  TABLES
*”      SHLP_TAB TYPE  SHLP_DESCT
*”      RECORD_TAB STRUCTURE  SEAHLPRES
*”  CHANGING
*”     REFERENCE(SHLP) TYPE  SHLP_DESCR
*”     REFERENCE(CALLCONTROL) LIKE  DDSHF4CTRL STRUCTURE  DDSHF4CTRL
*”———————————————————————-
* Local data definition
DATA: L_ZZOINO(3) TYPE C.
DATA: L_ZZPOSID(10) TYPE C.
DATA: DYNP_EXPORT(132), DYNP_EXPVAL(132).
DATA: DYNP_EXSTEPL TYPE I, OK, DUMMYCHAR.
DATA: DUMMYOFFS TYPE I.
DATA: SHSUBSCREEN LIKE HELP_INFO-DYNPPROG,
SHSUBSCREENNO LIKE HELP_INFO-DYNPRO,
SHSCREEN LIKE HELP_INFO-DYNPPROG,
SHSCREENNO LIKE HELP_INFO-DYNPRO.
DATA: CURRSUBSCREEN LIKE HELP_INFO-DYNPPROG,
CURRSUBSCREENNO LIKE HELP_INFO-DYNPRO,
CURRSCREEN LIKE HELP_INFO-DYNPPROG,
CURRSCREENNO LIKE HELP_INFO-DYNPRO.
DATA: CURSOR_FIELD LIKE DYNPREAD-FIELDNAME, CURSOR_LINE TYPE I.
DATA: SETCURSOR_AVAILABLE TYPE I.
* Get record value from record table
READ TABLE RECORD_TAB INDEX 1.
L_ZZPOSID = RECORD_TAB+0(10).
IF SHLP_TAB-INTDESCR-HOTKEY IS INITIAL.
L_ZZOINO = RECORD_TAB+10(3).
ENDIF.
* Check command, if return, set screen
IF CALLCONTROL-STEP = ‘RETTOP’.
*   Initialize screen, get screen focus
CALL ‘DY_GET_FOCUS’
ID ‘SSCREENNAM’ FIELD CURRSUBSCREEN
ID ‘SSCREENNBR’ FIELD CURRSUBSCREENNO
ID ‘MSCREENNAM’ FIELD CURRSCREEN
ID ‘MSCREENNBR’ FIELD CURRSCREENNO
ID ‘FIELDNAME’ FIELD CURSOR_FIELD
ID ‘FIELDOFFS’ FIELD DUMMYOFFS
ID ‘LINE’ FIELD CURSOR_LINE.
*   Set screen parameter
GET PARAMETER ID ‘RID’ FIELD SHSUBSCREEN .
SHSCREEN = SHSUBSCREEN.
GET PARAMETER ID ‘DYN’ FIELD SHSUBSCREENNO.
SHSCREENNO = SHSUBSCREENNO.
DYNP_EXPORT   =’V_WA_DYNPRO_9000-ZZOINO’.
DYNP_EXPVAL   = L_ZZOINO.
*   System call for set screen
CALL ‘DY_GET_SET_FIELD_VALUE’
ID ‘GET_SET’    FIELD ‘S’    “Set mode
ID ‘SSCREENNAM’ FIELD SHSUBSCREEN
ID ‘SSCREENNBR’ FIELD SHSUBSCREENNO
ID ‘MSCREENNAM’ FIELD SHSCREEN
ID ‘MSCREENNBR’ FIELD SHSCREENNO
ID ‘FIELDNAME’ FIELD DYNP_EXPORT
ID ‘LINE’ FIELD DYNP_EXSTEPL
ID ‘VALUE’ FIELD DYNP_EXPVAL.
*   System call for set screen
DYNP_EXPORT   =’V_WA_DYNPRO_9000-ZZPOSID’.
DYNP_EXPVAL   = L_ZZPOSID.
CALL ‘DY_GET_SET_FIELD_VALUE’
ID ‘GET_SET’    FIELD ‘S’    “Set mode
ID ‘SSCREENNAM’ FIELD SHSUBSCREEN
ID ‘SSCREENNBR’ FIELD SHSUBSCREENNO
ID ‘MSCREENNAM’ FIELD SHSCREEN
ID ‘MSCREENNBR’ FIELD SHSCREENNO
ID ‘FIELDNAME’ FIELD DYNP_EXPORT
ID ‘LINE’ FIELD DYNP_EXSTEPL
ID ‘VALUE’ FIELD DYNP_EXPVAL.
ENDIF.
ENDFUNCTION.

Function:F4IF_INT_TABLE_VALUE_REQUEST
功能:显示检索help
参数:
Import:
DDIC_STRUCTURE:返回table的结构:
‘s’:VALUE_TAB的结构
‘c’:VALUE_TAB只有一个字段
RETFIELD:返回的字段名称————必输
DYNPPROG:当前程序
DYNPNR:  屏幕号
DYNPROFIELD:屏幕上需要检索help的字段名称
WINDOW_TITLE:检索help的标题
VALUE_ORG:检索help屏幕显示属性:
‘c’:cell by cell
‘s’:structured
CALLBACK_PROGRAM:在f4之前调用的程序
CALLBACK_FORM:在f4之前调用的程序里面的form名称,形式如下
FORM <NAME> TABLES RECORD_TAB STRUCTURE SEAHLPRES
CHANGING SHLP TYPE SHLP_DESCR
CALLCONTROL LIKE DDSHF4CTRL.
Export:
USER_RESET:如果没有选择(按红x),返回‘x’
Tables:
VALUE_TAB:传进去的表———–必输
FIELD_TAB:Fields of the hit list(暂时没用)
RETURN_TAB:返回值表,即如果选择了而没有写到屏幕上的值存在这个表中。
DYNPFLD_MAPPING:把屏幕上需要help的字段可以放在这个表中。
推测:如果屏幕上有多个字段关联,那么只作一个help的话,这个应该可以满足。

例子:
FORM A3000_SET_F4_FIELD_WERKS USING P_FIELD.
TYPES:
BEGIN OF T_S_WERKS,
WERKS TYPE T001W-WERKS,   “プラント
NAME1 TYPE T001W-NAME1,   “名称
NAME2 TYPE T001W-NAME2,   “名称2
STRAS TYPE T001W-STRAS,   “地名/番地-号
ORT01 TYPE T001W-ORT01,   “市区町村名
END OF T_S_WERKS.
TYPES  T_I_WERKS TYPE STANDARD TABLE OF T_S_WERKS.
*这个就是value_tab
DATA   L_IT_WERKS TYPE T_I_WERKS.
*取数据
SELECT WERKS    “プラント
NAME1    “名称
NAME2    “名称 2
STRAS    “地名/番地-号
ORT01    “市区町村名
FROM T001W
INTO CORRESPONDING FIELDS OF TABLE L_IT_WERKS.
*调用函数
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
EXPORTING
RETFIELD                   = ‘WERKS’    “plant
DYNPPROG                 = SY-REPID   “程序名
DYNPNR                      = SY-DYNNR   “屏幕号
DYNPROFIELD             = P_FIELD    “字段名称
VALUE_ORG                = ‘S’        “显示属性:cell by cell
TABLES
VALUE_TAB                = L_IT_WERKS
EXCEPTIONS
PARAMETER_ERROR  = 1
NO_VALUES_FOUND    = 2
OTHERS                     = 3

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.                    ” A3000_SET_F4_FIELD_WERKS

Function: READ_TEXT/CREATE_TEXT
功能:读取长文本/创建长文本
参数:
Import:
CLIENT:集团
ID:文本ID(TTXID中定义)
LANGUAGE:语言
NAME:文本名字()
OBJECT:文本对象(TTXOB中定义)
Export:
HEADER:文本的描述信息
Tables:
LINES:文本内容

例子:读取销售订单头文本
CALL FUNCTION ‘READ_TEXT’
EXPORTING
ID                          = ‘Y001’
LANGUAGE              = SY-LANGU
NAME                     = ‘385’
OBJECT                  = ‘VBBK’
TABLES
LINES                     = L_IT_LINES
EXCEPTIONS
ID                                            = 1
LANGUAGE                                = 2
NAME                                       = 3
NOT_FOUND                              = 4
OBJECT                                     = 5
REFERENCE_CHECK                   = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS                                    = 8.

Function: CONVERSION_EXIT_CUNIT_OUTPUT
功能:根据语言决定单位的显示
参数:
Import:
INPUT:内部单位显示方式
LANGUAGE:语言代码
Export:
LONG_TEXT:单位的长文本
OUTPUT:外部单位显示方式
SHORT_TEXT:单位的短文本

例子:单位显示转换
CALL FUNCTION ‘CONVERSION_EXIT_CUNIT_OUTPUT’
EXPORTING
INPUT                   = ‘ST’
LANGUAGE            = SY-LANGU
IMPORTING
OUTPUT                = L_OUT
EXCEPTIONS
UNIT_NOT_FOUND = 1
OTHERS                = 2.

Function: SJIS_DBC_TO_SBC
功能:全角转换为半角
参数:
Import:
ALL:全部转换
ALPHABET_UPPER:A-Z转换
ALPHABET_LOWER:a-z转换
NUMERIC:0-9转换
Export:
CONVERTED:转换的字符个数
Changing:
TEXT:转换结果

Function: SJIS_SBC_TO_DBC
功能:半角转换为全角
参数:
Import:
ALL:全部转换
ALPHABET_UPPER:A-Z转换
ALPHABET_LOWER:a-z转换
NUMERIC:0-9转换
Export:
CONVERTED:转换的字符个数
Changing:
TEXT:转换结果

Function: CO_R0_CHECK_DECIMAL_POINT
功能:根据单位检查数据的小数位
参数:
Import:
I_QUANTITY:数量
I_UNIT:单位
例子:下面的例子会返回错误信息,以为单位ST是不能有小数位的。
CALL FUNCTION ‘CO_R0_CHECK_DECIMAL_POINT’
EXPORTING
I_QUANTITY       = 3.2
I_UNIT               =‘ST’
EXCEPTIONS
WRONG_DATA     = 1
OTHERS               = 2.

Function: POSTAL_CODE_CHECK
功能:检查邮政编码
参数:
Import:
COUNTRY:国家(T005)———-必输
ONE_TIME_ACCOUNT:不明确
POSTAL_CODE:邮政编码
POSTAL_CODE_PO_BOX:没用过,以下为推测:如果输入则会检查,如果t005表中的XPLPF设置了,那么如果输入PO_BOX,这个选项就必须输入。
PO_BOX:没用过
REGION:区域
Export:
POSTAL_CODE:邮编
EV_POSTAL_CODE:邮编的格式
EV_POSTAL_CODE_PO_BOX:没用过

Funtion:CONVERSION_EXIT_ALPHA_INPUT
功能:全数字则在前面补0
参数:
Import:
INPUT:输入的字符串
Export:
OUTPUT:输出的字符串

Funtion:CONVERSION_EXIT_ALPHA_OUTPUT
功能:和上面相反

Funtion:GET_JOB_RUNTIME_INFO
功能:获得job相关信息
参数:
Export:
EVENTID:后台处理的事件id
EVENTPARM:后台事件的参数(例如,job id,job名字)
TERNAL_PROGRAM_ACTIVE:没用过
JOBCOUNT:job id
JOBNAME:job 名称

Funtion:TERMINAL_ID_GET
功能:获得端末id
参数:
Import:
USERNAME:用户名
Export:
TERMINAL:terminal id

Funtion:DATE_CONVERT_TO_FACTORYDATE
功能:把输入日期转为工厂日历日期
参数:
Import:
CORRECT_OPTION:表示工作日计算方式的标记
DATE:必须转化为工厂日历日期的日期
FACTORY_CALENDAR_ID:工厂日历 ID
Export:
DATE:必须转化为工厂日历日期的日期
FACTORYDATE:指定日历中的工作日数
WORKINGDAY_INDICATOR:表示某日期是否为工作日的标志

例子:
DATA: DATE1        LIKE SCAL-DATE,
DATE2        LIKE SCAL-DATE,
CORRECTION   LIKE SCAL-INDICATOR,
CALENDAR     LIKE SCAL-FCALID,
FACTORYDATE  LIKE SCAL-FACDATE,
WORKDAY      LIKE SCAL-INDICATOR.
CALL FUNCTION ‘DATE_CONVERT_TO_FACTORYDATE’
EXPORTING  DATE                 = DATE1
CORRECT_OPTION       = CORRECTION
FACTORY_CALENDAR_ID  = CALENDAR
IMPORTING  DATE                 = DATE2
FACTORYDATE          = FACTORYDATE
WORKINGDAY_INDICATOR = WORKDAY
EXCEPTIONS CORRECT_OPTION_INVALID     = 1
DATE_AFTER_RANGE           = 2
DATE_BEFORE_RANGE          = 3
DATE_INVALID               = 4
FACTORY_CALENDAR_NOT_FOUND = 5.

Funtion:MESSAGE_TEXT_BUILD
功能:把消息转为文本
参数:
Import:
MSGID:消息id
MSGNR:消息号
MSGV1:参数1
MSGV2:参数2
MSGV3:参数3
MSGV4:参数4
Export:
MESSAGE_TEXT_OUTPUT:输出的字符串
说明:可以用write <message> to <text>代替

Function: POPUP_TO_CONFIRM
Group:SPO1
功能:弹出确认窗口
参数:
Import:
TITLEBAR:弹出窗口的标题,最多40位
TEXT_QUESTION:问题,最长80位,多出来的截断
TEXT_BUTTON_1:第一按钮的text,最长8位
ICON_BUTTON_1:第一按钮显示的icon
TEXT_BUTTON_2:第二按钮的text,最长8位
ICON_BUTTON_2:第二按钮显示的icon
DEFAULT_BUTTON:默认的按钮
DISPLAY_CANCEL_BUTTON:是否显示取消
POPUP_TYPE:弹出的类型: 决定显示的icon
ICON_MESSAGE_QUESTION :问题
ICON_MESSAGE_INFORMATION:信息
ICON_MESSAGE_WARNING:警告
ICON_MESSAGE_ERROR:错误
ICON_MESSAGE_CRITICAL:冲突
START_COLUMN:弹出位置:列
START_ROW:弹出位置:行
IV_QUICKINFO_BUTTON_1:第一按钮的显示信息(鼠标放上去后看到的)
IV_QUICKINFO_BUTTON_2:第二按钮的显示信息(鼠标放上去后看到的)
Export:
ANSWER:返回点击的按钮
’1′ :第一个按钮
’2′ :第二个按钮
‘A’ :取消按钮

Function: CS_BOM_EXPL_MAT_V2
功能:BOM展开
参数:
Import:
CAPID:application id
DATUV:有效开始日
EMENG:数量
MTNRV:物料
MEHRS:多阶层bom展开
WERKS:工厂
STLAN:bom用途
Tables:
STB:展开明细
说明:一般定义上面几个参数就可以了,鉴于该函数参数太多,就不一一说明了

Function: CLOI_PUT_SIGN_IN_FRONT
功能:将负号提前
参数:
Changing:
VALUE:需要负号提前的变量

Function: EPS_GET_DIRECTORY_LISTING
功能:获得某路径下的文件列表
参数:
Import:
DIR_NAME:需要查找的路径
FILE_MASK:没用过
Export:
DIR_NAME:文件路径
FILE_COUNTER:文件个数
ERROR_COUNTER:错误的个数
Tables:
DIR_LIST:文件列表
说明:这个函数可以获得服务器某个路径下的所有文件,对open dataset for read file中file名字的获得有帮助。

Function: BAPI_COMPANYCODE_GET_PERIOD
功能:获得公司的会计年度以及过账日期
参数:
Import:
COMPANYCODEID:公司代码
POSTING_DATE:posting date
Export:
FISCAL_YEAR:会计年度
FISCAL_PERIOD:财务期间
RETURN:返回值
说明:该函数可用来检查会计期间。

Function: MARA_SINGLE_READ
功能:读取物料信息
参数:
Import:
KZRFB:Indicator: Refresh buffer entry
MAXTZ:Max. no. of entries in buffer(这两个参数应该和性能优化相关)
MATNR:物料号
SPERRMODUS:Lock mode (none, shared, excl.)
STD_SPERRMODUS:Standard lock mode (if different)(锁相关)
OUTPUT_NO_MESSAGE:是否输出消息
Export:
WMARA:返回的物料信息
说明:该函数可用于性能优化,例如无法避免在loop中有sql的情况可以用该函数取代sql。
对mara的其它操作参考function group:MG21

Function: KNA1_SINGLE_READ
功能:读取customer表信息
参数:
Import:
KZRFB:Indicator: Refresh buffer entry
KNA1_KUNNR:customer code
Export:
WKNA1:返回的信息
说明:还有很多表的读取参考function group:MG41

Function: ADDR_GET_COMPLETE_ALL_TYPES
功能:获得地址的相关信息
参数:
Import:
ADDRNUMBER:address number
PERSNUMBER:个人信息
ADDRESS_OBJECT_TYPE:类型 1:组织 2:个人 3:客户
Export:
ADDR1_COMPLETE:地址1
ADDR2_COMPLETE:地址2
ADDR3_COMPLETE:地址3
ADDR1_COMPLETE_BAPI:地址1
ADDR2_COMPLETE_BAPI:地址2
ADDR3_COMPLETE_BAPI:地址3(以上三个bapi用)

Function: READ_VBFA
功能:取得document flow(省得select了)
参数:
Import:
I_VBELV:Preceding sales and distribution document
I_POSNV:Preceding item of an SD document
I_VBTYP_V:Document category of preceding SD document
I_VBTYP_N:Document category of subsequent document
I_FKTYP:Billing category
I_BYPASSING_BUFFER:是否用buffer
I_REFRESH_BUFFER:删除buffer?
Tables:
E_VBFA:凭证流的表
说明:可以通过by passing buffer来优化性能

Function: SD_VBAK_SINGLE_READ
功能:读取销售订单表头信息
参数:
Import:
I_VBELN:销售订单
I_BYPASSING_BUFFER:是否用buffer
I_REFRESH_BUFFER:删除buffer?
Export:
E_VBAK:返回表头信息
说明:读相关sd表的函数请参考function group:V45I

Function: LIKP_READ
功能:Delivery Header Data
参数:
Import:
I_VBELN:Delivery
LINE_EXIST:if ‘x’ check only if line exsists
Export:
O_ANSWR:send out ‘x’ for line exsists in table
Tables:
E_LIKP:SD Document: Delivery Header Data
说明:有关读取delivery的信息请参考function group:LMGT

Function: CREATE_SAP_SHORTCUT
功能:创建快捷方式
参数:
Import:
SC_COMMAND:指定的tcode
SC_TITLE:快捷方式名字:例如:se38
SC_TYPE:快捷方式类型:有三种:’report’,’ transaction’,’ system command’
NO_DIALOG:是否弹出窗口
说明:具体没什么用,做着玩玩。

Function: SAPGUI_PROGRESS_INDICATOR
功能:显示进度
参数:
Import:
PERCENTAGE:进度的百分数,>0,<100.
TEXT:文本
说明:在运行时间很长的程序中可以选择使用,这样保证了程序不会中止。当然也可以在rz10里面设置程序运行时间,不过比较麻烦。

Funtion:K_GROUP_SELECT
功能:利润中心组的检索help
参数:
Import:
BUTTONS:按钮,决定是否可以选择group类型
CLASS  :cost center class
CRUSER:创建人
FIELD_NAME:字段名称:此项为必输项
SEARCHFLD:还没用过
SEARCHFLD_INPUT:成本控制范围是否可以输入(参照图1)
SEARCHFLD_REQUIRED:成本控制范围是否必输,如果设置为不可输入,
那么这个参数无效(参考图2)
SET:利润中心组的开头字母
START_COLUMN:弹出窗口的位置
START_ROW  :弹出窗口的位置
TABLE:表或者结构的名称
Export:
SET_NAME:取得帮助字段的值
例子
*&———————————————————————
*& Report  Z_BOBO_20060228                                        *
*&———————————————————————*
*& 弹出窗口,利润中心组的帮助,这样就省得f4_value_request了  *                                                                          *
*&———————————————————————*

REPORT  Z_BOBO_20060228                         .
DATA : W_PRCGC1(15)     TYPE C.
DATA : W_SETNAME(15)    TYPE C.
SELECT-OPTIONS : S_PRCGC  FOR  W_PRCGC1.     ” 利润中心组
AT SELECTION-SCREEN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PRCGC-LOW.
CALL FUNCTION ‘K_GROUP_SELECT’
EXPORTING
BUTTONS              = ‘X’
CLASS                  = ’0106′
FIELD_NAME          = ‘RPRCTR’
SEARCHFLD_INPUT  = ‘X’
SEARCHFLD_REQUIRED = ‘X’
SET                        = ‘@’
TABLE                     = ‘CCSS’
IMPORTING
SET_NAME                = W_SETNAME
EXCEPTIONS
NO_SET_PICKED      = 1
OTHERS                = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
S_PRCGC-LOW  = W_SETNAME.
ENDIF.
START-OF-SELECTION.
WRITE: ‘TEST BOBO’.

function:SD_VBAP_READ_WITH_VBELN
功能:根据销售订单读取表vbap中的信息
参数:
import:I_VBELN                          订单号(必输项)
I_BYPASSING_BUFFER     是否回避buffer
I_REFRESH_BUFFER         是否清空buffer
tables:ET_VBAPVB                        不清楚其意义
ET_VBAP                            vbap表

form:EDIT_LINES
功能:把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织
原因:如果用CREATE_TEXT登录的长文本不存在该问题,如果是在前台业务登录的text,那么存到数据库的时候会在72位的地方换行,在lines这个表中的TDFORMAT设置为空,导致READ_TEXT返回的表中的行数也许不是你需要的行数。
代码:
FORM EDIT_LINES TABLES P_IT_LINES STRUCTURE TLINE.
DATA:
L_IT_LINES TYPE STANDARD TABLE OF TLINE,
L_WA_LINES TYPE TLINE,
L_WA_LINE1 TYPE TLINE,
L_LINE TYPE I.
DATA:
L_INDEX TYPE I,
L_I     TYPE I.
READ TABLE P_IT_LINES TRANSPORTING NO FIELDS
WITH KEY TDFORMAT = SPACE.
CHECK SY-SUBRC = 0.
L_LINE = LINES( P_IT_LINES ).
CHECK L_LINE > 1.

L_IT_LINES[] = P_IT_LINES[].
CLEAR: P_IT_LINES[].

L_INDEX = 2.
DO.
CLEAR: L_WA_LINES.
READ TABLE L_IT_LINES INTO L_WA_LINES INDEX L_INDEX.
IF SY-SUBRC <> 0.
L_I = L_INDEX – 1.
READ TABLE L_IT_LINES INTO L_WA_LINES INDEX L_I.
IF SY-SUBRC = 0 .
APPEND L_WA_LINES TO P_IT_LINES.
ENDIF.
EXIT.
ENDIF.
IF L_WA_LINES-TDFORMAT = ‘*’.
L_I = L_INDEX – 1.
CLEAR L_WA_LINE1.
READ TABLE L_IT_LINES INTO L_WA_LINE1 INDEX L_I.
APPEND L_WA_LINE1 TO P_IT_LINES.
L_INDEX = L_I + 2.
ELSE.
L_I = L_INDEX – 1.
READ TABLE L_IT_LINES INTO L_WA_LINE1 INDEX L_I.
CONCATENATE L_WA_LINE1-TDLINE L_WA_LINES-TDLINE
INTO L_WA_LINE1-TDLINE.
APPEND L_WA_LINE1 TO P_IT_LINES.
L_INDEX = L_INDEX + 2.
ENDIF.
ENDDO.
ENDFORM.                    ” S4110_EDIT_LINES

function:VIEW_MAINTENANCE_CALL
功能:维护表视图等
The function module calls the extended table maintenance (View maintenance).
参数:
import:ACTION       S = Display U = Change T = Transport
CORR_NUMBER  传送号(上面的action是t)
SHOW_SELECTION_POPUP   是否弹出选择画面
VIEW_NAME    视图名
NO_WARNING_FOR_CLIENTINDEP  跨集团是否现实警告
VARIANT_FOR_SELECTION   变式名
CHECK_DDIC_MAINFLAG     察看是否为可维护对象

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 618没有天猫积分怎么办 话费充错了号码怎么办? 微信被骗充话费怎么办 微信话费充多了怎么办 睫毛烫的太卷了怎么办 烫完睫毛太卷了怎么办 烫睫毛太卷了怎么办 用微信充话费充错了怎么办 微信给空号充话费了怎么办 微信充话费充错号码是空号怎么办 淘宝充流量不到账怎么办 微信退货不退款怎么办 京东话费交错号怎么办? 微信缴费错了怎么办 给手机充话费被退款怎么办 买到假货淘宝商家已关店怎么办 手机刷错系统了怎么办 苹果手机成砖了怎么办 苹果6p变砖头怎么办 苹果刷成石头了怎么办 苹果手机更新成了砖头怎么办 京东售后好慢怎么办 京东商品超过售后期怎么办 京东过了售后期怎么办 京东售后不处理怎么办 京东售后不让退货怎么办 天猫盒子遥控器丢了怎么办 淘宝店铺的客服不理人怎么办 淘宝假货下架了怎么办 淘宝不让发布本地生活服务了怎么办 淘宝删除差评后店家不返现怎么办 天猫店家迟迟不发货怎么办 淘宝下单后店家说缺货怎么办 用淘宝把话费冲到空号上怎么办 d速快递没有网点怎么办 京东买的货没收到怎么办 淘宝物流显示已揽件就是不动怎么办 淘宝查不到物流信息怎么办 快递物流信息更新错怎么办 淘宝上查不到物流怎么办 微信买的东西不给退怎么办