Текущее время: Пт, апр 19 2024, 18:29

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Вт, дек 01 2020, 16:11 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 420
Пол: Женский
В программе SAPLMR1M ( экран 6000 ) поле ZHKONT отсутствует . Однако, в описании поля значится что оно доступно для пакетного ввода на этом экране в этой программе. Фактически это поле есть в подпрограмме SAPLXM08 (экран 0400) программы SAPLMR1M . При присвоении значения ZHKONT система сообщает что это поле отсутствует на екране SAPLMR1M ( экран 6000 ) . Возможно ли это обойти ?

.......
perform bdc_dynpro using 'SAPLMR1M' '6000'. " основная программа
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RM08M-VORGANG' '1'.
perform bdc_field using 'BDC_SUBSCR' 'SAPLMR1M
6005header_and_items'.
........
perform bdc_field using 'BDC_SUBSCR' 'SAPLXM08
0400custscr1'. " имя подпрограммы
perform bdc_field using 'BDC_CURSOR' 'ZHKONT'. " позицирование
perform bdc_field using 'ZHKONT' '0068263150'. " присвоение значения полю
........


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Ср, дек 02 2020, 12:28 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
там проблема так понимаю что у вас кустомный подэкран находится на закладке, которая не видна по умолчанию? Так переключиться на неё, выдать команду переключения между закладками. Они (константы команд) в топовом модуле описаны.

Code:
* fќr Prototyp Direktbuchen
      fcoitems_po      LIKE ok-code VALUE 'ITEMS_PO',    " Bestellbezug
      fcoitems_gl      LIKE ok-code VALUE 'ITEMS_G/L',   " Sachkonto
      fcoitems_mat     LIKE ok-code VALUE 'ITEMS_MAT',   " Material
      fcoitems_asset   LIKE ok-code VALUE 'ITEMS_ASSET', " Anlage
* customer screen in MIRO
      fcoitems_cust    LIKE ok-code VALUE 'ITEMS_CUST',  " cust.screen


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Ср, дек 02 2020, 14:14 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 420
Пол: Женский
В моем случае

perform bdc_field using 'BDC_SUBSCR' 'SAPLXM08 0400custscr1'. " имя подпрограммы

и есть переход на подпрограмму SAPLXM08 экран 0400 .

Далее идет позицианирование и присвоение значения полю ZHKONT

perform bdc_field using 'BDC_CURSOR' 'ZHKONT'. " позицирование
perform bdc_field using 'ZHKONT' '0068263150'. " присвоение значения полю

Но поле ZHKONT описано в системе как поле основной программы(не пойму почему ?) для пакетного ввода но фактически это

поле подпрограммы SAPLXM08 экран 0400 - система выдает сообщение что не видит этого поля в основной программе. Как обойти это ?
Как использовать в программе то что Вы предлагаете ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Ср, дек 02 2020, 16:04 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
стандартно, сначала выдать команду на переключение закладки
Code:
perform bdc_dynpro using 'SAPLMR1M' '6000'.
perform bdc_field using 'BDC_OKCODE' 'ITEMS_CUST'. "ну или какой там код команды на вашу закладку переключит


потом уже, как экран перерисуется, пробовать заполнять закладку.
Code:
perform bdc_dynpro using 'SAPLMR1M' '6000'.
perform bdc_field using 'ZHKONT' '0068263150'. " присвоение значения полю


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Ср, дек 02 2020, 16:57 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 420
Пол: Женский
Я не пойму что происходит после

perform bdc_field using 'BDC_OKCODE' 'ITEMS_CUST'. "ну или какой там код команды на вашу закладку переключит
И что должно быть после !

Где мне взять Код команды на мою закладку Подробно?
В транзакции МІRO не получается заполнить поле Контрольній счет ( поле ZKONT) на закладке Подробно .Как должно быть в программе ?
......
perform bdc_dynpro using 'SAPLMR1M' '6000'. " основная программа
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RM08M-VORGANG' '1'.
perform bdc_field using 'BDC_SUBSCR' 'SAPLMR1M
6005header_and_items'.
........
perform bdc_field using 'BDC_OKCODE' 'ITEMS_CUST'. ??????????
perform bdc_field using 'BDC_SUBSCR' 'SAPLXM08
0400custscr1'. " имя подпрограммы
perform bdc_field using 'BDC_CURSOR' 'ZHKONT'. " позицирование
perform bdc_field using 'ZHKONT' '0068263150'. " присвоение значения полю
........


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Чт, дек 03 2020, 17:20 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 420
Пол: Женский
Пакетником эту проблему не решить . Решила через ВАРІ + замещение значения Контрольного счета .Получилось!

wa_header-invoice_ind = 'X'.
wa_header-doc_date = '20201030'. "Document date
wa_header-pstng_date = '20201030'. "Posting date
wa_header-ref_doc_no = 'SILKA'. "Ref doc. No.
wa_header-comp_code = '010L'. "Company Code
wa_header-gross_amount = '267795.07'. "Gross amount(aft.tax)for invoice
wa_header-calc_tax_ind = 'X'.
wa_header-currency = 'USD'. "Currency Field
wa_header-HEADER_TXT = 'ТЕКСТ ЗАГОЛОВКА ДОК'.
wa_header-item_text = 'TEKST POZICII'.
*
wa_item-invoice_doc_item = '000011'.
wa_item-po_number = '4500002398'. "PO number
wa_item-po_item = '10'. "PO item number
wa_item-ref_doc = ' '. "GR number
wa_item-ref_doc_year = ' '. "GR fiscal year
wa_item-ref_doc_it = ' '. "GR item number
wa_item-tax_code = 'N2'. "Tax code applicable
wa_item-item_amount = '223162.56'. "Item amount
wa_item-quantity = '1'. "Invoice quantity
wa_item-po_unit = 'SVC'. "UoM

APPEND wa_item TO it_item.
*
*********************************************************
*<<<<<<<<<CALL BAPI fOR INCOMINGINVOICE_CREATE>>>>>>>>>>*
*********************************************************
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
headerdata = wa_header
* ADDRESSDATA =
IMPORTING
invoicedocnumber = g_invno
fiscalyear = g_fyear
TABLES
itemdata = it_item
* ACCOUNTINGDATA =
* GLACCOUNTDATA =
* MATERIALDATA =
* TAXDATA =
* WITHTAXDATA =
* VENDORITEMSPLITDATA =
return = it_ret
* EXTENSIONIN =
.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Пт, дек 04 2020, 08:48 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
обычно помогает abap-трассировка перехода между закладками, чтобы sy-ucomm увидеть


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетный ввод. Как присвоить значение полю ?
СообщениеДобавлено: Пт, дек 04 2020, 09:20 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
oko_5 написала:
Я не пойму что происходит после

perform bdc_field using 'BDC_OKCODE' 'ITEMS_CUST'. "ну или какой там код команды на вашу закладку переключит
И что должно быть после !

Где мне взять Код команды на мою закладку Подробно?
В транзакции МІRO не получается заполнить поле Контрольній счет ( поле ZKONT) на закладке Подробно .Как должно быть в программе ?
......
perform bdc_dynpro using 'SAPLMR1M' '6000'. " основная программа
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RM08M-VORGANG' '1'.
perform bdc_field using 'BDC_SUBSCR' 'SAPLMR1M
6005header_and_items'.
........
perform bdc_dynpro using 'SAPLMR1M' '6000'. " основная программа
perform bdc_field using 'BDC_OKCODE' 'ITEMS_CUST'. ??????????

perform bdc_dynpro using 'SAPLMR1M' '6000'. " основная программа
perform bdc_field using 'BDC_SUBSCR' 'SAPLXM08
0400custscr1'. " имя подпрограммы
perform bdc_field using 'BDC_CURSOR' 'ZHKONT'. " позицирование
perform bdc_field using 'ZHKONT' '0068263150'. " присвоение значения полю
........


Наверное както так (шрифтом выделил). Вы же даёте команду, которая перерисовывает экран и активирует другую закладку на нём. Поэтому каждый блок с bdc_dynpro надо начинать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB