matinal:SAP ABAP 币别汇率查询

 🚀欢迎来到本文🚀
🍉个人简介:matinal,目前职业是IT行业,一个正在慢慢前行的普通人。
🏀系列专栏:涵盖SAP各模块,Python,Excel,人工智能等
💡 其他专栏:一些平时学习的技术,感兴趣的小伙伴可以看看。

🍔公众号:matinal
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️


 前言:SAP ABAP 币别汇率查询。

🦙(工作遇到傻逼,千万要远离。道路千万条,远离傻逼第一条)


1.说明

  查询sap 汇率

2.使用function

  币别因子: CURRENCY_CONVERTING_FACTOR

  转换 CONVERT_TO_LOCAL_CURRENCY

3.屏幕参数说明

4.实现效果

5.完整代码

*&---------------------------------------------------------------------*
*& Report ZMMRTEST2
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZMMRTEST2 NO STANDARD PAGE HEADING
                 MESSAGE-ID 00 LINE-SIZE 177 LINE-COUNT 200.

DATA:BEGIN OF alv_data occurs 0,
datum LIKE eine-erdat ,"日期
f_konwa LIKE konp-konwa," 来源货币
f_netpr TYPE p DECIMALS 2,
l_konwa LIKE konp-konwa ," 目标货币
l_netpr TYPE p DECIMALS 2,
EX_KURS TYPE p DECIMALS 5,"汇率
END OF alv_data.

DATA: gs_layout TYPE slis_layout_alv,
          gt_fieldcat TYPE slis_t_fieldcat_alv ,"with header line.
          wa_fieldcat TYPE slis_fieldcat_alv.
************************************************************************
* Includes Module
************************************************************************

************************************************************************
* Selection Screen
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-b01.
  PARAMETERS:p_datum LIKE eine-erdat OBLIGATORY,"日期
                      f_konwa LIKE konp-konwa OBLIGATORY," 来源货币
                      f_netpr TYPE p DECIMALS 2 OBLIGATORY,"来源金额
                      l_konwa LIKE konp-konwa OBLIGATORY." 目标货币
SELECTION-SCREEN END OF BLOCK b1.

************************************************************************
* Initialization
************************************************************************
INITIALIZATION.

************************************************************************
* At Selection Screen
************************************************************************
AT SELECTION-SCREEN.

************************************************************************
* At Selection Screen Output
************************************************************************
AT SELECTION-SCREEN OUTPUT.

************************************************************************
* Report Format
************************************************************************
TOP-OF-PAGE.

END-OF-PAGE.
************************************************************************
* Main Process
************************************************************************
START-OF-SELECTION.
     PERFORM get_data.
     PERFORM get_col.
     PERFORM alv_show.
END-OF-SELECTION.

FORM get_data.

data:
      KURS       LIKE TCURR-UKURS,
      FIX_KURS    LIKE KURS,
      EX_KURS     LIKE KURS,
      FFACT       LIKE TCURR-FFACT,
      TFACT       LIKE TCURR-TFACT,
      z_btr like mbew-salk3,
      KURST      LIKE TCURR-KURST.

DATA: f_factor TYPE isoc_factor.
DATA: l_factor TYPE isoc_factor.

  IF f_netpr is INITIAL.
    f_netpr = 1.
  ENDIF.

    CLEAR:alv_data[].

    CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
          EXPORTING
            DATE              = p_datum
            FOREIGN_AMOUNT    = f_netpr
            FOREIGN_CURRENCY  = f_konwa
            LOCAL_CURRENCY    = l_konwa
*           RATE              = 0
           TYPE_OF_RATE      = 'M'
         IMPORTING
            FOREIGN_FACTOR    = FFACT
            LOCAL_FACTOR      = TFACT
            EXCHANGE_RATE     = EX_KURS
            DERIVED_RATE_TYPE = KURST
            LOCAL_AMOUNT      = z_btr
            FIXED_RATE        = FIX_KURS
         EXCEPTIONS
            OTHERS            = 6.

     CLEAR:f_factor,l_factor.
     CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
          EXPORTING
            currency =  f_konwa
         IMPORTING
           factor = f_factor.

      CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
          EXPORTING
            currency =  l_konwa
         IMPORTING
           factor = l_factor.

          alv_data-datum = p_datum ."日期
          alv_data-f_konwa = f_konwa." 来源货币
          alv_data-f_netpr = f_netpr.
          alv_data-l_konwa = l_konwa ." 目标货币
          alv_data-l_netpr = z_btr / f_factor * l_factor.
          alv_data-EX_KURS = EX_KURS.
          APPEND alv_data.  CLEAR alv_data.

ENDFORM.

  FORM GET_COL.
      DATA: L_REPID    TYPE SY-REPID,
          L_INCLNAME TYPE TRDIR-NAME,
          L_IDX      LIKE SY-TABIX.
    CLEAR: GT_FIELDCAT[], WA_FIELDCAT.

    L_REPID = L_INCLNAME = SY-CPROG.

    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
      EXPORTING
        I_PROGRAM_NAME         = L_REPID
        I_INTERNAL_TABNAME     = 'ALV_DATA'
        I_INCLNAME             = L_INCLNAME
      CHANGING
        CT_FIELDCAT            = GT_FIELDCAT
      EXCEPTIONS
        INCONSISTENT_INTERFACE = 1
        PROGRAM_ERROR          = 2
        OTHERS                 = 3.

   LOOP AT gt_fieldcat INTO wa_fieldcat.
      l_idx = sy-tabix.
        CASE wa_fieldcat-fieldname.
          WHEN 'DATUM'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '转换日期'.
            wa_fieldcat-ddictxt = 'S'.
          WHEN 'F_KONWA'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '来源货币'.
            wa_fieldcat-ddictxt = 'S'.
          WHEN 'F_NETPR'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '转换金额'.
            wa_fieldcat-ddictxt = 'S'.
          WHEN 'L_KONWA'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '本地货币(目标货币)'.
            wa_fieldcat-ddictxt = 'S'.
          WHEN 'L_NETPR'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '金额'.
            wa_fieldcat-ddictxt = 'S'.
          WHEN 'EX_KURS'.
            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
            wa_fieldcat-seltext_l = '汇率'.
            wa_fieldcat-ddictxt = 'S'.
*          WHEN 'WRBTR1'.
*            wa_fieldcat-seltext_s = wa_fieldcat-seltext_m =
*            wa_fieldcat-seltext_l = '金额'.
*            wa_fieldcat-ddictxt = 'S'.
        ENDCASE.
*      CLEAR wa_fieldcat-key.
      MODIFY gt_fieldcat FROM wa_fieldcat INDEX l_idx.
    ENDLOOP.
ENDFORM.

  FORM ALV_SHOW.
      DATA: LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
                I_CALLBACK_PROGRAM = SY-REPID
                IS_LAYOUT                   = GS_LAYOUT
                IT_FIELDCAT                  = GT_FIELDCAT[]
                 I_SAVE                         = 'A'
               TABLES
                   T_OUTTAB                   = ALV_DATA
                EXCEPTIONS
                  PROGRAM_ERROR      = 1
                OTHERS                     = 2.
ENDFORM.

   怎么样,在了解此篇文章有何感想?


如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。更多精彩内容->在这里

<think>好的,我现在需要处理用户关于SAP系统中车间和仓库盘盈盘亏处理方式及差异的问题。首先,我要回忆之前用户提到的内容,用户之前问过车间库负库存的设置,引用了matinalSAP FICO的资料。现在用户进一步询问盘盈盘亏的具体处理方法和区别,需要结合之前的引用信息,同时可能需要补充其他相关知识。 首先,盘盈盘亏通常涉及库存差异的处理,这在SAP中可能通过不同的移动类型和会计科目来体现。根据引用[1],车间库是虚拟库,允许负库存,而实体仓库不允许。这可能影响盘点的处理方式。例如,车间库的差异可能通过生产订单调整,而实体仓库的差异可能直接通过库存调整科目处理。 然后,引用[2]提到KO88结算生产订单时产生的会计凭证,涉及生产成本和材料成本差异科目。这说明生产相关的差异可能通过生产订单结算流程处理,而仓库的差异可能直接调整库存科目。 接下来,我需要区分车间和实体仓库的处理步骤。车间库作为虚拟库,可能与生产订单相关,盘盈盘亏可能通过调整生产订单的投入或产出来处理,使用特定的移动类型如701/702。而实体仓库的差异可能使用移动类型701/702,并直接过账到差异科目,影响库存价值。 另外,会计处理方面,车间库的差异可能关联到生产成本科目,而实体仓库差异可能对应库存调整科目。需要注意系统配置中是否允许负库存对处理方式的影响,车间库允许负库存可能意味着差异处理更灵活,而实体仓库需要及时调整避免负库存。 用户可能还想知道具体的操作事务代码,比如MI07用于库存盘点,MI20查看差异,以及KO88结算生产订单。同时,需要说明两者的核心区别在于库存类型、会计科目和处理流程。 最后,生成相关问题需要考虑用户可能进一步的问题,比如配置步骤、会计凭证差异、生产订单影响等。确保问题覆盖用户可能的兴趣点,帮助他们深入理解处理机制。</think>### SAP车间与仓库盘盈盘亏处理方法及区别 #### 一、车间库(虚拟库)盘盈盘亏处理 1. **业务背景** 车间库作为配合生产回冲扣料的虚拟库,允许负库存[^1],其差异通常与生产订单执行相关。例如:生产投料未完全消耗或退库未及时记录。 2. **处理步骤** - **差异确认**:通过事务代码`MI07`进行库存盘点,系统生成差异清单。 - **调整方式**: - 盘盈:使用移动类型`701`(库存增加)关联生产订单,冲减生产成本。 - 盘亏:使用移动类型`702`(库存减少)关联生产订单,增加生产成本。 - **会计处理**:差异通过生产订单结算(事务代码`KO88`)转入成本中心或差异科目,例如: ``` 借:生产成本-差异调整 贷:库存-车间库 ``` [^2] #### 二、实体仓库盘盈盘亏处理 1. **业务限制** 实体仓库禁止负库存[^1],差异需立即处理,通常由物料管理模块触发。 2. **处理步骤** - **差异过账**:使用移动类型`701`/`702`直接调整库存,系统自动生成会计凭证: ``` 借/贷:库存商品 贷/借:库存盘盈盘亏科目 ``` - **权限控制**:需审批流程(通过审批码或电子工作流)。 #### 三、核心区别对比 | **维度** | **车间库** | **实体仓库** | |----------------|-----------------------------------|--------------------------------| | **库存类型** | 虚拟库(允许负库存)[^1] | 实物库(禁止负库存) | | **差异来源** | 生产订单执行偏差 | 收发存操作误差 | | **会计科目** | 关联生产成本科目[^2] | 直接使用库存调整科目 | | **处理流程** | 需结合生产订单结算(KO88)[^2] | 独立过账,无需关联订单 | #### 四、配置要点 1. **车间库**:在物料主数据中设置“特殊库存标识”(如生产库存),并配置移动类型与生产订单的关联。 2. **实体库**:在物料管理(MM)模块定义库存调整科目,并设置审批策略。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值