SAP学习个人笔记

利润中心层级、成本中心层级表  组织架构  
SETNODE        组织架构层级     SETHEADERT 
     
SETLEAF 
     
SETCLASS  
TABLES: WRSZ.

CDHDR  系统日志抬头 
CDPOS  系统日志明细
表CDPOS和CDHDR中保存了凭证的更改历史,我们可以从这两张表里读取到采购订单和采购申请的更改历史,也可以通过SAP标准函数ME_CHANGEDOC_READ2读取相关更改记录。

mard里记载的是当前库存的数量,但是期间并不一定是当月。比如你物料4月一整月都没有库存数量变化(没收没发),那么5月初你看mard里的条目期间数还是4月而非5月。
当某个期间发生货物移动的时候,系统在更新mard数据的之前(这个表是实时更新的),会检查此笔业务过账期间和mard里对应记录的期间是否一致,也就是看这是不是本期间第一笔移动。如果是,copy表mard里对应记录到mardh,然后把mard记录改成当期(也可能是先删后建),然后再作更新数量数据的操作。如果不是第一笔记录,也就是mard期间和mseg期间一致,则不作copy记录只更新mard数量。

这样处理貌似减少了冗余数据,不过给编程取历史库存增加了很大的工作量,个人觉得不算明智之举。
库存方面的表
mbew
mbewh
mard--查主库存
mardh--主库存历史记录
mslb--特殊库存O
mkol--特殊库存K/M
mska--特殊库存E
msku--特殊库存V/W
mcha
mchb 

PRHI 工作分解结构,边缘(层次指针)

CONTINUE.
RANGES S_BANKNO FOR ZBANKDZ-ZBANKNO.
WAIT UP TO 1 SECONDS.  "等待1秒


函数模块:
FIMA_DATE_CREATE      计算日期退后二个月

例:
  DATA:LV_DATE TYPE SY-DATUM.

  CALL FUNCTION 'FIMA_DATE_CREATE'
    EXPORTING
      I_DATE                        = SY-DATUM
      I_MONTHS                      = '-2'
    IMPORTING
      E_DATE                        = LV_DATE.


  CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
    EXPORTING
      DAY_IN            = LV_BUDAT     "输入日期
    IMPORTING
      LAST_DAY_OF_MONTH = LA_BUDAT    "返回日期:20140131
    EXCEPTIONS
      DAY_IN_NO_DATE    = 1
      OTHERS            = 2.


删除相同VBELN的数据,保留一条
DELETE ADJACENT DUPLICATES FROM GT_TAB COMPARING VBELN. 

赋值一个内表和一个值
MOVE-CORRESPONDING LT_ZTMMIWM_0014  TO GT_DISTRO-SKUDEFINITION.
MOVE LV_TMS_ORD_TYPE  TO GT_DISTRO-STOREDISTROFIELDS-TMS_ORD_TYPE.

更新内表中的某一个字段值(在LOOP循环中)
MODIFY GT_LIPS TRANSPORTING CHECKBOX .

查询行项目行以9开头数据
SELECT SINGLE COUNT(*) FROM VBUP
  WHERE VBELN = GT_LIPS-VBELN
    AND WBSTA = 'C'
    AND POSNR LIKE '9%'.

报表编辑抬头
REPORT  ZFIR016 MESSAGE-ID ZFI NO STANDARD PAGE HEADING
                               LINE-SIZE  120
                               LINE-COUNT 65.
CONDENSE A1 NO-GAPS.    去空格

BREAK-POINT.    "断点设置代码
    
data: a  type string value 'adfasfsafafdl'.
translate a to upper case.      "小写转大写函数


" 宏的调用
data: result type i,
      n1 type i value 5,
      n2 type i VALUE 6.

define operation.
  result = &1 &2 &3.
  output &1 &2 &3 result.
end-OF-DEFINITION.

define output.
  write: / ' &1 &2 &3 ', &4.
end-OF-DEFINITION.

operation n1 + n2 .


CONCATENATE SY-DATUM+4(4) SY-UZEIT INTO LV_C.

ls_vbap-matnr = |{ ls_vbap-matnr ALPHA = IN }|.      IN 是添加前导0,OUT是去掉前导0

"补前导零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    INPUT  = iv_changenr
  IMPORTING
    OUTPUT = iv_changenr.

"去前导零
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
      input  = p_out
    IMPORTING
      output = p_out.

采购寄售退货  TCURM

GM_CODE
01 MB01
02 MB31
03 MB1A
04 MB1B
05 MB1C
06 MB11
07 MB04


标准ALV 状态 程序SAPLKKBL   STANDARD

showicon这个程序很不错,可以显示SAP里所有的ICON(图标)。

用事务码SE38直接运行程序:showicon 即可。

显示列表之后,双击任何一个图标可以显示出每一个图标的详细信息。

TRINT_OBJECTS_CHECK_AND_INSERT SE37  QAS PRD 强制修改代码
RS_REPAIR_SOURCE   114  119 断点 跳过


根据金额+税码算  基础税金和税额
CALCULATE_TAX_FROM_GROSSAMOUNT
付款条件文本函数
FI_TEXT_ZTERM

currency_converting_factor 取货币基数    1还是100      解决前台看信息记录是 5000 LAK  后面表KONP 存储是 50 LAK 

FMDERIVE - 基金管理对象分配 - 用户化 

SOAMANAGER - SOA Manager 
SICF  default_host/sap/bc/webdynpro/sap/APPL_SOAP_MANAGEMENT  测试服务

FMRP_RW_BUDCON - 会计核算 -> 公共部门管理 -> 基金管理 -> 信息系统 -> 总计记录 -> 预算控制系统 (BCS) -> 预算 -> 预算消耗的概览 


SE16N 改表显示变修改
GD-SAPEDIT  = 'X'
GD-EDIT     = 'X'

LEAVE LIST-PROCESSING.

SIGN 
OPTION
LOW
HIGH


EQ 就是 EQUAL等于
NQ 就是 NOT EQUAL不等于
GT 就是 GREATER THAN大于 
LT 就是 LESS THAN小于
GE 就是 GREATER THAN OR EQUAL 大于等于
LE 就是 LESS THAN OR EQUAL 小于等于


税率函数: GET_TAX_PERCENTAGE

CALL FUNCTION 'MESSAGE_TEXT_BUILD'
  EXPORTING
    MSGID                     = MESS_TAB-MSGID
    MSGNR                     = MESS_TAB-MSGNR
    MSGV1                     = MESS_TAB-MSGV1
    MSGV2                     = MESS_TAB-MSGV2
    MSGV3                     = MESS_TAB-MSGV3
    MSGV4                     = MESS_TAB-MSGV4
  IMPORTING
    MESSAGE_TEXT_OUTPUT       = L_MESSAGE.


*   调用 BAPI 函数,冲销会计凭证
    CALL FUNCTION 'BAPI_ACC_DOCUMENT_REV_POST'
*      EXPORTING
*        obj_type = gv_glvor
      EXPORTING
        reversal = wa_bapidochdrr
        bus_act  = <fs_bkpf>-glvor
      TABLES
        return   = gt_return.


日期合法性检查函数:
DATE_CHECK_PLAUSIBILITY

获取输入日期最后一天的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20140101'     "输入日期
  IMPORTING
    last_day_of_month = date           "返回日期:20140131
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.

CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
  EXPORTING
    i_date = '20140101'   "输入日期
  IMPORTING
    e_date = date.        "返回日期:20140131


CALL FUNCTION 'LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20140101'     "输入日期
  IMPORTING
    last_day_of_month = date           "返回日期:20140131
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.

获取输入日期前、后的年、月、日
DATA calc_date TYPE p0001-begda.
 
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
  EXPORTING
    date      = '20140101'    "输入日期
    days      = 10            "天数
    months    = 0             "月数
    signum    = '+'           "+号:表示 N天/月/年后的日期, -号:表示过去的日期
    years     = 0             "年数
  IMPORTING
    calc_date = calc_date.    "返回结果:10天后的日期(2014.01.11)


利用现成的Function modules:(金额数据存储和显示之间的转换)
CURRENCY_AMOUNT_SAP_TO_DISPLAY : 显示存储的金額
CURRENCY_AMOUNT_DISPLAY_TO_SAP : 存储输入的金額(至CURR type的数据表的字段)


S/4 HANA BP 的对应关系表
CVI_CUST_LINK
CVI_VEND_LINK
BUT00
BP001

激活采购寄售退货 SM30 V_TCURM_CONSRET


S4 价格条件凭证 存在 表  PRCD_ELEMENTS    ECC 存在 KONV


J3RFLVMOBVED  可以查期间的历史库存和收发存数量   ECC
J3RFLVMOBVEDH - Stock Overview (New)                  S/4

程序:RSPARAM 查看SAP所有系统参数
SAP后台Job数据保存在表TBTCP/TBTCO中,也可以通过视图V_OP查看


RV60AFZZ  发票增强修改     VF01
ZXM08U14  发票校验增强修改 MIRO


WSM3 清单帐户物料的重新编译(物料扩工厂用)
查询表WRSZ WRS1 WLK1 WLK2 [当WSM3扩展有问题时]


税分类表 MLAN  KNV1

select的时候直接 where conca( frye1,frpe1) <= '2020012' and conca( toye1,tope1) >= '2020012'


采购订单SE19增强时,指定报错
IF wa_shedule_temp <> wa_shedule_old AND g_i_i = 'X'.
   CLEAR lv_msg.
   CONCATENATE  '行' wa_meposchedule-ebelp '计划行' wa_meposchedule-etenr '在SRM系统中已标识不可更改' INTO lv_msg.
   CH_FAILED = 'X'."存在错误时禁止保存
   MMPUR_BUSINESS_OBJ_ID WA_MEPOITEM-ID. "指定错误行
   MMPUR_MESSAGE_FORCED 'E' 'SU' '000' LV_MSG '' '' ''. "错误信息
   CALL METHOD WA_ITEM-ITEM->INVALIDATE( ).
ENDIF.

ls_mepoheader            TYPE mepoheader,
wa_mepoitem              TYPE mepoitem,
ls_schedules             TYPE purchase_order_schedules.

CALL METHOD im_header->get_data
  RECEIVING
    re_data = ls_mepoheader.

CALL METHOD im_header->get_items
  RECEIVING
    re_items = wa_mepoitems.

"获取采购行项目对象
CALL METHOD wa_item-item->get_data
  RECEIVING
    re_data = wa_mepoitem.

"获取采购行项目中的交货计划明细对象
CALL METHOD wa_item-item->get_schedules
  RECEIVING
    re_schedules = ls_schedules.    


CG3Y 从应用服务器下载文件

CG3Z 上载文件到应用服务器

AL11 显示SAP目录
设置SAP用户参数ME_USE_GRID,值设置为X 

物料账期提前开账
CKMLMVADMIN 修改这个后台表 加上一行这个代码 MMPV_NUMBER_DAYS_ALLOWED  数据 20   意思就是可以提前20天开账。

MIGO的移动类型在表 MIGO_CUST_REFDOC 中记录对应关系
IDCNGRIR_GNB - 发货结算(中国)  查看已收货未开票清单
SNRO 凭证号范围配置
NACE 打印输出配置    
WLF_IDOC - IDoc 处理 
SRT_UTIL - Web 服务实用程序
CO05N 批量下达生产订单
COHV 批量处理生产订单
CO14 查生产报工
CO11N 生产报工
CS12  多层BOM 
CL20N 采购审批值添加修改

在目标系统中运行程序:RV80HGEN即可修复BUG,而不需要在目标系统中通过VOFM**例程。该程序的作用是根据表TFRM,TFRMT在RV61ANNN等程序中增加INCLUDE RV61A998这样的代码,如此才能正常运行。具体见Notes:28683


移动类型与科目字段不匹配SE38,执行程序RM07CUFA即可


启用国际版本。
使用事务码SM30,编辑视图:V_SAPTSADV.

批量扩展库存地点:
使用事务码MMSC_MASS 批量扩展库存地点

EXCEL从地址R9单元格中取地区公式=MID(R9,FIND("市",R9)+1,FIND("区",R9)-FIND("市",R9))
EXCEL 补零公式 =TEXT(单元格,“00000”)  意思就是补五位数字,自动补齐不满足五位的0
EXCEL 以/号字符拆分A2单元格中的值  如:A02133/344拆成A02133和344   =IFERROR(LEFT(A2,FIND("/",A2)-1),A2)
EXCEL公式表示:如果B2中包含字符“A”,就返回“包含”,否则返回“不包含”。
                           =IF(ISNUMBER(FIND("A",B2)),"包含","不包含")
                           =IF(ISERR(FIND("特定字符",A1)),"无特定字符","有特定字符")

表MLAN  物料税分类


查询IDOC修改记录:底层表EDIDS      结构数据存在:EDID4
手工更改IDOC状态
事务码:SE38  ; 输入程序:RC1_IDOC_SET_STATUS;输入IDOC号更改状态。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值