gmhead-pstng_date = p_bldat.
gmhead-doc_date = p_budat.
gmhead-pr_uname = sy-uname.
gmhead-header_txt = p_bktxt.
* gmhead-bill_of_lading = p_xblnr.
gmhead-ref_doc_no = p_xblnr.
* REF_DOC_NO
gmcode-gm_code = '04'.
* mthead-doc_year = p_budat(4).
REFRESH jtab_321.
CLEAR jtab_321.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 40
text = '正在处理转非限制库存和冻结库存数据,请稍候......!'
EXCEPTIONS
OTHERS = 1.
*** 321 和 350 一起做 *****
LOOP AT it_itab WHERE marked = 'X'.
CLEAR jtab_321.
* jtab_321-mvt_ind = ' '.
jtab_321-material = it_itab-matnr.
jtab_321-plant = it_itab-werks.
jtab_321-stge_loc = it_itab-lgort.
jtab_321-batch = it_itab-charg.
jtab_321-move_mat = it_itab-matnr.
jtab_321-move_plant = it_itab-werks.
jtab_321-move_stloc = it_itab-lgort.
jtab_321-move_batch = it_itab-charg.
IF it_itab-sobkz = 'E'. " 销售订单库存
jtab_321-spec_stock = it_itab-sobkz.
* jtab_321-val_sales_ord = it_itab-kdauf.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = it_itab-kdauf
IMPORTING
output = jtab_321-val_sales_ord.
jtab_321-val_s_ord_item = it_itab-kdpos.
ELSEIF it_itab-sobkz = 'K'." 供应商库存
jtab_321-spec_stock = it_itab-sobkz.
* jtab_321-vendor = it_itab-lifnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = it_itab-lifnr
IMPORTING
output = jtab_321-vendor.
ENDIF.
jtab_321-entry_uom = it_itab-meins_input.
IF it_itab-menge_free <> 0.
jtab_321-entry_qnt = it_itab-menge_free.
jtab_321-move_type = '321'.
APPEND jtab_321.
ENDIF.
IF it_itab-menge_block <> 0.
jtab_321-entry_qnt = it_itab-menge_block.
jtab_321-move_type = '350'.
APPEND jtab_321.
ENDIF.
* CLEAR jtab_321.
ENDLOOP.
REFRESH l_errmsg.
CLEAR l_errmsg.
IF jtab_321[] IS NOT INITIAL.
REFRESH l_errmsg.
CLEAR l_errmsg.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = gmhead
goodsmvt_code = gmcode
testrun = l_testrun
IMPORTING
* MATERIALDOCUMENT =
* MATDOCUMENTYEAR =
goodsmvt_headret = mthead
TABLES
goodsmvt_item = jtab_321[]
* GOODSMVT_SERIALNUMBER =
return = l_errmsg.
LOOP AT l_errmsg WHERE type EQ 'E'.
MOVE-CORRESPONDING l_errmsg TO g_errmsg .
APPEND g_errmsg.
CLEAR g_errmsg.
ENDLOOP.
ENDIF.