SD--如何在輸出控制中增加自定義欄位

JackWu發表於2015-06-18

在sap的輸出控制中,我們有時需要增加系統未定義的欄位作為條件表的欄位,為了實現該需求我們就需要修改增強。

輸出控制用到的通訊結構

  • KOMKBK1 (Output Determination Communication Area CAS Appl. K1)
  • KOMKBV1 (Output Determination Communication Area Header Appl. V1)
  • KOMKBV2 (Output Determination Communication Area Header Appl. V2)
  • KOMKBV3 (Output Determination Communication Area Header Appl. V3)
  • KOMKBV5 (Communication Structure for Output Control Groups Appl. V5)
  • KOMPBV1 (Output Determination Communication Area Item Appl. V1)
  • KOMPBV2 (Output Determination Communication Area Item Appl. V2)
  • KOMPBV3 (Output Determination Communication Area Item Appl. V3)

SAP在這些結構中預留了INCLUDEs,使用者可以向這些結構新增新的欄位

  • Sales activities: KOMKBZ1 (in KOMKBK1)
  • Sales document header: KOMKBZ3 (in KOMKBV1)
  • Delivery header: KOMKBZ4 (in KOMKBV2)
  • Groups header: KOMKBZF (in KOMKBV5)
  • Billing document header: KOMKBZ5 (in KOMKBV3)
  • Sales document item: KOMPBZ1 (in KOMPBV1)
  • Delivery item: KOMPBZ3 (in KOMPBV2)
  • Billing document item: KOMKBZ5 (in KOMPBV3)

如果需要用新增欄位建立條件表,我們就需要同時向KOMBZ結構新增該欄位 (KOMBZ包含在通訊結構KOMB中).

 

完成以上兩部後,我們還需要增強sap的程式碼,對通訊結構的欄位進行賦值。sap在RVCOMFZZ, RVCOMFZ1 和RVCOMFZ4單元預留了很多的出口。

RVCOMFZ1中的出口如下:

  • USEREXIT_KOMPBV2_FILL (item fields in delivery)
  • USEREXIT_KOMPBV2_PARTNER (item fields for partners in delivery)
  • USEREXIT_KOMPBV3_FILL (item fields in billing document)
  • USEREXIT_KOMPBV3_PARTNER (item fields for partners in billing document)

RVCOMFZZ中的出口如下:

  • USEREXIT_KOMKBK1_FILL (header fields in sales activities)
  • USEREXIT_KOMKBK1_PARTNER (header fields for partners in sales activ.)
  • USEREXIT_KOMKBV1_FILL (header fields for sales documents)
  • USEREXIT_KOMKBV1_PARTNER (header fields for partners in sales documents)
  • USEREXIT_KOMKBV2_FILL (header fields in delivery)
  • USEREXIT_KOMKBV2_PARTNER (header fields for partners in delivery)
  • USEREXIT_KOMKBV3_FILL (header fields in billing document)
  • USEREXIT_KOMKBV3_PARTNER (header fields for partners in billing doc.)

RVCOMFZ4中的出口如下:

  • USEREXIT_KOMKBV5_FILL (header field for groups)

 

In output determination, communication table KOMB contains all key fields that can be used for conditions for output determination.

When you create new fields for output determination, you can distinguish between two types of fields:

  • Fields that are used in condition tables
  • Fields which are only used to query conditions.

Both types of field have to be included in KOMKBV1. Fields which are only used to query conditions do not have to be included in KOMB and T681F or in the field catalog.

對訂單輸出控制增加自定義欄位的詳細步驟如下;

1、用SE11向KOMKBV1中的KOMKBZ3增加自定義欄位;

2、用SE11向KOMB中的KOMBZ增加自定義欄位;

3、用V/86將自定義欄位新增到允許欄位中(欄位必須來自KOMB,否則在建表時不可見);

4、用V/57定義條件表;

5、定義條件儲存順序;

6、將條件儲存順序賦值給條件型別;

7、修改程式碼RVCOMFZZ中的子過程USEREXIT_KOMKBV1_FILL

相關文章