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

ERROR IN BAPI Purchase order still contains faulty items

$
0
0

Hello Expert,

 

Please help I try to upload service Po from  BAPI_PO_CREATE1 but I an getting error  .

 

Purchase order still contains faulty items

 

 

Please see below code what I am passing .

 

lt_itab_ven[] = lt_itab[].

 

**  SORT lt_itab BY vendor.

**  DELETE ADJACENT DUPLICATES FROM lt_itab COMPARING vendor .

 

   SORT lt_itab BY vendor collect_no.

   DELETE ADJACENT DUPLICATES FROM lt_itab COMPARING vendor collect_no .

 

 

   CLEAR:   g_bapimepoheader,g_bapimepoitem,g_bapimeposchedule,g_poitemx.

   REFRESH: g_bapimepoheader,g_bapimepoitem,g_bapimeposchedule,g_poitemx.

 

   LOOP AT lt_itab INTO ls_itab.

 

     MOVE-CORRESPONDING ls_itab TO g_bapimepoheader.

 

     w_type = ls_itab-doc_type.

 

     CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

       EXPORTING

         input  = ls_itab-vendor

       IMPORTING

         output = ls_itab-vendor.

 

     g_bapimepoheader-vendor     = ls_itab-vendor.

     g_bapimepoheader-creat_date = sy-datum.

     g_bapimepoheader-created_by = sy-uname.

     APPEND  g_bapimepoheader.

 

 

     g_bapimepoheaderx-doc_type    = 'X'.

     g_bapimepoheaderx-vendor      = 'X'.

     g_bapimepoheaderx-doc_date    = 'X'.

     g_bapimepoheaderx-purch_org   = 'X'.

     g_bapimepoheaderx-pur_group   = 'X'.

     g_bapimepoheaderx-comp_code   = 'X'.

     g_bapimepoheaderx-collect_no  = 'X'.

     APPEND  g_bapimepoheaderx.

 

 

     CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

       EXPORTING

         input  = ls_itab-vendor

       IMPORTING

         output = ls_itab-vendor.

 

 

     lt_itab_lin[] = lt_itab_ven[].

     SORT lt_itab_lin BY vendor.

     DELETE lt_itab_lin WHERE vendor <> ls_itab-vendor.

 

     lt_itab_serv_lin[] = lt_itab_lin[].

*    SORT lt_itab_lin BY short_text.

*    DELETE ADJACENT DUPLICATES FROM lt_itab_lin COMPARING short_text.

 

**    SORT lt_itab_lin BY short_text.

**    DELETE ADJACENT DUPLICATES FROM lt_itab_lin COMPARING short_text.

 

     pkgno = 0.

     LOOP AT lt_itab_lin INTO ls_itab_lin WHERE collect_no = ls_itab-collect_no .

 

       pkgno = pkgno + 1.

       MOVE-CORRESPONDING ls_itab_lin TO g_bapimepoitem.

       g_bapimepoitem-pckg_no = pkgno.

 

       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

         EXPORTING

           input  = ls_itab_lin-po_item

         IMPORTING

           output = ls_itab_lin-po_item.

       g_bapimepoitem-tax_code = ls_itab_lin-tax_code.    "TAX_CODE

       g_bapimepoitem-po_item  = ls_itab_lin-po_item.

       g_bapimepoitem-quantity = 1.

       APPEND g_bapimepoitem.

       CLEAR  g_bapimepoitem.

 

       MOVE-CORRESPONDING ls_itab_lin TO g_bapimeposchedule.

       g_bapimeposchedule-po_item     = ls_itab_lin-po_item.

       g_bapimeposchedule-quantity    = 1.

       g_bapimeposchedule-sched_line  = 1.

       APPEND  g_bapimeposchedule.

       CLEAR   g_bapimeposchedule.

 

 

       g_poitemx-po_item     = ls_itab_lin-po_item.

       g_poitemx-po_itemx    = 'X'.

       g_poitemx-acctasscat  = 'X'.

       g_poitemx-tax_code = 'X'.

       g_poitemx-item_cat    = 'X'.

       g_poitemx-short_text  = 'X'.

       g_poitemx-matl_group  = 'x'.

       g_poitemx-plant       = 'X'.

       g_poitemx-stge_loc    = 'X'.

       g_poitemx-net_price   = 'X'.

       g_poitemx-quantity    = 'X'.

       g_poitemx-po_unit     = 'X'.

       g_poitemx-orderpr_un  = 'X'.

       g_poitemx-trackingno  = 'X'.

       g_poitemx-delete_ind  = 'X'.

       g_poitemx-pckg_no     = 'X'.

       APPEND  g_poitemx.

       CLEAR   g_poitemx.

 

 

 

       g_poschedulex-po_item         = ls_itab_lin-po_item.

       g_poschedulex-sched_line      = 1.

       g_poschedulex-po_itemx        = 'X'.

       g_poschedulex-sched_linex     = 'X'.

       g_poschedulex-del_datcat_ext  = 'X'.

       g_poschedulex-delivery_date   = 'X'.

       g_poschedulex-quantity        = 'X'.

       g_poschedulex-deliv_time      = 'X'.

       g_poschedulex-stat_date       = 'X'.

       g_poschedulex-preq_no         = 'X'.

       g_poschedulex-preq_item       = 'X'.

       g_poschedulex-po_date         = 'X'.

       g_poschedulex-routesched      = 'X'.

       g_poschedulex-ms_date         = 'X'.

       APPEND  g_poschedulex.

       CLEAR   g_poschedulex.

 

       line_no = 0.

       line_no = line_no + 1.

       g_poservices-pckg_no       = pkgno.

       sub_pkgno = pkgno + 1.

       g_poservices-line_no       = line_no.

       g_poservices-subpckg_no    = sub_pkgno.

       g_poservices-outl_ind      = 'X'.

       g_poservices-quantity      = 1.

       APPEND g_poservices.

       CLEAR g_poservices.

 

       line_no = 0.

       LOOP AT lt_itab_serv_lin INTO ls_itab_serv_lin WHERE collect_no = ls_itab-collect_no .

 

         MOVE-CORRESPONDING ls_itab_serv_lin TO g_poservices.

         g_poservices-pckg_no       = sub_pkgno.

         line_no = line_no + 1.

         g_poservices-line_no       = line_no.

 

         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

           EXPORTING

             input  = g_poservices-service

           IMPORTING

             output = g_poservices-service.

 

         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

           EXPORTING

             input  = g_poservices-ext_line

           IMPORTING

             output = g_poservices-ext_line.

 

         APPEND g_poservices.

         CLEAR g_poservices.

 

         g_poaccount-po_item           = ls_itab_lin-po_item.

         g_poaccount-serial_no         = line_no.

         g_poaccount-wbs_element       = ls_itab_serv_lin-wbs_element.

         APPEND g_poaccount.

         CLEAR  g_poaccount.

 

         g_poaccountx-po_item           = ls_itab_lin-po_item.

         g_poaccountx-serial_no         = line_no.

         g_poaccountx-wbs_element       = 'X'.

         APPEND g_poaccountx.

         CLEAR  g_poaccountx.

 

         g_posrvaccessvalues-pckg_no    = sub_pkgno.

         g_posrvaccessvalues-line_no    = line_no.

         g_posrvaccessvalues-serno_line = '01'.

         g_posrvaccessvalues-serial_no  = line_no.

         g_posrvaccessvalues-quantity   = 1.

         APPEND g_posrvaccessvalues..

 

       ENDLOOP.

 

     ENDLOOP.

 

     CLEAR:g_ebeln,gstest.

*    REFRESH g_bapiret2.

 

 

 

     CLEAR: g_ebeln,g_expheader.

 

     CALL FUNCTION 'BAPI_PO_CREATE1'

       EXPORTING

         poheader          = g_bapimepoheader

         poheaderx         = g_bapimepoheaderx

         poexpimpheader    = g_bapieikp

         no_price_from_po  = 'X'

*       TESTRUN           = 'X'

       IMPORTING

         exppurchaseorder  = g_ebeln

         expheader         = g_expheader

       TABLES

         return            = g_bapiret2

         poitem            = g_bapimepoitem

         poitemx           = g_poitemx

         poschedule        = g_bapimeposchedule

         poschedulex       = g_poschedulex

         poaccount         = g_poaccount

         poaccountx        = g_poaccountx

         poservices        = g_poservices

         posrvaccessvalues = g_posrvaccessvalues.

 

 

     IF NOT g_ebeln IS INITIAL.


Viewing all articles
Browse latest Browse all 9052

Trending Articles



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