SAP ABAP/4学习--如何调用SAP SCRIPT

*-----------------------------------------------------------------------
* Program ID    :ZTEST904
* Program Name  :ZTEST904
*-----------------------------------------------------------------------
* CREATED DATE  :2004/09/04
* CREATED BY    :LG
* DESCRIPTION   :这个程序是学习如何通过程序来调用
*                已经做好的SCRIPT画面来生成报表的。
*-----------------------------------------------------------------------
* MODIFICATION  :
* DATE MODIFIED       MODIFIED BY     TRANSPORT REQUEST    DESCRIPTION
* 2004/09/18          LG              VERSION:01/01            学习
*-----------------------------------------------------------------------
REPORT ZTEST904 .

*定义需要使用的表
***********************************************
TABLES: MSEG,
        MARA,
        MKPF.

*定义一个内部表(带表头)
***********************************************
DATA:   BEGIN OF ITAB OCCURS 0,
            A LIKE MSEG-MBLNR,
            B LIKE MSEG-ZEILE,
        END   OF ITAB.


* 插入一些使用的数据。
***********************************************
DO 30 TIMES.
  ITAB-A = '测试数据'.
  ITAB-B = SY-INDEX.
  APPEND ITAB.
ENDDO.

* 显示画面数据,显示上面的打印按钮。用户点击打印
* 然后调用打印的SCRIPT。显示答应的数据。
***********************************************

* INITIALIZATION
***********************************************
INITIALIZATION.

* AT SELECTION-SCREEN.
***********************************************
AT SELECTION-SCREEN.

* START-OF-SELECTION
***********************************************
START-OF-SELECTION.
SET PF-STATUS 'ZTEST_904'.
PERFORM PRINT_ITAB TABLES ITAB.

* AT USER-COMMAND.
***********************************************
AT USER-COMMAND.
CASE SY-UCOMM.
   WHEN 'USER_PRINT'.
     WRITE:/ 'BUTTON CLIKCKED'.
     PERFORM OPEN_FORM.
       PERFORM START_FORM.
         DO 50 TIMES.
           PERFORM WRITE_FORM USING '' 'MAIN' 'SET'.
         ENDDO.
       PERFORM END_FORM.
     PERFORM CLOSE_FORM.
ENDCASE.

* TOP-OF-PAGE.
***********************************************
TOP-OF-PAGE.

* END-OF-PAGE.
***********************************************
END-OF-PAGE.


*&----------------------------------------------------------------------
*& FORM : PRINT_ITAB
*&----------------------------------------------------------------------
* <处理概要>
*-----------------------------------------------------------------------
* <种别(入出力) <参数名> <类型> <调用类型参照,值>>
*-----------------------------------------------------------------------
* FORM PRINT_ITAB TABLES JTAB LIKE ITAB[].
FORM PRINT_ITAB TABLES JTAB STRUCTURE ITAB.
  LOOP AT JTAB.
    WRITE:/ JTAB-A , 10 JTAB-B.
  ENDLOOP.
ENDFORM.

FORM PRINT_PAGE.

ENDFORM.

FORM OPEN_FORM.
  CALL FUNCTION 'OPEN_FORM'
   EXPORTING
*     APPLICATION                       = 'TX'
*     ARCHIVE_INDEX                     =
*     ARCHIVE_PARAMS                    =
      DEVICE                            = 'PRINTER'
*     DIALOG                            = 'X'
      FORM                              = 'ZTEST904'
      LANGUAGE                          = SY-LANGU
*     OPTIONS                           =
*     MAIL_SENDER                       =
*     MAIL_RECIPIENT                    =
*     MAIL_APPL_OBJECT                  =
*     RAW_DATA_INTERFACE                = '*'
*   IMPORTING
*     LANGUAGE                          =
*     NEW_ARCHIVE_PARAMS                =
*     RESULT                            =
   EXCEPTIONS
     CANCELED                          = 1
     DEVICE                            = 2
     FORM                              = 3
     OPTIONS                           = 4
     UNCLOSED                          = 5
     MAIL_OPTIONS                      = 6
     ARCHIVE_ERROR                     = 7
     INVALID_FAX_NUMBER                = 8
     MORE_PARAMS_NEEDED_IN_BATCH       = 9
     SPOOL_ERROR                       = 10
     OTHERS                            = 11
            .
  IF SY-SUBRC <> 0.
   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.

FORM CLOSE_FORM.
 CALL FUNCTION 'CLOSE_FORM'
*  IMPORTING
*    RESULT                         =
*    RDI_RESULT                     =
*  TABLES
*    OTFDATA                        =
  EXCEPTIONS
    UNOPENED                       = 1
    BAD_PAGEFORMAT_FOR_PRINT       = 2
    SEND_ERROR                     = 3
    SPOOL_ERROR                    = 4
    OTHERS                         = 5
           .
 IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.

ENDFORM.

FORM START_FORM.
 CALL FUNCTION 'START_FORM'
   EXPORTING
*    ARCHIVE_INDEX          =
     FORM                   = 'ZTEST904'
*    LANGUAGE               = ' '
     STARTPAGE              = 'FRIST'
*    PROGRAM                = ''
*    MAIL_APPL_OBJECT       =
*  IMPORTING
*    LANGUAGE               =
  EXCEPTIONS
    FORM                   = 1
    FORMAT                 = 2
    UNENDED                = 3
    UNOPENED               = 4
    UNUSED                 = 5
    SPOOL_ERROR            = 6
    OTHERS                 = 7
           .
 IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.

ENDFORM.

FORM END_FORM.
 CALL FUNCTION 'END_FORM'
*  IMPORTING
*    RESULT                         =
  EXCEPTIONS
    UNOPENED                       = 1
    BAD_PAGEFORMAT_FOR_PRINT       = 2
    SPOOL_ERROR                    = 3
    OTHERS                         = 4
           .
 IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.
ENDFORM.

FORM WRITE_FORM USING ELE WIN FUNC.
 CALL FUNCTION 'WRITE_FORM'
  EXPORTING
     ELEMENT                        = ELE
     FUNCTION                       = FUNC
*    TYPE                           = 'BODY'
     WINDOW                         = WIN
*  IMPORTING
*    PENDING_LINES                  =
   EXCEPTIONS
    ELEMENT                        = 1
    FUNCTION                       = 2
    TYPE                           = 3
    UNOPENED                       = 4
    UNSTARTED                      = 5
    WINDOW                         = 6
    BAD_PAGEFORMAT_FOR_PRINT       = 7
    SPOOL_ERROR                    = 8
    OTHERS                         = 9
           .
 IF SY-SUBRC <> 0.
   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.

ENDFORM.
### 回答1: bc abap/4 中文完美学习手册是一本在学习 SAP 开发过程中非常重要的书籍。本书内容涵盖了 SAP ABAP/4 开发的各个方面,包括了基础知识、开发环境、编程语言、视图和表单设计等。本书作者以简单易懂的方式讲解了 SAP 开发的核心概念,为读者提供了高质量的学习材料和实践指导。 在本书中,读者可以学习到如何使用 SAP 开发环境、如何编写 ABAP/4 程序、如何调试程序等等。此外,本书还介绍了 SAP 中的报表、数据字典、SAPscript 等开发工具和技术,以及如何集成 SAP 系统和外部系统。 本书的翻译质量非常高,文字简洁明了、易于理解。此外,本书还配有大量的源代码和实例,帮助读者更好地理解 SAP 开发的实际应用。 总之,bc abap/4 中文完美学习手册对于希望学习 SAP ABAP/4 开发的人来说,是一本非常有价值的参考书。无论是初学者还是有一定 SAP 开发经验的开发者,都可以从中获得丰富的知识和技能,帮助他们在 SAP 开发的道路上更上一层楼。 ### 回答2: 《BC ABAP/4中文完美学习手册》是一本针对ABAP/4编程语言的学习手册,其特色是全部内容均为中文,方便中文用户学习和使用该编程语言。 ABAP/4是一种高级编程语言,专门用于SAP系统中的业务应用程序开发。SAP是全球领先的企业级应用软件解决方案提供商,其系统中应用的大部分程序都是通过ABAP/4语言开发而成。 该学习手册内容涵盖ABAP/4的基础语法、数据类型、流程控制、函数模块、表格处理、面向对象编程、Web Dynpro等各种应用场景和开发模式的实现方法,并附有实例代码和详细讲解。适合初学者了解ABAP/4编程语言的基础知识和应用技巧,也可供专业开发人员用作参考手册。 总之,如果你对ABAP/4编程语言有兴趣或者需要用到该语言进行企业应用软件的开发,那么这本《BC ABAP/4中文完美学习手册》将会是一个很好的选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值