SAP 取月度期初库存和月度期末库存(历史库存)

本文详细介绍了如何通过MARDHMARDMSKUHMSKUMSLBHMSLBMSKAHMSKA库存表获取特定会计年度与期间的期初库存和期末库存数据。通过代码实例演示了如何在不同月份间查找并整合库存信息,确保数据的一致性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有很多人在做库存进销存的时候,感觉期初库存和期末库存比较难搞定,感觉要去取货物移动的数据来获取期初库存和期末库存,其实不然,只要理解原理就可以快速取出期初库存和期末库存

库存表:MARDH MARD MSKUH MSKU MSLBH MSLB MSKAH MSKA

下面以MARDH MARD为例,如果一个物料在2011年9月份做了一笔货物移动,则会自动在MARDH中更新2011年8月份的期末库存,假如在2011年9月份一直没有做货物移动,则不会更新MARDH中8月份的期末库存

 

假如我想获得2011年7月份的库存,则需要先在MARH中查找7月份的库存,找不到找8月份的库存,找不到找9月份的库存,以此类推,最后都找不到,则用MARD中的库存

 

* 下面代码为获取8月份的期初库存和8月份的期末库存

 

PARAMETERS:
* 会计年度
  p_gjahr  LIKE bkpf-gjahr OBLIGATORY DEFAULT '2011',
* 期间
  p_monat  LIKE bkpf-monat OBLIGATORY DEFAULT '08'.

 

DATA:
  v_gjahr  LIKE bkpf-gjahr,    " 上月期间年度
  v_monat  LIKE bkpf-monat.   " 上月期间月份

 

* 获取上月度年度和月份
  IF p_monat = '01'.
    v_monat = '12'.
    v_gjahr = p_gjahr - 1.
  ELSE.
    v_monat = p_monat - 1.
    v_gjahr = p_gjahr.
  ENDIF.

 

  DATABEGIN OF typ_mardh,
        p_string(6TYPE c.
          INCLUDE STRUCTURE mardh .
  DATAEND OF typ_mardh.
  DATA: i_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 期末数据
  DATA: n_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 当前库存
  DATA: m_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 上月期初数据

 

* 查找库存历史表
  SELECT   *

    FROM mardh
    INTO CORRESPONDING FIELDS OF TABLE m_mardh
   WHERE ( lfgja > v_gjahr OR ( lfgja = v_gjahr AND lfmon >= v_monat ) ).

  LOOP AT m_mardh .
    CONCATENATE m_mardh-lfgja m_mardh-lfmon INTO m_mardh-p_string .
    MODIFY m_mardh .
    IF m_mardh-p_string >= p_estring .
      MOVE-CORRESPONDING m_mardh TO i_mardh.
      APPEND i_mardh .
    ENDIF.
  ENDLOOP.

 

  SELECT   *

    FROM mard
    INTO CORRESPONDING FIELDS OF TABLE n_mardh .

 

  LOOP AT n_mardh .
    CONCATENATE n_mardh-lfgja n_mardh-lfmon INTO n_mardh-p_string .
    MODIFY n_mardh .
    MOVE-CORRESPONDING n_mardh TO m_mardh.
    APPEND m_mardh .
    MOVE-CORRESPONDING n_mardh TO i_mardh.
    APPEND i_mardh .
  ENDLOOP.

 

* 期初库存都在表M_MARDH

  SORT m_mardh BY matnr werks lgort lfgja lfmon .
  DELETE ADJACENT DUPLICATES FROM m_mardh COMPARING matnr werks lgort.

* 期末库存都在表I_MARDH
  SORT i_mardh BY matnr werks lgort lfgja lfmon .
  DELETE ADJACENT DUPLICATES FROM i_mardh COMPARING matnr werks lgort.

 

下面在获取数据的时候,直接可以READ TABLE ........  BINARY SEARCH .

 

 

 

 

 

  
### AI智能客服与智能会话 #### 定义与概念 AI智能客服指的是利用人工智能技术实现客户服务自动化的一种解决方案。这类系统可以理解并回应用户的查询,提供帮助服务支持。其核心在于模拟人类对话过程中的交互行为,使得机器能够以自然的方式同客户交流。 #### 工作原理 智能客服的工作机制依赖于多种先进技术的支持: - **自然语言处理(NLP)**:这是指让计算机理解生成人类使用的文字或语音的能力。通过对输入的信息进行语义分析、意图识别以及上下文管理等操作,智能客服得以解析用户的需求并向用户提供恰当的回答[^3]。 - **机器学习算法**:为了提高响应质量,智能客服还会采用监督式学习方法训练模型,使其可以从大量历史案例中学习最佳实践;同时也会运用强化学习不断优化自身的策略,在实际应用场景里做出更加合理的判断建议[^1]。 - **知识库集成**:除了依靠内置逻辑外,很多先进的智能客服还连接着庞大的后台数据库作为支撑。当遇到复杂问题时,它们可以通过检索这些结构化信息源获准确答案,并将其转化为易于被顾客接受的形式呈现出来。 #### 主要应用领域 随着技术进步,越来越多的企业开始部署AI驱动的聊天机器人来改善用户体验、降低运营成本并增强竞争力。以下是几个典型的应用场景: - **电子商务平台**:在线商店常常面临海量咨询请求的压力,而借助智能客服工具则可以在第一时间解答常见疑问,引导访客顺利完成购买流程; - **金融服务行业**:银行及其他金融机构也积极引入此类服务,用于账户查询、转账汇款指导等方面工作,既提高了效率又保障了安全性; - **电信运营商**:电话服务中心往往需要应对数以万计的日均来电量,此时拥有强大应变能力的人工智能助理无疑成为缓解人工坐席压力的有效手段之一。 ```python # 示例代码展示了一个简单的基于规则匹配的智能回复函数 def simple_chatbot_response(user_input): responses = { "你好": "您好!请问有什么可以帮助您的吗?", "再见": "感谢光临,祝您生活愉快!" } return responses.get(user_input.strip(), "抱歉,我不太明白您的意思") print(simple_chatbot_response("你好")) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值