Добрый день! Подскажите, кто сталкивался с ситуацией . Используем Exit-расширение COPA0005 для пользовательского заполнения полей значений СОРА. На входе ФМ таблица полей значений на выходе экспортируется значение поля значения СОРА Вопрос следующий , как в Exit установить реакцию на валюту балансовой единицы и валюту ОУР. Когда просматриваем документ учета результатов, сформированный на фактуре, то поле значение СОРА заполненое на основании условий SD по стандарту имеет два значения в валюте балансовой единицы и валюте ОУР. Если заполнение поля значения осуществляется с помощью Exit . то значение полю присваивается одно, Насколько я понимаю должна быть реакция на переключение валют, но к сожаленью не знапю как это сделать.
Ниже привожу пример кода, который прописываю в Exit
FIELD-SYMBOLS <E_ITEM_VVKB1> TYPE RKE2_VVKB1. FIELD-SYMBOLS <E_ITEM_LGORT> TYPE LGORT_D. FIELD-SYMBOLS <I_ITEM_FKART> TYPE FKART. FIELD-SYMBOLS <I_ITEM_RBELN> TYPE RKERFBELNR. FIELD-SYMBOLS <I_ITEM_RPOSN> TYPE RKERFPOSNR. FIELD-SYMBOLS <I_ITEM_KBETR1> TYPE RKE2_VVKB1.
DATA: v_LGORT TYPE LGORT_D, KWERT1 TYPE KWERT, KBERT1 TYPE KBETR. ASSIGN ('I_ITEM-LGORT') TO <I_ITEM_LGORT>. ASSIGN ('I_ITEM-FKART') TO <I_ITEM_FKART>. ASSIGN ('I_ITEM-RBELN') TO <I_ITEM_RBELN>. ASSIGN ('I_ITEM-RPOSN') TO <I_ITEM_RPOSN>.
IF <I_ITEM_RBELN> IS NOT INITIAL. select KNUMV into KNUMV from VBRK CLIENT SPECIFIED where MANDT = SY-MANDT and VBELN = <I_ITEM_RBELN> and VTWEG in (30, 10 ) . ENDSELECT.
IF KNUMV is not initial. select KNUMV KPOSN KSCHL KWERT waers KBETR from KONV INTO CORRESPONDING FIELDS OF TABLE ZKONV where KNUMV = KNUMV and KSCHL = 'ZH1E'. ENDIF.
select VBELN POSNR MATNR from VBRP APPENDING corresponding fields of table ZVBRP where VBELN = <I_ITEM_RBELN> .
LOOP AT ZVBRP. if ZVBRP-MATNR = '000000000000000125' or ZVBRP-MATNR = '000000000000000124' or ZVBRP-MATNR = '000000000000000123' or ZVBRP-MATNR = '000000000000000122'. IF ZVBRP-MATNR = '000000000000000125'. LOOP AT ZKONV where KPOSN = ZVBRP-POSNR. KBERT1 = ZKONV-KBETR. * значение в валюте БО IF KBETR1 IS NOT INITIAL. ASSIGN ('E_ITEM-VVKB1') TO <E_ITEM_VVKB1>. <E_ITEM_VVKB1> = KBERT1. ENDIF. здесь должна быть реакция на валюту?????? KBERT1 = ZKONV-KWERT. * значение в валюте ОУР IF KWERT1 IS NOT INITIAL. ASSIGN ('E_ITEM-VVKB1') TO <E_ITEM_VVKB1>. <E_ITEM_VVKB1> = KBERT1. ENDIF. ENDLOOP. ENDIF. else. ENDIF. ENDLOOP. ENDIF.
|
|