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

BAPI_ENTRYSHEET_CREATE Error SE214 Error during update

$
0
0

Hi Experts,

 

I have  a problem using BAPI_ENTRYSHEET_CREATE using a purchase order  (outline agreement) items for creating a service entry sheet. I use BAPI_PO_GETDETAIL for copying the PO structures into the BAPI_ENTRYSHEET_CREATE structures but I keep getting the error "SE 214 Error during update".

 

I tried to create the service entry sheet through tx. ML81N and it works fine. Here's my code:

 

 

**************************************************************

DATA: WS_PO TYPE BAPIEKKO-PO_NUMBER.

 

 

WS_PO = '4500298742'.

 

 

tables:essr.

 

 

DATA: BAPI_ESSR LIKE BAPIESSRC OCCURS 1

                WITH HEADER LINE.

DATA: BAPI_ESKN LIKE BAPIESKNC OCCURS 1

                WITH HEADER LINE.

DATA: BAPI_ESLL LIKE BAPIESLLC OCCURS 1

                WITH HEADER LINE.

DATA: BAPI_ESKL LIKE BAPIESKLC OCCURS 1

                WITH HEADER LINE.

DATA: BEGIN OF BAPI_RETURN OCCURS 1.

         INCLUDE STRUCTURE BAPIRET2.

DATA: END OF BAPI_RETURN.

 

 

DATA: BEGIN OF wa_po_header OCCURS 1.

INCLUDE STRUCTURE bapiekkol.

DATA: END OF wa_po_header.

data: po_items TYPE bapiekpo OCCURS 0 WITH HEADER LINE,

po_services TYPE bapiesll OCCURS 0 WITH HEADER LINE. "

data: g_entrysheet_no TYPE bapiessr-sheet_no.

DATA: BEGIN OF bapi_return_po OCCURS 1.

INCLUDE STRUCTURE BAPIRET2. "bapireturn.

DATA: END OF bapi_return_po.

 

 

DATA: BAPI_SRV_RETURN LIKE BAPIRETURN1 OCCURS 1 WITH HEADER LINE.

DATA: SERIAL_NO LIKE BAPIESKNC-SERIAL_NO,

      LINE_NO   LIKE BAPIESLLC-LINE_NO.

CONSTANTS: c_x TYPE c VALUE 'X'.

*

 

START-OF-SELECTION.

  CALL FUNCTION 'BAPI_PO_GETDETAIL'

    EXPORTING

      PURCHASEORDER    = WS_PO

      ITEMS            = 'X'

      SERVICES         = 'X'

    IMPORTING

      PO_HEADER        = WA_PO_HEADER

    TABLES

      PO_ITEMS         = PO_ITEMS

      PO_ITEM_SERVICES = PO_SERVICES

      RETURN           = BAPI_RETURN_PO.

  LOOP AT BAPI_RETURN_PO WHERE TYPE = 'E'.

    MESSAGE ID     BAPI_RETURN_PO-ID(2)

            TYPE   BAPI_RETURN_PO-TYPE

            NUMBER BAPI_RETURN_PO-NUMBER

            WITH   BAPI_RETURN_PO-MESSAGE_V1

                   BAPI_RETURN_PO-MESSAGE_V2

                   BAPI_RETURN_PO-MESSAGE_V3

                   BAPI_RETURN_PO-MESSAGE_V4.

    LEAVE.

  ENDLOOP.

 

 

 

 

select single  * from  essr where ebeln = WS_PO.

 

 

  LOOP AT PO_ITEMS.

    BAPI_ESSR-PO_NUMBER = PO_ITEMS-PO_NUMBER.

    BAPI_ESSR-PO_ITEM   = PO_ITEMS-PO_ITEM.

    BAPI_ESSR-SHORT_TEXT = 'Auomatic update'."ESSR-TXZ01.

    BAPI_ESSR-ACCEPTANCE = C_X.

    BAPI_ESSR-DOC_DATE = sy-datum.

    BAPI_ESSR-POST_DATE = sy-datum.

    IF PO_ITEMS-ACCTASSCAT = 'U'.

      BAPI_ESSR-ACCASSCAT = 'K'.

    ELSE.

      BAPI_ESSR-ACCASSCAT = PO_ITEMS-ACCTASSCAT.

    ENDIF.

    BAPI_ESSR-PCKG_NO = PO_ITEMS-PCKG_NO.

    APPEND BAPI_ESSR.

  ENDLOOP.

  LINE_NO = 1.

 

 

  LOOP AT PO_SERVICES.

    CLEAR BAPI_ESLL.

    BAPI_ESLL-PCKG_NO = PO_SERVICES-PCKG_NO.

    BAPI_ESLL-LINE_NO = LINE_NO.

    BAPI_ESLL-EXT_LINE = PO_SERVICES-EXT_LINE.

    BAPI_ESLL-OUTL_IND = PO_SERVICES-OUTL_IND.

    BAPI_ESLL-SUBPCKG_NO = PO_SERVICES-SUBPCKG_NO.

    BAPI_ESLL-SERVICE = PO_SERVICES-SERVICE.

    BAPI_ESLL-BASE_UOM = PO_SERVICES-BASE_UOM.

    BAPI_ESLL-UOM_ISO = PO_SERVICES-UOM_ISO.

    BAPI_ESLL-PRICE_UNIT = PO_SERVICES-PRICE_UNIT.

    BAPI_ESLL-FROM_LINE = PO_SERVICES-FROM_LINE.

    BAPI_ESLL-TO_LINE = PO_SERVICES-TO_LINE.

    BAPI_ESLL-SHORT_TEXT = PO_SERVICES-SHORT_TEXT.

    APPEND BAPI_ESLL.

  ENDLOOP.

 

 

  LOOP AT BAPI_ESLL.

    IF BAPI_ESLL-LINE_NO = '2'.

      BAPI_ESLL-QUANTITY = '12'.

      BAPI_ESLL-GR_PRICE = ( 10 * -1 ).

      MODIFY BAPI_ESLL INDEX SY-TABIX TRANSPORTING QUANTITY GR_PRICE.

    ENDIF.

  ENDLOOP.

 

 

  CALL FUNCTION 'BAPI_ENTRYSHEET_CREATE'

    EXPORTING

      ENTRYSHEETHEADER            = BAPI_ESSR

      TESTRUN                     = ' '

    IMPORTING

      ENTRYSHEET                  = G_ENTRYSHEET_NO

    TABLES

      ENTRYSHEETACCOUNTASSIGNMENT = BAPI_ESKN

      ENTRYSHEETSERVICES          = BAPI_ESLL

      ENTRYSHEETSRVACCASSVALUES   = BAPI_ESKL

      RETURN                      = BAPI_RETURN.

************************************************************************************

 

it's a my  urgent  requirement.

 

Thanks In Advance.

 

Regards,

Manohar.


Viewing all articles
Browse latest Browse all 8451

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>