本文举例通过ABAP写BDC程序的一般数据结构和套路举例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
"bdc数据结构. data begin of i_mess occurs 0. include structure bdcmsgcoll. data end of i_mess. data: begin of e_mess occurs 0, mess(100), end of e_mess. data begin of it_bdc occurs 0. include structure bdcdata. data end of it_bdc. data: l_opttion type ctu_params. l_opttion-dismode = 'N'. l_opttion-updmode = 'S'. l_opttion-cattmode = ''. l_opttion-defsize = 'X'. l_opttion-racommit = 'X'. l_opttion-nobinpt = 'X'. l_opttion-nobiend = 'X'. data: e_msg type bapi_msg, l_msg type t100-text. start-of-selection. select single * into @data(lv_bkpf) from bkpf where belnr eq '0100000071' and gjahr eq 2019 and bukrs eq '1000'. perform frm_bdc_dynpro using 'SAPMF05A' '0105'. perform frm_bdc_field using 'BDC_OKCODE' 'BU'. perform frm_bdc_field using 'RF05A-BELNS' lv_bkpf-belnr. perform frm_bdc_field using 'BKPF-BUKRS' lv_bkpf-bukrs. perform frm_bdc_field using 'RF05A-GJAHS' lv_bkpf-gjahr. if sy-datum(6) = lv_bkpf-budat(6). perform frm_bdc_field using 'UF05A-STGRD' '03'. else. perform frm_bdc_field using 'UF05A-STGRD' '04'. perform frm_bdc_field using 'BSIS-BUDAT'lv_bkpf-budat. endif. call transaction 'FB08' using it_bdc options from l_opttion messages into i_mess. loop at i_mess. call function 'MESSAGE_TEXT_BUILD' exporting msgid = i_mess-msgid msgnr = i_mess-msgnr msgv1 = i_mess-msgv1 msgv2 = i_mess-msgv2 msgv3 = i_mess-msgv3 msgv4 = i_mess-msgv4 importing message_text_output = l_msg. e_msg = e_msg && l_msg. clear l_msg. endloop. if line_exists( i_mess[ msgtyp = 'E'] ) or line_exists( i_mess[ msgtyp = 'A'] ). write : / '执行失败:', e_msg. else. write : / '执行成功:', e_msg. endif. form frm_bdc_dynpro using program dynpro. clear it_bdc. it_bdc-program = program. it_bdc-dynpro = dynpro. it_bdc-dynbegin = 'X'. append it_bdc. endform. " frm_BDC_DYNPRO form frm_bdc_field using fnam fval. clear it_bdc. it_bdc-fnam = fnam. it_bdc-fval = fval. condense it_bdc-fval. append it_bdc. endform. " frm_BDC_FIELD |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/3008.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。