RV60AFZZ
***INCLUDE RV60AFZZ . ************************************************************************ * * * This include is reserved for user modifications * * Forms for invoicing * * The name of modification modules should begin with 'ZZ'. * * * ************************************************************************ * USEREXIT_ACCOUNT_PREP_KOMKCV * * USEREXIT_ACCOUNT_PREP_KOMPCV * * USEREXIT_NUMBER_RANGE * * USEREXIT_PRICING_PREPARE_TKOMK * * USEREXIT_PRICING_PREPARE_TKOMP * ************************************************************************ ************************************************************************ * FORM ZZEXAMPLE * *---------------------------------------------------------------------* * text...................................... * *---------------------------------------------------------------------* *FORM ZZEXAMPLE. * ... *ENDFORM. *eject *---------------------------------------------------------------------* * FORM USEREXIT_ACCOUNT_PREP_KOMKCV * *---------------------------------------------------------------------* * This userexit can be used to move additional fields into the * * communication table which is used for account allocation: * * KOMKCV for header fields * * This form is called from form KONTENFINDUNG * *---------------------------------------------------------------------* FORM USEREXIT_ACCOUNT_PREP_KOMKCV. *{ INSERT DS4K900092 1 BREAK ITL_ZHANGY. *} INSERT * KOMKCV-zzfield = xxxx-zzfield2. ENDFORM. *eject *---------------------------------------------------------------------* * FORM USEREXIT_ACCOUNT_PREP_KOMPCV * *---------------------------------------------------------------------* * This userexit can be used to move additional fields into the * * communication table which is used for account allocation: * * KOMPCV for item fields * * This form is called from form KONTENFINDUNG * *---------------------------------------------------------------------* FORM USEREXIT_ACCOUNT_PREP_KOMPCV. *{ INSERT DS4K900092 1 BREAK ITL_ZHANGY. *} INSERT * KOMPCV-zzfield = xxxx-zzfield2. ENDFORM. *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 LV60AU02 * *---------------------------------------------------------------------* FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN. *{ INSERT DS4K900092 1 BREAK ITL_ZHANGY. *} INSERT * Example: Number range from TVFK like in standard * US_RANGE_INTERN = TVFK-NUMKI. ENDFORM. *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. *{ INSERT DS4K900092 1 BREAK ITL_ZHANGY. *IF SY-tcode EQ 'VF01'. *IF VBRK-FKART EQ 'ZF2' OR VBRK-FKART EQ 'ZF4'. *IF VBRP-VGTYP EQ 'C' OR VBRP-VGTYP EQ 'G'. *DATA:LV_VKORG TYPE VBAK-VKORG. *DATA:LV_WERKS TYPE VBAP-WERKS. *DATA:LV_KUNNR TYPE KNA1-KUNNR. *DATA:LV_ADRNR TYPE VBPA-ADRNR. *SELECT SINGLE VKORG INTO LV_VKORG FROM VBAK WHERE VBELN EQ VBRP-vgbel. * SELECT SINGLE WERKS INTO LV_WERKS FROM VBAP WHERE VBELN EQ VBRP-vgbel. * IF LV_VKORG EQ LV_WERKS. *MESSAGE '开票已完成' TYPE 'E'. * ENDIF. * LV_KUNNR = LV_VKORG. LV_KUNNR = |{ LV_KUNNR ALPHA = IN }|. *IF LV_KUNNR IS NOT INITIAL. * VBRK-KUNRG = LV_KUNNR. * VBRK-KUNAG = LV_KUNNR. * VBRK-VKORG = LV_WERKS. *LOOP AT XVBRK ASSIGNING FIELD-SYMBOL(<FS1>).. * <FS1>-KUNRG = LV_KUNNR. * <FS1>-KUNAG = LV_KUNNR. * <FS1>-VKORG = LV_WERKS. * SELECT SINGLE ADDRNUMBER INTO <FS1>-ADRNR FROM BUT020 WHERE PARTNER EQ LV_KUNNR. * ENDLOOP. * * XVBRP-VKORG_AUFT = LV_WERKS. * *LOOP AT XVBPA ASSIGNING FIELD-SYMBOL(<FS>). *<FS>-KUNNR = LV_KUNNR. *<FS>-ASSIGNED_BP = LV_KUNNR. *IF LV_KUNNR IS NOT INITIAL. *SELECT SINGLE ADDRNUMBER INTO <FS>-ADRNR FROM BUT020 WHERE PARTNER EQ LV_KUNNR. *ENDIF. *ENDLOOP. *ENDIF. *ENDIF. *ENDIF. *ENDIF. *} INSERT * TKOMK-zzfield = xxxx-zzfield2. * TKOMK-KUNRE = XVBPA_RE-KUNNR. * TKOMK-KUNWE = XVBPA_WE-KUNNR. * TKOMK-KNRZE = XVBPA_RG-KUNNR. * PERFORM XVBPA_SELECT USING 'VE'. * TKOMK-VRTNR = XVBPA-PERNR. * PERFORM XVBPA_SELECT USING 'SP'. * TKOMK-SPDNR = XVBPA-LIFNR. * PERFORM XVBPA_SELECT USING 'AP'. * TKOMK-PARNR = XVBPA-PARNR. ENDFORM. *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. *{ INSERT DS4K900092 1 BREAK ITL_ZHANGY. IF SY-tcode EQ 'VF01'. IF VBRK-FKART EQ 'ZF2' OR VBRK-FKART EQ 'ZF4'. IF VBRP-VGTYP EQ 'C' OR VBRP-VGTYP EQ 'G'. DATA:LV_VKORG TYPE VBAK-VKORG. DATA:LV_WERKS TYPE VBAP-WERKS. DATA:LV_KUNNR TYPE KNA1-KUNNR. DATA:LV_ADRNR TYPE VBPA-ADRNR. SELECT SINGLE VKORG INTO LV_VKORG FROM VBAK WHERE VBELN EQ VBRP-vgbel. SELECT SINGLE WERKS INTO LV_WERKS FROM VBAP WHERE VBELN EQ VBRP-vgbel. IF LV_VKORG EQ LV_WERKS. MESSAGE '开票已完成' TYPE 'E'. ENDIF. LV_KUNNR = LV_VKORG. LV_KUNNR = |{ LV_KUNNR ALPHA = IN }|. IF LV_KUNNR IS NOT INITIAL. VBRK-KUNRG = LV_KUNNR. VBRK-KUNAG = LV_KUNNR. VBRK-VKORG = LV_WERKS. LOOP AT XVBRK ASSIGNING FIELD-SYMBOL(<FS1>). <FS1>-KUNRG = LV_KUNNR. <FS1>-KUNAG = LV_KUNNR. <FS1>-VKORG = LV_WERKS. SELECT SINGLE ADDRNUMBER INTO <FS1>-ADRNR FROM BUT020 WHERE PARTNER EQ LV_KUNNR. ENDLOOP. XVBRP-VKORG_AUFT = LV_WERKS. VBRP-VKORG_AUFT = LV_WERKS. LOOP AT XVBPA ASSIGNING FIELD-SYMBOL(<FS>). <FS>-KUNNR = LV_KUNNR. <FS>-ASSIGNED_BP = LV_KUNNR. IF LV_KUNNR IS NOT INITIAL. SELECT SINGLE ADDRNUMBER INTO <FS>-ADRNR FROM BUT020 WHERE PARTNER EQ LV_KUNNR. ENDIF. ENDLOOP. LOOP AT XVBPAk ASSIGNING FIELD-SYMBOL(<Fa>). <Fa>-KUNNR = LV_KUNNR. <Fa>-ASSIGNED_BP = LV_KUNNR. IF LV_KUNNR IS NOT INITIAL. SELECT SINGLE ADDRNUMBER INTO <Fa>-ADRNR FROM BUT020 WHERE PARTNER EQ LV_KUNNR. ENDIF. ENDLOOP. ENDIF. ENDIF. ENDIF. ENDIF. *} INSERT * TKOMP-zzfield = xxxx-zzfield2. ENDFORM. *eject