&---------------------------------------------------------------------
*& Form U607
&---------------------------------------------------------------------

  • 运维检修费核算科目控制 按照项目类型替代原9*科目到对应成本科目
    ----------------------------------------------------------------------
  • –>KOSTL text
    ----------------------------------------------------------------------
    FORM U607 USING HKONT TYPE BSEG-HKONT.
    DATA: LV_MSG TYPE STRING .
    DATA: IT_DDXZKM TYPE TABLE OF ZMMFW_DDXZHKONT .
    DATA: WA_DDXZKM LIKE LINE OF IT_DDXZKM .
    DATA: LV_PSPEL TYPE AUFK-PSPEL .
    DATA: LV_STORT TYPE AUFK-STORT .
    DATA: LV_PROFL TYPE PROJ-PROFL .
    DATA: LV_HKONT LIKE BSEG-HKONT .
    DATA: WBSNUM LIKE BSEG-PROJK .
    DATA: LV_ISCBXM TYPE C .

"发货替代成本中心 成本项目取成本中心 成本项目成本中心取数
IF SY-TCODE EQ ‘MIGO’
OR SY-TCODE EQ ‘MB1A’
OR SY-TCODE EQ ‘MB1B’
OR SY-TCODE EQ ‘MIGO_GI’
OR SY-TCODE EQ ‘ZMM19001’
OR SY-TCODE EQ ‘MBST’
OR SY-TCODE EQ ‘MBRL’
.

IF ( BSEG-NPLNR IS NOT INITIAL OR BSEG-PROJK NE ‘00000000’ ) .
"按照项目类型替代原9*科目到对应成本科目 add by cxm 20140317
CALL FUNCTION ‘ZFI22F_JUDGE_CBXM’
EXPORTING
IV_PSPNR = BSEG-PROJK
IV_NPLNR = BSEG-NPLNR
IV_GETKOSTL = ‘X’
IV_GETTDKM = ‘WZ’
IMPORTING
EV_ISCBXM = LV_ISCBXM
EV_PROFL = LV_PROFL
EV_HKONT = LV_HKONT.
IF LV_ISCBXM = ‘X’ .
IF LV_HKONT IS NOT INITIAL .
HKONT = LV_HKONT .
BSEG-HKONT = LV_HKONT .
ENDIF.
ENDIF.
ENDIF.
ENDIF.

FUNCTION ZFI22F_JUDGE_CBXM. *se37可查询FUNCTION代码

DATA: lv_objnr TYPE j_objnr .
DATA: lv_aprof TYPE cobra-aprof .
DATA: lv_abrist TYPE tkb1a-abrist .
DATA: lv_psphi TYPE prps-psphi .
DATA: lw_pspel TYPE aufk-pspel .
DATA: lv_pspnr TYPE prps-pspnr .
DATA:
lv_posid TYPE ps_posid,
lw_prart TYPE prps-prart,
lw_psphi TYPE prps-psphi,
lw_profl TYPE proj-profl,
lw_kostl_proj TYPE proj-kostl,
lw_kostl_prps TYPE prps-kostl .
DATA it_xmcbkm TYPE TABLE OF zmm22t_xmcbkm WITH HEADER LINE .
DATA wa_xmcbkm TYPE zmm22t_xmcbkm .

"取WBS属性
IF iv_pspnr IS NOT INITIAL .
SELECT SINGLE pspnr posid psphi prart fkstl
INTO CORRESPONDING FIELDS OF es_prps
FROM prps
WHERE pspnr = iv_pspnr .
ELSEIF iv_posid IS NOT INITIAL .
SELECT SINGLE pspnr posid psphi prart fkstl
INTO CORRESPONDING FIELDS OF es_prps
FROM prps
WHERE posid = iv_posid .
ELSEIF iv_nplnr IS NOT INITIAL .
SELECT SINGLE pspel
INTO lw_pspel
FROM aufk
WHERE aufnr = iv_nplnr .

SELECT SINGLE pspnr posid psphi prart fkstl
INTO CORRESPONDING FIELDS OF es_prps
FROM prps
WHERE pspnr = lw_pspel .
ENDIF.

"取项目定义
SELECT SINGLE pspnr pspid objnr kostl profl
INTO CORRESPONDING FIELDS OF es_proj
FROM proj WHERE pspnr = es_prps-psphi .

CHECK es_proj-objnr IS NOT INITIAL .

SELECT SINGLE aprof INTO lv_aprof FROM cobra
WHERE objnr = es_proj-objnr .
SELECT SINGLE abrist INTO lv_abrist FROM tkb1a
WHERE aprof = lv_aprof .

ev_pspid = es_proj-pspid .
ev_profl = es_proj-profl .
ev_xmlb = es_proj-pspid(2) .

IF lv_abrist EQ ‘2’ .
ev_iscbxm = ‘X’ .
ELSE.
ev_iscbxm = ‘’ .
ENDIF.

select * into table it_xmcbkm from zmm22t_xmcbkm where profl = es_proj-profl .
check it_xmcbkm[] is not initial . "如果项目类型不在 成本项目科目对应表内则不需要取 项目成本中心 及项目对应科目

ev_iscbxm = ‘X’ ."在对应表内就算是需要结算的
IF iv_getkostl EQ ‘X’."取成本项目成本中心
es_prps-posid = es_prps-posid .
lw_kostl_prps = es_prps-fkstl .
IF es_prps-posid IS NOT INITIAL .
IF lw_kostl_prps IS INITIAL .
CONCATENATE es_prps-posid(14) ‘%’ INTO lv_posid.
SELECT SINGLE fkstl
INTO lw_kostl_proj
FROM prps WHERE posid LIKE lv_posid AND stufe = ‘1’ .
IF sy-subrc NE 0 .
CONCATENATE es_prps-posid(12) ‘%’ INTO lv_posid.
SELECT SINGLE fkstl
INTO lw_kostl_proj
FROM prps WHERE posid LIKE lv_posid AND stufe = ‘1’ .
IF sy-subrc NE 0 .
CONCATENATE es_prps-posid(10) ‘%’ INTO lv_posid.
SELECT SINGLE fkstl
INTO lw_kostl_proj
FROM prps WHERE posid LIKE lv_posid AND stufe = ‘1’ .
ENDIF .
ENDIF .

ev_kostl = lw_kostl_proj .
ELSE.
ev_kostl = lw_kostl_prps .

ENDIF .
ENDIF .
ENDIF .

IF iv_gettdkm is not initial ."取成本项目替代科目
"成本项目 物资发货替代,按照项目类型替代原9*科目到对应成本科目
LOOP AT it_xmcbkm INTO wa_xmcbkm WHERE ywlx = iv_gettdkm .
IF wa_xmcbkm-prart IS INITIAL OR wa_xmcbkm-prart = es_proj-pspid(2) .
ev_hkont = wa_xmcbkm-hkont .
ENDIF .
ENDLOOP .
ENDIF.

ENDFUNCTION.

调用CALL FUNCTION 'ZFI22F_JUDGE_CBXM'相关推荐

  1. ibatis oracle function,IBATIS调用oracle function(函数)的步骤实例

    IBATIS调用oracle function(函数)的方法实例 引用 create or replace function getClassifiedCode(p_planCode in varch ...

  2. 使用ABAP调用BRF+ function

    针对如下的BRF+ function: 基于如下输入,根据rule的规则,计算出的final price应等于 10 / ( 1 + 0.12 ) = 8.93 可以使用如下的report来将上述输入 ...

  3. c# 调用oracle function,在C#中如何利用adodb调用oracle中定义的函数

    调用存储过程,我利用下面的代码能实现: ADODB.Command adoCmd; GeneralCommon.M_CN1.CursorLocation = ADODB.CursorLocationE ...

  4. jMeter 里如何调用函数 function

    jMeter 线程组的 loop count -1,等价于把 infinite 勾上. jMeter 里函数调用的语法: ${__time(YMD)} 两个下划线,后跟函数名,小括号内是输入参数,整个 ...

  5. c# 调用oracle function,C#调用Oracle存储过程的方法

    GetReviewTask public string GetReviewTask(GetReviewTaskInput input) { /* * 试过三种写法都不对,暂时找不出是什么原因,改成拼S ...

  6. pb11.5调用系统打印机 Function ulong ShellExecute(ulong hwnd,ref string lpOperation,ref string lpFile,ref st

    pb11.5调用系统打印机 Function ulong ShellExecute(ulong hwnd,ref string lpOperation,ref string lpFile,ref st ...

  7. PyTorch之前向传播函数自动调用forward

    参考:1. pytorch学习笔记(九):PyTorch结构介绍 2.pytorch学习笔记(七):pytorch hook 和 关于pytorch backward过程的理解 3.Pytorch入门 ...

  8. pytorch 调用forward 的具体流程

    forward方法的具体流程: 以一个Module为例: 1. 调用module的call方法 2. module的call里面调用module的forward方法 3. forward里面如果碰到M ...

  9. 深入理解javascript中的立即执行函数(function(){…})()

    2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各 ...

最新文章

  1. PyQt5 技术篇-plainTextEdit控件获得文本内容方法、设置文本内容方法。
  2. 《需求工程——软件建模与分析》读后感之三
  3. 模型算法-支持向量机SVM
  4. 当你不喜欢一个人(一段话、一篇文章)的时候
  5. c++重载、覆盖和隐藏
  6. alter 弹出添加图片_解决PS保存JPG图片内存很大的方法(二)
  7. 基于ffmpeg的h264播放器无法播放HI3516开发板保存的h264码流的问题
  8. arduino如何驱动1602显示器?(使用arduino内置LiquidCrystal库)
  9. XYNU—ACM暑假集训第三次测试 贪心算法
  10. 初学者怎样复制粘贴并运行VBA宏?
  11. 为什么比同龄人显老?原来基因变异在作怪
  12. vue全家桶_vue脚手架
  13. Ceph添加OSD节点
  14. 利用浏览器的油猴插件下载网页视频
  15. jmeter阶梯式线程组
  16. 全国上下齐讽国足,一片和谐(加强版)
  17. 盘点6个靠谱正规的赚钱软件(有用赶快收藏)
  18. dw边框弧度设置_如何给你微信推文增加阴影边框效果?
  19. 信用卡评测系列——阳光惠生活APP深化服务客户品牌理念,焕新升级7.0版
  20. 使用UltraISO将苹果dmg文件转换标准ISO

热门文章

  1. JQuery基本操作 JQueryCSS操作 JQuery筛选选择器 JQuery筛选方法 JQuery效果
  2. 设置字体大小用css的哪个属性,css设置字体大小的属性名是什么
  3. 【阿里资讯】阿里巴巴再谈大数据新生态,CEO张勇如是说
  4. cgroup隔离的知识点
  5. Win10无法连接打印机怎么办?不能使用打印机的解决方法
  6. 【先楫HPM6750系列】PWM驱动蜂鸣器发声
  7. 5.8GHz 和 10.525GHz 微波雷达的典型差异点
  8. 由浅入深的前端面试题 和矫情的“浪漫主义”诗句 1
  9. C语言之今天我可以让计算机来帮我判断三角形的类型(锐角、直角、钝角)
  10. 绿色平谷 快乐休闲 放松心情 快乐郊游