If you create purchase requisitions for a material with special procurement (MD01, MD02, MD03, MD14, MD15) within the material requirements planning, a vendor maintained in the source list is not copied into the purchase requisitions.
If you maintain a quota arrangement, the vendor is copied (from the quota arrangement) but not the source list record with the additional data.
The respective special procurement type for a source of supply cannot directly be maintained in the source list. Instead, the special procurement type from outline agreements that are entered in the source list are copied. If you maintain only one vendor, the special procurement type in the source list is always initial.
Solution1.
Instead of a source list entry, you have to maintain a quota arrangement (possibly up to 100%) for the source of supply including the appropriate special procurement type. The material must be allowed for the quota arrangement in the material master. In this case, only the vendor is found but not the additional data in the source list.
2.
You can also create outline agreements for the vendor in question and then maintain them in the source list. The special procurement type maintained in the item category of the outline agreement item is copied into the source list.
3.
You can also implement the program modification given below:
The line numbers refer to Release 2.2F.
Modification 1A:
The special procurement key is no longer checked when searching for source list entries.
Program LM61YF55
Routine:
000730 FORM CHECK_ORDERBUCH.
Old status:
000790 LOOP AT EORDX
000800 WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Bedarfste
000810 AND BDATU GE MDNBS-DAT00
000820 AND LIFNR EQ MDPSN-LIFNR
000830 AND SOBES EQ MDPSN-SOBES.
000840 MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP spinn
000850 AF61Y-REF01 = AF61Y-REF01 + 1.
000860 ENDLOOP.
Modification:
LOOP AT EORDX
WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Bedarfste
AND BDATU GE MDNBS-DAT00
MOD AND LIFNR EQ MDPSN-LIFNR.
MOD * AND LIFNR EQ MDPSN-LIFNR
MOD * AND SOBES EQ MDPSN-SOBES.
MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP spinn
AF61Y-REF01 = AF61Y-REF01 + 1.
ENDLOOP.
Old status:
001050 LOOP AT EORDX
001060 WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Beda
001070 AND BDATU GE MDNBS-DAT00
001080 AND WRK02 EQ MDPSN-WRK02
001090 AND SOBES EQ MDPSN-SOBES.
001100 MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP s
001110 AF61Y-REF01 = AF61Y-REF01 + 1.
001120 ENDLOOP.
Modification:
LOOP AT EORDX
WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Beda
AND BDATU GE MDNBS-DAT00
MOD AND WRK02 EQ MDPSN-WRK02.
MOD * AND WRK02 EQ MDPSN-WRK02
MOD * AND SOBES EQ MDPSN-SOBES.
MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP s
AF61Y-REF01 = AF61Y-REF01 + 1.
ENDLOOP.
Old status:
001170 LOOP AT EORDX
001180 WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Beda
001190 AND BDATU GE MDNBS-DAT00
001200 AND SOBES EQ MDPSN-SOBES.
001210 MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP s
001220 AF61Y-REF01 = AF61Y-REF01 + 1.
001230 ENDLOOP.
Modification:
LOOP AT EORDX
WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Beda
MOD AND BDATU GE MDNBS-DAT00.
MOD * AND BDATU GE MDNBS-DAT00
MOD * AND SOBES EQ MDPSN-SOBES.
MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP s
AF61Y-REF01 = AF61Y-REF01 + 1.
ENDLOOP.
Old status:
001290 LOOP AT EORDX
001300 WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Bedarfs
001310 AND BDATU GE MDNBS-DAT00
001320 AND SOBES EQ MDPSN-SOBES.
001330 MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP spi
001340 AF61Y-REF01 = AF61Y-REF01 + 1.
001350 ENDLOOP.
Modification:
LOOP AT EORDX
WHERE VDATU LE MDNBS-DAT00 "MDNBS-DAT00 ist der Bedarfs
MOD AND BDATU GE MDNBS-DAT00.
MOD * AND BDATU GE MDNBS-DAT00
MOD * AND SOBES EQ MDPSN-SOBES.
MOVE EORDX TO H_EORDX. "Treffer merken, da ABAP spi
AF61Y-REF01 = AF61Y-REF01 + 1.
ENDLOOP.
Modification 1B:
The special procurement key is only checked for outline agreements when searching for source list entries.
1. Make the modification specified unter 1A.
2. Replace in each loop "LOOP AT EORDX", thus four times, the two lines
MOVE EORDX TO H_EORDX.
AF61Y-REF01 = AF61Y-REF01 + 1.
by
MOD IF EORDX-EBELN IS INITIAL.
MOVE EORDX TO H_EORDX.
AF61Y-REF01 = AF61Y-REF01 + 1.
MOD ELSE.
MOD IF EORDX-SOBES EQ MDPSN-SOBES.
MOD MOVE EORDX TO H_EORDX.
MOD AF61Y-REF01 = AF61Y-REF01 + 1.
MOD ENDIF.
MOD ENDIF.
You can revert the modifications by deleting the program lines marked with MOD and by changing comment lines marked with MOD (marked with * at the beginning of the line) into regular program code lines (delete '*').
Caution!
If you allocate a material by quota and if a quota item has a special procurement key but no vendor, the system searches for a vendor from the source list without checking the special procurement key.
No comments:
Post a Comment