Текущее время: Чт, апр 18 2024, 14:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Пакетный ввод
СообщениеДобавлено: Пт, сен 10 2004, 12:19 
Гость
Правильно ли все написано почему не отрабатывается пакетный ввод?
*&---------------------------------------------------------------------*
*& Report ZPERORG *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT ZPERORG.
* Описание таблиц:
* data - таблица приема из EXCEL
DATA: BEGIN OF DTAB OCCURS 0,
SHORT LIKE HRP1000-SHORT,
BEGDA LIKE HRP1000-BEGDA,
ENDDA LIKE HRP1000-ENDDA,
STEXT LIKE HRP1000-STEXT,
END OF DTAB.


DATA: BEGIN OF BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: N TYPE I,
CH TYPE I.
*Таблица для INTERN
DATA: BEGIN OF TAB_F OCCURS 0,
ROW TYPE KCD_EX_ROW_N,
COL TYPE KCD_EX_ROW_N,
VALUE TYPE CHAR50,
END OF TAB_F.

PARAMETERS: Filename like rlgrap-filename obligatory
DEFAULT 'C:\PERENOS\NShtatDol.xls'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR Filename.
CALL FUNCTION 'STPB1_GET_FILENAME'
EXPORTING
MODE = 'IMPORT'
IMPORTING
STEP_FILENAME = Filename.


START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = Filename
I_BEGIN_COL = 1
I_BEGIN_ROW = 2
I_END_COL = 4
I_END_ROW = 50000
TABLES
INTERN = TAB_F
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
* IF SY-SUBRC <> 0.
* MESSAGE i000 with Filename.
* ENDIF.

DESCRIBE TABLE TAB_F LINES N.
CH = N / 4.



LOOP AT TAB_F.
CASE TAB_F-COL.
WHEN '1'.

DTAB-SHORT = TAB_F-VALUE.
WHEN '2'.
DTAB-BEGDA = TAB_F-VALUE.
WHEN '3'.
DTAB-ENDDA = TAB_F-VALUE.
WHEN '4'.
DTAB-STEXT = TAB_F-VALUE.
append dtab.
endcase.

ENDLOOP.


DELETE ADJACENT DUPLICATES FROM DTAB COMPARING SHORT.



loop at DTAB.

REFRESH BDCDATA.
CLEAR BDCDATA.

perform bdc_dynpro using 'SAPMH5A0' '5100'.
perform bdc_field using 'BDC_CURSOR'
'PM0D1-SEARK'.
perform bdc_field using 'BDC_OKCODE'
'=INSE'.
perform bdc_field using 'PPHDR-PLVAR'
'01'.
perform bdc_field using 'PM0D1-SEARK'
''.
perform bdc_field using 'PM0D1-TIMR6'
'X'.
perform bdc_field using 'PPHDR-BEGDA'
SY-DATUM.
perform bdc_field using 'PPHDR-ENDDA'
'31.12.9999'.
perform bdc_field using 'MARKFELD(01)'
'X'.
perform bdc_dynpro using 'MP100000' '2000'.
perform bdc_field using 'BDC_CURSOR'
'P1000-STEXT'.
perform bdc_field using 'BDC_OKCODE'
'UPD'.
perform bdc_field using 'P1000-BEGDA'
DTAB-BEGDA.
perform bdc_field using 'P1000-ENDDA'
DTAB-ENDDA.
perform bdc_field using 'P1000-SHORT'
DTAB-SHORT.
perform bdc_field using 'P1000-STEXT'
DTAB-STEXT.
perform bdc_dynpro using 'SAPMH5A0' '5100'.
perform bdc_field using 'BDC_CURSOR'
'PPHDR-PLVAR'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'PPHDR-PLVAR'
'01'.
perform bdc_field using 'PM0D1-SEARK'
'50000692'.

call transaction 'PO13' using BDCDATA MODE 'E' UPDATE 'S'.

ENDLOOP.

*&--------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->PROGRAM text
* -->DYNPRO text
*---------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO

*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:50
Сообщения: 134
Откуда: UA->DE
Пол: Женский
А ты уже пробовал поменять в "call transaction 'PO13' using BDCDATA MODE 'E' UPDATE 'S'." MODE на 'A' и в отладчике посмотреть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:48 
Гость
Если ставим А, то ве работает, помогите


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:53 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Anonymous написал(а):
Если ставим А, то ве работает, помогите

А в чём конкретно то проявляется неработа?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:55 
Гость
Если ставим А, то ве работает, помогите


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:57 
Гость
Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:12 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 15:33
Сообщения: 160
Откуда: R/3 4.7
В 4.7 это Enjoy - транзакция.
А с такими использовать call transaction SAP не рекомендует.
Если в твоей версии R/3 это Enjoy транз. то ищи другие пути.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:15 
Гость
Что значит enjoy транзакция, извините может быть дурацкий вопрос


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:17 
Гость
Подскажите как закачать данные через PO13 для инфотипа объект, создать запись.....


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Anonymous написал(а):
Подскажите как закачать данные через PO13 для инфотипа объект, создать запись.....

CALL FUNCTION 'RH_OBJECT_CREATE' ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:54 
Гость
ДА ЧТО ВРОДЕ ТОГО КАК ЕГО ПРИКРУТИЬ К МОЕЙ ПРОГРАММЕ


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 14:03 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
Anonymous написал(а):
Что значит enjoy транзакция, извините может быть дурацкий вопрос

Если мне не изменяет память, то это транзакция которая в экранах имеет визуальные элементы которые отрабатываются только на уровне ГУЯ и поэтому в записанном пакетнике не отражаются данные и операции по нему. Хотя это со слов препода с курсов. Сам с ними дела не имел.

А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны. Я так со сбытовскими данными мудохался - когда наш функциональщик записал пакетник на одну группу данных, а потом кричал, что не может ввести другую.

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 14:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:50
Сообщения: 134
Откуда: UA->DE
Пол: Женский
vvvictor написал:
А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны.

Еще и появление каких-либо предупреждающих сообщений мешать может.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 15:33 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 15:33
Сообщения: 160
Откуда: R/3 4.7
Anonymous написал(а):
Что значит enjoy транзакция, извините может быть дурацкий вопрос

По логике SAP Enjoy - это вещь. А не Enjoy - ну совсем не Enjoy и все тут. :D
А вообще это транзакции с новым интерфейсом.
Для примера ME21 - не Enjoy, а вот ME21N - полный Enjoy. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, сен 12 2004, 16:25 
Гость
Anonymous написал(а):
Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает


Давайте оперировать фактами, а не впечатлениями, когда это возможно :) Чтобы посмотреть, на что собственоо жалуется пакетник, объявите таблицу для сбора сообщений
DATA: MSG_TAB TYPE TABLE OF BDCMSGCOLL.
и добавьте MESSAGES INTO msg_tab в конец вызова CALL TRANSACTION и посмотрите на улов.
Но вообще-то справедливо замечено, что использование BDC c Enjoy Transactions дело неблагодарное. Попробуйте использовать PP02, которая специально для этого расчитана.


Принять этот ответ
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: Ahrefs [Bot], Mail.RU Bot


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

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