壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1174|回复: 1

[CO资料区] 资料-请楼主更新资料说明

[复制链接]
发表于 2008/11/2 06:40:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x

  1. idoc也有相应的功能代码,一般是一个函数,idoc有三个相应的表,
  2. 一个控制记录 (IDoc)==〉edidc,一个数据记录 (IDoc)==〉EDIDD,
  3. 一个ALE 的 IDoc 状态(所有 IDoc 状态字段的子集)==>BDIDOCSTAT.
  4. 下面是我开发一个IDOC中的功能代码:
  5. *"     VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
  6. *"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
  7. *"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
  8. *"     VALUE(RT_CODE) LIKE  VBERROR-VARMSGVAL
  9. *"     VALUE(RT_MSG) LIKE  VBERROR-VARMSGVAL
  10. *"  TABLES
  11. *"      IDOC_CONTRL STRUCTURE  EDIDC
  12. *"      IDOC_DATA STRUCTURE  EDIDD
  13. *"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
  14. *"----------------------------------------------------------------------
  15. loop at idoc_contrl.
  16.    loop at idoc_data WHERE DOCNUM EQ IDOC_CONTRL-DOCNUM.
  17.      concatenate sy-mandt idoc_data-sdata into idoc_data-sdata.
  18.      if IDOC_DATA-SEGNAM EQ 'Z1COOPH'.
  19.        MOVE:IDOC_DATA-SDATA TO v_zCOOPH.
  20.        append v_ZCOOPH.
  21.        CLEAR v_ZCOOPH.
  22.      ENDIF.
  23.      if  IDOC_DATA-SEGNAM EQ 'Z1COOPR'.
  24.        MOVE:IDOC_DATA-SDATA TO v_ZCOOPR.
  25.        append v_ZCOOPR.
  26.        CLEAR v_ZCOOPR.
  27.      ENDIF.
  28.      if  IDOC_DATA-SEGNAM EQ 'Z1COOPD'.
  29.        MOVE:IDOC_DATA-SDATA TO v_ZCOOPD.
  30.        append v_ZCOOPD.
  31.        CLEAR v_ZCOOPD.
  32.      ENDIF.
  33.      if  IDOC_DATA-SEGNAM EQ 'Z1COOPP'.
  34.        MOVE:IDOC_DATA-SDATA TO v_ZCOOPP.
  35.        append v_ZCOOPP.
  36.        CLEAR v_ZCOOPP.
  37.      ENDIF.
  38.      if  IDOC_DATA-SEGNAM EQ 'Z1COOPS'.
  39.        MOVE:IDOC_DATA-SDATA TO v_ZCOOPS.
  40.        append v_ZCOOPS.
  41.        CLEAR v_ZCOOPS.
  42.      ENDIF.
  43.      if  IDOC_DATA-SEGNAM EQ 'Z1COPDL'.
  44.        MOVE:IDOC_DATA-SDATA TO v_ZCOOPDL.
  45.        append v_ZCOOPDL.
  46.        CLEAR v_ZCOOPDL.
  47.      ENDIF.
  48.    endloop.
  49. endloop.
  50. modify zcooph from table v_zcooph.
  51. modify zcoopr from table v_zcoopr.
  52. modify zcoopp from table v_zcoopp.
  53. modify zcoops from table v_zcoops.
  54. modify zcoopd from table v_zcoopd.
  55. modify zcoopdl from table v_zcoopdl.
  56. IF SY-SUBRC EQ 0.
  57.    COMMIT WORK.
  58.            rt_msg = 'SUCCEED IN IDOC INBOUNDING'.
  59.            idoc_status-docnum = idoc_contrl-docnum.
  60.            idoc_status-status = '53'.
  61.            idoc_status-msgty = 'S'.
  62.            idoc_status-msgid = 'F2'.
  63.            idoc_status-msgno = '899'.
  64.            idoc_status-msgv1 = 'IDOC INBOUNDING 已成功 '.
  65.            append idoc_status.clear idoc_status.
  66.   loop at v_zcooph.
  67.      loop at v_zcoopr where zTASKNO = v_zcooph-zTASKNO.
  68.        call function 'YRFC_ALLOCATE_TASK_TO_ABC'
  69.             EXPORTING
  70.                  zTASKNO   = v_zcoopr-zTASKNO
  71.                  ZTASKITEM = v_zcoopr-ZTASKITEM
  72.                  ZKUNNR    = v_zcooph-Zkunnr
  73.                  ZSTEPNO   = v_zcoopr-ZSTEPNO
  74.             TABLES
  75.                  v_zcooph  = v_zcooph1
  76.                  v_zcoopr  = v_zcoopr1
  77.                  v_zcoopp  = v_zcoopp1
  78.                  v_zcoops  = v_zcoops1
  79.                  v_zcoopd  = v_zcoopd1
  80.                  v_zcoopdl = v_zcoopdl1.
  81.        call function 'CALL_WEBMETHOD'
  82.              destination 'SAPBC'
  83.               exporting ztaskno   = v_zcoopr-ztaskno
  84.                         ztaskitem = v_zcoopr-ztaskitem
  85.                         zstepno   = v_zcoopr-zstepno
  86.               importing  rt_code  = rt_code
  87.                  tables   v_zcooph  = v_zcooph1
  88.                           v_zcoopr  = v_zcoopr1
  89.                           v_zcoopd  = v_zcoopd1
  90.                           v_zcoopp = v_zcoopp1
  91.                           v_zcoops  = v_zcoops1
  92.                           v_zcoopdl = v_zcoopdl1.

  93.        if sy-subrc eq 0.
  94.          if rt_code eq 'T'.
  95.            rt_msg = 'SUCCEED IN CALL WEBMETHOD'.
  96.            idoc_status-docnum = idoc_contrl-docnum.
  97.            idoc_status-status = '53'.
  98.            idoc_status-msgty = 'S'.
  99.            idoc_status-msgid = 'F2'.
  100.            idoc_status-msgno = '899'.
  101.            idoc_status-msgv1 = 'CALL WEBMETHOD 已成功 '.
  102.            append idoc_status.clear idoc_status.
  103.          elseif rt_code eq 'F'.
  104.            rt_msg = 'FAIL IN CALL WEBMETHOD'.
  105.            LOOP AT IDOC_STATUS WHERE STATUS EQ '53'.
  106.               IDOC_STATUS-STATUS = '52'.
  107.               MODIFY TABLE IDOC_STATUS TRANSPORTING STATUS.
  108.            ENDLOOP.
  109.            idoc_status-docnum = idoc_contrl-docnum.
  110.            idoc_status-status = '51'.
  111.            idoc_status-msgty = 'E'.
  112.            idoc_status-msgid = 'F2'.
  113.            idoc_status-msgno = '899'.
  114.            idoc_status-msgv1 = 'CALL WEBMETHOD 不成功 '.
  115.            append idoc_status.clear idoc_status.
  116.          endif.
  117.        endif.
  118.      endloop.
  119.    endloop.
  120.   ELSE.
  121.           rt_msg = 'FAIL IN IDOC INBOUNDING'.
  122.            idoc_status-docnum = idoc_contrl-docnum.
  123.            idoc_status-status = '51'.
  124.            idoc_status-msgty = 'E'.
  125.            idoc_status-msgid = 'F2'.
  126.            idoc_status-msgno = '899'.
  127.            idoc_status-msgv1 = 'IDOC INBOUNDING 不成功 '.
  128.            append idoc_status.clear idoc_status.
  129.   ROLLBACK WORK.
  130. ENDIF.
  131. ENDFUNCTION.
复制代码

IDOC.doc

29.5 KB, 下载次数: 3, 下载积分: 努力值 -5 点

 楼主| 发表于 2008/11/2 06:40:43 | 显示全部楼层

发泄资料

发泄资料
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 02:17 , Processed in 0.012888 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表