SAP MM学习笔记 - 豆知识10 - OMSY 初期化会计期间,ABAP调用MMPV/MMRV来批量更新会计期间(TODO)
之前用MMRV,MMPV来一次一个月来修改会计期间。
如果是老的测试机,可能是10几年前的,一次1个月,更新到当前期间,搞个100多次,手都抖。
SAP MM学习笔记 - 错误 M7053 - Posting only possible in periods 2010/08 and 2010/07 in company code 1000_sap m7053-CSDN博客
所以就想找那种可以一次搞定的方法,下面来看一下。
TODO:最终也没搞成,先放这里,给朋友们参考下,以后有空再说
1,MMRV - 查看当前会计期间
比如这里是 2009/11
2,OMSY - 初期化会计年月
修改前:2009/11
啊,出错了
会社Code 3000 无法初期化。
Msg 番号 MM011
看来也不是随便能改的哈
我在另一个会社Code上更新是可以更新的。
OMSY and OB52 - SAP Community
这个帖子里大致说了OMSY,MMPV/MMRV,OB52 的用途:
- OMSY - 初期化某个公司代码的会计期间,只能用一次
OMSY to fix up the Initial Period and Year for a company code for material management .
After setting you should touch this setting & used only once.
- MMPV / MMRV:MM中的日常开关账期用
For opening & closing periods in MM side, you used MMPV and MMRV to
set back posting allowed and to check which period is open in SAP system.
- OB52:FI 用
OB52 is used for FI side only. It control period in all Account Types A, K, D,M, S
and specially Account Type ?+? which stands for valid for all accounts type .
既然OMSY只能运行一次,那就只能从MMPV,MMRV身上着手想办法了。
3,通过ABAP代码自动批量开关账期
SAP ABAP 自动批量开关账期程序 OB52和MMPV_sap ob52-CSDN博客
TA的代码里面有几个错误:
a),Type "SLIS_T_FIELDCAT_ALV" 未定義
[ABAP] The type "slis_formname"is unknown._abap slis-CSDN博客
这就需要加上 type-pools,就可以include进来了:
type-pools: slis. "调用类型组
b),不支持関係演算子 "-"
好像也没啥好办法,先放到一个变量里面,再放到关系演算子里面
c),SELECT * using a JOIN must have an INTO clause.
項目 "@GT_T001" 未定義,相似的名称是 "GT_T001"
c),v_comp_code,v_process,v_year 这3个参数,要放到汎用Module的Import参数里面
实行前
会社Code:3000
当期:2009/11
运行Report
输入参数:
- S_COMP:会社Code, 比如这里输入 3000
- S_POPER:当期会计期间,比如这里输入 10 (因为现在是2024/10)
- P_EXECUT:选这项表示执行批量更新
执行完只会发现其实根本没变:)
TODO:看来还有需要修改的地方,以后有时间再继续改
原文里也说了实现思路了,我这里把自己的图贴一贴,有需要的可以参考一下,反正我也没成。
要是你搞成了,给我发个Message告诉哪里错了啊。
3-1,ABAP代码
a),SE38 Report
*&---------------------------------------------------------------------*
*& REPORT ZTOOLSR0001
*&---------------------------------------------------------------------*
*& 自动开账期程序
*&---------------------------------------------------------------------*
* OB52 参考SAP程序 RFPERIOD_OPEN 和 RFPERIOD_CLOSE
* 直接更新 T001B 这个表
*--------------------------------------------------------------------*
REPORT ztoolsr0001.TABLES: t001b.
TABLES: t001.type-pools: slis. "调用类型组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.DATA: lv_dateDiff TYPE i.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.lv_dateDiff = s_poper-low+1(2) - sy-datum+4(2) .IF s_poper-low+1(2) LT sy-datum+4(2).MESSAGE '输入期间不可小于当前期间' TYPE 'S' DISPLAY LIKE 'E'.RETURN.ELSEIF lv_dateDiff 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~bukrsINTO CORRESPONDING FIELDS OF TABLE gt_t001WHERE t001~ktopl EQ 'CAUS'AND zmastert0001~not_up_acc_date NE 'X'AND t001~bukrs IN s_comp.ENDFORM.FORM frm_select_posting_process.IF NOT gt_t001 IS INITIAL.SELECT*FROMt001bINTO CORRESPONDING FIELDS OF TABLE gt_t001bFOR ALL ENTRIES IN gt_t001WHERE bukrs EQ gt_t001-bukrs.ENDIF.
ENDFORM.FORM frm_select_material_periods.SELECT*FROMmarvINTO CORRESPONDING FIELDS OF TABLE gt_marvFOR ALL ENTRIES IN gt_t001WHERE bukrs EQ gt_t001-bukrs.
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.
b),SE37 共通Module
本质上是在共通Module里面调用了MMRV/MMPV来1次一个月进行更新
FUNCTION ztoolsfm04_mmpv_job .
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" IMPORTING
*" REFERENCE(V_COMP_CODE) TYPE BUKRS
*" REFERENCE(V_PROCESS) TYPE NPERI
*" REFERENCE(V_YEAR) TYPE LFGJA
*"----------------------------------------------------------------------
* DATA: v_mode TYPE rfpdo-allgazmd.
* DATA: wa_bdcdata TYPE bdcdata,
* it_bdcdata TYPE STANDARD TABLE OF bdcdata.
*
* v_mode = 'N'.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-program = 'RMMMPERI'.
* wa_bdcdata-dynpro = '1000'.
* wa_bdcdata-dynbegin = 'X'.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'BDC_CURSOR'.
* wa_bdcdata-fval = 'I_XCOMP'.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'BDC_OKCODE'.
* wa_bdcdata-fval = '=ONLI'.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'I_VBUKR'.
* wa_bdcdata-fval = v_comp_code.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'I_LFMON'.
* wa_bdcdata-fval = v_process.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'I_LFGJA'.
* wa_bdcdata-fval = v_year.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'I_XCOMP'.
* wa_bdcdata-fval = 'X'.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CLEAR wa_bdcdata.
* wa_bdcdata-fnam = 'I_XMOVE'.
* wa_bdcdata-fval = ''.
* APPEND wa_bdcdata TO it_bdcdata.
*
* CALL TRANSACTION 'MMPV' USING it_bdcdata MODE v_mode.
*
* COMMIT WORK AND WAIT.
*--------------------------------------------------------------------*
* 使用 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.CONCATENATE 'ZMMPVJOB' sy-datum INTO v_jobname.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.
c),SE11 新规Table ZMASTERT0001
该表用于控制具体要执行哪些公司的账期。
比如我这里填了 会社Code 3000,表示要执行会社Code3000 的账期
3-2,SE38 执行
说是成功了
TODO:其实没有成功
以上代码的原文请参照如下文章:
SAP ABAP 自动批量开关账期程序 OB52和MMPV_sap ob52-CSDN博客
以上就是本章的内容。
更多SAP顾问业务知识请点击下面目录链接
https://blog.csdn.net/shi_ly/category_12216766.html
相关文章:

SAP MM学习笔记 - 豆知识10 - OMSY 初期化会计期间,ABAP调用MMPV/MMRV来批量更新会计期间(TODO)
之前用MMRV,MMPV来一次一个月来修改会计期间。 如果是老的测试机,可能是10几年前的,一次1个月,更新到当前期间,搞个100多次,手都抖。 SAP MM学习笔记 - 错误 M7053 - Posting only possible in periods 2…...

Pytorch实现RNN实验
一、实验要求 用 Pytorch 模块的 RNN 实现生成唐诗。要求给定一个字能够生成一首唐诗。 二、实验目的 理解循环神经网络(RNN)的基本原理:通过构建一个基于RNN的诗歌生成模型,学会RNN是如何处理序列数据的,以及如何在…...

四、Drf认证组件
四、Drf认证组件 4.1 快速使用 from django.shortcuts import render,HttpResponse from rest_framework.response import Response from rest_framework.views import APIView from rest_framework.authentication import BaseAuthentication from rest_framework.exception…...
C++:静态成员
静态成员涉及到的关键字尾static 静态成员变量要在类外初始化 去掉static关键字类型类名::变量名 静态成员变量不属于任何对象 所有对象共享一份 静态成员可以不通过对象直接访问 类名::成员名 静态成员依旧受访问修饰符的约束 …...

28 Vue3之搭建公司级项目规范
可以看到保存的时候ref这行被提到了最前面的一行 要求内置库放在组件的前面称为auto fix,数组new arry改成了字面量,这就是我们配置的规范 js规范使用的是airbnb规范模块使用的是antfu 组合prettier&eslint airbnb规范: https://github…...

【pytorch】张量求导3
再接上文,补一下作者未补完的矩阵运算的坑。 首先贴一下原作者的图,将其转化为如下代码: import torch import torch.nn as nn import torch.optim as optim# 定义一个简单的两层神经网络 class TwoLayerNet(nn.Module):def __init__(self):super(TwoLayerNet, self).__in…...

Servlet——springMvc底层原理
我们也先了解一下什么的动态资源,什么是静态资源。 静态资源:无需程序运行就可以获取的资源(照片、html、css、js等) 动态资源:需要通关程序运行才可以获得的资源。 (其实动态、静态的资源都与Servlet有…...

Json 在线可视化工具,分享几个
文章目录 1.json.cn2.json4u.cn3.jsonvisual.com4.jsoncrack5.altearius.github.io6.json.wanvb.com 前序:本文是对多种 Json 在线可视化工具 的介绍、分享。Json官网 https://www.json.org/json-en.html 个人比较中意第四款: https://jsoncrack.com/ed…...
LLM | llama.cpp 安装使用(支持CPU、Metal及CUDA的单卡/多卡推理)
1. 详细步骤 1.1 安装 cuda 等 nvidia 依赖(非CUDA环境运行可跳过) # 以 CUDA Toolkit 12.4: Ubuntu-22.04/24.04(x86_64) 为例,注意区分 WSL 和 Ubuntu,详见 https://developer.nvidia.com/cuda-12-4-1-download-archive?targ…...

矩阵求解复数(aniwoth求解串扰)
所以这种求解串扰的格式是因为,有串扰的共轭项在方程组中 复数共轭项的作用,但是这是二次方程,...

Redis: Sentinel哨兵监控架构及环境搭建
概述 在主从模式下,我们通过从节点只读模式提高了系统的并发能力并发不断增加,只需要扩展从节点即可,只要主从服务器之间,网络连接正常主服务器就会将写入自己的数据同步更新给从服务器,从而保证主从服务器的数据相同…...
C++ 语言特性30 - 模板介绍
目录 一:C11 之前的模板特性 1. 函数模板: 2. 类模板: 3. 模板特化: 4. 模板参数: 5. 模板元编程: 二:C11的模板特性 1. 变长模板(Variadic Templates)ÿ…...

算法笔记(七)——哈希表
文章目录 两数之和判定是否互为字符重排存在重复元素存在重复元素 II字母异位词分组 哈希表:一种存储数据的容器; 可以快速查找某个元素,时间复杂度O(1); 当频繁查找某一个数时,我们可以使用哈希表 创建一个容器&#…...

【基础算法总结】链表篇
目录 一, 链表常用技巧和操作总结二,算法原理和代码实现2.两数相加24.两两交换链表中的节点143.重排链表23.合并k个升序链表25.k个一组翻转链表 三,算法总结 一, 链表常用技巧和操作总结 有关链表的算法题也是一类常见并且经典的题…...
探索路由器静态IP的获取方式
在网络配置中,路由器静态IP是一个重要的概念。对于家庭网络或办公室网络而言,正确配置静态IP地址是确保网络稳定性和管理的关键步骤之一。但是,很多人对于静态IP地址的获取方式可能感到困惑。在本文中,我们将探讨它的获取途径&…...

Vivado - JTAG to AXI Master (GPIO、IIC、HLS_IP)
目录 1. 简介 2. JTAG to AXI Master 2.1 添加 IP Core 2.2 基本TCL命令 2.2.1 复位 JTAG-to-AXI Master 2.2.2 创建并运行写入传输事务 2.2.3 创建并运行读取传输事务 2.2.4 命令列表 2.3 帮助信息 2.4 创建TCL读写程序 2.4.1 Read proc 2.4.2 Write proc 2.4.3 …...
Java中JWT(JSON Web Token)的运用
目录 1. JWT的结构2. JWT的优点3. JWT的流转过程4.具体案例一、项目结构二、依赖配置三、用户模型四、JWT工具类五、JWT请求过滤器六、安全配置七、身份验证控制器八、测试JWT JWT(JSON Web Token)是一种开放标准(RFC 7519)&#…...

CSS3练习--电商web
免责声明:本文仅做分享! 目录 小练--小兔鲜儿 目录构建 SEO 三大标签 Favicon 图标 布局网页 版心 快捷导航(shortcut) 头部(header) logo 导航 搜索 购物车 底部(footer࿰…...

Linux 默认内核版本更改
随笔记录 目录 1. 背景介绍 2. 解决方法 2.1 查看所有可用版本 2.2 安装指定版本内核 2.3 检查当前内核列表 2.4 检查当前默认内核 2.5 设置新的默认内核 2.6 确认内核是否成功加载 2.7 重启 2.8 删除其他版本内核 1. 背景介绍 linux 一般安装多个内核版本&…...

【ubuntu】修改用户名、主机名、主文件夹名、登录名、密码
目录 1.他们是什么 2.修改方法 2.1 修改用户密码 2.2 修改主机名 2.2.1 切换到root用户 2.2.2 修改名称 2.3 修改用户名 主文件夹名 登录名 2.2.1 sudoers 2.2.2 passwd 2.2.3 shadow 2.2.4 group 2.2.5 修改主文件夹名 3.重启 1.他们是什么 (1…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...