销售订单的一个直接修改源程序的地方 MV45AFZZ 可以控制销售订单上的价格显示不显示
2012-06-04 13:07
761 查看
***INCLUDE MV45AFZZ .
************************************************************************
* *
* This include is reserved for user modifications *
* *
* Forms for sales document processing *
* *
* The name of modification modules should begin with 'ZZ'. *
* *
************************************************************************
*---------------------------------------------------------------------*
* FORM ZZEXAMPLE *
*---------------------------------------------------------------------*
* text...................................... *
*---------------------------------------------------------------------*
*FORM ZZEXAMPLE.
* ...
*ENDFORM.
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_DELETE_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to delete data in additional tables *
* when a sales document is deleted. *
* *
* This form is called in dialog at the end of form BELEG_LOESCHEN*
* just before form BELEG_SICHERN is performed to delete the *
* datas on the database. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_DELETE_DOCUMENT.
ENDFORM. "USEREXIT_DELETE_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_FIELD_MODIFICATION *
*---------------------------------------------------------------------*
* This userexit can be used to modify the attributes of *
* screen fields. *
* This form is processed for each field in the screen. *
* *
* The use of the fields screen-group1 to screen-group4 is: *
* *
* Screen-group1: Automatic modification contolles by transaction*
* MFAW. *
* Screen-group2: Contents 'LOO' for steploop-fields. *
* Screen-group3: Used for modififaction, which are dependent on *
* control tables or other fix information. *
* Screen-group4: Unused *
* *
* For field mofifications, which are dependent on the document *
* status, you can use the status field in the workareas *
* XVBAP for item status and XVBUK for header status. *
* *
* This form is called from module FELDAUSWAHL. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_FIELD_MODIFICATION.
DATA: ZSUBRC LIKE SY-SUBRC.
* CASE SCREEN-GROUP3.
* WHEN '900'.
* IF VBAK-VBTYP NE 'A'.
* SCREEN-ACTIVE = 0.
* ENDIF.
* ENDCASE.
AUTHORITY-CHECK OBJECT 'Z_SO_MONEY'
ID 'VKORG' FIELD VBAK-VKORG
ID 'VTWEG' FIELD VBAK-VTWEG
ID 'SPART' FIELD VBAK-SPART
ID 'AUART' FIELD VBAK-AUART
ID 'ACTVT' DUMMY.
ZSUBRC = SY-SUBRC.
IF ZSUBRC NE 0 AND ( SCREEN-NAME = 'VBAK-NETWR'
OR SCREEN-NAME = 'VBAK-WAERK'
OR SCREEN-NAME = 'VBAP-NETWR'
OR SCREEN-NAME = 'KOMV-KBETR'
OR SCREEN-NAME = 'RV45A-KOEIN'
OR SCREEN-NAME = 'VBAP-NETPR'
OR SCREEN-NAME = 'VBAP-NETWR'
OR SCREEN-NAME = 'VBAP-WAERK' ).
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
* CASE SCREEN-GROUP3.
* WHEN '900'.
* IF VBAK-VBTYP NE 'A'.
* SCREEN-ACTIVE = 0.
* ENDIF.
* ENDCASE.
* CASE SCREEN-NAME.
* WHEN 'VBAK-VBELN'.
* SCREEN-ACTIVE = 0.
* ENDCASE.
ENDFORM. "USEREXIT_FIELD_MODIFICATION
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBAK *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument header workaerea VBAK. *
* *
* SVBAK-TABIX = 0: Create header *
* SVBAK-TABIX > 0: Change header *
* *
* This form is called at the end of form VBAK_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBAK.
DATA: L_KTGRD LIKE VBKD-KTGRD,
L_PSTYV LIKE VBAP-PSTYV.
DATA: WA_VBKD LIKE XVBKD.
LOOP AT XVBKD INTO WA_VBKD.
L_KTGRD = WA_VBKD-KTGRD.
ENDLOOP.
LOOP AT XVBAP.
SELECT SINGLE PSTYV INTO L_PSTYV FROM ZTSD01
WHERE AUART = VBAK-AUART
AND KTGRD = L_KTGRD.
IF SY-SUBRC = 0.
XVBAP-PSTYV = L_PSTYV.
MODIFY XVBAP.
ENDIF.
ENDLOOP.
* vbak-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBAK
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBAP *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument item workaerea VBAP *
* *
* SVBAP-TABIX = 0: Create item *
* SVBAP-TABIX > 0: Change item *
* *
* This form is called at the end of form VBAP_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBAP.
* VBAP-zzfield = xxxx-zzfield2.
*{ INSERT DEVK900046 1
***VA01增强 add by panxinyi 2012.2.17
DATA: L_KTGRD LIKE VBKD-KTGRD,
L_PSTYV LIKE VBAP-PSTYV.
DATA: WA_VBKD LIKE XVBKD.
LOOP AT XVBKD INTO WA_VBKD.
L_KTGRD = WA_VBKD-KTGRD.
ENDLOOP.
SELECT SINGLE PSTYV INTO L_PSTYV FROM ZTSD01
WHERE AUART = VBAK-AUART
AND KTGRD = L_KTGRD.
IF SY-SUBRC = 0.
VBAP-PSTYV = L_PSTYV.
ENDIF.
***VA01增强
*} INSERT
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBAP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBEP *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument schedule line workaerea VBEP *
* *
* SVBEP-TABIX = 0: Create schedule line *
* SVBEP-TABIX > 0: Change schedule line *
* *
* This form is called at the end of form VBEP_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBEP.
* VBEP-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBEP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBKD *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument business data workaerea VBKD *
* *
* SVBKD-TABIX = 0: Create data *
* SVBKD-TABIX > 0: Change data *
* *
* This form is called at the end of form VBKD_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBKD.
* VBKD-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBKD
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_NUMBER_RANGE *
*---------------------------------------------------------------------*
* This userexit can be used to determine the numberranges for *
* the internal document number. *
* *
* US_RANGE_INTERN - internal number range *
* *
* This form is called from form BELEG_SICHERN *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.
* Example: Numer range from TVAK like in standard
* US_RANGE_INTERN = TVAK-NUMKI.
* interne Nummernvergabe
DATA: DA_RC LIKE INRI-RETURNCODE.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = US_RANGE_INTERN
OBJECT = 'RV_BELEG'
IMPORTING
RETURNCODE = DA_RC
NUMBER = VBAK-VBELN.
CASE DA_RC.
WHEN '1'.
MESSAGE I532 WITH US_RANGE_INTERN 'RV_BELEG'.
WHEN '2'.
MESSAGE I533 WITH US_RANGE_INTERN 'RV_BELEG'.
ENDCASE.
**更改销售订单编码规则 2012.03.06
DATA:L_NUMBE LIKE ZTSD04-NUMBE.
DATA:L_VBELN LIKE VBAK-VBELN.
DATA:L_VBELN1 LIKE VBAK-VBELN.
DATA:L_VBELN2 LIKE VBAK-VBELN.
DATA: INTERVAL LIKE NRIV.
SELECT SINGLE NUMBE INTO L_NUMBE FROM ZTSD04
WHERE VKORG = VBAK-VKORG.
IF L_NUMBE IS INITIAL.
MESSAGE '该销售组织未维护号码段,请联系管理员' TYPE 'E'.
EXIT.
ENDIF.
CALL FUNCTION 'NUMBER_GET_INFO'
EXPORTING
NR_RANGE_NR = US_RANGE_INTERN
OBJECT = 'RV_BELEG'
IMPORTING
INTERVAL = INTERVAL.
L_VBELN1 = INTERVAL-FROMNUMBER+2(8).
CONCATENATE L_NUMBE L_VBELN1 INTO L_VBELN1.
CONDENSE L_VBELN1 NO-GAPS.
L_VBELN2 = INTERVAL-TONUMBER+2(8).
CONCATENATE L_NUMBE L_VBELN2 INTO L_VBELN2.
CONDENSE L_VBELN2 NO-GAPS.
SELECT MAX( VBELN ) INTO L_VBELN FROM VBAK
WHERE VBELN > L_VBELN1
AND VBELN < L_VBELN2.
IF L_VBELN IS INITIAL.
* vbak-vbeln = vbak-vbeln+2(8).
* CONCATENATE l_numbe vbak-vbeln INTO vbak-vbeln.
VBAK-VBELN = L_VBELN1 + 1.
CONDENSE VBAK-VBELN NO-GAPS.
ELSE.
L_VBELN = L_VBELN + 1.
IF L_VBELN+2(8) > INTERVAL-TONUMBER+2(8).
MESSAGE '该销售组织号码段已用完,请联系管理员' TYPE 'E'.
EXIT.
ELSE.
VBAK-VBELN = L_VBELN.
ENDIF.
ENDIF.
***
ENDFORM. "USEREXIT_NUMBER_RANGE
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_PRICING_PREPARE_TKOMK *
*---------------------------------------------------------------------*
* This userexit can be used to move additional fields into the *
* communication table which is used for pricing: *
* *
* TKOMK for header fields *
* *
* This form is called from form PREISFINDUNG_VORBEREITEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_PRICING_PREPARE_TKOMK.
* TKOMK-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMK
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_PRICING_PREPARE_TKOMP *
*---------------------------------------------------------------------*
* This userexit can be used to move additional fields into the *
* communication table which is used for pricing: *
* *
* TKOMP for item fields *
* *
* This form is called from form PREISFINDUNG_VORBEREITEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_PRICING_PREPARE_TKOMP.
* TKOMP-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_READ_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to read data in additional tables *
* when the program reads a sales document. *
* *
* This form is called at the end of form BELEG_LESEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_READ_DOCUMENT.
ENDFORM. "USEREXIT_READ_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_SAVE_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to save data in additional tables *
* when a document is saved. *
* *
* If field T180-TRTYP contents 'H', the document will be *
* created, else it will be changed. *
* *
* This form is called at from form BELEG_SICHERN, before COMMIT *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT.
* Example:
* CALL FUNCTION 'ZZ_EXAMPLE'
* IN UPDATE TASK
* EXPORTING
* ZZTAB = ZZTAB.
ENDFORM. "USEREXIT_SAVE_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_SAVE_DOCUMENT_PREPARE *
*---------------------------------------------------------------------*
* This userexit can be used for changes or checks, before a *
* document is saved. *
* *
* If field T180-TRTYP contents 'H', the document will be *
* created, else it will be changed. *
* *
* This form is called at the beginning of form BELEG_SICHERN *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT_PREPARE.
ENDFORM. "USEREXIT_SAVE_DOCUMENT_PREPARE
*eject
************************************************************************
* *
* This include is reserved for user modifications *
* *
* Forms for sales document processing *
* *
* The name of modification modules should begin with 'ZZ'. *
* *
************************************************************************
*---------------------------------------------------------------------*
* FORM ZZEXAMPLE *
*---------------------------------------------------------------------*
* text...................................... *
*---------------------------------------------------------------------*
*FORM ZZEXAMPLE.
* ...
*ENDFORM.
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_DELETE_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to delete data in additional tables *
* when a sales document is deleted. *
* *
* This form is called in dialog at the end of form BELEG_LOESCHEN*
* just before form BELEG_SICHERN is performed to delete the *
* datas on the database. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_DELETE_DOCUMENT.
ENDFORM. "USEREXIT_DELETE_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_FIELD_MODIFICATION *
*---------------------------------------------------------------------*
* This userexit can be used to modify the attributes of *
* screen fields. *
* This form is processed for each field in the screen. *
* *
* The use of the fields screen-group1 to screen-group4 is: *
* *
* Screen-group1: Automatic modification contolles by transaction*
* MFAW. *
* Screen-group2: Contents 'LOO' for steploop-fields. *
* Screen-group3: Used for modififaction, which are dependent on *
* control tables or other fix information. *
* Screen-group4: Unused *
* *
* For field mofifications, which are dependent on the document *
* status, you can use the status field in the workareas *
* XVBAP for item status and XVBUK for header status. *
* *
* This form is called from module FELDAUSWAHL. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_FIELD_MODIFICATION.
DATA: ZSUBRC LIKE SY-SUBRC.
* CASE SCREEN-GROUP3.
* WHEN '900'.
* IF VBAK-VBTYP NE 'A'.
* SCREEN-ACTIVE = 0.
* ENDIF.
* ENDCASE.
AUTHORITY-CHECK OBJECT 'Z_SO_MONEY'
ID 'VKORG' FIELD VBAK-VKORG
ID 'VTWEG' FIELD VBAK-VTWEG
ID 'SPART' FIELD VBAK-SPART
ID 'AUART' FIELD VBAK-AUART
ID 'ACTVT' DUMMY.
ZSUBRC = SY-SUBRC.
IF ZSUBRC NE 0 AND ( SCREEN-NAME = 'VBAK-NETWR'
OR SCREEN-NAME = 'VBAK-WAERK'
OR SCREEN-NAME = 'VBAP-NETWR'
OR SCREEN-NAME = 'KOMV-KBETR'
OR SCREEN-NAME = 'RV45A-KOEIN'
OR SCREEN-NAME = 'VBAP-NETPR'
OR SCREEN-NAME = 'VBAP-NETWR'
OR SCREEN-NAME = 'VBAP-WAERK' ).
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
* CASE SCREEN-GROUP3.
* WHEN '900'.
* IF VBAK-VBTYP NE 'A'.
* SCREEN-ACTIVE = 0.
* ENDIF.
* ENDCASE.
* CASE SCREEN-NAME.
* WHEN 'VBAK-VBELN'.
* SCREEN-ACTIVE = 0.
* ENDCASE.
ENDFORM. "USEREXIT_FIELD_MODIFICATION
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBAK *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument header workaerea VBAK. *
* *
* SVBAK-TABIX = 0: Create header *
* SVBAK-TABIX > 0: Change header *
* *
* This form is called at the end of form VBAK_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBAK.
DATA: L_KTGRD LIKE VBKD-KTGRD,
L_PSTYV LIKE VBAP-PSTYV.
DATA: WA_VBKD LIKE XVBKD.
LOOP AT XVBKD INTO WA_VBKD.
L_KTGRD = WA_VBKD-KTGRD.
ENDLOOP.
LOOP AT XVBAP.
SELECT SINGLE PSTYV INTO L_PSTYV FROM ZTSD01
WHERE AUART = VBAK-AUART
AND KTGRD = L_KTGRD.
IF SY-SUBRC = 0.
XVBAP-PSTYV = L_PSTYV.
MODIFY XVBAP.
ENDIF.
ENDLOOP.
* vbak-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBAK
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBAP *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument item workaerea VBAP *
* *
* SVBAP-TABIX = 0: Create item *
* SVBAP-TABIX > 0: Change item *
* *
* This form is called at the end of form VBAP_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBAP.
* VBAP-zzfield = xxxx-zzfield2.
*{ INSERT DEVK900046 1
***VA01增强 add by panxinyi 2012.2.17
DATA: L_KTGRD LIKE VBKD-KTGRD,
L_PSTYV LIKE VBAP-PSTYV.
DATA: WA_VBKD LIKE XVBKD.
LOOP AT XVBKD INTO WA_VBKD.
L_KTGRD = WA_VBKD-KTGRD.
ENDLOOP.
SELECT SINGLE PSTYV INTO L_PSTYV FROM ZTSD01
WHERE AUART = VBAK-AUART
AND KTGRD = L_KTGRD.
IF SY-SUBRC = 0.
VBAP-PSTYV = L_PSTYV.
ENDIF.
***VA01增强
*} INSERT
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBAP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBEP *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument schedule line workaerea VBEP *
* *
* SVBEP-TABIX = 0: Create schedule line *
* SVBEP-TABIX > 0: Change schedule line *
* *
* This form is called at the end of form VBEP_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBEP.
* VBEP-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBEP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_MOVE_FIELD_TO_VBKD *
*---------------------------------------------------------------------*
* This userexit can be used to move some fields into the sales *
* dokument business data workaerea VBKD *
* *
* SVBKD-TABIX = 0: Create data *
* SVBKD-TABIX > 0: Change data *
* *
* This form is called at the end of form VBKD_FUELLEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBKD.
* VBKD-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_MOVE_FIELD_TO_VBKD
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_NUMBER_RANGE *
*---------------------------------------------------------------------*
* This userexit can be used to determine the numberranges for *
* the internal document number. *
* *
* US_RANGE_INTERN - internal number range *
* *
* This form is called from form BELEG_SICHERN *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.
* Example: Numer range from TVAK like in standard
* US_RANGE_INTERN = TVAK-NUMKI.
* interne Nummernvergabe
DATA: DA_RC LIKE INRI-RETURNCODE.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = US_RANGE_INTERN
OBJECT = 'RV_BELEG'
IMPORTING
RETURNCODE = DA_RC
NUMBER = VBAK-VBELN.
CASE DA_RC.
WHEN '1'.
MESSAGE I532 WITH US_RANGE_INTERN 'RV_BELEG'.
WHEN '2'.
MESSAGE I533 WITH US_RANGE_INTERN 'RV_BELEG'.
ENDCASE.
**更改销售订单编码规则 2012.03.06
DATA:L_NUMBE LIKE ZTSD04-NUMBE.
DATA:L_VBELN LIKE VBAK-VBELN.
DATA:L_VBELN1 LIKE VBAK-VBELN.
DATA:L_VBELN2 LIKE VBAK-VBELN.
DATA: INTERVAL LIKE NRIV.
SELECT SINGLE NUMBE INTO L_NUMBE FROM ZTSD04
WHERE VKORG = VBAK-VKORG.
IF L_NUMBE IS INITIAL.
MESSAGE '该销售组织未维护号码段,请联系管理员' TYPE 'E'.
EXIT.
ENDIF.
CALL FUNCTION 'NUMBER_GET_INFO'
EXPORTING
NR_RANGE_NR = US_RANGE_INTERN
OBJECT = 'RV_BELEG'
IMPORTING
INTERVAL = INTERVAL.
L_VBELN1 = INTERVAL-FROMNUMBER+2(8).
CONCATENATE L_NUMBE L_VBELN1 INTO L_VBELN1.
CONDENSE L_VBELN1 NO-GAPS.
L_VBELN2 = INTERVAL-TONUMBER+2(8).
CONCATENATE L_NUMBE L_VBELN2 INTO L_VBELN2.
CONDENSE L_VBELN2 NO-GAPS.
SELECT MAX( VBELN ) INTO L_VBELN FROM VBAK
WHERE VBELN > L_VBELN1
AND VBELN < L_VBELN2.
IF L_VBELN IS INITIAL.
* vbak-vbeln = vbak-vbeln+2(8).
* CONCATENATE l_numbe vbak-vbeln INTO vbak-vbeln.
VBAK-VBELN = L_VBELN1 + 1.
CONDENSE VBAK-VBELN NO-GAPS.
ELSE.
L_VBELN = L_VBELN + 1.
IF L_VBELN+2(8) > INTERVAL-TONUMBER+2(8).
MESSAGE '该销售组织号码段已用完,请联系管理员' TYPE 'E'.
EXIT.
ELSE.
VBAK-VBELN = L_VBELN.
ENDIF.
ENDIF.
***
ENDFORM. "USEREXIT_NUMBER_RANGE
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_PRICING_PREPARE_TKOMK *
*---------------------------------------------------------------------*
* This userexit can be used to move additional fields into the *
* communication table which is used for pricing: *
* *
* TKOMK for header fields *
* *
* This form is called from form PREISFINDUNG_VORBEREITEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_PRICING_PREPARE_TKOMK.
* TKOMK-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMK
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_PRICING_PREPARE_TKOMP *
*---------------------------------------------------------------------*
* This userexit can be used to move additional fields into the *
* communication table which is used for pricing: *
* *
* TKOMP for item fields *
* *
* This form is called from form PREISFINDUNG_VORBEREITEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_PRICING_PREPARE_TKOMP.
* TKOMP-zzfield = xxxx-zzfield2.
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMP
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_READ_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to read data in additional tables *
* when the program reads a sales document. *
* *
* This form is called at the end of form BELEG_LESEN. *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_READ_DOCUMENT.
ENDFORM. "USEREXIT_READ_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_SAVE_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to save data in additional tables *
* when a document is saved. *
* *
* If field T180-TRTYP contents 'H', the document will be *
* created, else it will be changed. *
* *
* This form is called at from form BELEG_SICHERN, before COMMIT *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT.
* Example:
* CALL FUNCTION 'ZZ_EXAMPLE'
* IN UPDATE TASK
* EXPORTING
* ZZTAB = ZZTAB.
ENDFORM. "USEREXIT_SAVE_DOCUMENT
*eject
*---------------------------------------------------------------------*
* FORM USEREXIT_SAVE_DOCUMENT_PREPARE *
*---------------------------------------------------------------------*
* This userexit can be used for changes or checks, before a *
* document is saved. *
* *
* If field T180-TRTYP contents 'H', the document will be *
* created, else it will be changed. *
* *
* This form is called at the beginning of form BELEG_SICHERN *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT_PREPARE.
ENDFORM. "USEREXIT_SAVE_DOCUMENT_PREPARE
*eject
相关文章推荐
- 销售订单的一个直接修改源程序的地方 MV45AFZZ 可以控制销售订单上的价格显示不显示
- 【简介Introduction】 DisplayTag是一个开源的自定义标签库(Custom Tag lib),他提供了直接而有效的格式化web视图层数据的有效手段。你可以在现在流行的web应用的MV
- BAPI_SALESORDER_CHANGE修改销售订单价格
- 文档显示部件:用word查看方法在word中直接显示文档显示部件中的内容,并可以设置是否允许修改word内容。 True:不允许修改word内容;false:允许修改word内容。 实例应用:在窗体
- 今天做一个winform,想直接把窗体改成输出类库,其他地方直接调结果总提示不能注册组件,回来调度,可以,总结,windows还是直接用新建的类型项目,改容易出错
- Unity3D中建一个GL中可以修改颜色的材质以及显示的例子
- TextView中显示价格并且中间直接有一个横线
- Java中堆内存和栈内存_在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)。修改栈指针就可以把栈中的内容销毁.这样最快
- 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放
- 销售订单增强MV45AFZZ
- 6_8_4修改下面的结构体,使之包含一个返回订单总价格的函数.
- 制作一个控制台小程序,要求:用户可以在控制到录入学生的姓名,当用户输入quit(不区分大小写)时,程序停止接收用户输入,并且显示出学生个数及姓名
- 销售订单增强MV45AFZZ
- 商店销售统计,每天有一个折扣价格,一次购10件以上者可以享受9.8折优惠,已知三个销售员的销售情况,运用静态数据成员和静态成员函数编写程序
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- FastAdmin 添加新字段后,不显示,可以直接去修改对应的js
- 销售订单增强MV45AFZZ
- 写了一个将VxWorks的shell打印输出到指定内存中的接口,可广泛用于CLI下的调试函数显示以及故障自动捕获等功能,稍作修改可以适合其它嵌入式OS
- ListView显示列表,双击ListView里任意一行信息,出现一个可以修改的窗口
- 修改CDialog模态对话框函数DoModal 使对话框显示可以受WS_VISIBLE风格控制