Текущее время: Вт, апр 23 2024, 17:51

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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