report ZGET_FUNC_DES
TYPE-POOLS : slis.
PARAMETERS: p_func LIKE fupararef-funcname. " Name of Function Module
DATA : BEGIN OF i_tab OCCURS 0,
funcname LIKE fupararef-funcname, " Name of Function Module
paramtype LIKE fupararef-paramtype, " Parameter type
pposition LIKE fupararef-pposition, " Internal Table, Current Line Index
optional LIKE fupararef-optional, " Optional parameters
parameter LIKE fupararef-parameter, " Parameter name
defaultval LIKE fupararef-defaultval, " Default value for import parameter
structure LIKE fupararef-structure, " Associated Type of an Interface Parameter
stext LIKE funct-stext, " Short text
END OF i_tab.
DATA: BEGIN OF mtab_new_prog OCCURS 0,
line(172) TYPE c,
END OF mtab_new_prog.
DATA: funcdesc LIKE tftit-stext, " Short text for function module
mylen TYPE i,
myrc TYPE i.
CONSTANTS: myhats(40) VALUE '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'.
TRANSLATE p_func TO UPPER CASE.
SELECT SINGLE
tftit~stext " Short text for function module
INTO funcdesc
FROM tftit
WHERE tftit~funcname = p_func
AND tftit~spras = sy-langu.
TRANSLATE p_func TO LOWER CASE.
CONCATENATE 'CALL FUNCTION ' p_func ' " ' funcdesc INTO mtab_new_prog-line.
APPEND mtab_new_prog.
TRANSLATE p_func TO UPPER CASE.
SELECT
fupararef~funcname " Name of Function Module
fupararef~paramtype " Parameter type
fupararef~pposition " Internal Table, Current Line Index
fupararef~optional " Optional parameters
fupararef~parameter " Parameter name
fupararef~defaultval " Default value for import parameter
fupararef~structure " Associated Type of an Interface Parameter
funct~stext " Short text
INTO TABLE i_tab
FROM fupararef
INNER JOIN funct
ON fupararef~funcname = funct~funcname
AND fupararef~parameter = funct~parameter
AND funct~spras = sy-langu
WHERE fupararef~funcname = p_func
AND fupararef~r3state = 'A'
ORDER BY fupararef~paramtype
fupararef~pposition.
LOOP AT i_tab.
AT NEW paramtype.
CASE i_tab-paramtype.
WHEN 'C'.
MOVE ' CHANGING' TO mtab_new_prog-line.
WHEN 'E'.
MOVE ' IMPORTING' TO mtab_new_prog-line.
WHEN 'I'.
MOVE ' EXPORTING' TO mtab_new_prog-line.
WHEN 'T'.
MOVE ' TABLES' TO mtab_new_prog-line.
WHEN 'X'.
MOVE ' EXCEPTIONS' TO mtab_new_prog-line.
ENDCASE.
APPEND mtab_new_prog.
ENDAT.
IF i_tab-optional = 'X'.
mtab_new_prog-line = '*^^^'.
ELSE.
mtab_new_prog-line = '^^^^'.
ENDIF.
IF i_tab-paramtype = 'X'.
MOVE i_tab-pposition TO i_tab-defaultval.
CONDENSE i_tab-defaultval.
ELSE.
TRANSLATE i_tab-parameter TO LOWER CASE.
ENDIF.
CONCATENATE mtab_new_prog-line i_tab-parameter '^=^' INTO mtab_new_prog-line.
IF i_tab-defaultval IS NOT INITIAL.
CONCATENATE mtab_new_prog-line i_tab-defaultval INTO mtab_new_prog-line.
ENDIF.
mylen = STRLEN( mtab_new_prog-line ).
IF mylen < 31.
COMPUTE mylen = 31 - mylen.
ELSE.
MOVE 1 TO mylen.
ENDIF.
TRANSLATE i_tab-structure TO LOWER CASE.
CONCATENATE mtab_new_prog-line myhats+0(mylen) ' " ' i_tab-structure INTO mtab_new_prog-line.
mylen = STRLEN( mtab_new_prog-line ).
IF mylen < 47.
COMPUTE mylen = 47 - mylen.
ELSE.
MOVE 1 TO mylen.
ENDIF.
CONCATENATE mtab_new_prog-line myhats+0(mylen) ' ' i_tab-stext INTO mtab_new_prog-line.
APPEND mtab_new_prog.
ENDLOOP. " LOOP AT I_TAB
CONCATENATE ' . " ' p_func INTO mtab_new_prog-line.
APPEND mtab_new_prog.
LOOP AT mtab_new_prog.
TRANSLATE mtab_new_prog-line USING '^ '.
MODIFY mtab_new_prog.
IF mtab_new_prog = space.
SKIP 1.
ENDIF.
WRITE: / mtab_new_prog.
ENDLOOP. " LOOP AT MTAB_NEW_PROG
* Write the beautiful program code to ClipBoard from internal table
CALL METHOD cl_gui_frontend_services=>clipboard_export
IMPORTING
data = mtab_new_prog[]
CHANGING
rc = myrc.
分享到:
相关推荐
为了方便开发人员操作,SAP提供了一系列的时间函数,其中特别关注的是用于获取查询日期最后一天的四个函数:LAST_DAY_OF_MONTHS、RP_LAST_DAY_OF_MONTHS、BKK_GET_MONTH_LASTDAY以及DATE_GET_MONTH_LASTDAY。...
JCO提供了一种标准的方法,使得开发者能够从Java代码中调用SAP ABAP模块,这些模块通常表现为RFC函数模块。 在Eclipse中设置SAP JCO环境需要以下步骤: 1. 下载并安装SAP JCO库:通常可以从SAP官方网站获取最新版本...
SAP RFC是一种标准的接口技术,使得不同系统间可以交换数据和服务。在这个场景中,我们需要的文件包括`sapjco3.jar`、`sapjco.jar`以及`sapjco3.dll`。 1. SAP JCo(Java Connector)库:SAP JCo是SAP提供的Java库...
5. **调用SAP函数**:使用SAP控件提供的方法,调用具体的SAP函数或事务代码,传递参数,并处理返回的结果。 6. **数据交互**:无论是读取还是写入SAP数据,都可以通过调用SAP函数来实现。比如,你可以读取一个特定...
5. 执行RFC函数:调用`execute()`方法执行SAP函数。 6. 处理结果:从返回的JCoTable对象中获取结果数据。 7. 释放资源:确保在使用完毕后释放连接,避免资源泄漏。 注意,SAP RFC调用可能会涉及到错误处理和异常...
上述代码片段展示了如何使用JCo库建立连接、加载RFC函数模块、设置参数、执行函数以及获取结果的基本步骤。 6. **最佳实践与注意事项**: - 性能优化:在多线程环境中,可以复用JCoDestination对象,减少每次连接...
在SAP系统中,函数是实现特定业务逻辑的关键组件,它们可以帮助用户简化代码并提高效率。以下是关于SAP常用函数的一些详细说明: ...在实际应用中,开发者可能还需要结合其他SAP函数和模块来创建复杂的业务流程。
4. **调用RFC函数**:通过RFC连接对象,开发者可以查找和调用SAP系统中的特定RFC函数模块。每个RFC函数模块都有唯一的名称(如BAPI_USER_GET_DETAIL),并在调用时传入参数。 5. **处理结果**:函数调用完成后,...
5. **处理结果**:`Invoke`方法完成后,可以通过`IRfcFunction`对象获取输出参数和返回值,进一步处理结果。 6. **关闭连接**:最后,记得释放资源,关闭与SAP的连接。 在实际开发中,为了确保安全和性能,还需要...
3. **注册RFC函数**:通过`Repository`对象,可以获取SAP系统中可用的RFC函数模块,然后注册你需要调用的函数。 4. **调用RFC函数**:使用`JRfcFunction`对象实例化具体的RFC函数,设置输入参数,然后执行调用。...
5. **处理结果**:执行BAPI后,可以通过`SapFunction`对象获取返回值和异常信息。这可能包括读取输出参数、提取返回的Table数据等。 6. **断开连接**:完成所有操作后,别忘了调用`SapConnection`的`Disconnect`...
在SAP JCo3中,调用SAP函数模块是通过创建并配置RFC连接,然后实例化函数模板,填充参数,最后执行函数调用来实现的。以下是一些关键知识点: 1. **SAP JCo3**: SAP JCo3是SAP NetWeaver Java连接器的第三个版本,...
- 实现RFC调用,这通常涉及创建一个`JCoDestination`对象,然后从该对象获取`JCoRepository`来加载SAP函数模块的定义。 - 调用`JCoFunction`对象的`execute()`方法,传递所需的输入参数,并获取返回值。 4. **...
以下是几个关键的SAP HR函数的详细说明: 1. **HOLIDAY_CHECK_AND_GET_INFO** 这个函数主要用于判断一个日期是否为法定假日。通过输入日期和假日日历ID,可以检查参数`HOLIDAY_FOUND`来确定日期是否为假日。例如,...
4. **执行函数**: 调用`function.execute(destination)`执行SAP函数,处理任何可能的异常。 5. **读取输出参数**: 函数执行后,通过`exportParameterList`访问输出参数和返回值。 6. **断开连接**: 记得在完成操作后...
5. **示例代码**:通常会有一个简单的示例程序来演示如何使用JCo库建立连接,调用SAP函数,如`java -cp sapjco3.jar;jco.demo.jar com.sap.conn.jco.JCoDemo`。 6. **错误处理**:在开发过程中,需要处理可能出现的...
5. **异步通信(Asynchronous Communication)**:SAPJCO支持异步通信模式,允许Java应用程序在调用SAP函数模块时不阻塞主线程,提高应用性能。 6. **错误处理(Error Handling)**:当出现连接问题或函数模块执行...
5. **执行RFC调用**:调用RFC功能对象的execute方法,执行SAP函数模块。 6. **处理结果**:获取并处理返回的输出参数和数据。 7. **关闭连接**:调用完RFC后,记得关闭连接以释放资源。 SAPI DOC则扮演着开发者指南...
RFC是一种标准化的接口技术,使得外部系统可以像调用本地函数一样调用SAP的功能。 2. **BAPI调用**:BAPI(Business Application Programming Interface)是SAP提供的业务对象的标准接口。JCo3支持通过BAPI接口与...
JCo3是该库的第三版,它支持Java SE和Java EE环境,允许开发者在Java应用中调用SAP的ABAP函数模块、BAPIs(Business Application Programming Interfaces)以及IDocs(Intermediate Documents)。 1. **安装与配置...