BOM导入程序BAPI CSAP_MAT_BOM_MAINTAIN实例

*- Initialize database log
CALL FUNCTION 'CALO_INIT_API'
EXCEPTIONS
  log_object_not_found     = 1
  log_sub_object_not_found = 2
  other_error              = 3
  OTHERS                   = 4.

CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN'
EXPORTING
  material           = material
  plant              = plant
  bom_usage          = bom_usage
  valid_from         = valid_from
  i_stko             = i_stko
  fl_commit_and_wait = 'X'
  fl_bom_create      = 'X'
  fl_new_item        = 'X'
  fl_complete        = 'X'
IMPORTING
  fl_warning         = fl_warning
  o_stko             = o_stko
TABLES
  t_stpo             = t_stpo
  t_stpu             = t_stpu
  t_ltx_line         = t_ltx_line
EXCEPTIONS
  error              = 1.


" copy log
CALL FUNCTION 'CALO_MSG_APPEND_DB_LOG'
EXCEPTIONS
  log_object_not_found    = 1
  log_subobject_not_found = 2
  log_internal_error      = 3
  OTHERS                  = 4.
"read log
CALL FUNCTION 'CALO_LOG_READ_MESSAGES'
TABLES
  messages_and_parameters = lt_messages
EXCEPTIONS
  OTHERS                  = 1.

IF sy-subrc EQ 1.
  "Exec Rollback
ELSE.
  "Exec Commit
  ENDIF.


IF fl_warning EQ 'X'.     "输出警告信息(BOM表头导入成功,但是Item导入失败)
  SELECT
  msg_id AS msgid,
  msg_type AS msgty,
  msg_no AS msgno,
  msg_v1 AS msgv1,
  msg_v2 AS msgv2,
  msg_v3 AS msgv3,
  msg_v4 AS msgv4,
  msg_lineno AS  lineno
  FROM @lt_messages AS a
  INTO TABLE @lt_msg_tab.

  IF lt_msg_tab IS  NOT INITIAL.
    CALL FUNCTION 'C14Z_MESSAGES_SHOW_AS_POPUP'
    TABLES
      i_message_tab = lt_msg_tab.
    LEAVE LIST-PROCESSING.
  ENDIF.
ENDIF.

猜你喜欢

转载自blog.csdn.net/qq_30797051/article/details/121275877
bom