SAP软件FICO各种财务账期的功能用途介绍
FI会计账期
一般财务账期总账期间的控制是仅开启当前一个期间,如果月结期间应同时开启结账期间和下一期间两个期间,结账完成需立即关闭已完成结账的期间,避免凭证过账日期误记账。
设置事务码:OB52或 S_ALR_87003642
备注:
1、S4和ECC比较最大变化:ECC中可以维护2个期间,S4中可以维护3个期间。
2、要打开任意一种类型的账期,都必须先打开“+”的账期。
3、同一张会计凭证上借贷方可能是不同的科目类型,如果会计期间分开控制了,做账时要注意借贷方科目的会计期间是否都是打开的。
在一个会计年度变式中,可以分别对各种科目类型(+/A/D/K/M/S)和科目范围设置可以记账的期间。
“+”:表示对所有类型的科目打开账期;
A:表示资产;
D:表示客户;
K:表示供应商;
M:表示物料;
S:表示总账科目。
CO账期(OKP1)
对于CO账期,可以按期间开启/锁定,或者按业务开启/锁定,一般CO账期控制应该是与财务账期一致。
勾选:表示相关的CO业务在勾选的月份无法执行。
利润中心账期
设置路径:IMG->控制->利润中心会计->基本设置->成本控制范围设置->激活直接过账->设置实际数据的控制参数(事务码:1KEF)
锁定的:如果勾选则表示无法对当前年的利润中心进行相关的业务操作。
物料账期(事务码:OMSY/MMPV/MMRV)
物料帐期:顾名思义就是控制物料移动的过账期间。
业务实践中,财务月结前,关闭当前物料账期,打开下月物料账期,使本月不再新增物料移动数据,新发生物料移动都记录到下月,保证财务核算成本的准确性。
1、初始化物料账期
一般适用物资模块(MM)上线时,设定物料账管理的初始开账期间。
设置路径:IMG->后勤-常规->物料主数据->基本设置->维护物料管理的公司代码(事务码:OMSY)
比如,H100公司物资模块上线期间:202412可以设置下图那样设置。
备注:公司代码下已产生物料凭证,则此处不再允许修改,后续调整物料账期通过MMPV和MMRV。
2、打开物料账期
设置事务码:MMPV
比如,打开2024/12月物料账期
调整财务物料帐结算的期间,只能逐月的进行调整。如果系统目前是2024年2月份的物料帐,现在要调整成2024年5月份的物料帐,则需要先调整成2024年3月,2024年4月,最后才能调到2024年5月,否则会出现错误的,如果要一次性开到当前期间的方法具体见本最后附录。
另外SAP物料账期为了防止错误的操作,可以设置不能提前多少天打开,可按如下方式设置。
维护视图V_CKMLMVADMIN(使用事务码:SM30)
维护字段ML_INSERT_ONLY_MIG_DONE的值,例如将此字段值维护为5,到月底前5天才能打开账期。
上图设置SAP系统允许提前5天打开下月的物料期间
如果没有到打开日期,系统报如下错误
3、设置允许过账到上一期间
设置事务码:MMRV
比如,如果当前物料账期:2020/12,如果勾选“运行过账到上一期间”表示允许物料移动发生在物料账期2020/11。
附录
如果将物料账期一次性打开到当前期间
正式系统因为上线后物料账期都是每月开的,所以不存在要连续打开的问题,但大家使用SAP虚拟机时候,IDES公司的物料账期可能在十几年前,如果一个一个开那得浪费多少时间,可以按如下2种方法一次性开到当前。
这是非标准的打开物料账期的方法,慎用之!!只能在自己搭建学习系统或虚拟机中使用,不要在自己公司开发,测试、生产环境系统中使用。
方法1:设置个人参数,执行MMPI.
输入TCODE:SU01,设置个人参数 ,设置参数mmpi_read_note , 将参数值设为今天,按如下步骤设置:
输入TCODE:MMPI,执行关闭和打开物料账期,按如下步骤执行:
执行完成后,系统提示如下,说明2800公司的物料账期已开至当前。
如果启用了物料分类账,上面那种方法应该不行,只能一个一个月打开,可以使用如下程序打开。
方法2:开发一次性打开到当前期间的程序(如下供参考)
*&---------------------------------------------------------------------*
*& Report ZMMPV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMMPV.
TABLES:T000, MARV.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF MESSTAB OCCURS 0.INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF MESSTAB.
DATA: BEGIN OF ITAB_LOG OCCURS 0,MESSAGE(132) TYPE C,END OF ITAB_LOG.
DATA: DATUM TYPE SY-DATUM.
PARAMETERS: P_BUKRS TYPE BUKRS OBLIGATORY MEMORY ID BUK,P_FRDAT TYPE SY-DATUM ,P_TODAT TYPE SY-DATUM ,P_MODE LIKE CTU_PARAMS-DISMODE AS LISTBOX DEFAULT 'E' VISIBLE LENGTH 16 OBLIGATORY .
INITIALIZATION.CONCATENATE SY-DATUM(6) '01' INTO P_TODAT.
AT SELECTION-SCREEN OUTPUT.%_P_BUKRS_%_APP_%-TEXT = '公司代码'.%_P_FRDAT_%_APP_%-TEXT = '当前期间'.%_P_TODAT_%_APP_%-TEXT = '开到期间'.%_P_MODE_%_APP_%-TEXT = 'BDC运行模式'.
AT SELECTION-SCREEN ON P_BUKRS.ON CHANGE OF P_BUKRS.SELECT SINGLE * FROM MARVWHERE BUKRS = P_BUKRS.IF SY-SUBRC = 0.CONCATENATE MARV-LFGJA MARV-LFMON '01' INTO P_FRDAT.ELSE.MESSAGE E000(OO) WITH '公司代码' P_BUKRS '不存在物料帐数据'.ENDIF.LEAVE SCREEN.ENDON.
START-OF-SELECTION.IF P_FRDAT IS INITIAL OR P_FRDAT = '' ORP_TODAT IS INITIAL OR P_TODAT = ''.MESSAGE E000(OO) WITH '日期不可以为空'.ENDIF.SELECT SINGLE * FROM T000WHERE MANDT = SY-MANDT ANDCCCATEGORY = 'P'.IF SY-SUBRC = 0.MESSAGE S000(OO) WITH '不可以在生产系统使用本程序'.RETURN.ENDIF.P_FRDAT = P_FRDAT + 32.CONCATENATE P_FRDAT(6) '01' INTO DATUM.WHILE DATUM(6) <= P_TODAT(6).PERFORM BDC.DATUM = DATUM + 32.DATUM+6(2) = '01'.ENDWHILE.MESSAGE S000(OO) WITH '完毕,请使用MMRV查看结果'.LOOP AT ITAB_LOG.WRITE / ITAB_LOG.ENDLOOP.
*&---------------------------------------------------------------------*
*& Form bdc
*&---------------------------------------------------------------------*
FORM BDC.DATA: OPTION TYPE CTU_PARAMS .OPTION-DISMODE = P_MODE.OPTION-RACOMMIT = 'X'.CLEAR: BDCDATA,BDCDATA[].PERFORM BDC_DYNPRO USING 'RMMMPERI' '1000'.PERFORM BDC_FIELD USING 'BDC_OKCODE' '=ONLI'.PERFORM BDC_FIELD USING 'I_VBUKR' P_BUKRS.PERFORM BDC_FIELD USING 'I_BBUKR' P_BUKRS.PERFORM BDC_FIELD USING 'I_DATUM' DATUM.PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.PERFORM BDC_FIELD USING 'BDC_OKCODE' '=&F03'.PERFORM BDC_DYNPRO USING 'RMMMPERI' '1000'.PERFORM BDC_FIELD USING 'BDC_OKCODE' '/EE'.CALL TRANSACTION 'MMPV' USING BDCDATAOPTIONS FROM OPTION MESSAGES INTO MESSTAB.LOOP AT MESSTAB.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID = MESSTAB-MSGIDMSGNR = MESSTAB-MSGNRMSGV1 = MESSTAB-MSGV1MSGV2 = MESSTAB-MSGV2MSGV3 = MESSTAB-MSGV3MSGV4 = MESSTAB-MSGV4IMPORTINGMESSAGE_TEXT_OUTPUT = ITAB_LOG-MESSAGE.APPEND ITAB_LOG.CLEAR ITAB_LOG.ENDLOOP.
ENDFORM. "bdc
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.CLEAR BDCDATA.BDCDATA-PROGRAM = PROGRAM.BDCDATA-DYNPRO = DYNPRO.BDCDATA-DYNBEGIN = 'X'.APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.CLEAR BDCDATA.BDCDATA-FNAM = FNAM.BDCDATA-FVAL = FVAL.CONDENSE BDCDATA-FVAL.APPEND BDCDATA.
ENDFORM. "BDC_FIELD
程序运行界面
执行完成后MMRV查询
批量关闭打开财务会计账期程序
这个报表同时展示该公司的财务账期和物料账期
*&---------------------------------------------------------------------*
*& REPORT ZTOOLSR0001
*&---------------------------------------------------------------------*
*& 自动开账期程序
*&---------------------------------------------------------------------*
* OB52 参考SAP程序 RFPERIOD_OPEN 和 RFPERIOD_CLOSE
* 直接更新 T001B 这个表
*--------------------------------------------------------------------*
REPORT ZTOOLSR0001.
TABLES: T001B.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.SELECT-OPTIONS: S_COMP FOR T001B-BUKRS,S_POPER FOR T001B-FRPE1 MODIF ID TY1 NO INTERVALS NO-EXTENSION.SELECTION-SCREEN SKIP 1.PARAMETERS: P_SELECT RADIOBUTTON GROUP G1 USER-COMMAND UC DEFAULT 'X',P_EXECUT RADIOBUTTON GROUP G1,P_CLOSE RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK BLK1.
TYPES: BEGIN OF TY_RESULT,BUKRS TYPE T001-BUKRS,MKOAR TYPE T001B-MKOAR,BKONT TYPE T001B-BKONT,VKONT TYPE T001B-VKONT,FRYE1 TYPE T001B-FRYE1,FRPE1 TYPE T001B-FRPE1,TOYE1 TYPE T001B-TOYE1,TOPE1 TYPE T001B-TOPE1,FRYE2 TYPE T001B-FRYE2,FRPE2 TYPE T001B-FRPE2,TOYE2 TYPE T001B-TOYE2,TOPE2 TYPE T001B-TOPE2,LFGJA TYPE MARV-LFGJA,LFMON TYPE MARV-LFMON,VMGJA TYPE MARV-VMGJA,VMMON TYPE MARV-VMMON,BLANKCELL TYPE C,END OF TY_RESULT.
DATA: GT_RESULT TYPE STANDARD TABLE OF TY_RESULT.
DATA: GT_T001 TYPE STANDARD TABLE OF T001,GT_T001B TYPE STANDARD TABLE OF T001B,GT_MARV TYPE STANDARD TABLE OF MARV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
AT SELECTION-SCREEN OUTPUT.LOOP AT SCREEN.IF SCREEN-GROUP1 EQ 'TY1' AND P_EXECUT EQ 'X'.SCREEN-ACTIVE = 1.ELSEIF SCREEN-GROUP1 EQ 'TY1' AND P_EXECUT NE 'X'.SCREEN-ACTIVE = 0.ENDIF.MODIFY SCREEN.ENDLOOP.
START-OF-SELECTION.PERFORM FRM_SELECT_COMP_CODE.IF NOT GT_T001 IS INITIAL.IF NOT P_SELECT IS INITIAL. " 查询账期PERFORM FRM_SELECT_POSTING_PROCESS. " 查询财务账期PERFORM FRM_SELECT_MATERIAL_PERIODS." 查询物料账期PERFORM FRM_SET_RESULT_AND_ALV_SHOW.ELSEIF NOT P_EXECUT IS INITIAL. " 打开账期IF NOT P_EXECUT IS INITIAL AND NOT S_POPER IS INITIAL.IF S_POPER-LOW+1(2) LT SY-DATUM+4(2).MESSAGE '输入期间不可小于当前期间' TYPE 'S' DISPLAY LIKE 'E'.RETURN.ELSEIF S_POPER-LOW+1(2) - SY-DATUM+4(2) GT 1.MESSAGE '输入期间 - 当前期间不可大于 1' TYPE 'S' DISPLAY LIKE 'E'.RETURN.ENDIF.ENDIF.PERFORM FRM_SELECT_POSTING_PROCESS.PERFORM FRM_SET_NEW_POSTING_PROCESS. " 开财务账期PERFORM FRM_POST_MATERIAL_PROCESS. " 开物料账期MESSAGE '执行成功,请退出后等待一会儿(约1min)再重新进入查看' TYPE 'S'.ELSEIF NOT P_CLOSE IS INITIAL. " 关闭账期 - 只针对财务账期PERFORM FRM_SELECT_POSTING_PROCESS.PERFORM FRM_SET_NEW_POSTING_PROCESS. " 关财务账期ENDIF.ELSE.MESSAGE '未查询到公司数据,请检查后重试;或联系系统管理员维护ZMASTERT0001表' TYPE 'S' DISPLAY LIKE 'E'.ENDIF.
END-OF-SELECTION.
FORM FRM_SELECT_COMP_CODE.
*--------------------------------------------------------------------*
* 有一个公司代码主数据 ZMASTERT0001
* 如果这个表忘记维护怎么办
* 加一个不更新账期的字段
*--------------------------------------------------------------------*SELECT*FROMT001INNER JOIN ZMASTERT0001 ON T001~BUKRS EQ ZMASTERT0001~BUKRSWHERE T001~KTOPL EQ 'MYACCOUNT'AND ZMASTERT0001~NOT_UP_ACC_DATE IS INITIALAND T001~BUKRS IN @S_COMPINTO CORRESPONDING FIELDS OF TABLE @GT_T001.
ENDFORM.
FORM FRM_SELECT_POSTING_PROCESS.IF NOT GT_T001 IS INITIAL.SELECT*FROMT001BFOR ALL ENTRIES IN @GT_T001WHERE BUKRS EQ @GT_T001-BUKRSINTO CORRESPONDING FIELDS OF TABLE @GT_T001B.ENDIF.
ENDFORM.
FORM FRM_SELECT_MATERIAL_PERIODS.SELECT*FROMMARVFOR ALL ENTRIES IN @GT_T001WHERE BUKRS EQ @GT_T001-BUKRSINTO CORRESPONDING FIELDS OF TABLE @GT_MARV.
ENDFORM.
FORM FRM_SET_NEW_POSTING_PROCESS.DATA: LS_T001B LIKE LINE OF GT_T001B.DATA: LV_FROM_YEAR_1 TYPE T001B-FRYE1,LV_FROM_PROCESS_1 TYPE T001B-FRPE1,LV_TO_YEAR_1 TYPE T001B-TOYE1,LV_TO_PROCESS_1 TYPE T001B-TOPE1,LV_FROM_YEAR_2 TYPE T001B-FRYE2,LV_FROM_PROCESS_2 TYPE T001B-FRPE2,LV_TO_YEAR_2 TYPE T001B-TOYE2,LV_TO_PROCESS_2 TYPE T001B-TOPE2,LV_YEAR TYPE T001B-FRYE1.FIELD-SYMBOLS: <LFS_T001B> LIKE LINE OF GT_T001B.
*--------------------------------------------------------------------*
* 初始化值
*--------------------------------------------------------------------*LV_YEAR = SY-DATUM+0(4).IF NOT P_CLOSE IS INITIAL. " 关闭账期LV_FROM_YEAR_1 = LV_YEAR.LV_FROM_PROCESS_1 = SY-DATUM+4(2).ENDIF.LV_TO_YEAR_1 = LV_YEAR.IF S_POPER IS INITIAL.LV_TO_PROCESS_1 = SY-DATUM+4(2).ELSEIF S_POPER-LOW+1(2) GE SY-DATUM+4(2).LV_TO_PROCESS_1 = S_POPER-LOW+1(2).ENDIF.LV_FROM_YEAR_2 = LV_YEAR.LV_FROM_PROCESS_2 = '13'.LV_TO_YEAR_2 = LV_YEAR.LV_TO_PROCESS_2 = '16'.LOOP AT GT_T001B ASSIGNING <LFS_T001B>.IF NOT P_CLOSE IS INITIAL.<LFS_T001B>-FRYE1 = LV_FROM_YEAR_1.<LFS_T001B>-FRPE1 = LV_FROM_PROCESS_1.ENDIF.<LFS_T001B>-TOYE1 = LV_TO_YEAR_1.<LFS_T001B>-TOPE1 = LV_TO_PROCESS_1.<LFS_T001B>-FRYE2 = LV_FROM_YEAR_2.<LFS_T001B>-FRPE2 = LV_FROM_PROCESS_2.<LFS_T001B>-TOYE2 = LV_TO_YEAR_2.<LFS_T001B>-TOPE2 = LV_TO_PROCESS_2.ENDLOOP.MODIFY T001B FROM TABLE GT_T001B. " 更新 T001B 表
ENDFORM.
*--------------------------------------------------------------------*
* 开物料账期
*--------------------------------------------------------------------*
FORM FRM_POST_MATERIAL_PROCESS.DATA: LS_T001 TYPE T001.DATA: LV_YEAR TYPE LFGJA,LV_PROCESS TYPE NPERI.
*--------------------------------------------------------------------*
* 初始化值
*--------------------------------------------------------------------*LV_YEAR = SY-DATUM+0(4).IF S_POPER IS INITIAL.LV_PROCESS = SY-DATUM+4(2).ELSEIF S_POPER-LOW+1(2) GE SY-DATUM+4(2).LV_PROCESS = S_POPER-LOW+1(2).ENDIF.LOOP AT GT_T001 INTO LS_T001.CALL FUNCTION 'ZTOOLSFM04_MMPV_JOB'EXPORTINGV_COMP_CODE = LS_T001-BUKRSV_YEAR = LV_YEARV_PROCESS = LV_PROCESS.ENDLOOP.
ENDFORM.
FORM FRM_SET_RESULT_AND_ALV_SHOW.DATA: LS_RESULT TYPE TY_RESULT,LS_T001B TYPE T001B,LS_MARV TYPE MARV.SORT GT_T001B BY BUKRS MKOAR.LOOP AT GT_T001B INTO LS_T001B.MOVE-CORRESPONDING LS_T001B TO LS_RESULT.AT NEW BUKRS.READ TABLE GT_MARV INTO LS_MARV WITH KEY BUKRS = LS_T001B-BUKRS.IF SY-SUBRC EQ 0.MOVE-CORRESPONDING LS_MARV TO LS_RESULT.ENDIF.ENDAT.APPEND LS_RESULT TO GT_RESULT.CLEAR: LS_RESULT, LS_T001B, LS_MARV.ENDLOOP.SORT GT_RESULT BY BUKRS MKOAR.PERFORM FRM_INIT_LAYOUT.PERFORM FRM_SET_FIELDCAT.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTINGI_CALLBACK_PROGRAM = SY-REPIDI_CALLBACK_PF_STATUS_SET = 'FRM_ALV_PF_STATUS'I_CALLBACK_USER_COMMAND = 'FRM_ALV_USER_COMMAND'IS_LAYOUT = GS_LAYOUTIT_FIELDCAT = GT_FIELDCATTABLEST_OUTTAB = GT_RESULTEXCEPTIONSPROGRAM_ERROR = 1OTHERS = 2.
ENDFORM.
FORM FRM_INIT_LAYOUT.GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.GS_LAYOUT-ZEBRA = 'X'.
ENDFORM.
FORM FRM_SET_FIELDCAT.DATA: LS_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV.PERFORM FRM_INIT_FIELDCAT USING:'BUKRS' '公司代码','MKOAR' '账户类型','BKONT' '终止科目','VKONT' '起始科目','FRYE1' '年度','FRPE1' '从','TOYE1' '年度','TOPE1' '到','FRYE2' '年度','FRPE2' '从','TOYE2' '年度','TOPE2' '到','BLANKCELL' '财务账和物料账分隔列','LFGJA' '当期会计年度','LFMON' '当期过账期间','VMGJA' '上期会计年度','VMMON' '上期过账期间'.
ENDFORM.
FORM FRM_INIT_FIELDCAT USING FIELDNAME TYPE SLIS_FIELDCAT_ALV-FIELDNAMESELTEXT TYPE SLIS_FIELDCAT_ALV-SELTEXT_L.DATA: LS_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV.LS_FIELDCAT-FIELDNAME = FIELDNAME.LS_FIELDCAT-SELTEXT_S = SELTEXT.LS_FIELDCAT-SELTEXT_M = SELTEXT.LS_FIELDCAT-SELTEXT_L = SELTEXT.LS_FIELDCAT-NO_ZERO = 'X'.APPEND LS_FIELDCAT TO GT_FIELDCAT.
ENDFORM.
FORM FRM_ALV_PF_STATUS USING LT_EXTAB TYPE SLIS_T_EXTAB.SET PF-STATUS 'ZTOOLSR0001'.
ENDFORM.
FORM FRM_ALV_USER_COMMAND USING LV_UCOMM LIKE SY-UCOMMLS_SELFIELD TYPE SLIS_SELFIELD.DATA: LR_GRID TYPE REF TO CL_GUI_ALV_GRID.DATA: LS_LAYOUT TYPE LVC_S_LAYO.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGE_GRID = LR_GRID.CALL METHOD LR_GRID->CHECK_CHANGED_DATA.LS_SELFIELD-REFRESH = 'X'.LS_SELFIELD-ROW_STABLE = 'X'.LS_SELFIELD-COL_STABLE = 'X'.CALL METHOD LR_GRID->GET_FRONTEND_LAYOUTIMPORTINGES_LAYOUT = LS_LAYOUT.LS_LAYOUT-CWIDTH_OPT = 'X'.CALL METHOD LR_GRID->SET_FRONTEND_LAYOUTEXPORTINGIS_LAYOUT = LS_LAYOUT.IF LV_UCOMM EQ 'ZUPDATE'.PERFORM FRM_SET_NEW_POSTING_PROCESS. " 开财务账期PERFORM FRM_POST_MATERIAL_PROCESS. " 开物料账期MESSAGE '执行成功,请退出后等待一会儿(约1min)再重新进入查看' TYPE 'S'.ENDIF.CALL METHOD LR_GRID->REFRESH_TABLE_DISPLAY.
ENDFORM.
自定义开物料账期函数 ZTOOLSFM04_MMPV_JOB
FUNCTION ZTOOLSFM04_MMPV_JOB .
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(V_COMP_CODE) TYPE BUKRS
*" VALUE(V_YEAR) TYPE LFGJA
*" VALUE(V_PROCESS) TYPE NPERI
*"----------------------------------------------------------------------
*--------------------------------------------------------------------*
* 使用 BDC 录屏并不能实现
* 只能直接调用程序 RMMMPERI
* 直接调用程序 RMMPERI会返回日志屏幕
* 所以还得去后台调用
*--------------------------------------------------------------------*
* JobDATA: V_START_TIME LIKE SY-UZEIT,V_REPORT TYPE SY-REPID,V_JOBCOUNT TYPE TBTCJOB-JOBCOUNT,V_JOBNAME TYPE TBTCJOB-JOBNAME.V_JOBNAME = 'ZMMPVJOB' && SY-DATUM.V_REPORT = 'ZREPORTXXX'.V_START_TIME = SY-UZEIT + 7. " 系统当期时间后21s
* 定义后台作业CALL FUNCTION 'JOB_OPEN'EXPORTINGJOBNAME = V_JOBNAMEJOBCLASS = 'A'IMPORTINGJOBCOUNT = V_JOBCOUNT.SUBMIT RMMMPERIWITH I_VBUKR = V_COMP_CODEWITH I_BBUKR = V_COMP_CODEWITH I_LFMON = V_PROCESSWITH I_LFGJA = V_YEARWITH I_XCOMP = 'X'WITH I_XINCO = ''WITH I_XMOVE = ''USER SY-UNAMEVIA JOB V_JOBNAMENUMBER V_JOBCOUNTAND RETURN.CALL FUNCTION 'JOB_CLOSE'EXPORTINGJOBCOUNT = V_JOBCOUNTJOBNAME = V_JOBNAMESDLSTRTDT = SY-DATUMSDLSTRTTM = V_START_TIME
* strtimmed = 'X'
.
ENDFUNCTION.
备注:报表中涉及到自定义开物料账期的函数,执行完成打开财务账期后,执行打开物料账期。
自定义公司代码表 ZMASTERT0001
以及自定义公司代码表ZMASTERT0001用来配置哪些公司需要更新账期,如果设置单字符标记为“X”,表示不执行更新账期。
这程序执行界面
1、查询财务账期
查询结果
2、打开财务账期和物料账期
执行结果
3、关闭财务账期
执行结果
往期相关文章荐读:
FI财务会计模块详解1-基本功能介绍
FI财务会计模块详解2-组织架构介绍
FI财务会计模块详解3-会计科目表
FI财务会计模块详解4-维护会计科目
FI财务会计模块详解5-会计凭证
FI财务会计模块详解6-会计年度与过账期间
FI财务会计模块详解7-总账凭证的录入
FI财务会计模块详解8-会计凭证先预制后过账
FI财务会计模块详解9-周期性凭证
FI财务会计模块详解10-会计凭证字段校验与替代
FI财务会计模块详解11-未清项管理
FI财务会计模块详解12-应付模块详解
FI财务会计模块详解13-应收模块详解
相关文章:
SAP软件FICO各种财务账期的功能用途介绍
FI会计账期 一般财务账期总账期间的控制是仅开启当前一个期间,如果月结期间应同时开启结账期间和下一期间两个期间,结账完成需立即关闭已完成结账的期间,避免凭证过账日期误记账。 设置事务码:OB52或 S_ALR_87003642 备注&#…...
蓝桥杯C++组部分填空题
P1508 - [蓝桥杯2020初赛] 门牌制作 - New Online Judge #include<bits/stdc.h> using namespace std;int main() {int res 0;for(int i 1; i < 2020; i){int num i;while(num){if(num % 10 2) res;num/10;}}cout<<res;return 0; } 624 P1509 - [蓝桥杯20…...
内联inline
一、什么是 inline? inline 的本意是: 建议编译器将函数调用处展开成函数体代码,省去函数调用的开销。 inline int square(int x) { return x * x; } 当你调用 square(5) 时,编译器可能会将其替换成 5 * 5,从而避免…...
【models】Transformer 之 各种 Attention 原理和实现
Transformer 之 各种 Attention 原理和实现 本文将介绍Transformer 中常见的Attention的原理和实现,其中包括: Self Attention、Spatial Attention、Temporal Attention、Cross Attention、Grouped Attention、Tensor Product Attention、FlashAttentio…...
基于JavaAPIforKml实现Kml 2.2版本的全量解析实践-以两步路网站为例
目录 前言 一、关于两步路网站 1、相关功能 2、数据结构介绍 二、JAK的集成与实现 1、JAK类图简介 2、解析最外层数据 3、解析扩展元数据和样式 4、递归循环解析Feature 5、解析具体的数据 三、结论 前言 随着地理信息技术的快速发展,地理空间数据的共享…...
Ubuntu搭建Pytorch环境
Ubuntu搭建Pytorch环境 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Ubuntu搭建Pytorch环境前言一、Anaconda二、Cuda1.安装流程2、环境变量&#…...
Kingbase逻辑备份与恢复标准化实施文档
背景 文章背景 本文结合实际运维经验,围绕 Kingbase 数据库在逻辑层面的备份与恢复方法进行系统性梳理,旨在为运维人员和数据库管理员提供一套清晰、高效、可落地的操作指引,提升数据库系统的可靠性与容灾能力。 第一部分 逻辑部分 1.1 全…...
二分查找5:852. 山脉数组的峰顶索引
链接:852. 山脉数组的峰顶索引 - 力扣(LeetCode) 题解: 事实证明,二分查找不局限于有序数组,非有序的数组也同样适用 二分查找主要思想在于二段性,即将数组分为两段。本体就可以将数组分为ar…...
解决opencv中文路径问题
见cv_imread函数和cv_imwrite函数 import cv2 import os import matplotlib.pyplot as plt from paddleocr import PaddleOCR, draw_ocr import numpy as np import urllib.parse # Add this import statementfrom txt_get import ImageTextExtractor# 初始化OCR,…...
Redis简介及其在Unity中的应用
一、什么是Redis? Redis(Remote Dictionary Server) 是一个开源的高性能 内存数据结构存储系统,常被用于 缓存、消息队列、排行榜、会话管理、实时分析 等。 ✅ Redis特点 基于内存,读写速度极快支持多种数据结构:String、List、Hash、Set、Sorted Set支持持久化,可将…...
Python实现批量插入PostgreSQL数据库的脚本分享
背景 上个月排查一个 Bug ,需要采集一张 PostgreSQL 的大表,测试时需要造数据。Python 比 Java 方便多了,所以用 Python写了一个批量插入 PostgreSQL 表的简单脚本。本文分享这个脚本,很简单的,就是利用 psycopg2 的 …...
一键精准采集单网页,告别手动复制粘贴
浏览某个网页时,想抓取其内容,有没有工具能避免自己手动逐个复制粘贴? 推荐使用单网页一键采集功能,可自动提取网页内容并整理成结构化数据(包括标题、正文、作者、日期、分类、标签、描述和原文网址链接等关键信息&am…...
vue入门:单文件组件数据双向绑定
文章目录 单文件组件介绍安装创建项目构建单文件组件 数据双向绑定Vue虚拟DOM的作用Vue中key属性的作用 单文件组件 介绍 单文件组件API使用文件扩展名为 .vue 的来构建组件ECMAScript 6 API 安装 Vue CLI 构建Vue -- 安装vue/cli npm install -g vue/cli-- 升级Vue CLI 包…...
接听电话,手机靠近耳朵后拿开,挂断电话,设备自动锁屏
目录 一、问题分析/需求分析 二、解决方案 一、问题分析/需求分析 先说一下大致流程: 首先是打电话过程会启动PROXIMITY(接近光传感器)用于监听手机是否到耳边,当手机到耳边时进行灭屏处理,灭屏过程中会调用到锁屏,所以最终会导致锁屏 详细流程分析: 首先根据日志看…...
代码随想录第15天:(二叉树)
一、二叉搜索树的最小绝对差(Leetcode 530) 思路1 :中序遍历将二叉树转化为有序数组,然后暴力求解。 class Solution:def __init__(self):# 初始化一个空的列表,用于保存树的节点值self.vec []def traversal(self, r…...
Matlab 汽车ABS的PID控制
1、内容简介 Matlab 199-汽车ABS的PID控制 可以交流、咨询、答疑 2、内容说明 略 摘 要 : 在 simulink 环境下对汽车防抱死制动系统进行数学建模 , 采用基于…...
若依前后端分离版之使用Swagger
记录一下使用若依前后端分离版本中,怎么使用Swagger,以帮助初学者快速入手。 1.运行项目并查看Swagger 这里自己下载项目代码,在编译器中打开运行。这个过程跳过,我们进入系统后台界面。 在系统工具、系统接口中打开Swagger页面 点击test-controller和Schemas,可展开相…...
入侵检测snort功能概述
1. 数据包嗅探与日志记录 网络流量监控:实时捕获和分析网络数据包(支持以太网、无线等)。 日志记录:将数据包以二进制格式(pcap)或文本格式存储,供后续分析。 2. 协议分析与解码 深度协议解析…...
Notepad++安装Markdown实时预览插件
具体操作 打开notepad -> 插件 -> 插件管理 -> 可用 -> “Markdown Panel” -> 安装,安装完成后工具栏点击"Markdown Panel"按钮。 注意:由于网络等原因可能安装失败 导致工具栏没出现""Markdown Panel"按钮&am…...
Swift 实现 LeetCode 254:因子组合问题的递归解法全解析
文章目录 摘要描述示例: 题解答案(Swift 实现)题解代码分析核心思路:举个例子: 示例测试及结果时间复杂度分析空间复杂度分析现实应用场景结合总结 摘要 这篇文章我们来聊聊 LeetCode 第 254 题 ——「因子的组合」。…...
Matlab 传感器加速度数据计算位移
1、内容简介 Matlab 195-传感器加速度数据计算位移 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...
Ubuntu虚拟机连不上网
桥接 虚拟机Ubuntu系统必须能连接到外网,不然不能更新软件安装包 配置虚拟机网络(关机或者挂起状态) 第一步1.重启虚拟机网络编辑器(还原配置) 第二步2.重启虚拟机网络适配器(移除再添加) 启…...
大模型论文:Language Models are Unsupervised Multitask Learners(GPT2)
大模型论文:Language Models are Unsupervised Multitask Learners(GPT2) 文章地址:https://storage.prod.researchhub.com/uploads/papers/2020/06/01/language-models.pdf 摘要 自然语言处理任务,例如问答、机器翻译、阅读理解和摘要&am…...
大模型本地部署系列(3) Ollama部署QwQ[阿里云通义千问]
大家好,我是AI研究者, 今天教大家部署 一个阿里云通义千问大模型。 QwQ大模型简介 QwQ是由阿里云通义千问(Qwen)团队推出的开源推理大模型,专注于提升AI在数学、编程和复杂逻辑推理方面的能力。其核心特点包括&#x…...
WPF ObjectDataProvider
在 WPF(Windows Presentation Foundation)中,ObjectDataProvider 是一个非常有用的类,用于将非 UI 数据对象(如业务逻辑类或服务类)与 XAML 绑定集成。它允许在 XAML 中直接调用方法、访问属性或实例化对象,而无需编写额外的代码。以下是关于 ObjectDataProvider 的详细…...
《Vue Router实战教程》12.不同的历史记录模式
欢迎观看《Vue Router 实战(第4版)》视频课程 不同的历史记录模式 在创建路由器实例时,history 配置允许我们在不同的历史模式中进行选择。 Hash 模式 hash 模式是用 createWebHashHistory() 创建的: import { createRouter,…...
Dify什么?Dify 零门槛打造专属 AI 应用
Dify 是一个专注于简化大语言模型(LLM)应用开发的开源平台,旨在帮助用户通过可视化界面和模块化工具快速构建、部署和管理 AI 驱动的应用程序。以下是其核心特点: 主要功能 可视化编排 提供直观的界面,无需深入编码即…...
【Javascript】在canvas中加载shader着色器的方法(开箱即用)
功能简介 可以播放,暂停shader代码,可以在js中配置shader参数(下面案例列举了所有可用参数形式)缺点 这个是固定机位,没有自定义顶点着色器部分的功能,有需要可直接在class中改,或者修改后调用…...
华为华三模拟器解决兼容问题Win11 24H2 现在使用ENSP的问题解决了
一、Win11 24H2 现在使用ENSP的问题解决了 这个Win11 的 24H2不能使用ENSP的问题已经困扰我们很久了,在之前的文章中,我们也有说明这个问题 之前ENSP肯定启动会报错40 当时还建议大家先不要更新到win11的24H2版本,现在终于迎来了更新&#…...
五、用例篇
Bug等级:崩溃、严重、一般、次要 bug的生命周期 面试高频考题:跟开发产生争执怎么办? (1)反思自己,是不是bug描述写的不清楚 (2)站在用户思考问题,反问开发人员:“如果你是用户,你能接受这样…...
Mysql中的数据类型和语句概述
Mysql中的数据类型 数值类 整数:int,四个字节构成 浮点型:float单精度浮点数,四个字节,double双精度浮点数,八个字节,decimal用于高精度计算,尤其是在金融领域。decimalÿ…...
Vue3连接MQTT作为客户端
先下载依赖 npx --yes --registry https://registry.npmmirror.com npm install mqtt 在src的api创建 mes.js // 导入axios import axios from axios;// 定义一个变量,记录公共的前缀, baseURL const baseURL http://localhost:8080; const instance axios.create({ base…...
VLC快速制作rtsp流媒体服务器
1.安装vlc media player工具 2.打开后点击菜单 媒体->流 3.添加mp4视频,选择串流 4.选择 下一个 5.新目标选择 RTSP,点击添加按钮 6.端口和路径随便填写,如果推流失败就换个端口。一路操作下去 7.点击 流 按钮后,就可以看到下图…...
24FIC
一,赛前准备 检材密码:2024Fic杭州Powered~by~HL! 案情简介: 2024年4月,卢某报案至警方,声称自己疑似遭受了“杀猪盘”诈骗,大量钱财被骗走。卢某透露,在与某公司交流过程中结识了员工李某。李某…...
P3367 【模板】并查集
题目链接:点击进入 题目 思路 代码(路径压缩) #include <bits/stdc.h> using namespace std; const int maxn 1e6 10;int n,m,fa[maxn];int find(int x) {if(xfa[x]) return x;else return fa[x]find(fa[x]); }int unions(int x,…...
【leetcode hot 100 300】最长递增子序列
错误解法:在每次更新db[i]时,如果当前nums[i]>nums[i-1]就db[i-1]1,否则db[i-1] class Solution {public int lengthOfLIS(int[] nums) {int n nums.length;int[] db new int[n]; // db[i]表示到i的最长严格递增子序列的长度db[0] 1;f…...
jwt.io学习
jwt.io 是一个专门用于 JSON Web Token(JWT)相关操作和学习的网站,地址是:JSON Web Tokens - jwt.io具有以下主要功能: JWT 解码:能够将 JWT 令牌进行解码,展示出令牌中包含的各个部分…...
MySQL 优化方案大全
一、数据库设计优化 1. 表结构设计 合理选择字段类型: 使用最小满足需求的类型(如TINYINT代替INT)字符串类型优先VARCHAR,固定长度用CHAR 时间类型用TIMESTAMP(4字节)或DATETIME(8字节…...
题目 2701: 蓝桥杯2022年第十三届决赛真题-取模(C/C++/Java组)
题目 2701: 蓝桥杯2022年第十三届决赛真题-取模(C/C/Java组) 时间限制: 3s 内存限制: 512MB 提交: 6633 解决: 1263 题目描述 给定 n, m ,问是否存在两个不同的数 x, y 使得 1 ≤ x < y ≤ m 且 n mod x n mod y 。 输入格式 输入包含多…...
【LeetCode 题解】算法:36.有效的数独
一、问题剖析 在算法领域中,数独问题是一个经典且有趣的逻辑验证题目。本题的核心任务是判断一个给定的 9x9 数独是否有效。判断的依据是数独的基本规则:数字 1-9 在每一行、每一列以及每一个 3x3 的宫内都只能出现一次。同时,题目中明确指出…...
C++学习之MYSQL数据库
目录 1.mysql数据库介绍 2.mysql数据库安装 3.mysql数据库启动和登录 4.mysql数据库CURD 5.mysql数据库表CURD 6.mysql数据库数据CURD 7.mysql基础综合练习 8.mysql数据库总日期和时间函数 9.mysql中函数 10.PLSQL工具使用介绍 11.ORACLE实例别名和ORACLE客户端 12.…...
Node.js 开发的简单 Web 服务器代码
步骤 1:创建项目文件 新建名为 app.js 的文件,添加以下代码: // 1. 导入内置 http 模块 const http require(http);// 2. 创建服务器实例 const server http.createServer((req, res) > {// 设置响应头res.writeHead(200, { Content-T…...
Postgresql安装mysql_fdw并映射MySQL数据库
关于Postgresql映射Mysql数据库数据 领导:小汪啊,他们的数据库是不是能连接上了。 我:对啊,我已经读数据了。 领导:那改一下吧,直接把他们的数据映射过来,体现一下我们功能的多样性。 我&#…...
flutter 获取通话记录和通讯录
Dart SDK version is 3.7.01 dependencies:flutter:sdk: flutterpermission_handler: ^11.0.1 # 权限管理flutter_contacts: ^1.1.92call_log: ^5.0.5cupertino_icons: ^1.0.8dev_dependencies:flutter_test:sdk: flutterflutter_lints: ^5.0.0 2 contact_and_calls_page.da…...
AICon 2024年全球人工智能与大模型开发与应用大会(脱敏)PPT汇总(36份).zip
AICon 2024年全球人工智能与大模型开发与应用大会(脱敏)PPT汇总(36份).zip 1、面向开放域的大模型智能体.pdf 2、企业一站式 AI 智能体构建平台演进实践.pdf 3、PPIO 模型平台出海实战,跨地域业务扩展中的技术优化之道…...
swift菜鸟教程6-10(运算符,条件,循环,字符串,字符)
一个朴实无华的目录 今日学习内容:1.Swift 运算符算术运算符比较运算符逻辑运算符位运算符赋值运算区间运算符其他运算符 2.Swift 条件语句3.Swift 循环4.Swift 字符串字符串属性 isEmpty字符串常量let 变量var字符串中插入值字符串连接字符串长度 String.count使用…...
【14】RUST高级特性
文章目录 不安全操作裸指针应用 不安全函数or方法extern调用外部函数调用C语言函数创建供C调用的接口 全局变量(静态变量)不安全的trait访问联合体中的字段 不安全操作 裸指针 需要程序员保证有效性 从引用创建 let mut num 5; let r1 &num as …...
Linux 系统中 `echo`、`cat`、`tail`、`grep` 四个常用命令介绍
以下是 Linux 系统中 echo、cat、tail、grep 四个常用命令的详细介绍,涵盖其功能、常用选项及实际示例: 1. echo - 输出文本 作用:将文本或变量的值输出到终端或文件。常用于脚本中的信息提示或日志记录。 常用选项: 选项说明-…...
Python 根据多个下标向列表中插入对应的值的巧妙方法:逆序插入
例如根据多个下标(比如2, 5, 8)向列表中插入对应的值,即: 在位置2插入一个值A,在位置5插入一个值B,在位置8插入一个值C, 而且每次插入都会改变列表长度,所以后续位置也会发生偏移。…...
“实时滚动”插件:一个简单的基于vue.js的无缝滚动
1、参考连接: 安装 | vue-seamless-scroll 2、使用步骤: 第一步:安装 yarn add vue-seamless-scroll 第二步:引入 import vueSeamlessScroll from vue-seamless-scroll/src 第三步:注册 components: { vueSeamless…...