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

bapi_po_create1 giving different errors

$
0
0

Hi friends.

 

   I have started working in SAP, 1.5 month back.

I am getting an error in BAPI_PO_CREATE1 as follows :
* PO header data still faulty

*No instance of object type PurchaseOrder has been created. External reference:

 

Code is as follows :

 

DATA c_x TYPE c VALUE 'X'.

DATA: w_zmm_mcm_mdm TYPE ty_zmm_mcm_mdm,

      w_ekpo        TYPE ty_ekpo,

      w_ekko        TYPE ty_ekko,

      w_lqua        TYPE ty_lqua,

 

*For bapi to create PO

      "pocontractlimits LIKE bapiesucc,

      w_header      LIKE bapimepoheader,

      w_headerx     LIKE bapimepoheaderx,

      w_item        LIKE bapimepoitem,

      w_itemx       LIKE bapimepoitemx.

 

 

DATA: it_zmm_mcm_mdm TYPE STANDARD TABLE OF ty_zmm_mcm_mdm,

      it_ekpo        TYPE STANDARD TABLE OF ty_ekpo,

      it_ekko        TYPE STANDARD TABLE OF ty_ekko,

      it_lqua        TYPE STANDARD TABLE OF ty_lqua,

 

*For bapi to create PO.

      it_account    TYPE STANDARD TABLE OF bapimepoaccount,

      it_accountx  TYPE STANDARD TABLE OF bapimepoaccountx,

      it_item      TYPE STANDARD TABLE OF bapimepoitem,

      it_itemx     TYPE STANDARD TABLE OF bapimepoitemx,

      it_return_po TYPE STANDARD TABLE OF bapiret2.

 

 

SELECTION-SCREEN: BEGIN OF BLOCK bloke WITH FRAME TITLE text-001.

PARAMETERS:

      p_loca TYPE zmm_mcm_mdm-mcm_lgort,  "sotrage location

      p_mate TYPE zmm_mcm_mdm-matnr,      "material number

      p_plan TYPE t001w-werks,             "MDM plant

      p_retu TYPE i,                      "return quantity

      p_base TYPE zmm_mcm_mdm-meins.       "base unit

SELECTION-SCREEN: END OF BLOCK bloke.

 

 

 

*POPULATE HEADER DATA FOR PO

    w_header-comp_code   = w_ekko-bukrs.            "Company Code

    w_header-doc_type    = 'NB'.                             "Purchasing Document Type

    w_header-creat_date  = sy-datum.                     "Date on Which Record Was Created

    w_header-created_by  = sy-uname.                    "Name of Person who Created the Object

    w_header-langu       = sy-langu.                         "Language Key

    w_header-doc_date    = sy-datum.                     "Purchasing Document Date

    w_header-purch_org   = w_ekko-ekorg.               "Purchasing Organization

    w_header-pur_group   = w_ekko-ekgrp.               "Purchasing Group

    w_header-telephone   = w_ekko-telf1.                 "Vendor's Telephone Number

    w_header-vat_cntry   = w_ekko-stceg_l.              "Country of Sales Tax ID Number

    w_header-currency    = w_ekko-waers.                "Currency Key

    w_header-langu_iso   = w_ekko-spras.                "ISO code for language key

    w_header-suppl_plnt  = w_ekko-reswk.                "Supplying (Issuing) Plant in Stock Transport Order

    w_header-DELETE_IND     = w_ekko-LOEKZ.

    w_header-STATUS      = w_ekko-statu.

    w_header-item_intvl     = w_ekko-pincr.

 

 

**POPULATE HEADER FLAG.

    w_headerx-comp_code   = c_x.

    w_headerx-doc_type      = c_x.

    w_headerx-creat_date    = c_x.

    w_headerx-created_by   = c_x.

    w_headerx-langu           = c_x.

    w_headerx-doc_date      = c_x.

    w_headerx-purch_org     = c_x.

    w_headerx-pur_group     = c_x.

    w_headerx-telephone     = c_x.

    w_headerx-vat_cntry     = c_x.

    w_headerx-currency      = c_x.

    w_headerx-langu_iso     = c_x.

    w_headerx-suppl_plnt    = c_x.

    w_header-DELETE_IND  = c_x.

    w_header-STATUS         = c_x.

    w_header-item_intvl        = c_x.

 

 

    READ TABLE it_ekpo

    INTO w_ekpo

    WITH KEY ebeln = w_ekko-ebeln.

 

    IF sy-subrc EQ 0.

 

*     POPULATE ITEM DATA.

      w_item-po_item       = w_ekpo-ebelp.         " Item Number of Purchasing Document

      w_item-delete_ind    = c_x."w_ekpo-loekz. " Deletion Indicator in Purchasing Document

      w_item-short_text    = w_ekpo-txz01.        "Short Text

      w_item-material      = p_mate      .            "Material Number

      w_item-plant         = v_to_werks.               "Plant

      w_item-stge_loc      = p_loca      .             "Storage location

      w_item-info_rec      = w_ekpo-infnr.            "Number of Purchasing Info Record

      w_item-quantity      = w_ekpo-menge.        "Purchase Order Quantity

      "w_item-po_unit       = w_ekpo-meins.        "Purchase Order Unit of Measure

      w_item-price_unit    = w_ekpo-peinh.          "Price unit

      w_item-unlimited_dlv = ''."w_ekpo-uebtk.      "Unlimited Overdelivery Allowed

      w_item-customer      = w_ekpo-kunnr.         "Customer

      w_item-conf_ctrl     = w_ekpo-bstae.           "Confirmation Control Key

      w_item-ret_item      = c_x.                         "Return Item

      w_item-net_price     = w_ekpo-netpr.            "Net Price

      APPEND w_item TO it_item.

 

*     POPULATE ITEM FLAG TABLE

      w_itemx-po_item       = w_ekpo-ebelp.

      w_itemx-delete_ind    = c_x.

      w_itemx-short_text    = c_x.

      w_itemx-material      = c_x.

      w_itemx-plant         = c_x.

      w_itemx-stge_loc      = c_x.

      w_itemx-info_rec      = c_x.

      w_itemx-quantity      = c_x.

      "w_itemx-po_unit       = c_x.

      w_itemx-price_unit    = c_x.

      w_itemx-unlimited_dlv = c_x.

      w_itemx-customer      = c_x.

      w_itemx-conf_ctrl     = c_x.

      w_itemx-ret_item      = c_x.

      w_itemx-net_price     = c_x.

      APPEND w_itemx TO it_itemx.

 

      CLEAR: w_itemx,

             w_item.

 

    ENDIF.

  CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

      poheader         = w_header

      poheaderx        = w_headerx

    IMPORTING

      exppurchaseorder = v_purch_order

    TABLES

      return           = it_return_po

      poitem           = it_item

      poitemx          = it_itemx.

 

  IF it_return_po IS INITIAL.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

      EXPORTING

        wait = c_x.

     WRITE: 'Purchase order: ', v_purch_order.

  ELSE.

    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

  ENDIF.

 

 

I have looked at the note 3151427, 973952,  but this is not applicable for our system.

Please any can help me.

 

 

Cheers.

Jonathan Fuentes.


Viewing all articles
Browse latest Browse all 8644

Trending Articles



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