abap smartforms 转换成pdf xtring

最近客户有一个需求是需要讲发票的smartform 发送到第三方系统。

原先的做法是,SAP只是发送发票数据过去,由第三方系统去自己创建PDF打印。

那么就遇到了一个问题,SAP中的发票打印产生修改的时候。第三方系统也要同步修改,

涉及到数据发送不完全的,还需要修改发送数据的接口。

这样每次的变更,对各系统来说就比较麻烦且工作量大,效率也不高。

后来研究了下,发现可以将smartform转换成PDF,再转成xstring去发送,

对方收到之后,再转回PDF。

  DATA: lv_func_name          TYPE rs38l_fnam. "数据元素DATA: lw_output_options     TYPE ssfcompop .DATA: ls_document_output    TYPE ssfcrespd,ls_job_output         TYPE ssfcrescl,ls_job_options        TYPE ssfcresop,ls_control_parameters TYPE ssfctrlop. "Smart Forms: 控制结构.DATA: lv_message            TYPE string.DATA: lv_bin_size    TYPE i,lv_pdf_xstring TYPE xstring.DATA: lt_tline              TYPE STANDARD TABLE OF tline.CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'EXPORTINGformname           = 'ZSD_SF_INVOICE_NEW'IMPORTINGfm_name            = lv_func_nameEXCEPTIONSno_form            = 1no_function_module = 2OTHERS             = 3.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.
*设置不打开对话框,ls_control_parameters-no_dialog = 'X'.ls_control_parameters-langu     = sy-langu.ls_control_parameters-getotf    = 'X'.lw_output_options-tdnoprev  = 'X'.CALL FUNCTION lv_func_nameEXPORTING
*     ARCHIVE_INDEX        =
*     ARCHIVE_INDEX_TAB    =
*     ARCHIVE_PARAMETERS   =control_parameters   = ls_control_parameters
*     MAIL_APPL_OBJ        =
*     MAIL_RECIPIENT       =
*     MAIL_SENDER          =output_options       = lw_output_options
*     USER_SETTINGS        = 'X'ls_head              = ls_headIMPORTINGdocument_output_info = ls_document_outputjob_output_info      = ls_job_outputjob_output_options   = ls_job_optionsTABLESit_items             = lt_itemEXCEPTIONSformatting_error     = 1internal_error       = 2send_error           = 3user_canceled        = 4OTHERS               = 5.IF sy-subrc <> 0.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGmsgid               = sy-msgidmsgnr               = sy-msgnomsgv1               = sy-msgv1msgv2               = sy-msgv2msgv3               = sy-msgv3msgv4               = sy-msgv4IMPORTINGmessage_text_output = lv_message.ENDIF.
*CALL FUNCTION 'CONVERT_OTF'EXPORTINGformat                = 'PDF'IMPORTINGbin_filesize          = lv_bin_sizebin_file              = lv_pdf_xstringTABLESotf                   = ls_job_output-otfdatalines                 = lt_tlineEXCEPTIONSerr_max_linewidth     = 1err_format            = 2err_conv_not_possible = 3err_bad_otf           = 4OTHERS                = 5.IF sy-subrc <> 0.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGmsgid               = sy-msgidmsgnr               = sy-msgnomsgv1               = sy-msgv1msgv2               = sy-msgv2msgv3               = sy-msgv3msgv4               = sy-msgv4IMPORTINGmessage_text_output = lv_message.RETURN.ENDIF.*lv_pdf_xstring 就是我们需要的smartform xtring
*可以放到下面这个结构中
TYPES:BEGIN OF ty_invoice,vbeln   TYPE vbeln_vf,xstring TYPE xstring,END OF ty_invoice.
DATA: gs_invoice TYPE ty_invoice.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

葡萄酒术语“干”是什么意思呢?

一个初学品酒的人常常会感到力不从心&#xff0c;有如此多的术语&#xff0c;如甜、干、单宁、酒体等等&#xff0c;很容易让人迷失。嗯&#xff0c;就像情人眼里出西施一样&#xff0c;“好酒”因人而异。虽然品尝各种不同的葡萄酒是了解你喜欢什么的最好方法&#xff0c;但我…

3D渲染农场的优势体现在哪里?点进来,CG Magic小编告诉您!

目前&#xff0c;渲染的涉及也是越来越广的&#xff0c;无论是通过本地渲染还是云渲染&#xff0c;都是为了3D渲染效率更高。 渲染农场工作原理就是提升制作效率与降低成本的利器。无论大型制作公司还是小型工作室&#xff0c;甚至是个人用户&#xff0c;都会借助于3d渲染农场…

LLM:Scaling Laws for Neural Language Models (上)

论文&#xff1a;https://arxiv.org/pdf/2001.08361.pdf 发表&#xff1a;2020 摘要1&#xff1a;损失与模型大小、数据集大小以及训练所用计算量成比例&#xff0c;其中一些趋势跨越了七个量级以上。 2&#xff1a;网络宽度或深度等其他架构细节在很大范围内影响较小。3&…

AcWing:90. 64位整数乘法

0x00 基本算法第二题 算法标签:位运算 来源&#xff1a;《算法竞赛进阶指南》 描述 求 a 乘 b 对 p 取模的值。 输入格式 第一行输入整数a&#xff0c;第二行输入整数b&#xff0c;第三行输入整数p。 输出格式 输出一个整数&#xff0c;表示a*b mod p的值。 数据范围 …

探索Python数据结构与算法:解锁编程的无限可能

文章目录 一、引言1.1 数据结构与算法对于编程的重要性1.2 Python作为实现数据结构与算法的强大工具 二、列表和元组2.1 列表&#xff1a;创建列表、索引、切片和常用操作2.2 元组&#xff1a;不可变序列的特性和使用场景 三、字符串操作和正则表达式3.1 字符串的常见操作和方法…

第十四届蓝桥杯省赛PythonB组

思路: // f[i] 定义为从前 i 个中选的最大价值 // 如果不选&#xff0c;那么从前 i - 1 转移而来 f[i] f[i - 1]; // 如果选&#xff0c;那么 i - 1不能选&#xff0c;从前 i - 2 转移而来 &#xff0c;所以 f[i - 2] str[i] - a 1 // 至于为什么不是从前 i - 2 , i - 3 ...…

Spring Boot整和MyBatis!!!

目标&#xff1a; 实现添加功能实现查询功能实现删除功能实现修改功能添加日期转换器 1.搭建项目 1.1pom文件&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><vers…

windows编译TensorFlowServing

概述 整个编译打包过程的总体思路&#xff0c;是参照在linux下的编译流程&#xff0c;配置环境&#xff0c;执行编译命令&#xff0c;根据编译器/链接器反馈的错误&#xff0c;修改相应的源码或者相关库文件的存放路径&#xff0c;编译出windows平台下静态库和二进制执行文件。…

BuildRoot配置RTL8822CE WIFIBT模块(WIFI部分)

TinkerBoard2主板自带的无线模块为RTL8822CE&#xff0c;PCIe接口 之前在风火轮下载的Linux源码编译出来的BuildRoot根文件系统没有相关的驱动文件 [rootrk3399:/]# find . -name *.ko [rootrk3399:/]# lsmod Module Size Used by Not tainted [rootrk33…

Dicom Tag: Image Position,Image Orientation和Patient Position

文章目录 Image Position&#xff0c;Image Orientation和Patient PositionImage Position (0020,0032):Image Orientation (0020,0037):Patient Position(0018,5100)&#xff1a; Image Position&#xff0c;Image Orientation和Patient Position 在DICOM图像中&#xff0c;I…

栈(顺序存储、链式存储)

栈的定义 栈&#xff08;Stack&#xff09;是只允许在一端进行插入或删除操作的线性表 栈的操作特性是后进先出LIFO&#xff08;Last In First Out&#xff09; 顺序存储 链式存储

三款非常实用的图片转换格式工具

BMP是一种常见的位图图像格式&#xff0c;而JPG则是互联网上广泛使用的图像格式。有时&#xff0c;为了满足特定的需求或更好的兼容性&#xff0c;我们需要将BMP格式转换为JPG格式。今天&#xff0c;我们将为您推荐三款实用的软件&#xff0c;帮助您轻松完成这一转换。 水印云…

C# typeof 与 示例的GetType()

创建两个类 namespace ConsoleApp1;public interface IBagItem {public uint UId { get; set; } }public class BagItem : IBagItem {public uint UId { get; set; } }public class DreamIslandBagItem : IBagItem {public uint UId { get; set; } } 测试 namespace Consol…

QT 原生布局和QML的区别

一、QML 与 Qt Quick的区别 1.1 从概念上区分 为了更精确地对两者进行说明&#xff0c;先看助手对 QML 的描述&#xff1a; QML is a user interface specification and programming language. QML 是一种用户界面规范和标记语言&#xff0c;允许开发人员和设计师创建高性能、流…

端智能在大众点评搜索重排序的应用实践

1 引言 随着大数据、人工智能等信息技术的快速发展&#xff0c;云计算已经无法满足特定场景对数据隐私、高实时性的要求。借鉴边缘计算的思想&#xff0c;在终端部署 AI 能力逐渐步入大众的视野&#xff0c;“端智能”的概念应运而生。相比于传统的云计算&#xff0c;在智能手…

【Maven】008-Maven 私服搭建与使用

【Maven】008-Maven 私服搭建与使用 文章目录 【Maven】008-Maven 私服搭建与使用一、概述1、简介2、建立私服后依赖查找和下载逻辑第一步&#xff1a;请求本地仓库第二步&#xff1a;请求 Maven 私服第三步&#xff1a;请求外部远程仓库&#xff08;远程中央仓库等&#xff09…

常用的git diff命令用法汇总和示例

文章目录 1. 查看工作目录和暂存区的差异2. 查看暂存区和最后一次提交的差异3. 查看两个提交之间的差异4. 查看特定文件的更改5. 查看特定文件在两个提交之间的差异6. 查看分支之间的差异7. 查看某次提交的更改8. 限制diff输出的格式9. 查看一定时间范围内的更改 Git的diff命令…

动态路由协议

一、动态路由协议 动态路由协议&#xff0c;用在多个 Router 之间定期的、自动的、互相交换 Routes&#xff08;路由信息&#xff0c;包含了网段信息、可达性信息、路径信息等&#xff09;&#xff0c;动态生成 Routing Table Entries&#xff0c;并最终达到全网的路由收敛&am…

智慧校园大数据平台概述

背景 2015年是中国的智慧校园大数据元年,政府、企业、学校、研究者、管理者、教师、社会公众等都开始关注智慧校园大数据,相关政策文件、研究机构、学术活动、市场产品等开始纷纷出现。然而,我国的智慧校园大数据研究与实践领域整体还处于起步探索阶段,是在“摸着石头过河…

近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;C从基础到进阶 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于C的优质内容&#xff01;&#x1f3c6;&#x1f3c6; C核心编程&#x1f30f;1 内存分区模型&#x1f384…