AL11 传递数据到SAP服务器

第一辑 文件
1.顺序文件 Sequential Files
  数据传输中的一个重要介质;
  file transfer的两种方式:
    本地-->SAP DB:GUI_UPLOAD(UPLOAD)/GUI_DOWNLOAD(DOWNLOAD)函数;
    应用服务器-->SAP DB:READ DATASET/TRANSFER自由ABAP语法;
  File Monitor(t-code:AL11):
    查看应用层服务器的文件,与平台无关;
    目录都是DIR开头的;

    当需要生成复杂的office报表,例如excel或者word文件时,可以在ABAP程序中调用
    excel或word的VBA宏,也可以将excel或word的模板放到应用层服务器上,然后ABAP
    程序执行时调用模板填充数据,然后返回给用户;

  处理文件(文件放在应用层服务器的情况)
    OPEN(OPEN DATASET) 路径
       for output覆盖
       for appending添加
       for input读取
       in text mode文本模式打开(默认是binary mode)
          二进制输入时不会输换行符;
       MESSAGE message打开时的消息
    PROCESS(READ DATASET/TRANSFER DATASET)
       循环读取
         DO.
         READ DATESET xx INTO xx LENGTH xx.
         ENDDO.
       删除文件
         DELETE DATASET xx
       获取文件属性
         GET DATASET xx
       设置文件属性
         SET DATASET xx
    CLOSE(CLOSE DATASET)
     
2.ABAP转换程序ABAP Conversion Program
  要使用SAP标准的batch input程序,就需要将文件转换成相应的格式;
  把客户(外部系统)的文件转换成符合应用服务器规格的文件;
  步骤:
      读取文件
      转换格式为标准格式
       (0-session ,
         1-transaction,
         2-screen)
      传值
      写目标文件

  DX workbench
  t-code:sxda_tools

3.本地顺序文件Local Sequential Files
    GUI_UPLOAD:本地--〉内表
    GUI_DOWNLOAD:内表--〉本地
    选择文件名和路径方法:
       使用function:WS_FILFENAME_GET
       调用类的方法
          CALL METHOD cl_gui_frontend_services=>file_open_diaog
                       EXPORTING
                         window_title = ''
                         multiselection = ''
                         default_filename = '.'
                         initial_directory = ' '
                       CHANGING
                         file_table  = filetable
                         rc          = rc.
           CAll METHOD cl_gui_cfw=>flush.
           LOOP AT filetable.
                   ....
           ENDLOOP.

4.逻辑文件Logical File Names
  可移植性:程序中使用逻辑文件,逻辑文件和物理文件映射,当物理文件变化时,
   不需要更改程序,只需要更改物理文件和逻辑文件的对应关系;
  t-code:file
  a>.定义逻辑路径;
  b>.关联逻辑路径和物理路径;eg: D:\<filename> 必须以<filename>结束;
  c>.定义逻辑文件;
  在程序中要使用逻辑文件时,使用function:file_get_name;
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,要在SAP中进行大批量删除数据,可以通过以下步骤实现。首先,需要在SAP应用服务器上设置一个独立的文件服务器共享目录,将要删除的数据导出到该目录。可以使用NFS协议将文件服务器SAP应用服务器连接起来,并为SAP提供相应的权限。然后,在SAPAL11事务中新增一个文件目录,该目录就是导出数据的目录。如果没有独立的文件服务器,也可以使用SAP服务器作为导出地址。在AL11目录下的所有地址都可以作为文件导出地址。 接下来,可以使用类方法cl_alv_table_create=>create_dynamic_table,根据参考的字段清单构造一个动态内表。然后,将要删除的数据构造成与之前提到的SQL结构一致的结果,并将其存储在动态内表中。这样可以避免浪费内存和算力。 最后,可以使用相应的SAP功能或工具,如ABAP程序或数据删除事务,对动态内表中的数据进行删除操作。这样就可以实现在SAP中进行大批量删除数据的需求。 #### 引用[.reference_title] - *1* *2* *3* [SAP-ABAP-后台表数据万能导出程序](https://blog.csdn.net/Qunending/article/details/124095092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值