当前位置: 首页 > news >正文

SAP ABAP 输出结果带有空格

方法一:

字段内容前增加空格,需使用全角空格,使用半角空格时,ALV显示无效,空格无法显示,

全角与半角的切换方法:shift+空格切换,

如下的标记部分,要想通过ALV显示空格,表里需存储为全角空格。

 或者

展示结果:

 

方法二:

一般情况下SAP这边填写内容不会以空格开头,此次需求是EDI平台将客户的叫料计划传到SAP生成销售计划协议计划行,其中有一些客户特定信息需要存下以便后面交货生成ASN信息回传给客户,因为没有SAP前台字段,所以存在自建表中。

其中有个信息“EDI客户件号”客户填写时候会以空格开头,并且中间还可能出现空格或者连续空格。

ALV如果不特别设置参数,默认中间空格会显示,而开头空格不会显示。

自建表中数据

ALV报表查询结果 

 

翻遍ALV常用传入参数类型LVC_S_LAYO和LVC_S_FCAT都没有发现描述与此问题相关的参数。

发现了SE16查看表数据也是用的ALV格式,而且能够显示前导空格。

 调试发现SE16查看数据调用的是ALV函数REUSE_ALV_GRID_DISPLAY

查看传入参数IS_LAYOUT并未发现异样,查看传入参数IT_FIELDCAT,看到PARAMETER0打上了“X"。

 

解决方法:

将ALV传入参数IT_FIELDCAT里的PARAMETER0设为“X",即可输出前导空格。这时候我不反对大家尽情吐槽SAP的晦涩难懂。

 

如果是OO ALV,使用了类CL_GUI_ALV_GRID,则调用方法SET_TABLE_FOR_FIRST_DISPLAY时将参数IT_FIELDCATALOG里的PARAMETER0设为“X"。

如果是SALV,使用了类CL_SALV_TABLE,则可以调用类CL_SALV_COLUMN的方法SET_LEADING_SPACES实现,参考如下
 

*SALV相关参数
DATA: GR_TABLE     TYPE REF TO CL_SALV_TABLE,GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS_LIST,GR_DISPLAY   TYPE REF TO CL_SALV_DISPLAY_SETTINGS,GR_COLUMNS   TYPE REF TO CL_SALV_COLUMNS_TABLE,GR_COLUMN    TYPE REF TO CL_SALV_COLUMN_TABLE.FORM FRM_SALV.DATA: LX_MSG TYPE REF TO CX_SALV_MSG.DATA: LV_TITLE TYPE LVC_TITLE,LV_CONT  TYPE I,LV_CONTT TYPE LVC_TITLE.ASSIGN GR_DATA->* TO <GT_DYN>.TRY .CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GR_TABLE CHANGING T_TABLE = <GT_DYN> ).CATCH CX_SALV_MSG INTO LX_MSG.GV_MESSAGE = LX_MSG->GET_TEXT( ).MESSAGE GV_MESSAGE TYPE 'E'.RETURN.ENDTRY.LV_CONT = LINES( <GT_DYN>[] ).LV_CONTT = LV_CONT.CONDENSE LV_CONTT NO-GAPS.CONCATENATE '总计共' LV_CONTT  '条数据' INTO LV_TITLE.CONDENSE LV_TITLE NO-GAPS.GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).GR_DISPLAY = GR_TABLE->GET_DISPLAY_SETTINGS( ).
*  gr_display->set_striped_pattern( cl_salv_display_settings=>true ).GR_DISPLAY->SET_LIST_HEADER( EXPORTING VALUE = LV_TITLE ).GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).TRY.LOOP AT GR_COLUMNS->GET( ) INTO DATA(LR_COLUMNS).IF LR_COLUMNS-COLUMNNAME = 'MESG'.GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( LR_COLUMNS-COLUMNNAME ).GR_COLUMN->SET_OUTPUT_LENGTH( VALUE = |50|  ).ELSEIF LR_COLUMNS-COLUMNNAME = 'ICON'.GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( LR_COLUMNS-COLUMNNAME ).GR_COLUMN->SET_OUTPUT_LENGTH( VALUE = |5|  ).GR_COLUMN->SET_ALIGNMENT( VALUE = IF_SALV_C_ALIGNMENT=>CENTERED ).ELSE.GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( LR_COLUMNS-COLUMNNAME ).IF SY-TCODE <> 'ZFI001'.GR_COLUMN->SET_OUTPUT_LENGTH( VALUE = |20|  ).ELSE.GR_COLUMN->SET_OPTIMIZED( VALUE = 'X').ENDIF.GR_COLUMN->SET_ALIGNMENT( VALUE = IF_SALV_C_ALIGNMENT=>LEFT ).GR_COLUMN->SET_LEADING_SPACES( VALUE = 'X' ).CLEAR GS_ZTAB0002.READ TABLE GT_ZTAB0002 INTO GS_ZTAB0002WITH KEY FNAME = LR_COLUMNS-COLUMNNAME.IF SY-SUBRC = 0.GR_COLUMN->SET_LONG_TEXT( GS_ZTAB0002-TEXT_L ).GR_COLUMN->SET_MEDIUM_TEXT( GS_ZTAB0002-TEXT_M ).GR_COLUMN->SET_SHORT_TEXT( GS_ZTAB0002-TEXT_S ).ENDIF.ENDIF.ENDLOOP.CATCH CX_SALV_NOT_FOUND.ENDTRY."IF SY-BATCH IS INITIAL.TRY.GR_TABLE->SET_SCREEN_STATUS(PFSTATUS      = 'ZCMRP001_STATUS'REPORT        = SY-REPIDSET_FUNCTIONS = GR_TABLE->C_FUNCTIONS_ALL ).CATCH CX_SALV_MSG.ENDTRY.DATA(GR_EVENT) =  GR_TABLE->GET_EVENT( ).CREATE OBJECT EVENT_HANDLER.SET HANDLER EVENT_HANDLER->ON_USER_COMMAND  FOR GR_EVENT." ENDIF.GR_TABLE->DISPLAY( ).
ENDFORM.

相关文章:

SAP ABAP 输出结果带有空格

方法一&#xff1a; 字段内容前增加空格&#xff0c;需使用全角空格&#xff0c;使用半角空格时&#xff0c;ALV显示无效&#xff0c;空格无法显示&#xff0c; 全角与半角的切换方法&#xff1a;shift空格切换&#xff0c; 如下的标记部分&#xff0c;要想通过ALV显示空格&…...

Opengl ES之踩坑记

前因 最近在尝试使用Opengl ES实现一些LUT滤镜效果&#xff0c;在实现这些滤镜效果的时候遇到一些兼容性的坑&#xff0c;踩过这些坑后我希望把这几个坑分享给读者朋友们&#xff0c; 希望同在学习Opengl ES的朋友们能少走弯路。 关于LUT滤镜相关的介绍&#xff0c;也是这个O…...

设计模式第六讲:责任链模式和迭代器模式详解

一. 责任链模式1. 背景在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批…...

K8s 架构简介(一)

一、前言 在开始学习K8s之前&#xff0c;让我们对容器有一个基本的了解 1.1 什么是容器 一个容器镜像是一个可运行的软件包&#xff0c;其中包含了一个完整的可执行程序&#xff0c;包括代码和运行时需要应用、系统库和全部重要设置的默认值。 通过将应用程序本身&#xff…...

xshell6运行报错:由于找不到mfc110u.dll、MSVCR110.dll无法继续执行代码

今天给大家分享一下我刚装完系统遇到得问题,由于新盟的罗建雨【胡巴】老师帮我给电脑加了固态,又重装了系统,因此电脑里面得所有软件需要重装,在我重装的过程中遇到了一个小问题给大家分享一下,如果大家以后遇到也方便解决。 问题: 安装Xshell时电脑系统报错:“由于找…...

Baklib知识库管理平台,协助组织提升知识管理水平

随着信息时代和知识经济时代的到来&#xff0c;企业内部信息资料繁多冗杂&#xff0c;知识管理逐渐成为各大企业的重要工作之一&#xff0c;企业管理者无不感受到巨大的压力&#xff0c;怎么样将知识进行有效的管理&#xff0c;成为一个难点&#xff0c;并且随着信息不断的更迭…...

一文搞懂core-scheduling核心机制

cookie的原理借助于unsigned long型&#xff0c;和refcount_t引用计数器。 32位64位char *4字节8字节unsigned long4字节8字节 数据结构修改 首先看看实现core scheduling功能对数据结构有哪些修改 task_struct struct task_struct{struct rb_node core_node;unsigned long…...

IP地址在金融行业有哪些应用?

中国加入WTO以来经济得到迅速发展&#xff0c;金融行业随着经济发展体系越来越完善。随着西方金融公司和理念的加入中国金融行业开始多样化发展。金融行业在快速发展的同时也引发了许多弊端。如何维护挖掘客户更大需求&#xff1f;如何获取更多优质客户&#xff1f;如何提升网络…...

GT-suite v2016解决许可证过期问题(附新版liscense下载地址)

安装GT-suite v2016时遇到了如图报错的问题。当时的报错找不到了&#xff0c;下图是贴吧相同问题的报错图。 为了解决问题&#xff0c;先根据某网友的如下答复操作&#xff1a; 添加环境变量后仍然有相同报错。 看来需要寻找其他方法。 再尝试着卸载GT-suite v2016&#xff0c…...

小红书商业笔记与普通笔记区别是什么?小红书笔记有哪几种

主攻单一平台&#xff0c;如何迅速打造爆文。针对软文发布类别的选择&#xff0c;小红书商业笔记与普通笔记区别究竟是什么&#xff0c;今天为大家带来的详细分析&#xff0c;告诉你该如何用最少的成本&#xff0c;做出“爆文”。1、小红书的笔记类型我们都知道&#xff0c;小红…...

DataWhale-统计学习方法打卡Task01

学习教材《统计学习方法&#xff08;第二版&#xff09;》李航 统计学习方法&#xff08;第2版&#xff09; by...李航 (z-lib.org).pdf https://www.aliyundrive.com/s/maJZ6M9hrTe 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无…...

Java面试——Spring 事务

目录 1.什么是Spring 事务 2.Spring 事务的开启方式 3.Spring事务的实现方式/原理 4.事务传播机制 5.事务隔离级别 6.事务失效的原因 1.什么是Spring 事务 事务在逻辑上是一组操作&#xff0c;要么执行&#xff0c;要不都不执行。 如下&#xff1a; Begin; insert into…...

Python语言零基础入门教程(十九)

Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。 1、异常处理 2、断言(Assertions) python标准异常 什么是异常&#xff1f; 异常即是一个事件&#xff0c;该事件会在程序执行过程中发生&…...

重生之我是赏金猎人-SRC漏洞挖掘(一)-某SRC测试系统无脑Getshell

0x01 前言 https://github.com/J0o1ey/BountyHunterInChina 欢迎大佬们点个star 0x02 资产收集到脆弱系统 在某src挖掘过程中&#xff0c;本人通过ssl证书对域名资产进行了收集&#xff0c;通过计算域名对应ip段的权重 整理出其C段资产&#xff0c;进行了批量目录扫描 查看…...

Sciter 结合 PReact 实现组件公共逻辑抽离

Sciter 结合 PReact 实现组件公共逻辑抽离 下面例子是获取鼠标移动位置,将这部分逻辑进行抽离 一、使用高阶组件抽离公共逻辑 import {Component } from ./preact.js; export const HOCFactory = (Component) => {class HOC...

OpenTracing协议规范链接

一、官网链接 OpenTracing specificationhttps://opentracing.io/specification/不过目前OpenTracing项目已归档&#xff0c;不再维护。需要参考OpenTelemetry官网链接 Migrating from OpenTracing | OpenTelemetryBackward compatibility with OpenTracing has been a prior…...

金三银四面试必看,自动化测试如何解决日志问题

前言 前几天在员群里&#xff0c;有同学问了一个自动化测试实践中遇到的问题&#xff1a; 持续集成的自动化用例很多&#xff0c;测试环境日志level为debug&#xff0c;日志量大概40G/每天&#xff0c;定位问题时日志查询很慢&#xff0c;该怎么解决&#xff1f; 这个问题可…...

微信怎么开小店?【企业商家微信开店】

企业商家入局微信做营销已经是经营规划中必须做的一件事了&#xff0c;对于企业商家来说&#xff0c;最简单直接的方式就是开一个微信小店&#xff0c;然后通过自己宣传推广来在微信小店中成商品。那么企业商家在微信怎么开小店呢&#xff1f;下面内容分享给想在微信开店的企业…...

Java 中FastJson的使用【吃透FastJson】

如果不了解JSON格式&#xff0c;建议先看下&#xff1a;JSON数据格式【学习记录】 JSON序列化、反序列化JavaBean的框架有很多&#xff0c;最常见的Jackson、阿里巴巴开源的FastJson、谷歌的GSON、apache提供的json-lib等&#xff0c;下面我们主要来熟悉一下&#xff1a;Java语…...

Redis5.0集群搭建

Redis集群教程 此文重在介绍 Redis5.0 三主三从集群安装&#xff0c;无复杂难懂的概念&#xff0c;若想深入了解集群原理请参考Redis集群规范。 Redis集群介绍 Redis Cluster 提供一种 Redis 安装方式&#xff1a;数据自动在多个 Redis 节点间分片。 Redis Cluster 提供一定…...

继企业级信息系统开发学习1.1 —— Spring配置文件管理Bean

骑士救美计划采用构造方法注入属性值1、创建救美任务类2、创建救美骑士类2、创建救美骑士类3、创建旧救美骑士测试类3、配置救美骑士Bean5、创建新救美骑士测试类采用构造方法注入属性值 1、创建救美任务类 在net.huawei.spring.day01包里创建RescueDamselQuest类 Rescue Da…...

Web 容器、HTTP 服务器 、Servlet 容器区别与联系

首先浏览器发起 HTTP 请求&#xff0c;像早期的时候只会请求一些静态资源&#xff0c;这时候需要一个服务器来处理 HTTP 请求&#xff0c;并且将相应的静态资源返回。 这个服务器叫 HTTP 服务器。 简单点说就是解析请求&#xff0c;然后得知需要服务器上面哪个文件夹下哪个名字…...

eBPF 进阶: 内核新特性进展一览

Linux 内核在 2022 年主要发布了 5.16-5.19 以及 6.0 和 6.1 这几个版本&#xff0c;每个版本都为 eBPF 引入了大量的新特性。本文将对这些新特性进行一点简要的介绍&#xff0c;更详细的资料请参考对应的链接信息。总体而言&#xff0c;eBPF 在内核中依然是最活跃的模块之一&a…...

2.输入子系统学习-multi-touch-protocol-2023.02

Documentation/input/multi-touch-protocol.txt&#xff08;百度翻译&#xff09; Multi-touch (MT) Protocol ------------------------- Copyright (C) 2009-2010 Henrik Rydberg <rydbergeuromail.se> 一、Introduction ------------ In order to utilize t…...

【靶机】vulnhub靶机pylington

靶机下载地址 Pylington: 1 ~ VulnHub kali ip&#xff1a;192.168.174.128 靶机ip&#xff1a;192.168.174.146 arp-scan -l发现靶机ip是192.168.174.146 进行靶机的端口扫描&#xff0c;这里使用的是nmap的gui 可以发现开放了21和80端口&#xff0c;80端口扫描到了robot…...

【大数据】大数据学习路线

职位选择 首先明确一点&#xff1a;大数据涉及的知识面广度还是有的&#xff0c;需要学习的组件繁多&#xff0c;想要每一项精通几乎不可能&#xff0c;所以企业在招聘的时候会进行细分&#xff0c;基于某个方向进行招聘&#xff0c;比如关键字&#xff0c;数据仓库工程师、数…...

【Python爬虫案例教学】采集某网站壁纸,实现壁纸自由

前言 (&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨 大家好&#xff0c;这里是小圆 现在开始每天都给大家 分享些关于python爬虫的案例教学 从最简单的开始 — 采集图片壁纸 今天就来扒拉这个优质的壁纸网站~ 网址 &#x1f447; 顺便瞧一眼 这里的…...

波卡2022年第四季度报告

本文将介绍Messari最新发布的波卡Polkadot 2022年第四季度报告内容。 1 Messari已经发布关于波卡Polkadot最新的报告&#xff1a;显示了2022年第四季度的日活账户增加了64%&#xff0c;新用户增长49%。 2 Messari指出&#xff0c;波卡中继链在2022第四季度的环比增长令人印象…...

第一章:初始化react项目+antd+less

初始化react项目 我们首先使用react脚手架创建一个项目 Ant Design less creact-react-app中文文档 creact-react-app demo生产环境打包运行 当我们执行了 npm run build 打包后直接访问index.html 看效果白屏 这时候就需要安装一个serve包 npm install -g serve当我们安…...

图的基本概念

1、图的概念 G(V&#xff0c;E) 图G由节点集合VV(G)和边集合EE(G)组成&#xff0c;其中V为非空有限集合。 集合V中的节点&#xff08;node&#xff09;用红色标出&#xff0c;通过集合E中黑色的边&#xff08;edge&#xff09;连接。 G的边&#xff1a;E中的每个顶点对&#x…...

188网站开发/百度的营销策略

修改进程用户相关信息 int access (__const char *__name, int __type)&#xff1a;检测当前进程是否拥有对某文件的访问权限 参数1&#xff1a;待访问文件 参数2&#xff1a;相应权限 4&#xff08;R_OK 可读&#xff09;&#xff0c;2&#xff08;W_OK 可写&#xff09;&…...

舟山市普陀区建设局网站/电脑版百度网盘

有一位美丽的公主&#xff0c;被关押在一个城堡中最高的塔上&#xff0c;一条凶恶的巨龙看守着她&#xff0c;需要有一位勇士营救她…下面是各种语言如何想办法将公主从巨龙手中营救出来的。Java – 赶到那里&#xff0c;找到巨龙&#xff0c;开发出一套由多个功能层组成的恶龙…...

天津网站制作福州/怎么自己做一个网址

如果你有一个自定义的属性 "CompanyId" 在你的 AppSession 类之中&#xff0c;如果你想要获取这个属性等于某值的 的所有 Session&#xff0c; 你可以使用 AppServer 的方法 GetSessions(...): var sessions appServer.GetSessions(s > s.CompanyId companyId);…...

电商网站怎么推广/免费外链网站seo发布

作者&#xff1a;HotHeart 时间&#xff1a; 2006-08-28 文档类型&#xff1a;原创 来自&#xff1a;蓝色理想 在给blog加上无刷新搜索和即时验证检测后&#xff0c;又看了下代码&#xff0c;感觉太过麻烦&#xff0c;就把XMLHttpRequest请求封装到一个类里面&#xff0c;用…...

厦门做网站xm37/网站排名软件有哪些

CentOS下mysql数据库常用命令总结1.更改root密码 mysqladmin -uroot password yourpassword 2.远程登陆mysql服务器 mysql -uroot -p -h192.168.137.10 -P3306 3.查询数据库 show databases; 4.进入某个数据库 use databasename; 5.列出数据库中的表 show tables; 6.查看某个表…...

免费企业营销网站制作/有做网站的吗

1.spark框架是如何处理数据的 1.hadoop MapReduce 框架 并行计算的思想、分而治之的思想 2. scala集合高阶函数 处理数据的思想: 将要分析的数据放到集合中去,然后调用集合的高阶函数去处理数据 2.spark是什么 Apache Spark™ is a unified analytics engine for large…...