`
Jack Wu
  • 浏览: 894932 次
  • 来自: ...
社区版块
存档分类
最新评论

获取SAP标准函数的说明(含参数和异常)

阅读更多

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 ABAP 时间函数.docx

    为了方便开发人员操作,SAP提供了一系列的时间函数,其中特别关注的是用于获取查询日期最后一天的四个函数:LAST_DAY_OF_MONTHS、RP_LAST_DAY_OF_MONTHS、BKK_GET_MONTH_LASTDAY以及DATE_GET_MONTH_LASTDAY。...

    SAPjar包(eclipse中Java使用JCO调用SAP中的RFC函数).zip

    JCO提供了一种标准的方法,使得开发者能够从Java代码中调用SAP ABAP模块,这些模块通常表现为RFC函数模块。 在Eclipse中设置SAP JCO环境需要以下步骤: 1. 下载并安装SAP JCO库:通常可以从SAP官方网站获取最新版本...

    java连接sap RFC函数 所需文件

    SAP RFC是一种标准的接口技术,使得不同系统间可以交换数据和服务。在这个场景中,我们需要的文件包括`sapjco3.jar`、`sapjco.jar`以及`sapjco3.dll`。 1. SAP JCo(Java Connector)库:SAP JCo是SAP提供的Java库...

    C#调用SAP接口

    5. **调用SAP函数**:使用SAP控件提供的方法,调用具体的SAP函数或事务代码,传递参数,并处理返回的结果。 6. **数据交互**:无论是读取还是写入SAP数据,都可以通过调用SAP函数来实现。比如,你可以读取一个特定...

    java调用sap rfc说明

    5. 执行RFC函数:调用`execute()`方法执行SAP函数。 6. 处理结果:从返回的JCoTable对象中获取结果数据。 7. 释放资源:确保在使用完毕后释放连接,避免资源泄漏。 注意,SAP RFC调用可能会涉及到错误处理和异常...

    java连接RFC综合例子,java调用sap例子,泛微E8,E9调用SAP RFC例子

    上述代码片段展示了如何使用JCo库建立连接、加载RFC函数模块、设置参数、执行函数以及获取结果的基本步骤。 6. **最佳实践与注意事项**: - 性能优化:在多线程环境中,可以复用JCoDestination对象,减少每次连接...

    SAP常用的函数.docSAP常用的函数.doc

    在SAP系统中,函数是实现特定业务逻辑的关键组件,它们可以帮助用户简化代码并提高效率。以下是关于SAP常用函数的一些详细说明: ...在实际应用中,开发者可能还需要结合其他SAP函数和模块来创建复杂的业务流程。

    .netcore项目sap的rfc调用所需的sap组件

    4. **调用RFC函数**:通过RFC连接对象,开发者可以查找和调用SAP系统中的特定RFC函数模块。每个RFC函数模块都有唯一的名称(如BAPI_USER_GET_DETAIL),并在调用时传入参数。 5. **处理结果**:函数调用完成后,...

    SAP .NET sapnco x64

    5. **处理结果**:`Invoke`方法完成后,可以通过`IRfcFunction`对象获取输出参数和返回值,进一步处理结果。 6. **关闭连接**:最后,记得释放资源,关闭与SAP的连接。 在实际开发中,为了确保安全和性能,还需要...

    sapjco3(WINx64).zip_SAP_sapjco3

    3. **注册RFC函数**:通过`Repository`对象,可以获取SAP系统中可用的RFC函数模块,然后注册你需要调用的函数。 4. **调用RFC函数**:使用`JRfcFunction`对象实例化具体的RFC函数,设置输入参数,然后执行调用。...

    Delphi通过BAPI连接SAP DEMO

    5. **处理结果**:执行BAPI后,可以通过`SapFunction`对象获取返回值和异常信息。这可能包括读取输出参数、提取返回的Table数据等。 6. **断开连接**:完成所有操作后,别忘了调用`SapConnection`的`Disconnect`...

    sapJco3-test

    在SAP JCo3中,调用SAP函数模块是通过创建并配置RFC连接,然后实例化函数模板,填充参数,最后执行函数调用来实现的。以下是一些关键知识点: 1. **SAP JCo3**: SAP JCo3是SAP NetWeaver Java连接器的第三个版本,...

    spirngboot链接SAP RFC.都是最新版,看上传时间.7z

    - 实现RFC调用,这通常涉及创建一个`JCoDestination`对象,然后从该对象获取`JCoRepository`来加载SAP函数模块的定义。 - 调用`JCoFunction`对象的`execute()`方法,传递所需的输入参数,并获取返回值。 4. **...

    重要知识SAP的HR函数.pdf

    以下是几个关键的SAP HR函数的详细说明: 1. **HOLIDAY_CHECK_AND_GET_INFO** 这个函数主要用于判断一个日期是否为法定假日。通过输入日期和假日日历ID,可以检查参数`HOLIDAY_FOUND`来确定日期是否为假日。例如,...

    SAP JCOAPI服务配置与程序编写

    4. **执行函数**: 调用`function.execute(destination)`执行SAP函数,处理任何可能的异常。 5. **读取输出参数**: 函数执行后,通过`exportParameterList`访问输出参数和返回值。 6. **断开连接**: 记得在完成操作后...

    sapjco3.zip

    5. **示例代码**:通常会有一个简单的示例程序来演示如何使用JCo库建立连接,调用SAP函数,如`java -cp sapjco3.jar;jco.demo.jar com.sap.conn.jco.JCoDemo`。 6. **错误处理**:在开发过程中,需要处理可能出现的...

    SAPJCO,java连接sap的jar包

    5. **异步通信(Asynchronous Communication)**:SAPJCO支持异步通信模式,允许Java应用程序在调用SAP函数模块时不阻塞主线程,提高应用性能。 6. **错误处理(Error Handling)**:当出现连接问题或函数模块执行...

    sapjco和sapidoc.rar

    5. **执行RFC调用**:调用RFC功能对象的execute方法,执行SAP函数模块。 6. **处理结果**:获取并处理返回的输出参数和数据。 7. **关闭连接**:调用完RFC后,记得关闭连接以释放资源。 SAPI DOC则扮演着开发者指南...

    sapjco3最新版

    RFC是一种标准化的接口技术,使得外部系统可以像调用本地函数一样调用SAP的功能。 2. **BAPI调用**:BAPI(Business Application Programming Interface)是SAP提供的业务对象的标准接口。JCo3支持通过BAPI接口与...

    JAVA连接SAP的官方接口文档

    JCo3是该库的第三版,它支持Java SE和Java EE环境,允许开发者在Java应用中调用SAP的ABAP函数模块、BAPIs(Business Application Programming Interfaces)以及IDocs(Intermediate Documents)。 1. **安装与配置...

Global site tag (gtag.js) - Google Analytics