SAPфорум.RU https://sapboard.ru/forum/ |
|
Пакетный ввод https://sapboard.ru/forum/viewtopic.php?f=13&t=519 |
Страница 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 |
Автор: | Pchelka [ Пт, сен 10 2004, 12:46 ] |
Заголовок сообщения: | |
А ты уже пробовал поменять в "call transaction 'PO13' using BDCDATA MODE 'E' UPDATE 'S'." MODE на 'A' и в отладчике посмотреть? |
Автор: | Гость [ Пт, сен 10 2004, 12:48 ] |
Заголовок сообщения: | |
Если ставим А, то ве работает, помогите |
Автор: | sy-uname [ Пт, сен 10 2004, 12:53 ] |
Заголовок сообщения: | |
Anonymous написал(а): Если ставим А, то ве работает, помогите
А в чём конкретно то проявляется неработа? |
Автор: | Гость [ Пт, сен 10 2004, 12:55 ] |
Заголовок сообщения: | |
Если ставим А, то ве работает, помогите |
Автор: | Гость [ Пт, сен 10 2004, 12:57 ] |
Заголовок сообщения: | |
Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает |
Автор: | SE 4.7 [ Пт, сен 10 2004, 13:12 ] |
Заголовок сообщения: | |
В 4.7 это Enjoy - транзакция. А с такими использовать call transaction SAP не рекомендует. Если в твоей версии R/3 это Enjoy транз. то ищи другие пути. |
Автор: | Гость [ Пт, сен 10 2004, 13:15 ] |
Заголовок сообщения: | |
Что значит enjoy транзакция, извините может быть дурацкий вопрос |
Автор: | Гость [ Пт, сен 10 2004, 13:17 ] |
Заголовок сообщения: | |
Подскажите как закачать данные через PO13 для инфотипа объект, создать запись..... |
Автор: | sy-uname [ Пт, сен 10 2004, 13:41 ] |
Заголовок сообщения: | |
Anonymous написал(а): Подскажите как закачать данные через PO13 для инфотипа объект, создать запись.....
CALL FUNCTION 'RH_OBJECT_CREATE' ? |
Автор: | Гость [ Пт, сен 10 2004, 13:54 ] |
Заголовок сообщения: | |
ДА ЧТО ВРОДЕ ТОГО КАК ЕГО ПРИКРУТИЬ К МОЕЙ ПРОГРАММЕ |
Автор: | vvvictor [ Пт, сен 10 2004, 14:03 ] |
Заголовок сообщения: | |
Anonymous написал(а): Что значит enjoy транзакция, извините может быть дурацкий вопрос
Если мне не изменяет память, то это транзакция которая в экранах имеет визуальные элементы которые отрабатываются только на уровне ГУЯ и поэтому в записанном пакетнике не отражаются данные и операции по нему. Хотя это со слов препода с курсов. Сам с ними дела не имел. А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны. Я так со сбытовскими данными мудохался - когда наш функциональщик записал пакетник на одну группу данных, а потом кричал, что не может ввести другую. |
Автор: | Pchelka [ Пт, сен 10 2004, 14:42 ] |
Заголовок сообщения: | |
vvvictor написал: А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны.
Еще и появление каких-либо предупреждающих сообщений мешать может. |
Автор: | SE 4.7 [ Пт, сен 10 2004, 15:33 ] |
Заголовок сообщения: | |
Anonymous написал(а): Что значит enjoy транзакция, извините может быть дурацкий вопрос
По логике SAP Enjoy - это вещь. А не Enjoy - ну совсем не Enjoy и все тут. А вообще это транзакции с новым интерфейсом. Для примера ME21 - не Enjoy, а вот ME21N - полный Enjoy. |
Автор: | Vadim [ Вс, сен 12 2004, 16:25 ] |
Заголовок сообщения: | |
Anonymous написал(а): Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает
Давайте оперировать фактами, а не впечатлениями, когда это возможно Чтобы посмотреть, на что собственоо жалуется пакетник, объявите таблицу для сбора сообщений DATA: MSG_TAB TYPE TABLE OF BDCMSGCOLL. и добавьте MESSAGES INTO msg_tab в конец вызова CALL TRANSACTION и посмотрите на улов. Но вообще-то справедливо замечено, что использование BDC c Enjoy Transactions дело неблагодарное. Попробуйте использовать PP02, которая специально для этого расчитана. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |