当我尝试切换到报告源的编辑模式时,会出现一个弹出窗口告诉我
“将为用户 XXX 的以下请求创建一个新任务”。
还建议传输请求。
但是,我不想在此请求中保存我的更改,而是保存在另一个现有请求中。我不知道我的系统中正在实施任何版本控制系统,也不知道如何检查。
我正在努力实现的目标是可能的吗?如果是这样,如何?
我经常通过论坛、github 等分享 ABAP 代码,这些代码通常旨在适用于任何基于 ABAP 的系统。不幸的是,经常发生这样的情况:我使用的某些对象(数据库表、类型等)仅存在于我正在使用的解决方案中(例如在 ABAP 系统上运行的 SAP CRM)。
需要了解的是,SAP 开发了多种解决方案,它们独立于其他解决方案,但要安装在 ABAP 系统上,其中包括 ABAP 语言本身以及紧密链接的外部对象(如 ABAP 字典中的对象)。此类SAP解决方案有SAP R/3、SAP CRM、SAP SRM、SAP SCM/APO、SAP BW、S/4HANA、BW/4HANA、SAP Solution Manager等。
例如,假设我想问一个有关 ABAP 中联接的问题,我提供了以下示例(我在 SAP CRM 系统上开发,但问题与 S/4HANA 无关):
REPORT.
DATA gt_partner TYPE TABLE OF crmd_order_index-partner_no.
SELECT DISTINCT a~partner_no
INTO TABLE gt_partner
FROM crmd_order_index AS a INNER JOIN crm_jest AS b
ON a~header = b~objnr
UP TO 10 ROWS.
cl_demo_output=>write( crmd_order_index ).
Run Code Online (Sandbox Code Playgroud)
许多人拥有 S/4HANA,而不是 SAP CRM,因此代码无法在他们的系统上编译,因为数据库表crmd_order_index仅存在于 SAP CRM 中。也许那些人不会回答或者他们无法验证他们的答案,所以我想我可以努力改进这个例子并使其在任何 ABAP 系统上工作。这当然是一个非常简单的示例,但想象一下您有数十或数百行。
我知道一种解决方案是在我们自己的笔记本电脑上安装 …
我已经创建了一个基本的应用程序来获取 SAP ABAP 中的公司详细信息,其中包含以下详细信息。
我已经激活了我的应用程序和配置,如包,T-Code 也工作正常,但是当我尝试发布我的传输请求时,我仍然收到以下错误。请在下面附上的图 5 中找到错误。
我已经验证了我的所有配置,但仍然不知道我哪里出错了,它仍然显示对象处于非活动状态。有人请帮我解决这个问题。
是否可以在 SAP 中的 RFC_READ_TABLE 的 OPTIONS 参数表中使用子查询?
像这样的东西
field in (select otherfield from othertable where ...)
Run Code Online (Sandbox Code Playgroud) 我试图通过从后端将 PDF 转换为二进制字符串来显示 PDF。这是我正在进行的 ajax 调用
$.ajax({
type : 'GET',
url : '<url>',
data : oParameters,
contentType : 'application/pdf;charset=UTF-8',
success : function(odata) {
window.open("data:application/pdf;charset=utf-8," + escape(odata));
Run Code Online (Sandbox Code Playgroud)
} });
当我尝试在新窗口中打开 PDF 时,网址看起来像
数据:应用程序/pdf;字符集=utf-8,%25PDF-1.3%0D%0A%25%uFFFD%uFFFD%uFFFD%uFFFD%0D%0A2%200%20obj%0D%0A/WinAnsiEncoding%0D... ....
如您所见,它使用“WinAnsiEncoding”来显示 PDF。因此,某些字符无法正确显示。如何将其更改为 UTF-8?
编辑:后端在ABAP中。我正在使用功能模块“CONVERT_OTF”将 smartform 转换为 OTF,然后转换为字符串。
CALL FUNCTION fname
EXPORTING
user_settings = space
control_parameters = ls_ctropt
output_options = ls_output
gv_lang = lv_lang
IMPORTING
job_output_info = ls_body_text
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING …Run Code Online (Sandbox Code Playgroud) 请解释为什么在基于 ABAP 的系统中传输处理有不同的事务代码(se01、se09和se10)。有什么区别?
正如该主题所暗示的那样,我无法访问 SOAMANAGER 事务,经过几天的思考,我不知所措。
我的环境: - SAP HANA [开发人员版] 上的 SAP NetWeaver 7.50 SP1 AS ABAP 和 SAP BW,来自http://scn.sap.com/docs/DOC-41566。
我的尝试:
它试图打开的链接: http://vhcala4hci.wdf.sap.corp:50000/sap/public/myssocntl?sap-client=001
除了 APPL_SOAP_MANAGEMENT 或端口为 0 的问题之外,我在 google 上找不到任何其他问题/解决方案。我希望有人能帮帮忙。
如果我转到 SICF ... Services,找到 APPL_SOAP_MANAGEMENT,右键单击,然后测试服务,我会得到以下链接:
http://vhcala4hci.wdf.sap.corp:50000/sap/bc/webdynpro/sap/appl_soap_management?sap-client=001
虽然它具有相同的效果“找不到服务器”。我也尝试用 IP 替换地址,但结果相同......“找不到服务器”。
我需要开发一个ABAP程序,该程序为SAP Basis做一些动作。该程序只能在测试/开发系统中运行,在生产系统中运行该程序并不安全。
我需要任何安全的方法来防止程序高效运行。我可以读取T000表中的类别字段,并检查系统是否有效,但是这种方式不是100%安全的。任何具有调试/变量修改授权的用户都可以避免这种情况。
可能的解决方案是根本不将ABAP程序导入生产系统。同时,我们有一个从生产环境到QA的系统副本(Oracle DB从PROD完全复制到QA并重命名)。这意味着在复制每个PROD-> QA之后,新程序将在质量检查中删除,我们需要将其从DEV重新导入到质量检查中。因此,这种方式并不方便。
有什么办法更安全吗?
sap-basis ×8
abap ×5
alv ×1
javascript ×1
pdf ×1
sap ×1
transport ×1
trial ×1
utf-8 ×1
versioning ×1