学习

chouer

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  2 随笔 :: 948 文章 :: 8 评论 :: 0 Trackbacks
Cached @ 2025/4/26 18:48:20Control ASP.skins_cogitation_controls_blogstats_ascx
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

News

留言簿(0)

随笔档案

文章分类

文章档案

搜索

最新评论

  • 1. SAP资料下载
  • SAP下载网,
    SAP资料共享网站,完全免费
    资料全由网友共享,大家共享,大家下载
  • --SAP99

阅读排行榜

评论排行榜

Cached @ 2025/4/26 18:48:20Control ASP.skins_cogitation_controls_singlecolumn_ascx

例如我们想经由BDC ProgramSales Empolyee的资料由ASCII Text File去更新 R/3

数据库Sales Empolyee Persolnal Data 会有以下两个画面要输入:

 

 

 

 

 

 

 

 


Program Name SAPMP50AScreen Number 1000Transaction Code PAL3

 

Program Name SAPMP50AScreen Number 2042Transaction Code PAL3

 

 

Screen 1000 要填入的资料是

Description        Field Name         Value

Personal Number   RP50G-PERNR      242147

Info Type          RP50G-CHOIL      Personal Data

 

Screen 2042 要填入的资料是

Description        Field Name         Value

From Date         P002-BEGDA       01/13/1969

To Date           P002-ENDDA       12/31/9999

Last Name         P002-NACHN       Dora

First Name         P002-VORNA       Cheng

 

欲转入的ASCII Text File檔名是 empoly.txt,其格式为

Description        Length   Position      Value

Personal Number     10         1        242147

Info Type           20        11        Personal Data

From Date          10        31        01/13/1969

To Date            10        41        12/31/9999

Last Name          20        61        Dora

First Name          20        81        Cheng

 

程序如下:

 

*  PROGRAM SOURCE HEADER 

* Program Name: ZTBDC00

* Description:  Change Sales Empolyee Data Using BDC Program

* Date/Author:  1998/06/10 周庆日

* Table Update:

* Special Logic:

* Include:

*---------------------------------------------------------------

*  MODIFICATION LOG

*---------------------------------------------------------------

* ChangeDate Programmer    Request      Description

* ========== ============= ============ ==========================

* 1998/06/10 Chou                       NEW PROGRAM

*----------------------------------------------------------------------------

 

* REPORT NAME 

*------------------------------------------------------------------

REPORT ZTBDC00

       NO STANDARD PAGE HEADING

          MESSAGE-ID ZZ

          LINE-COUNT 60 

          LINE-SIZE  80.

 

*DATA

*----------------------------------------------------------------

TABLES: RP50G,P002.

DATA: BEGIN OF INT_BDC  OCCURS  0.

      INCLUDE  STRUCTURE  BDCDATA.

DATA: END  OF  INT_BDC.

 

* Work Internal Table

DATA: BEGIN OF IN_REC,

     PERNR   LIKE  RP50G-PERNR,

     CHOIL   LIKE  RP50G-CHOIL,

     BEGDA  LIKE   P002-BEGDA,

     ENDDA  LIKE   P002-ENDDA,

     NACHN  LIKE   P002-NACHN,

     VORNA  LIKE   P002-VORNA,

      END  OF  IN_REC.

 

DATA: P_FILE(30)  VALUE  ‘empoly.txt’.  “ASCII Text File Name       

* INITIALIZATION

*----------------------------------------------------------------

INITIALIZATION.

* AT START SELECTION

*---------------------------------------------------------------

START-OF-SELECTION.

  PERFORM READ_DATA.

  PERFORM PROCESS_DATA.

 

*  END OF SELECTION

*---------------------------------------------------------------------

END-OF-SELECTION.

  PERFORM  CLEAN_UP.

 

* FORM

*-------------------------------------------------------------

* Read Data  OPEN ASCII Text File

*-------------------------------------------------------------

FORM READ_DATA.

  OPEN  DATASET  P_FILE  FOR  INPUT  IN  TEXT  MODE.

 

  IF  SY-SUBRC  NE  0.

     MESSAGE  E999  WITH  ‘Cannot  Open ‘  P_FILE.

  ENDIF. 

 

ENDFORM.

 

 

* Process Data

*-------------------------------------------------------------

FORM PROCESS_DATA.

  DO.

    READ DATASET P_FILE  INTO  IN_REC.  “Add Data To Internal Table

IF SY-SUBRC  NE  0.

   EXIT.

ENDIF.

 

PERFORM  BUILD_BDC.    “Add to BDC Table

PERFORM  SUBMIT_BDC.  “Call Transaction Code To Change Data

 

 ENDDO.

ENDFORM.

 

*----------------------------------------------------

* Add Data to BDC Table

FORM BUILD_BDC.

  PERFORM  BDC_SCREEN  TABLES  INT_BDC 

           USING  ‘SAPMP50A  1000’.

  PERFORM  BDC_FIELD  TABLES   INT_BDC:

           USING  ‘RP50G-PERNR’ IN_REC-PERNR,

           USING  ‘RP50G-CHOIL’  IN_REC-CHOIL,

           USING  ‘BDC_OKCODE’  ‘/00’.

 PERFORM  BDC_SCREEN  TABLES  INT_BDC 

           USING  ‘SAPMP50A  2042’.

 PERFORM  BDC_FIELD  TABLES   INT_BDC:

           USING  ‘P0002-BEGDA’ IN_REC-BEGDA,

           USING  ‘P0002-ENDDA’ IN_REC-ENDDA,

           USING  ‘P0002-NACHN’ IN_REC-NACHN,

           USING  ‘P0002-VORNA’ IN_REC-VORNA,

           USING  ‘BDC_OKCODE’  ‘/11’.

 ENDFORM.

 

*----------------------------------------------------------------

* Call Transaction Code to Execute Change Data

FORM  SUBMIT_BDC.

  CALL  TRANSACTION  ‘PAL3’  USING  INT_BDC

        MODE  ‘N’.

  REFRESH  INT_BDC.  BDC Table资料清除

ENDFORM.

 

*------------------------------------------------------------------

* Close ASCII Text File

FORM  CLEAN_UP.

  CLOSE  DATASET  P_NAME.

  IF  SY-SUBRC  NE  0.

     MESSAGE  E999  WITH  ‘Cannot  Close ‘ P_FILE.

  ENDIF. 

 

ENDFORM.

 

*------------------------------------------------------------------

* Add BDC Screen Field Data

*---------------------------------------------------------------------------------------------------

FORM BDC_SCREEN TABLES P_BDC STRUCTURE BDCDATA

     USING P_PROGRAM P_SCREEN.

  CLEAR  P_BDC.

  P_BDC-PROGRAM  =  P_PROGRAM.

  P_BDC-DYNPRO   =  P_SCREEN.

  P_BDC-DYNBEGIN = 'X'.

  APPEND  P_BDC.

ENDFORM.

 

* Add BDC Field Data

*----------------------------------------------------------------------------------------------

FORM BDC_FIELD TABLES P_BDC STRUCTURE BDCDATA

     USING P_NAME P_VALUE.

  CLEAR  P_BDC.

  CASE  P_VALUE.

    WHEN ''.

    WHEN OTHERS.

      P_BDC-FNAM  =  P_NAME.

      P_BDC-FVAL  =  P_VALUE.

      APPEND  P_BDC.

  ENDCASE.

ENDFORM.

 

 

分享按钮发布于: 2006-09-22 13:45 chouer 阅读(466) 评论(0)  编辑 收藏

评论

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]