ABAP-創建信息記錄


CALL FUNCTION 'ME_INITIALIZE_INFORECORD'.

CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'

*&---------------------------------------------------------------------*
*& Report  YTST_FF_005_003
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT YTST_FF_005_003.

*&---------------------------------------------------------------------*
*&      Form  FRM_INFNR_CREATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_INFNR_CREATE .

  DATA: WA_EINA     TYPE EINA,
        WA_EINE     TYPE EINE,
        WA_EINA_NEW TYPE EINA,
        WA_EINE_NEW TYPE EINE.
  DATA: IT_HEAD TYPE STANDARD TABLE OF MESTXH,
        IT_LINE TYPE STANDARD TABLE OF MESTXL.
  DATA: IT_EINA TYPE STANDARD TABLE OF EINA,
        IT_EINE TYPE STANDARD TABLE OF EINE.
  DATA:L_SUBRC LIKE SY-SUBRC.

*&數量默認‘1*&S1.檢查選中的數據是否ok
  READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' FLAG = 'E'.
  IF SY-SUBRC EQ 0.
    MESSAGE S000 WITH '選中數據存在錯誤,請先檢查!' DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

*&S2.據選擇獲取待創建的訂單編號
  READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' TEXT = ' '.
  IF SY-SUBRC NE 0.
    MESSAGE S000 WITH '請選擇可操作的數據!' DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

*&S3.一條數據創建一個信息記錄
  LOOP AT GT_UP ASSIGNING <FS_UP> WHERE SEL EQ 'X' AND TEXT EQ ' '.

*&L1.EINA采購信息記錄 - 一般數據
    WA_EINA-MATNR = <FS_UP>-MATNR.
    WA_EINA-LIFNR = <FS_UP>-LIFNR.
    WA_EINA-IDNLF = <FS_UP>-IDNLF."貨號

*&L2.采購信息記錄 - 采購組織數據
    WA_EINE-EKORG = 'P001'.
    WA_EINE-WERKS = <FS_UP>-WERKS.
    WA_EINE-ESOKZ = <FS_UP>-ESOKZ.
    WA_EINE-EKGRP = <FS_UP>-EKGRP.
    WA_EINE-NETPR = <FS_UP>-NETPR."凈價
    WA_EINE-PEINH = <FS_UP>-PEINH."單位

    WA_EINE-NORBM = '1'."訂單數量
    WA_EINE-APLFZ = <FS_UP>-APLFZ."計划的天數內交貨(輸入)
    WA_EINE-EFFPR = '1'. "有效價格
* WA_EINE-MWSKZ = 'J1'."銷售/購買稅代碼

    CALL FUNCTION 'ME_INITIALIZE_INFORECORD'.

    CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'
      EXPORTING
        ACTIVITY         = <FS_UP>-SIGN "'H' "V 修改,H創建
        I_EINA           = WA_EINA
        I_EINE           = WA_EINE
        I_NO_SUPPOSE     = ''
        I_VORGA          = 'A'
*       i_no_suppose     = 'X'"重要
*       i_vorga          = 'B'
*       i_skip_nr_check  = '1'
      IMPORTING
        E_EINA           = WA_EINA_NEW
        E_EINE           = WA_EINE_NEW
      TABLES
        T_HEAD           = IT_HEAD
        T_LINE           = IT_LINE
      EXCEPTIONS
        TEXTNAME_INVALID = 1
        OTHERS           = 2.

    IF SY-SUBRC <> 0.
*      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
      L_SUBRC = SY-SUBRC.
    ENDIF.

    CALL FUNCTION 'ME_POST_INFORECORD'
      EXPORTING
        I_MATNR  = WA_EINA-MATNR
        O_MATNR  = WA_EINA-MATNR
      TABLES
        T_EINA_I = IT_EINA.

*&APPEND wa_eine_new to it_eine.
    CALL FUNCTION 'ME_UPDATE_INFORECORD_COND'
      TABLES
        REINE = IT_EINE.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.

    IF L_SUBRC EQ 0.
      <FS_UP>-FLAG = 'S'.
      <FS_UP>-TEXT = '創建信息記錄成功'.
      <FS_UP>-ICON = '@5B@'.
      <FS_UP>-SEL  = '-'.
      <FS_UP>-INFNR = WA_EINA_NEW-INFNR.
    ELSE.
      <FS_UP>-FLAG = 'E'.
      <FS_UP>-TEXT = '創建信息記錄失敗'.
      <FS_UP>-ICON = '@5C@'.

    ENDIF.

  ENDLOOP.

ENDFORM.                    " FRM_INFNR_CREATE

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM