Автор Тема: Пакетный ввод заказов на услуги  (Прочитано 2872 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Пакетный ввод заказов на услуги
« : Май 22, 2023, 02:26:25 pm »
Добрый день.

Нужно создать пакетник по созданию заказа на услуги с nn-ым количеством позиций. У всех позиций разные контировки. Начитавшись в инете разной инфы, получилось создать заказ на услуги c одной позицией с помощью BAPI BAPI_PO_CREATE1 с типом позиции D и с контировкой куда копируется счёт, мвз и заказ. Пытаюсь создать с двумя позициями, программа создаёт вторую позицию, но контировку тянет из первой позиции. Кто - нибудь что то похожее делал? Ни как не могу понять в чём именно проблема? Вот код присвоения начиная с создания позиции.
Код: You are not allowed to view links. Register or Login
*********************Первая позиция********************************
wa_item-po_item = '00010'.
wa_item-short_text = 'Alarm System Installation'.
wa_item-plant = '8000'.
wa_item-matl_group = '86'.
wa_item-quantity   = '2'.
wa_item-net_price = '0'.
wa_item-price_unit = '0'.
wa_item-item_cat = '9'.
wa_item-acctasscat = '6'.
wa_item-gr_ind = 'X'.
wa_item-gr_non_val = 'X'.
wa_item-preq_no = '0020114422'.
wa_item-preq_item = '00010'.
wa_item-pckg_no =  '0000000001'.
APPEND wa_item TO item.
CLEAR wa_item.

wa_itemx-po_item = '00010'.
wa_itemx-po_itemx = 'X'.
wa_itemx-short_text = 'X'.
wa_itemx-plant = 'X'.
wa_itemx-matl_group = 'X'.
wa_itemx-quantity = 'X'.
wa_itemx-net_price = 'X'.
wa_itemx-price_unit = 0.
wa_itemx-item_cat = 'X'.
wa_itemx-acctasscat = 'X'.
wa_itemx-gr_ind = 'X'.
wa_itemx-gr_non_val = 'X'.
wa_itemx-preq_no = 'X'.
wa_itemx-preq_item = 'X'.
wa_itemx-pckg_no = 'X'.
APPEND wa_itemx TO itemx.
CLEAR wa_itemx.
***********************Конец первой позиции****************************
***********************Вторая позиция**********************************
wa_item-po_item = '00020'.
wa_item-short_text = 'Alarm System Installation2'.
wa_item-plant = '8000'.
wa_item-matl_group = '86'.
wa_item-quantity   = '2'.
wa_item-net_price = '0'.
wa_item-price_unit = '0'.
wa_item-item_cat = '9'.
wa_item-acctasscat = '6'.
wa_item-gr_ind = 'X'.
wa_item-gr_non_val = 'X'.
wa_item-preq_no = '0020114423'.
wa_item-preq_item = '00010'.
wa_item-pckg_no =  '0000000001'.
append wa_item to item.
clear wa_item.

wa_itemx-po_item = '00020'.
wa_itemx-po_itemx = 'X'.
wa_itemx-short_text = 'X'.
wa_itemx-plant = 'X'.
wa_itemx-matl_group = 'X'.
wa_itemx-quantity = 'X'.
wa_itemx-net_price = 'X'.
wa_itemx-price_unit = 0.
wa_itemx-item_cat = 'X'.
wa_itemx-acctasscat = 'X'.
wa_itemx-gr_ind = 'X'.
wa_itemx-gr_non_val = 'X'.
wa_itemx-preq_no = 'X'.
wa_itemx-preq_item = 'X'.
wa_itemx-pckg_no = 'X'.
append wa_itemx to itemx.
clear wa_itemx.
********************Конец второй позиции**************************
********************Начало первой позиции*************************
wa_acct-po_item = '00010'.
wa_acct-serial_no = '01'.
wa_acct-quantity = '1'.
wa_acct-distr_perc = '0'.
wa_acct-net_value  = '2000'.
wa_acct-gl_account = '8019.4885'.
wa_acct-co_area    = '2000'.
wa_acct-costcenter = '80-102'.
wa_acct-orderid   = '009010055021'.
wa_acct-activity  = '0010'.
APPEND wa_acct TO acct.
CLEAR wa_acct.

wa_acctx-po_item = '00010'.
wa_acctx-serial_no = '01'.
wa_acctx-gl_account = 'X'.
wa_acctx-co_area    = 'X'.
wa_acctx-costcenter = 'X'.
wa_acctx-orderid   = 'X'.
wa_acctx-activity  = 'X'.
APPEND wa_acctx TO acctx.
CLEAR wa_acctx.
********************Конец первой позиции**************************
********************Начало второй позиции*************************
wa_acct-po_item = '00020'.
wa_acct-serial_no = '02'.
wa_acct-quantity = '1'.
wa_acct-distr_perc = '0'.
wa_acct-net_value  = '2000'.
wa_acct-gl_account = '8019.4885'.
wa_acct-co_area    = '2000'.
wa_acct-costcenter = '80-101'.
wa_acct-orderid   = '009010055042'.
wa_acct-activity  = '0020'.
append wa_acct to acct.
clear wa_acct.

wa_acctx-po_item = '00020'.
wa_acctx-serial_no = '02'.
wa_acctx-gl_account = 'X'.
wa_acctx-co_area    = 'X'.
wa_acctx-costcenter = 'X'.
wa_acctx-orderid   = 'X'.
wa_acctx-activity  = 'X'.
append wa_acctx to acctx.
clear wa_acctx.
*******************Конец второй позиции****************************
*******************Начало первой позиции***************************
wa_esllc-pckg_no = '0000000001'.
wa_esllc-line_no = '0000000001'.
wa_esllc-EXT_LINE = '0'.
wa_esllc-outl_level = '0'.
wa_esllc-outl_ind   = 'X'.
wa_esllc-subpckg_no = wa_esllc-pckg_no + 1. "Child Package No
wa_esllc-price_unit = '0'.
wa_esllc-from_line = '1'.
wa_esllc-short_text = 'Alarm System Installation'.
APPEND wa_esllc TO esllc.
CLEAR wa_esllc.

wa_esllc-pckg_no = '0000000002'.
wa_esllc-line_no = '0000000002'.
wa_esllc-ext_line = '0000000010'.
wa_esllc-outl_level = '0'.
wa_esllc-quantity   = '2'.
wa_esllc-price_unit = '1'.
wa_esllc-base_uom = 'WK'.
wa_esllc-gr_price = '2000'.
wa_esllc-short_text = 'Alarm System Installation'.
wa_esllc-pln_pckg = '0000692650'.
wa_esllc-pln_line = '0000000002'.
wa_esllc-service  = '000000000001000022'.
wa_esllc-matl_group = '86'.
APPEND wa_esllc TO esllc.
CLEAR  wa_esllc.

wa_esklc-pckg_no = '0000000002'.
wa_esklc-line_no = '0000000002'.
wa_esklc-serno_line = '01'.
wa_esklc-percentage = '100'.
wa_esklc-serial_no = '01'.
APPEND wa_esklc TO  esklc.
CLEAR wa_esklc.
***********************Конец первой позиции***********************************
***********************Начало второй позиции**********************************
wa_esllc-pckg_no = '0000000001'.
wa_esllc-line_no = '0000000001'.
wa_esllc-EXT_LINE = '0'.
wa_esllc-outl_level = '0'.
wa_esllc-outl_ind   = 'X'.
wa_esllc-subpckg_no = wa_esllc-pckg_no + 1. "Child Package No
wa_esllc-price_unit = '0'.
wa_esllc-from_line = '1'.
wa_esllc-short_text = 'Alarm System Installation'.
append wa_esllc to esllc.
clear wa_esllc.

wa_esllc-pckg_no = '0000000002'.
wa_esllc-line_no = '0000000002'.
wa_esllc-ext_line = '0000000010'.
wa_esllc-outl_level = '0'.
wa_esllc-quantity   = '2'.
wa_esllc-price_unit = '1'.
wa_esllc-base_uom = 'WK'.
wa_esllc-gr_price = '2000'.
wa_esllc-short_text = 'Alarm System Installation'.
wa_esllc-pln_pckg = '0000692658'.
wa_esllc-pln_line = '0000000002'.
wa_esllc-service  = '000000000001000022'.
wa_esllc-matl_group = '86'.
append wa_esllc to esllc.
clear  wa_esllc.

wa_esklc-pckg_no = '0000000002'.
wa_esklc-line_no = '0000000002'.
wa_esklc-serno_line = '01'.
wa_esklc-percentage = '100'.
wa_esklc-serial_no = '01'.
append wa_esklc to  esklc.
clear wa_esklc.
***********************Конец второй позиции*******************************
« Последнее редактирование: Май 22, 2023, 02:44:49 pm от themax »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Пакетный ввод заказов на услуги
« Ответ #1 : Май 24, 2023, 08:47:18 am »
You are not allowed to view links. Register or Login
Добрый день.

Нужно создать пакетник по созданию заказа на услуги с nn-ым количеством позиций. У всех позиций разные контировки. Начитавшись в инете разной инфы, получилось создать заказ на услуги c одной позицией с помощью BAPI BAPI_PO_CREATE1 с типом позиции D и с контировкой куда копируется счёт, мвз и заказ. Пытаюсь создать с двумя позициями, программа создаёт вторую позицию, но контировку тянет из первой позиции. Кто - нибудь что то похожее делал? Ни как не могу понять в чём именно проблема? Вот код присвоения начиная с создания позиции.
Код: You are not allowed to view links. Register or Login
*********************Первая позиция********************************
wa_item-po_item = '00010'.
wa_item-short_text = 'Alarm System Installation'.
wa_item-plant = '8000'.
wa_item-matl_group = '86'.
wa_item-quantity   = '2'.
wa_item-net_price = '0'.
wa_item-price_unit = '0'.
wa_item-item_cat = '9'.
wa_item-acctasscat = '6'.
wa_item-gr_ind = 'X'.
wa_item-gr_non_val = 'X'.
wa_item-preq_no = '0020114422'.
wa_item-preq_item = '00010'.
wa_item-pckg_no =  '0000000001'.
APPEND wa_item TO item.
CLEAR wa_item.

wa_itemx-po_item = '00010'.
wa_itemx-po_itemx = 'X'.
wa_itemx-short_text = 'X'.
wa_itemx-plant = 'X'.
wa_itemx-matl_group = 'X'.
wa_itemx-quantity = 'X'.
wa_itemx-net_price = 'X'.
wa_itemx-price_unit = 0.
wa_itemx-item_cat = 'X'.
wa_itemx-acctasscat = 'X'.
wa_itemx-gr_ind = 'X'.
wa_itemx-gr_non_val = 'X'.
wa_itemx-preq_no = 'X'.
wa_itemx-preq_item = 'X'.
wa_itemx-pckg_no = 'X'.
APPEND wa_itemx TO itemx.
CLEAR wa_itemx.
***********************Конец первой позиции****************************
***********************Вторая позиция**********************************
wa_item-po_item = '00020'.
wa_item-short_text = 'Alarm System Installation2'.
wa_item-plant = '8000'.
wa_item-matl_group = '86'.
wa_item-quantity   = '2'.
wa_item-net_price = '0'.
wa_item-price_unit = '0'.
wa_item-item_cat = '9'.
wa_item-acctasscat = '6'.
wa_item-gr_ind = 'X'.
wa_item-gr_non_val = 'X'.
wa_item-preq_no = '0020114423'.
wa_item-preq_item = '00010'.
wa_item-pckg_no =  '0000000001'.
append wa_item to item.
clear wa_item.

wa_itemx-po_item = '00020'.
wa_itemx-po_itemx = 'X'.
wa_itemx-short_text = 'X'.
wa_itemx-plant = 'X'.
wa_itemx-matl_group = 'X'.
wa_itemx-quantity = 'X'.
wa_itemx-net_price = 'X'.
wa_itemx-price_unit = 0.
wa_itemx-item_cat = 'X'.
wa_itemx-acctasscat = 'X'.
wa_itemx-gr_ind = 'X'.
wa_itemx-gr_non_val = 'X'.
wa_itemx-preq_no = 'X'.
wa_itemx-preq_item = 'X'.
wa_itemx-pckg_no = 'X'.
append wa_itemx to itemx.
clear wa_itemx.
********************Конец второй позиции**************************
********************Начало первой позиции*************************
wa_acct-po_item = '00010'.
wa_acct-serial_no = '01'.
wa_acct-quantity = '1'.
wa_acct-distr_perc = '0'.
wa_acct-net_value  = '2000'.
wa_acct-gl_account = '8019.4885'.
wa_acct-co_area    = '2000'.
wa_acct-costcenter = '80-102'.
wa_acct-orderid   = '009010055021'.
wa_acct-activity  = '0010'.
APPEND wa_acct TO acct.
CLEAR wa_acct.

wa_acctx-po_item = '00010'.
wa_acctx-serial_no = '01'.
wa_acctx-gl_account = 'X'.
wa_acctx-co_area    = 'X'.
wa_acctx-costcenter = 'X'.
wa_acctx-orderid   = 'X'.
wa_acctx-activity  = 'X'.
APPEND wa_acctx TO acctx.
CLEAR wa_acctx.
********************Конец первой позиции**************************
********************Начало второй позиции*************************
wa_acct-po_item = '00020'.
wa_acct-serial_no = '02'.
wa_acct-quantity = '1'.
wa_acct-distr_perc = '0'.
wa_acct-net_value  = '2000'.
wa_acct-gl_account = '8019.4885'.
wa_acct-co_area    = '2000'.
wa_acct-costcenter = '80-101'.
wa_acct-orderid   = '009010055042'.
wa_acct-activity  = '0020'.
append wa_acct to acct.
clear wa_acct.

wa_acctx-po_item = '00020'.
wa_acctx-serial_no = '02'.
wa_acctx-gl_account = 'X'.
wa_acctx-co_area    = 'X'.
wa_acctx-costcenter = 'X'.
wa_acctx-orderid   = 'X'.
wa_acctx-activity  = 'X'.
append wa_acctx to acctx.
clear wa_acctx.
*******************Конец второй позиции****************************
*******************Начало первой позиции***************************
wa_esllc-pckg_no = '0000000001'.
wa_esllc-line_no = '0000000001'.
wa_esllc-EXT_LINE = '0'.
wa_esllc-outl_level = '0'.
wa_esllc-outl_ind   = 'X'.
wa_esllc-subpckg_no = wa_esllc-pckg_no + 1. "Child Package No
wa_esllc-price_unit = '0'.
wa_esllc-from_line = '1'.
wa_esllc-short_text = 'Alarm System Installation'.
APPEND wa_esllc TO esllc.
CLEAR wa_esllc.

wa_esllc-pckg_no = '0000000002'.
wa_esllc-line_no = '0000000002'.
wa_esllc-ext_line = '0000000010'.
wa_esllc-outl_level = '0'.
wa_esllc-quantity   = '2'.
wa_esllc-price_unit = '1'.
wa_esllc-base_uom = 'WK'.
wa_esllc-gr_price = '2000'.
wa_esllc-short_text = 'Alarm System Installation'.
wa_esllc-pln_pckg = '0000692650'.
wa_esllc-pln_line = '0000000002'.
wa_esllc-service  = '000000000001000022'.
wa_esllc-matl_group = '86'.
APPEND wa_esllc TO esllc.
CLEAR  wa_esllc.

wa_esklc-pckg_no = '0000000002'.
wa_esklc-line_no = '0000000002'.
wa_esklc-serno_line = '01'.
wa_esklc-percentage = '100'.
wa_esklc-serial_no = '01'.
APPEND wa_esklc TO  esklc.
CLEAR wa_esklc.
***********************Конец первой позиции***********************************
***********************Начало второй позиции**********************************
wa_esllc-pckg_no = '0000000001'.
wa_esllc-line_no = '0000000001'.
wa_esllc-EXT_LINE = '0'.
wa_esllc-outl_level = '0'.
wa_esllc-outl_ind   = 'X'.
wa_esllc-subpckg_no = wa_esllc-pckg_no + 1. "Child Package No
wa_esllc-price_unit = '0'.
wa_esllc-from_line = '1'.
wa_esllc-short_text = 'Alarm System Installation'.
append wa_esllc to esllc.
clear wa_esllc.

wa_esllc-pckg_no = '0000000002'.
wa_esllc-line_no = '0000000002'.
wa_esllc-ext_line = '0000000010'.
wa_esllc-outl_level = '0'.
wa_esllc-quantity   = '2'.
wa_esllc-price_unit = '1'.
wa_esllc-base_uom = 'WK'.
wa_esllc-gr_price = '2000'.
wa_esllc-short_text = 'Alarm System Installation'.
wa_esllc-pln_pckg = '0000692658'.
wa_esllc-pln_line = '0000000002'.
wa_esllc-service  = '000000000001000022'.
wa_esllc-matl_group = '86'.
append wa_esllc to esllc.
clear  wa_esllc.

wa_esklc-pckg_no = '0000000002'.
wa_esklc-line_no = '0000000002'.
wa_esklc-serno_line = '01'.
wa_esklc-percentage = '100'.
wa_esklc-serial_no = '01'.
append wa_esklc to  esklc.
clear wa_esklc.
***********************Конец второй позиции*******************************
Где-то ты с нумерацией позиций нахомутал, я сомтрю что у тебя вторая позиция а там номер позиции 00000000001, потом где-то serno_line = '01'. для второй позиции а где-то serno_line = '02', для той же второй позиции. Короче внимательно пройдись по коду. Этот бапи работает как часы и точно проблема не в нем, а втом что ты ему передаешь :-)

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Пакетный ввод заказов на услуги
« Ответ #2 : Май 29, 2023, 03:15:40 pm »
You are not allowed to view links. Register or Login
Где-то ты с нумерацией позиций нахомутал, я сомтрю что у тебя вторая позиция а там номер позиции 00000000001, потом где-то serno_line = '01'. для второй позиции а где-то serno_line = '02', для той же второй позиции. Короче внимательно пройдись по коду. Этот бапи работает как часы и точно проблема не в нем, а втом что ты ему передаешь :-)
Вы правы Олег. BAPi работает как часы. Вроде бы разобрался. Вот пример работающего кода с  позициями, т.е. сколько PR-ок столько и позиций в заказе на услуги. В каждой позиции по одной услуге с нужной контировкой. Может кому - нибудь пригодится.
Код: You are not allowed to view links. Register or Login
**********************Заголовок заказа*********************************
  head-comp_code = '123'.
  head-doc_type  = 'SRV'.
  head-creat_date = sy-datum.
  head-created_by = sy-uname.
  head-langu    = sy-langu.
  head-purch_org  = ttab-ekorg.
  head-pur_group  = ttab-ekgrp.
  head-currency   = ttab-waers.
  head-exch_rate  = '1.00000'.
  head-doc_date   = sy-datum.
  head-status = 'I'.

  headx-comp_code = 'X'.
  headx-doc_type  = 'X'.
  headx-creat_date = 'X'.
  headx-created_by = 'X'.
  headx-langu = 'X'.
  headx-purch_org  = 'X'.
  headx-pur_group  = 'X'.
  headx-currency   = 'X'.
  headx-exch_rate  = 'X'.
  headx-doc_date   = 'X'.
  headx-vendor = 'X'.
  headx-status = 'X'.
***********************Заголовок заказа********************************

  LOOP AT ttab.
***********************Заголовок позиции заказа************************
    po_item   = po_item   + 10.
    IF sy-tabix = 1.
      pckg_no   = pckg_no + 1.
      line_no   = line_no + 1.
      pln_line  = pln_line + 2.
    ELSE.
      pckg_no   = pckg_no + 2.
      line_no   = line_no + 2.
      pln_line  = pln_line + 1.
    ENDIF.
    pckg_no1   = pckg_no1 + 2.
    line_no1   = line_no1 + 2.

    wa_item-po_item    = po_item.
    wa_item-short_text = ttab-ktext1.
    wa_item-plant      = ttab-werks.
    wa_item-matl_group = ttab-matkl.
    wa_item-quantity   = '1'.
    wa_item-net_price  = '0'.
    wa_item-price_unit = '0'.
    wa_item-item_cat   = '9'. Тип позиции D
    wa_item-acctasscat = '6'.
    wa_item-gr_ind     = 'X'.
    wa_item-gr_non_val = 'X'.
    wa_item-preq_no    = ttab-banfn.
    wa_item-preq_item  = '00010'.
    wa_item-pckg_no    = pckg_no.
    APPEND wa_item TO item.
    CLEAR wa_item.

    wa_itemx-po_item    = po_item.
    wa_itemx-po_itemx   = 'X'.
    wa_itemx-short_text = 'X'.
    wa_itemx-plant      = 'X'.
    wa_itemx-matl_group = 'X'.
    wa_itemx-quantity   = 'X'.
    wa_itemx-net_price  = 'X'.
    wa_itemx-price_unit = 'X'.
    wa_itemx-item_cat   = 'X'.
    wa_itemx-acctasscat = 'X'.
    wa_itemx-gr_ind     = 'X'.
    wa_itemx-gr_non_val = 'X'.
    wa_itemx-preq_no    = 'X'.
    wa_itemx-preq_item  = 'X'.
    wa_itemx-pckg_no    = 'X'.
    APPEND wa_itemx TO itemx.
    CLEAR wa_itemx.
***********************Заголовок позиции заказа************************
***********************Контировка позиции заказа***********************
    wa_acct-po_item    = po_item.
    wa_acct-serial_no  = '01'.
    wa_acct-gl_account = ttab-kstar.
    wa_acct-co_area    = '3000'.
    wa_acct-costcenter = ttab-kostl.
    wa_acct-orderid    = ttab-aufnr.
    APPEND wa_acct TO acct.
    CLEAR wa_acct.

    wa_acctx-po_item    = po_item.
    wa_acctx-serial_no  = '01'.
    wa_acctx-gl_account = 'X'.
    wa_acctx-co_area    = 'X'.
    wa_acctx-costcenter = 'X'.
    wa_acctx-orderid    = 'X'.
    APPEND wa_acctx TO acctx.
    CLEAR wa_acctx.
***********************Контировка позиции заказа***********************
***********************Услуга позиции заказа***************************

    wa_esllc-pckg_no    = pckg_no.
    wa_esllc-line_no    = line_no.
    wa_esllc-ext_line   = '0000000000'.
    wa_esllc-outl_level = '000'.
    wa_esllc-outl_ind   = 'X'.
    wa_esllc-subpckg_no = wa_esllc-pckg_no + 1.
    wa_esllc-price_unit = '0'.
    wa_esllc-from_line  = '000001'.
*    wa_esllc-short_text = 'Alarm System Installation'.
    APPEND wa_esllc TO esllc.
    CLEAR wa_esllc.

    wa_esllc-pckg_no    = pckg_no1.
    wa_esllc-line_no    = line_no1.
    wa_esllc-ext_line   = '0000000010'.
    wa_esllc-outl_level = '0'.
    wa_esllc-quantity   = ttab-menge.
    wa_esllc-price_unit = '1'.
    wa_esllc-base_uom   = ttab-meins.
    wa_esllc-gr_price   = ttab-brtwr.
*    wa_esllc-short_text = 'Alarm System Installation'.
    wa_esllc-pln_pckg   = ttab-sub_packno.
    wa_esllc-pln_line   = '0000000002'.
    wa_esllc-service  = ttab-srvpos.
    wa_esllc-matl_group = ttab-matkl.
    APPEND wa_esllc TO esllc.
    CLEAR  wa_esllc.

    wa_esklc-pckg_no = pckg_no1.
    wa_esklc-line_no = line_no1.
    wa_esklc-serno_line = '01'.
    wa_esklc-percentage = '100'.
    wa_esklc-serial_no = '01'.
    APPEND wa_esklc TO  esklc.
    CLEAR wa_esklc.
***********************Услуга позиции заказа***************************
  ENDLOOP.

***********************Z-поля в заголовке заказа***********************
  is_extension-zz_agrnum  = ttab-angnr.
  is_extension-zz_agrnumd = ttab-ihran.
  lt_ext-structure  = 'BAPI_TE_MEPOHEADER'.
  lt_ext-valuepart1 = is_extension.
  APPEND lt_ext.

  is_extensionx-zz_agrnum  = 'X'.
  is_extensionx-zz_agrnumd = 'X'.
  lt_ext-structure  = 'BAPI_TE_MEPOHEADERX'.
  lt_ext-valuepart1 = is_extensionx.
  APPEND lt_ext.
***********************Z-поля в заголовке заказа***********************

  CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      poheader          = head
      poheaderx         = headx
*     TESTRUN           =
    IMPORTING
      exppurchaseorder  = exppurchaseorder
*     EXPHEADER         =
*     EXPPOEXPIMPHEADER =
    TABLES
      return            = return
      poitem            = item
      poitemx           = itemx
      poaccount         = acct
      poaccountx        = acctx
      poservices        = esllc
      posrvaccessvalues = esklc
      extensionin       = lt_ext.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
« Последнее редактирование: Май 29, 2023, 03:19:12 pm от themax »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Пакетный ввод заказов на услуги
« Ответ #3 : Май 29, 2023, 10:36:57 pm »
You are not allowed to view links. Register or Login
Вы правы Олег. BAPi работает как часы.
Отлично, я вспоминаю, что кажется когда тоже имел проблемы именно с услугами и пришлось там чуть поковыряться пока создался документ, но давно было дело.

Sapforum.Biz

Re: Пакетный ввод заказов на услуги
« Ответ #3 : Май 29, 2023, 10:36:57 pm »