Abap 如何在装运日期前14天获得到期日?
要求在装运日期前14天设定付款期限。因此,我的基准日期将是装运日期。如何获取“基线日期-14天”的到期日,因为我搜索的所有资源只显示基线日期+天 我试图在OBB8中设置天数=-14,但系统不允许这样 这就是我如何更改的Abap 如何在装运日期前14天获得到期日?,abap,function-module,Abap,Function Module,要求在装运日期前14天设定付款期限。因此,我的基准日期将是装运日期。如何获取“基线日期-14天”的到期日,因为我搜索的所有资源只显示基线日期+天 我试图在OBB8中设置天数=-14,但系统不允许这样 这就是我如何更改的NET\u DUE\u DATE\u GETFM FUNCTION NET_DUE_DATE_GET. *"---------------------------------------------------------------------- *"
NET\u DUE\u DATE\u GET
FM
FUNCTION NET_DUE_DATE_GET.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_ZFBDT) LIKE BSID-ZFBDT
*" VALUE(I_ZBD1T) LIKE BSID-ZBD1T
*" VALUE(I_ZBD2T) LIKE BSID-ZBD2T
*" VALUE(I_ZBD3T) LIKE BSID-ZBD3T
*" VALUE(I_SHKZG) LIKE BSID-SHKZG
*" VALUE(I_REBZG) LIKE BSID-REBZG
*" VALUE(I_KOART) LIKE RFPOS-KOART DEFAULT 'D'
*" EXPORTING
*" VALUE(E_FAEDT) LIKE RFPOS-FAEDT
*"----------------------------------------------------------------------
* ------ Initialisierung -----------------------------------------------
CLEAR: E_FAEDT.
* ------ ZFBDT muß gesetzt sein ----------------------------------------
CHECK NOT I_ZFBDT IS INITIAL.
* ------ REFEZ = späteste Tage aus Skontolinie -------------------------
E_FAEDT = I_ZFBDT.
SEITZFBDT = SY-DATLO - I_ZFBDT.
*------- ... REFEZ = Späteste Tage aus Skontolinie ---------------------
IF I_ZBD3T NE 0.
REFEZ = I_ZBD3T.
ELSE.
IF I_ZBD2T NE 0.
REFEZ = I_ZBD2T.
ELSE.
REFEZ = I_ZBD1T.
ENDIF.
ENDIF.
*------- REFEZ = 0 bei Gutschriften ohne Rechnungsbezug und ohne Valuta
if i_rebzg eq space.
CASE I_KOART.
WHEN 'D'.
IF I_SHKZG = 'H'.
REFEZ = 0.
ENDIF.
WHEN 'K'.
IF I_SHKZG = 'S'.
REFEZ = 0.
ENDIF.
ENDCASE.
endif.
*------- Fälligkeitsdatum setzen ---------------------------------------
E_FAEDT = E_FAEDT + REFEZ.
ENDFUNCTION.
更改FM以满足我的要求是一个好主意吗?您不应该修改标准功能模块。如果要通过FM执行此操作,主要做法是将其复制到Z功能模块,然后根据需要进行更改 或者,这取决于你是如何使用FM的,计算是如此的基本,我建议你只是在你的报告或自定义屏幕,你正在做的计算。如果您认为您将在多个程序中使用计算,那么使用功能模块进行计算可能是有意义的,但根据您试图实现的目标,您会知道这一点
稍后……更改标准FM以实现定制需求不是最佳解决方案。你想在哪里得到这个日期?在报告中?关于FI发票创建?在发票过帐时?我想将此到期日放入发票(将输出发送到ZCI2)。或者,除了更改FM之外,还有其他解决方案吗?从哪里获取装运日期(基线日期)?是的,从obb8中设置的基线日期获取。从vtts dptbg获取的so装运日期(计划开始装运日期)