博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
采购合同增强Bapi代码
阅读量:2034 次
发布时间:2019-04-28

本文共 2356 字,大约阅读时间需要 7 分钟。

  
METHOD IF_EX_MEOUT_BAPI_CUST
~MAP2I_EXTENSIONIN
.
*--------------------------------------------------------------------*
* ExtensionIn - Mapping
*--------------------------------------------------------------------*
*
* Example here shows how to map packed data types
*  i) ZZ_VALUE is defined in CI_EKKODB as packed value
*  ii) ZZ_TARGET is defined in CI_EKPODB as packed value
*--------------------------------------------------------------------*
* define local types
    
TYPES
:
      
BEGIN 
OF LTY_S_HEADER
,
        
NUMBER   
TYPE EBELN
,
        ZZEVRT   
TYPE CI_EKKODB
-ZZEVRT
"协议编号
        ZZEVRTP  
TYPE CI_EKKODB
-ZZEVRTP
"协议项目
        ZZMQTY   
TYPE 
LENGTH 
16
"总目标数量
        ZZMEINS  
TYPE CI_EKKODB
-ZZMEINS
"基本计量单位
        ZZZHANL  
TYPE CI_EKKODB
-ZZZHANL
"占量
        ZZBUC    
TYPE CI_EKKODB
-ZZBUC
"补差
        ZZFANL   
TYPE CI_EKKODB
-ZZFANL
"返利
        ZZCGKH   
TYPE CI_EKKODB
-ZZCGKH
"采购客服
        ZZCGXZ   
TYPE CI_EKKODB
-ZZCGXZ
"采购协助
        ZZZCRY   
TYPE CI_EKKODB
-ZZZCRY
"驻厂人员
        ZZYYBM   
TYPE CI_EKKODB
-ZZYYBM
"营业部
        ZZVBELN  
TYPE CI_EKKODB
-ZZVBELN
,
        ZZFANL_Y 
TYPE CI_EKKODB
-ZZFANL_Y
,
        ZZFANL_J 
TYPE CI_EKKODB
-ZZFANL_J
,
        ZZFANL_N 
TYPE CI_EKKODB
-ZZFANL_N
,
        ZZFKFS   
TYPE CI_EKKODB
-ZZFKFS
,
        ZZJHTQ   
TYPE CI_EKKODB
-ZZJHTQ
,
      
END 
OF LTY_S_HEADER
.
**
    
TYPES
:
      
BEGIN 
OF LTY_S_ITEM
,
        EBELN 
TYPE EBELN
,
        EBELP 
TYPE EBELP
.
            
INCLUDE 
TYPE CI_EKPODB
.
    
TYPES
:
END 
OF LTY_S_ITEM
.
* define local data objects
    
DATA
LV_NAME 
TYPE        BAPIPAREX
-
STRUCTURE
,
          LR_DATA 
TYPE 
REF 
TO 
DATA
,
          LS_DATA 
TYPE LTY_S_HEADER
.
    
FIELD-SYMBOLS
<LS_DATA> 
TYPE 
ANY
.
* no error -> nothing to do here
    
IF IM_ERROR 
EQ ME
->MO_CONST
->
NO
.
      
RETURN
.
    
ENDIF
.
*
    LV_NAME 
IM_NAME
.
    
IF IM_NAME 
EQ 
'BAPI_TE_MEOUTHEADER' 
OR IM_NAME 
EQ 
'CI_EKKODB'
.
*      LS_DATA-NUMBER =  IM_CONTAINER+0(10).
*      LS_DATA-ZZEVRT =  IM_CONTAINER+10(10).
*      LS_DATA-ZZEVRTP =  IM_CONTAINER+20(5).
*      LS_DATA-ZZMQTY =  IM_CONTAINER+25(16).
*      MOVE-CORRESPONDING LS_DATA TO CH_STRUC.
      
CREATE 
DATA LR_DATA 
TYPE LTY_S_HEADER
.
* get codepage handler
      
DATA
(LO_CP
CL_MMPUR_BAPI_PO
=>GET_CODEPAGE_HANDLER
)
.
      
ASSIGN LR_DATA
->
TO <LS_DATA>
.
      
TRY
.
          LO_CP
->CONT_TO_STRUC
(
            
EXPORTING CONT   
IM_CONTAINER
                      LANGU  
SY
-LANGU
            
IMPORTING STRUC  
<LS_DATA> 
)
.
          
MOVE-CORRESPONDING <LS_DATA> 
TO CH_STRUC
.
        
CATCH CX_SY_CONVERSION_CODEPAGE
.
          
RETURN
.
        
CATCH CX_PARAMETER_INVALID_RANGE 
.
          
RETURN
.
      
ENDTRY
.
    
ELSEIF IM_NAME 
EQ 
'BAPI_TE_MEOUTITEM' 
OR IM_NAME 
EQ 
'CI_EKPODB'
.
*      CREATE DATA LR_DATA TYPE LTY_S_ITEM.
    
ENDIF
.
  
ENDMETHOD
.

转载地址:http://msqaf.baihongyu.com/

你可能感兴趣的文章
1-安卓底层-基础
查看>>
事务隔离性级别
查看>>
详细了解volatile关键字
查看>>
如何使用linux命令定位高占用java程序
查看>>
笔记-机器学习-1
查看>>
笔记-python-动态添加属性
查看>>
笔记-twisted-adbapi-scrapy
查看>>
笔记-python-lib—data types-enum
查看>>
笔记-jinja2语法
查看>>
笔记-django-视图
查看>>
一致性Hash算法
查看>>
flask_migrate
查看>>
flask_script
查看>>
threading.local
查看>>
flask上下文
查看>>
宏定义中的参数需要加括号的原因
查看>>
sizeof
查看>>
Linux的SOCKET编程详解
查看>>
fork与vfork的区别
查看>>
exit()与_exit()函数的区别(Linux系统中)
查看>>