Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 3165

bapi create po system give message no. bm035

$
0
0

Deal all,    when i use bapi 'BAPI_PO_CREATE1' create po, system give me a error message no. bm035(Measurement unit & has no ISO code). I don't konw how to sorve it.  But when i use T-code ME21N to create po, it create suceeed. Is my code wrong?  This is my code, please anybody give me some advice, Thanks. FORM generate_free_po .                      DATA: lv_ebeln LIKE ekko-ebeln ,                      lv_adrnr LIKE t001w-adrnr.                CLEAR:poheader,poheaderx.            REFRESH:poitem,poitemx,pocondheader,pocondheaderx, poschedule,ocomponents,pocomponentsx.            LOOP AT gt_freepo INTO gs_freepo.                ON CHANGE OF gs_freepo-ebeln.                        IF poheader IS NOT INITIAL.                                          PERFORM exec_bapi_po USING lv_ebeln ''.                          ENDIF.                        CLEAR:poheader,poheaderx,lv_ebeln.          REFRESH:poreturn,poitem,poitemx,pocondheader,pocondheaderx,poschedule,poschedulex.        lv_ebeln = gs_freepo-ebeln.      ""po header            poheader-po_number    = gs_freepo-ebeln .        "po number          poheader-comp_code    = gs_freepo-bukrs.        "company code            poheader-doc_type    = gs_freepo-bsart.        ""document type            poheader-vendor      = gs_freepo-lifnr.        ""vendor *          poheader-currency    = gs_freepo-waers.        "waers        poheader-purch_org    = gs_freepo-ekorg.        ""pur_org          poheader-pur_group    = gs_freepo-ekgrp.        ""pur_group            poheader-creat_date  = sy-datum.              poheader-created_by  = sy-uname .            poheader-langu        = sy-langu.              poheader-doc_date    = sy-datum.                poheader-item_intvl  = '00010' .            poheader-status      = 'I' .                  "PO FROM BAPI    "" po header flag        poheaderx-po_number  = 'X' .            poheaderx-comp_code  = 'X' .            poheaderx-doc_type    = 'X' .          poheaderx-vendor      = 'X'.            poheaderx-purch_org  = 'X' .              poheaderx-pur_group  = 'X' .              poheaderx-creat_date  = 'X'.            poheaderx-created_by  = 'X'.              poheaderx-langu      = 'X' .          poheaderx-doc_date    = 'X'.              poheaderx-item_intvl  = 'X'.            poheaderx-status      = 'X' .              poheaderx-vat_cntry  = 'X' .      ENDON.  ""po item              CLEAR:poitem.              poitem-po_item    = gs_freepo-ebelp.  "EKPO 采购凭证的项目编号              poitem-material    = gs_freepo-matnr .  " MATERIAL              poitem-plant      = gs_freepo-werks.  "工厂                poitem-stge_loc    = gs_freepo-lgort . "LOCATION                poitem-quantity    = gs_freepo-menge.  "采购订单数量    SELECT SINGLE bstme INTO poitem-po_unit FROM mara WHERE matnr = gs_freepo- matnr. *    poitem-po_unit    = gs_freepo-meins.  "PO_UNIT              poitem-short_text  = gs_freepo-txz01.  "短文本                poitem-item_cat    = gs_freepo-pstyp.  "Item Catagory  ""*---------------------------------------------------------------------              poitem-free_item  = 'X'.                              ""免费项目  ""*---------------------------------------------------------------------            poitem-net_price  = gs_freepo-kbetr.  "单价            poitem-price_unit  = gs_freepo-kpein.  "单价单位          poitem-plan_del    = 0 .            poitem-preq_name  = sy-uname.            poitem-period_ind_expiration_date = sy-datum . *    poitem-po_price    = '2'.        APPEND poitem.            ""po item flag              CLEAR:poitemx.              poitemx-po_item                    = gs_freepo-ebelp.                poitemx-po_itemx                  = 'X'.              poitemx-material                  = 'X'.              poitemx-plant                      = 'X'.            poitemx-stge_loc                  = 'X'.                poitemx-quantity                  = 'X'.                poitemx-po_unit                    = 'X'.              poitemx-net_price                  = 'X'.            poitemx-price_unit                = 'X'.              poitemx-preq_name                  = 'X'.              poitemx-period_ind_expiration_date = 'X'.                poitemx-item_cat                  = 'X'.              poitemx-free_item                  = 'X'.              ""免费项目 *    poitemx-po_price                  = 'X'.            APPEND poitemx.  ""schedule              CLEAR:poschedule.            poschedule-po_item        =  gs_freepo-ebelp.    poschedule-sched_line      =  gs_freepo-ebelp.  poschedule-del_datcat_ext  = 'D'.              "交货日期的类别    poschedule-delivery_date  =  gs_freepo-eeind.    "EKPO 交货日期  poschedule-quantity        =  gs_freepo-menge.    "采购订单数量  APPEND poschedule.  """schedule flag    CLEAR:poschedulex.    poschedulex-po_item        =  gs_freepo-ebelp.    poschedulex-sched_line    =  gs_freepo-ebelp.    poschedulex-del_datcat_ext = 'X'.  poschedulex-delivery_date  = 'X'.  poschedulex-quantity      = 'X'.    APPEND poschedulex.    ""pocondheader    CLEAR:pocondheader.  pocondheader-cond_type    = 'PBXX' .  pocondheader-condition_no  = gs_freepo-ebeln.    pocondheader-itm_number    = gs_freepo-ebelp.    pocondheader-cond_value    = gs_freepo-kbetr.  pocondheader-currency      = gs_freepo-koein.  pocondheader-cond_p_unt    = gs_freepo-kpein.    pocondheader-cond_unit    = gs_freepo-kmein.  pocondheader-change_id    = 'U'.    "" U表示更新,I 表示新建  pocondheader-cond_st_no    = 1 .  SELECT SINGLE umrez umren INTO (pocondheader-numconvert,pocondheader- denominato) FROM marm        WHERE matnr = gs_freepo-matnr AND meinh = gs_freepo-meins.  APPEND pocondheader .  ""pocondheader flag  CLEAR:pocondheaderx.  pocondheaderx-cond_type    = 'X' .    pocondheaderx-condition_no = gs_freepo-ebeln.  pocondheaderx-itm_number  = gs_freepo-ebelp.  pocondheaderx-cond_st_no  = 1 .    pocondheaderx-cond_value  = 'X'.  pocondheaderx-currency    = 'X'.  pocondheaderx-cond_p_unt  = 'X'.  pocondheaderx-cond_unit    = 'X'.    pocondheaderx-change_id    = 'X'.    pocondheaderx-numconvert  = 'X'.    pocondheaderx-denominato  = 'X'.    APPEND pocondheaderx .    """address  CLEAR: poaddrdelivery,lv_adrnr .  poaddrdelivery-po_item = gs_freepo-ebelp.    SELECT SINGLE adrnr INTO lv_adrnr FROM t001w WHERE werks = gs_freepo-werks.    poaddrdelivery-addr_no = lv_adrnr .  APPEND poaddrdelivery.  ENDLOOP.  IF poheader IS NOT INITIAL.      PERFORM exec_bapi_po  USING lv_ebeln ''.  ENDIF. ENDFORM.                    " GENERATE_FREE_PO FORM exec_bapi_po  USING  l_ebeln LIKE ekko-ebeln l_flag TYPE c.          DATA: no_price_from_po LIKE bapiflag-bapiflag.                CALL FUNCTION 'BAPI_PO_CREATE1'                        EXPORTING      poheader        = poheader                                                   poheaderx        = poheaderx *      no_price_from_po = no_price_from_po                    TABLES      return        = poreturn                                            poitem        = poitem                                          poitemx      = poitemx                                          pocondheader  = pocondheader                                          pocondheaderx = pocondheaderx *      POCOND        = POCOND *      POCONDX      = POCONDX      poschedulex    = poschedulex      poschedule    = poschedule      pocomponents  = pocomponents      pocomponentsx  = pocomponentsx      poaddrdelivery = poaddrdelivery.  READ TABLE poreturn WITH KEY type = 'E'.  IF sy-subrc EQ 0.    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.    CLEAR:gs_alv.    gs_alv-ebeln    = l_ebeln.    gs_alv-type    = 'E'.    gs_alv-message  = '创建失败'.    APPEND gs_alv TO gt_alv.    LOOP AT poreturn.      gs_alv-ebeln  = l_ebeln.      gs_alv-type    = poreturn-type.      gs_alv-message = poreturn-message.      APPEND gs_alv TO gt_alv.      CLEAR:poreturn.    ENDLOOP.  ELSE.    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'      EXPORTING        wait = 'X'.    CLEAR:gs_alv.    gs_alv-ebeln    = l_ebeln.    gs_alv-type    = 'S'.    gs_alv-message  = '创建成功'.    APPEND gs_alv TO gt_alv.  ENDIF. ENDFORM.                    " EXEC_BAPI_PO


Viewing all articles
Browse latest Browse all 3165

Trending Articles