惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
J
Java Code Geeks
雷峰网
雷峰网
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
V
Vulnerabilities – Threatpost
S
Securelist
The Hacker News
The Hacker News
The Register - Security
The Register - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
AI
AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Hacker News: Front Page
博客园 - 司徒正美
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
U
Unit 42
V
V2EX
V2EX - 技术
V2EX - 技术
L
LINUX DO - 最新话题
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
美团技术团队
小众软件
小众软件
F
Fortinet All Blogs

博客园 - zhumk

Kindle DX/2最低程度中文化 ABAP:更新供应商Email地址 How to search for BAdIs IP41 - 维护计划中的日期和周期 如何升级Mac Mini(二代)内存 Kindle Collection编辑器 Kindle 汉化终结版 ABAP:密码输入框 SAP相关下载链接 ABAP:在Dynpro屏幕中使用Selection Screen BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第四部分 ALV popup based on classic style REUSE_ALV_POPUP_TO_SELECT function module ABAP: 如何让ALV Tree的注册事件在屏幕PAI之后触发 ABAP: Search Help for Date ABAP:运行中修改Table Control控件状态 BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第二部分 BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第一部分 ABAP:WBS Element下层预算向上层汇总 DynDNS免费动态域名解析
BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第三部分
zhumk · 2011-02-18 · via 博客园 - zhumk

继续示例


   loop at LT_WBS into LS_WBS.

     clear LT_BPAK.
     select single OBJNR into LT_BPAK-E_OBJNR
       from PRPS
       where PSPNR = LS_WBS-PSPNR.

     LT_BPAK-E_VORGA = 'KSTP'.
     LT_BPAK-E_VERSN = '000'.
     LT_BPAK-TWAER   = CNS_WAERS.
     LT_BPAK-WERT    = LS_WBS-ZGSSUM.
     append LT_BPAK.
   endloop.

   call function 'KBPP_EXTERN_UPDATE_CO'
    exporting
      I_BUDGET_ACTIVITY            = 'KSTP'
*     I_BUDGET_ACTIV_SUP_RET       = ' '
*     I_COMMIT_DATA                = ' '
      I_DELTA_AMOUNTS              = '' "X表示追加,空表示替代
      I_ROLLUP_DATA                = '' "X表示向顶层汇总
*      I_CHECK_PLAN_DATA            = ''
*     I_APPLICATION                =
      I_COMMIT_ALL                 = 'X'
*   IMPORTING
*     E_ERRORS_FOUND               =
     tables
       IT_BPAK                      = LT_BPAK
       IT_RETURN                    = LT_RETURN
     exceptions
       NO_UPDATE                    = 1
       others                       2
             .
   if SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
     message E000 with '项目' P_PSPID '概算更新失败,请检查后再试!'.
   else.
     message S000 with '项目' P_PSPID '概算更新成功。'.
   endif.

另一个示例

****Updating the Budget update ( WRTTP = 41 and VORGA = KBUD) 

IF wa_final-budg_upd NE 0. 
  wa_bpak-s_profil = v_bprof. 
  wa_bpak-twaer = v_twaer. 
  wa_bpak-e_objnr = wa_final-objnr. 
  wa_bpak-s_wrttp = c_41. 
  wa_bpak-s_vorga = c_kbud. 
  wa_bpak-wert = wa_final-budg_upd. 
  APPEND wa_bpak TO it_bpak. 

  CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO' 
       EXPORTING 
            i_budget_activity      = wa_bpak-s_vorga 
            i_budget_activ_sup_ret = ' ' 
            i_commit_data          = c_x 
            i_delta_amounts        = ' ' 
            i_rollup_data          = c_x 
            i_check_plan_data      = c_x 
       TABLES 
            it_bpak                = it_bpak 
            it_return              = it_return. 
  IF NOT it_return IS INITIAL. 
    LOOP AT it_return INTO wa_return WHERE type = c_e. 
      wa_error-budg_upd = wa_return-message. 
    ENDLOOP. 
  ELSE. 
    wa_error-budg_upd = text-003. "'Updated'. 
    PERFORM transaction_commit. 
  ENDIF. 
ELSE. 
  wa_error-budg_upd = text-004. 
ENDIF.

第三个示例

Read data from CJ30 or budget of a project

*&---------------------------------------------------------------------* 
*$*$ Exit            : EXIT_SAPLCNAU_002                            *$*$ 
*$*$ Project         : ZPS0000                                       *$*$ 
*$*$ Enhancement     : CNEX0002                                 *$*$ 
*$*$ -------------------------------------------------------------- *$*$ 

*&---------------------------------------------------------------------* 
*&  Include           ZXCN1U06                                         * 
*&---------------------------------------------------------------------* 

*declaracao de dados para tratamento das transacoes CJ30,CJ32,CJ37,cj38 
DATA: tvarvc     TYPE tvarvc. 
DATA: v_text(40) TYPE c. 
DATA: i_tget_exp LIKE bpge_id. 
DATA: li_qtdreg  TYPE i. 

FIELD-SYMBOLS: <fs_tge>      TYPE STANDARD TABLE. 
FIELD-SYMBOLS: <fs_tget>     TYPE bpge_id. 
FIELD-SYMBOLS: <fs_tget_aux> TYPE bpge_id. 

IF sy-tcode EQ 'CJ30' OR 
   sy-tcode EQ 'CJ32' OR 
   sy-tcode EQ 'CJ37' OR 
   sy-tcode EQ 'CJ38'. 

  v_text = '(SAPLKBPP)T_GE[]'. 
  ASSIGN (v_text) TO <fs_tge>. 

  IF <fs_tge> IS ASSIGNED. 

    li_qtdreg = lines( <fs_tge> ). 

    LOOP AT <fs_tge> ASSIGNING <fs_tget>. 

      CASE sy-tcode. 

        WHEN 'CJ30' OR 'CJ32'. 

          IF <fs_tget>-vorga = 'KBUD'. 
            MOVE <fs_tget> TO i_tget_exp. 
*        Export to class ZCL_IM__IM_BEHAVIOUR 
            EXPORT i_tget_exp TO MEMORY ID 'i_tget_exp'. 
            EXIT. 
          ENDIF. 

        WHEN 'CJ37'. 

          IF <fs_tget>-vorga = 'KBN0'. 
            MOVE <fs_tget> TO i_tget_exp. 
*        Export to class ZCL_IM__IM_BEHAVIOUR 
            EXPORT i_tget_exp TO MEMORY ID 'i_tget_exp'. 
            EXIT. 
          ELSEIF sy-tabix = li_qtdreg. 
            READ TABLE <fs_tge> INDEX 1 ASSIGNING <fs_tget_aux>. 
            MOVE <fs_tget_aux> TO i_tget_exp. 
            CLEAR: i_tget_exp-wtges. 
*        Export to class ZCL_IM__IM_BEHAVIOUR 
            EXPORT i_tget_exp TO MEMORY ID 'i_tget_exp'. 
          ENDIF. 

        WHEN 'CJ38'. 

          IF <fs_tget>-vorga = 'KBR0'. 
            MOVE <fs_tget> TO i_tget_exp. 
*        Export to class ZCL_IM__IM_BEHAVIOUR 
            EXPORT i_tget_exp TO MEMORY ID 'i_tget_exp'. 
            EXIT. 
          ELSEIF sy-tabix = li_qtdreg. 
            READ TABLE <fs_tge> INDEX 1 ASSIGNING <fs_tget_aux>. 
            MOVE <fs_tget_aux> TO i_tget_exp. 
            CLEAR: i_tget_exp-wtges. 
*        Export to class ZCL_IM__IM_BEHAVIOUR 
            EXPORT i_tget_exp TO MEMORY ID 'i_tget_exp'. 
          ENDIF. 

      ENDCASE. 

    ENDLOOP. 

  ENDIF. 

*&---------------------------------------------------------------------* 
*$*$ Class           : ZCL_IM__IM_BEHAVIOUR                         *$*$ 
*$*$ BAdI            : IM_BEHAVIOUR                              *$*$ 
*$*$ Implementation  : Z_IM_BEHAVIOUR                         *$*$ 
*&---------------------------------------------------------------------* 
  METHOD if_ex_im_behaviour~get_behaviour . 

* Declaracao de dados para implementacao das transacoes CJ30, CJ32,CJ38 

    DATA: tvarvc     TYPE tvarvc. 
    DATA: v_text(40) TYPE c. 
    DATA: i_tget_exp TYPE bpge_id. 

    FIELD-SYMBOLS: <fs_tge> TYPE ANY TABLE, 
                   <fs_tget> TYPE bpge_id. 

    IF sy-tcode EQ 'CJ30' OR 
       sy-tcode EQ 'CJ32' OR 

       sy-tcode EQ 'CJ37' OR 
       sy-tcode EQ 'CJ38'. 

*    Import da EXIT_SAPLCNAU_002 
      IMPORT i_tget_exp TO i_tget_exp FROM MEMORY ID 'i_tget_exp'. 

      v_text = '(SAPLKBPP)T_GE[]'. 
      ASSIGN (v_text) TO <fs_tge>. 

      LOOP AT <fs_tge> ASSIGNING <fs_tget>. 

        IF <fs_tget>-epos = 'X'. 

* Conditions CJ30 
          IF ( sy-tcode = 'CJ30' AND <fs_tget>-vorga = 'KBUD' ) AND 
             ( ( <fs_tget>-objnr EQ i_tget_exp-objnr AND 
                <fs_tget>-wtges NE i_tget_exp-wtges ) OR 
               ( <fs_tget>-wtges NE i_tget_exp-wtges AND 
                 i_tget_exp-objnr IS INITIAL ) ) 
* Conditions CJ32 
          OR ( sy-tcode = 'CJ32' AND <fs_tget>-vorga = '*ADD' ) 
* Conditions CJ37 
          OR ( sy-tcode = 'CJ37' AND  <fs_tget>-vorga = 'KBN0' ) AND 
             ( <fs_tget>-objnr EQ i_tget_exp-objnr AND 
               <fs_tget>-wtges NE i_tget_exp-wtges ) 
* Conditions CJ38 
          OR ( sy-tcode = 'CJ38' AND  <fs_tget>-vorga = 'KBR0' ) AND 
             ( <fs_tget>-objnr EQ i_tget_exp-objnr AND 
               <fs_tget>-wtges NE i_tget_exp-wtges ). 

            SELECT SINGLE * 
            FROM tvarvc 
            INTO tvarvc 
            WHERE name = 'PS_CONT_ORC_N1' 
            AND low  = sy-uname. 

            IF sy-subrc NE 0. 
              MESSAGE ID 'ZPS' TYPE 'E' NUMBER '117' WITH sy-uname. 
            ENDIF. 

          ENDIF. 

        ENDIF. 

      ENDLOOP. 

    ENDIF. " Fim CJ30, CJ32, CJ37 e CJ38 
  ENDIF. 

ENDMETHOD. "if_ex_im_behaviour~get_behaviour