zoukankan      html  css  js  c++  java
  • SAP 本地发送入站IDOC

    示例:仅供参考

    FUNCTION ZDER0010_OUTPUT_IDOC.
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  EXPORTING
    *"     VALUE(O_DOCNUM) TYPE  EDI_DOCNUM
    *"  TABLES
    *"      IT_TAB STRUCTURE  ZDER0010_INFO OPTIONAL
    *"----------------------------------------------------------------------

      CALL FUNCTION 'AB_SLEEP'
        EXPORTING
          WAIT_TIME 5.
      GET TIME.
      DATA : LT_EDIDD TYPE EDIDD OCCURS 0,                    "IDOC 数据记录
             LS_EDIDD TYPE EDIDD.                             "IDOC 数据记录

      DATA:LWA_SEG_INFO TYPE ZDER0010_INFO.




    *----------------------------------------------------------------------
    *    整理数据
    *----------------------------------------------------------------------

      LOOP AT IT_TAB INTO LWA_SEG_INFO .


        LS_EDIDD-SEGNAM 'ZDER0010_INFO'.
        LS_EDIDD-SDATA  = LWA_SEG_INFO.
        APPEND LS_EDIDD TO LT_EDIDD.
        CLEAR LWA_SEG_INFO.
      ENDLOOP.

      DATA: V_DO_HANDLE_ERROR         TYPE EDIGENERAL-ERRHANDLE,
            LS_EDIDC                  TYPE EDIDC,
            V_INBOUND_PROCESS_DATA_IN TYPE TEDE2,
            LT_EDIDC                  TYPE STANDARD TABLE OF EDIDC.

      DATA: SYSTEM_NAME TYPE CHAR10.

    *获取本地系统参数
      LS_EDIDC-SNDPRN 'SYS_HUA'.
      CASE SY-MANDT.
        WHEN '604'.
          LS_EDIDC-RCVPRN 'SAPDEV'.
          LS_EDIDC-RCVPOR 'SAPDEV'.
        WHEN '800'.
          LS_EDIDC-RCVPRN 'SAPPRD'.
          LS_EDIDC-RCVPOR 'SAPPRD'.
      ENDCASE.

      LS_EDIDC-RCVPRT 'LS'.
      CONCATENATE 'SAP' SY-SYSID INTO SYSTEM_NAME.

      LS_EDIDC-SNDPOR = SYSTEM_NAME.
      LS_EDIDC-SNDPRT 'LS'.


      LS_EDIDC-MESTYP =  'ZDER0010_MSG'"信息类型
      LS_EDIDC-IDOCTP =  'ZDER0010_IDOC'"IDOC 类型
      LS_EDIDC-DIRECT '2'.

      CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
        EXPORTING
    *     PI_STATUS_MESSAGE       =
          PI_DO_HANDLE_ERROR      = V_DO_HANDLE_ERROR
    *     PI_NO_DEQUEUE           = ' '
          PI_RETURN_DATA_FLAG     ' '
    *     PI_RFC_MULTI_CP         = '    '
        IMPORTING
          PE_IDOC_NUMBER          = LS_EDIDC-DOCNUM
    *     PE_STATE_OF_PROCESSING  =
          PE_INBOUND_PROCESS_DATA = V_INBOUND_PROCESS_DATA_IN
        TABLES
          T_DATA_RECORDS          = LT_EDIDD
    *     T_LINKED_OBJECTS        =
        CHANGING
          PC_CONTROL_RECORD       = LS_EDIDC  "Control Data
        EXCEPTIONS
          IDOC_NOT_SAVED          1
          OTHERS                  2.


      IF SY-SUBRC <> 0.
    * Implement suitable error handling here
      ENDIF.
      APPEND LS_EDIDC TO LT_EDIDC.
      CALL FUNCTION 'IDOC_START_INBOUND'
        EXPORTING
          PI_INBOUND_PROCESS_DATA = V_INBOUND_PROCESS_DATA_IN
          PI_CALLED_ONLINE        'X'
    *     PI_DO_COMMIT            = 'X'
    *     PI_START_EVENT_ENABLED  = 'X'
    *     PI_ORG_UNIT             = ' '
          SUCC_SHOW_FLAG          'X'
    *     PI_PARTNER_OPTION       =
        TABLES
          T_CONTROL_RECORDS       = LT_EDIDC
    *     T_DATA_RECORDS          =
        EXCEPTIONS
    *     INVALID_DOCUMENT_NUMBER = 1
    *     ERROR_BEFORE_CALL_APPLICATION       = 2
    *     INBOUND_PROCESS_NOT_POSSIBLE        = 3
    *     OLD_WF_START_FAILED     = 4
    *     WF_TASK_ERROR           = 5
    *     SERIOUS_INBOUND_ERROR   = 6
          OTHERS                  1.
      IF SY-SUBRC <> 0.
    * Implement suitable error handling here
      ENDIF.



      O_DOCNUM = LS_EDIDC-DOCNUM.

    ENDFUNCTION.

  • 相关阅读:
    oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录) 转
    linux rm删除含有特殊符号目录或者文件
    Linux下安装SVN(Subversion)
    linux还原svn
    linux 备份svn
    Linux下Tomcat重新启动
    Linux下rz,sz与ssh的配合使用
    深度分析Linux下双网卡绑定七种模式
    Ubuntu 12.04 安装Scrapy爬虫框架
    maven 添加本地jar
  • 原文地址:https://www.cnblogs.com/liu1838998131/p/15578191.html
Copyright © 2011-2022 走看看