piatok 31. augusta 2007

Error message v ENJOY transakcii

Pouzitie error message v enjoy transakcii (napr. ME21N, ME22N, ME23N). Ak sa pouzije len klasicky message resp. mmpur_message_forced error message sice nabehne, ale doklad sa da ulozit. Dalsia dolezita vec je nezavesit message na sy-tcode ale na typ aktivity I_TRTYP (viac v prispevku Typ aktivity pre ENJOY transakcie).

napr.
CHECK i_ekko-bsart EQ 'AB'.
CHECK i_trtyp EQ 'V' OR i_trtyp EQ 'H'.
LOOP AT tekpo.
IF tekpo-konnr EQ space.
error = 'y'.
mmpur_metafield mmmfd_agreement.
mmpur_message_forced 'E' 'ZV' '000' 'Pos' tekpo-ebelp 'Kontraktnummer und Pos. eingeben!' ''.
ENDIF.
ENDLOOP.
ENDIF.
* NA KONIEC *
IF error = 'w'.
mmpur_message_forced 'W' 'FB' '000' text-wr1 matkl text-wr2 ''.
CLEAR error.
ENDIF.
IF error = 'y'.
mmpur_message 'E' 'ZV' '000' 'Bitte Fehler korrigieren !' '' '' ''.
ENDIF.

No batch input pri CALL TRANSACTION

V pripade ak sa spravaju polia v dialogu a v batch input rozdielne (napr. pri rozsireni infozaznamu cez call transaction ME11 je pole cena povinne, pricom cez ME11 je vyplnene) je potrebne zakliknut moznost no batch input (NOBINPT).

DATA: i_ctu TYPE CTU_PARAMS.
CLEAR lt_msg.REFRESH lt_msg. CLEAR i_ctu.

i_ctu-DISMODE = p_mode.
i_ctu-UPDMODE = 'S'.
i_ctu-NOBINPT = 'X'.

CALL TRANSACTION p_tcode USING i_bdc_table
OPTIONS FROM i_ctu
MESSAGES INTO lt_msg.

pondelok 27. augusta 2007

Preberanie ceny z POBJ do objednavky

Prebranie ceny je pre materialove polozky z infozaznamu (ak existuje) , z kontraktu (ak je nalinkovany). V pripade ze sa v POBJ zada EBAN-BPUEB (1 alebo 2) cena sa prebera z POBJ. Pre polozky bez materialu sa cena prebera do objednavky z POBJ.
Vid: FORM MEPO_UEBERNAHME_BANF_PREIS, Message 06 456 "Der Preis der Position & wurde aus der Banf übernommen"

Typ aktivity pre ENJOY transakcie

V ENJOY transakciah pri napr. user exitoch nie je vhodne pouzivat check na kod transakcie sy-tcode. Dovod je to, ze aj pokial spracuvam objednavku cez transakciu ME21N a prepnem sa do rezimu na zmenu, aktivita sa zmeni na zmenu ale kod transakcie zostava. To iste plati aj pre ME22N a prepnutie sa do rezimu zakladania. Preto je lepsie pouzit check na typ aktivity I_TRTYP. Hodnoty su: 'H' - "Hinzufuegen, 'V' - "Veraendern, 'A' - "Anzeigen, 'E' - Bestellerweiterung.

štvrtok 16. augusta 2007

Tabulka RBSELBEST - Prepojenie dokladu faktury len s hlavickou objednavky

V tabulke RBSELBEST su:
-hold-nute faktury, po zauctovani zmiznu z tabulky;
-faktury, ktore su naparovane len na objednavku, nie ne polozku
Faktura sa docasne prepoji len s hlavickou objednavky ak spracovatel faktury nie je schopny prepojit fakturu s jednotlivymi polozkami