有没有捷径,或者我应该在桌边绕个圈检查一下
我的意思是,我正在使用一个内部表,我想检查一个值是否包含在内部表的一个字段中,我不想循环表来查找值。有可能吗?Selam
如果要在算法中使用循环,则可以使用如下内容:
LOOP ITAB WHERE FIELD = 'X'.
"code sample
ENDLOOP.
如果您不打算在代码中使用循环,那么我认为没有特定的方法来检查itab中的特定值
希望对你有帮助
Talha要在不执行循环或不将值传输到工作区的情况下检查特定值,可以使用READ语句
我们更新了报告RFBVBIC2事务代码BIC2,以实现SAP说明1737484。此外,我们在附件部分找到了一个zip文件RFBVBIC2-ITF.zip
未通过实施SAP说明更新计划文档
试图手动更新程序文档时,我们被要求创建修改,给出修改名称,并在模板类型原始文本和带标题的模板之间进行选择
执行此操作时,新文档将附加:仅德语版本将覆盖旧文档,其他语言版本的程序文档将不可用
我的问题是:实现这样一个程序文档更新的正确方法是什么
谢谢大家! 我想说,如果对您的用户没有什么价值,即您没有任何德国用户
我需要在ABAP中使用这样的查询,但这不起作用
SELECT * FROM table
INTO i_tab
WHERE amount = 100,15
我试过:
其中amount='100,15',但这也不起作用
如何在my where语法中指定十进制数?正确的语法是:
SELECT *
FROM table
INTO i_tab
WHERE amount = '100.15'
正确的语法是:
SELECT *
FROM table
INTO i_tab
WHERE amount =
标签: Abap
function-modulesap-crm
我是新生。只有2个月的SAP ABAP经验
我被要求获得合同清单的报价日期。为此,我需要从everh表中获取crm业务交易编号
现在,我需要在程序crm_order_read中使用此事务号,并获取导出参数et_orderadm_I,其中GUID可用,以及创建日期和时间(报价日期)
现在我无法理解如何在程序crm\u order\u read中传递事务号(object\u id)?还有一个功能模块crm\u order\u id可用,但没有作为交易编号的导入参数
同样,导出参数et_orderad
我需要的是在这两列中添加标题(以黄色突出显示),我不知道怎么做
FORM display_alv.
DATA: gr_functions TYPE REF TO cl_salv_functions.
DATA: gr_display TYPE REF TO cl_salv_display_settings.
DATA: gr_columns TYPE REF TO cl_salv_columns_table.
DATA: gr_column TY
我有一个2页的Smartform:
FIRST > NEXT
NEXT > NEXT.
我想根据条件跳过最后一页。我该怎么做
谢谢。将最后一页上下文包装到子表单(文件夹元素)中。如果条件为true,则必须显示子窗体。我要求它使用Smartform:)这是用于smartforms的。下一步你可以做。将所有smartforms元素放在同一页上。因此,smartform结构中只有一个页面。然后在smartform中创建一个文件夹(我在上面的帖子中将其称为“子表单”),并将上一页中的所有元
我给下面的代码行编码
DATA(lt_heads_ok) = VALUE my_head_table( for wa IN g_heads
LET ok = g_model->is_head_ok( wa-id )
IN ( COND #( WHEN ok = abap_true THEN wa ) ) ).
我可以激活它,但结果对我来说很奇怪。
事实上,我得到了所有的线,但空的是没有一个是有效的,
下面是创建对象的代码段
Form userexit_save_document_prepare.
data: /bks/exitmanager type ref to /bks/exit_manager.
create object /bks/exitmanager
exporting main_prog = 'SAPMV45A'
exit_form = 'USEREXIT_SAVE_DOCUMENT_PREPARE'.
inc
我只是想知道如何在SAP NetWeaver Developers Kit中限制某个用户使用自定义事务代码
我正在访问代码“se80”,我们可以在其中创建自己的程序来定制SAP系统,但我的情况是,我希望限制它
例如,总经理可以使用此自定义交易代码eg(ZBDGEN),其中他/她可以使用自定义程序/交易代码,而销售人员只能使用自定义程序/交易代码eg(ZBDSC)
我创建了一个两个程序,第一个程序用于更新/编辑/删除总经理使用的权限,而第二个程序是第一个程序的副本,但该程序只能用于更新和销售人员使
问题是,我希望WD ALV中复选框列的某些单元格可编辑,而某些单元格将不可编辑,具体取决于某些属性
我将采取下一步措施以实现所需的结果:
1) 将属性只读类型WDY-BOOLINE添加到相应节点(已添加属性检查类型WDY-BOOLINE)
2) 然后在我的代码中检查表行中的一些条件,并指定属性READONLY值abap_true或abap_false
3) 然后我用表绑定我的节点。表格填写正确,我已签入调试器
4) 配置我的alv:
DATA: lo_table_settings TYPE
这是我第一次来ABAP
实际结果不是我所期望的
预期结果应该是
2 x 1 2
2 x 2 4
2 x 3 6
2 x 4 8
2 x 5 10
..
..
..
试试我的解决办法
DATA: n(1) TYPE i VALUE '2',
sum(2) TYPE i.
DO 9 TIMES.
IF sy-index = 1.
CONTINUE.
ENDIF.
PERFORM multi using sy-index.
ENDD
是否有任何RFC可以获取我的SAP服务器中激活的语言列表
RFC/GRCPI/GRIA_GET_INSTALLED_LANG给出了已安装语言的列表,但没有给出激活的语言
另外,还有一个FM/IXOS/DC_H_GET_INST_LANGUAGES,它给了我激活的语言列表。但我需要一个RFC
谢谢我不确定您需要安装的语言还是可安装的语言。对于已安装的语言,请使用SWK\u SYSTEM\u LANGUS\u GET。对于可安装的语言(T002C-LAINST='X'),如果没有其他解决方案,您可能
标签: Abap
function-modulesap-selection-screens
我有一个需求,需要从select options向功能模块获取from-to(即日期值)值。如何在导入参数中声明这些值?-声明类型为该日期范围的导入参数。请从SE11中找到此文件的标准表格类型
-现在,在调用FM时,将选择选项变量wilt[]方括号传递给上述参数您可以直接为导入参数使用TypeRSIS\u T\u RANGE,以实现此目的。请详细说明您正试图实现的目标。此功能模块的用例是什么,从何处接收范围值?实际上,我需要使用功能模块创建odata服务,以便我的程序包含销售办事处(VKBUR)
我想知道是否有一个ABAP命令将模拟退出1(在shell脚本中),它将中止?,或者取决于场景
备注:链接到相关的SAP帮助。如果您想以静默方式结束一个程序,请查看@Gert Beukema的答案。如果退出的原因是错误,则可通过给出类型为“a”或“X”的消息(如果位置正确,则为E)立即中止程序
'A'表示中止:它提供有关处理错误的信息,但无法恢复处理
“X”表示退出:它不提供处理信息,而是提供系统状态的堆栈转储
更多信息见第页,我认为这取决于具体情况,但在模块型程序中,使用这些命令退出时可能会遇到
所以我通过Screen Painter(SE51)添加了一个下拉类型为Listbox的字段
我已经使用PBO和VRM_SET_VALUES函数将数据绑定到下拉列表中
我对此有两个问题
如何设置绑定数据的选定值
如何获得用户选择的值
使用以下代码将数据绑定到下拉列表
LOOP AT it_zzdelay_text INTO wa_zzdelay_text.
wa_listbox-key = wa_zzdelay_text-zz_delay_reason.
wa_listbox-text
基本上,我正在尝试将表单中的记录插入到数据库表中。不知道为什么它会添加到空记录中
Here's my codes:
*--------------Screen 9003------------------------------------------------------------*
MODULE status_9003 OUTPUT.
SET PF-STATUS 'PF_PO_INN'.
SET TITLEBAR 'PO_TITLE1'.
ENDMODULE.
modul
标签: Abap
sap-data-dictionary
我正在创建一个表,并插入了以下字段:
材料代码(MARA-MATNR)
气体类型(MARM-MEINH)
但我对“二氧化碳系数”字段有问题。
字段的域和数据元素是否有任何帮助?SAP数据元素中不存在CO2系数字段。您应该使用SE11 t代码创建域和数据元素
我想了解有关报告的信息。如果我这样调用报告,我想知道哪些值可用:
SUBMIT (IV_REPORT_NAME)
WITH SELECTION-TABLE selection_table
AND RETURN.
以下是我的尝试:
FUNCTION /FOO/GET_REPORT_INFO.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
我试图从MSEG中选择物料移动的最新日期,但物料需要库存,并且来自使用未转换物料名称的定制表格
我尝试过使用调用函数“CONVERSION\u EXIT\u MATN1\u OUTPUT”和INPUT,但我不确定如何在select语句中正确使用它
IF MSEG-BWART = '101'.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
INPUT = ZBJSTOCK-ZMAT10
IMPORT
我正在尝试检索程序RFKSLD00生成的ALV表,但无法使cl\u salv\u bs\u runtime\u info正常工作。以下是我所拥有的:
REPORT ZSAM3.
TYPES: BEGIN OF ty_report,
rec_acc TYPE skont,
vendor TYPE LFA1-LIFNR,
jan_deb TYPE BSEG-WRBTR,
jan_cred TYPE BSEG-WRBT
我在SE11中创建了一个包含以下列的结构:
column name type (data element)
----------- -------------------
mandt mandt
itemdesc arktx
quantity lfimg
tweight gsgew
我在SE11中创建了一个表类型ZPACK\u DETAIL,其线型与上面的结构相同
然后,我使用下面的代码声明了一个内部表
我想用ABAP建立一个正常的ALV列表。
我正在使用功能模块REUSE\U ALV\U GRID\U DISPLAY。
目前我的代码是这样的
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = z_repid
i_grid_title = ls_title
is_layout = ps_layout
it_fieldca
我一直在尝试在我的SAPGUI 7.40rev1中设置bgRFC模式,但当我使用事务SRT\u ADMIN\u CHECK验证配置时,我遇到了错误bgRFC目标不可操作
在查看SAP文档时,我发现大部分配置都是使用客户机000完成的(目前我没有访问权限)
有人能告诉我这是否是错误的原因吗?或者可能缺少其他一些配置 客户机000根本不是运营客户,阿福。它是一种SAP basis管理客户端,在将这些设置传输到操作客户端之前,在其中设置基本配置。您应该要求在000客户端中设置并传输这些内容,或者请求权
这件事把我难住了
我在MB1B上做了一个增强,我希望它的变化在MB1B和MI09上是可见的,这是有效的。但是,我正在努力防止这些更改出现在不同的事务中(例如IH08、IE05、IQ09)。我所做的是用if语句围绕我的所有增强代码,如下所示:
IF sy-tcode = 'MB1B' OR sy-tcode = 'MI09'.
INCLUDE z_pallet_selopt.
ENDIF.
但是,当我运行IH08时,调试器将到达这一点并继续执行,并包括z_pallet_selopt
所以我会
我需要格式化一个十进制数,用逗号作为十进制分隔符,不使用任何千位分隔符(既不是点也不是空格)
如果我不想作为一个班轮来做,我就不会是我自己,但是我一直无法找到这样的解决方案
我现在的解决办法是
DATA: l_value TYPE p LENGTH 9 DECIMALS 2 VALUE '-3450354.25'.
DATA(l_formatted_value) = |{ l_value SIGN = LEFTSPACE COUNTRY = 'DE ' }|.
REPLACE ALL OCCU
标签: Abap
sap-selection-screens
我仍处于SAP ABAP的学习阶段,请耐心等待。因此,我尝试创建一个报告,从vbak表中检索数据,但有一些条件:
1) 启用和禁用单选按钮。
2) 使用“AT SELECTION-SCREEN ON”语句。
3) 复选框“组织”(以显示的方式打印数据)
4) 复选框“下载为文本文件”将数据下载为文本文件
我的代码:
REPORT z_testingdemo.
TABLES: vbak.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME NO INTE
标签: Abap
opensqlfunction-module
在更新实际DB表(使用SAP LUW)时,IN UPDATE任务始终是回滚在实际表中所做的更改
APPEND ls_emp TO lt_up_emp.
call function 'ZFM_UPDATE_EMPLOYEE' in update task
tables
lt_update = lt_up_emp.
COMMIT WORK.
if sy-subrc <> 0.
ROLLBACK WORK.
endif.
将ls\u emp附加到lt\u
屏幕上有一个ALV in容器0100。它是通过classCL\u SALV\u表创建的
问题是,在按下屏幕上的按钮(屏幕截图上的2)后,我无法通过go_alv_dms->get_selections()->get_selected_rows()获取选中的行
但是,如果按钮位于ALV状态栏(屏幕截图上的1)中,我可以访问所选行,没有问题。似乎按下ALV外部的按钮可以清除它的选择
显示ALV时的寄存器选择:
...
lo_selections = go_alv_dms->get_se
类型池和为常量创建类之间有什么区别?
什么更好?
我的问题是一个大的常量组,并且可以被其他组访问
多谢各位
编辑-谢谢你的回答,我会改进我的问题。我需要一些东西来存储常量,我将在程序或其他类上使用它们。基本上,我想知道使用类型池还是使用带有常量的类(仅限)更好。我可以有多个类或类型池 报告提到了这一点:
由于还可以在全局类的公共可见性部分定义数据类型和常量,因此类型组已过时,不应再创建。现有类型组仍可使用
一个具有您想要的常量的合理命名的接口是一种方法。另一个好处是ABAP OO强制执行更多的规
以下代码在sy subrc=12时失败
CONVERT DATE '20191105'
TIME '123000'
DAYLIGHT SAVING TIME 'X'
INTO TIME STAMP DATA(timestamp)
TIME ZONE 'CET '.
在报告中说:
12:无法转换指定的时间,因为dat、tim或dst包含无效或不一致的值
我注意到,当我在调试器中删除sy dayst中的“X”时,它会进行转换
但我当然想把夏令时考虑在内,那么我如
我是abap的新手,请让我知道ceil和floot函数在abap中的使用。不幸的是,我对abap一无所知,但ceil和floot的定义通常如下:
浮点值的下限是下一个最低的整数
浮点值的上限是次高的整数
免费范例:
ceil (4.1) = 5
floor (4.1) = 4
为了补充Hyperboreus的答案,严格来说这不是ABAP问题,因为天花板和地板函数也是其他语言中包含的通用数学函数
您可以使用以下ABAP代码亲自尝试,以获得实际理解:
data: v type p decimals
我尝试使用cl_ci_objectset类引用一组对象,以便在事后运行检查:
data: lr_ci_objectset type ref to cl_ci_objectset.
CALL METHOD cl_ci_objectset=>get_ref
EXPORTING
P_OBJSNAM = 'ZTEST'
RECEIVING
p_ref = lr_ci_objectset
我想用这个FMHRWPC\u RPT\u COSTCENTER\u EVALPATH阅读职位,其中给出了成本中心
有3个结果表。我可以从哪个表中读取位置值
这里我如何称呼FM:
DATA i_hrrootob TYPE TABLE OF hrrootob.
DATA w_hrrootob LIKE LINE OF i_hrrootob.
DATA i_object_tab TYPE TABLE OF objec.
DATA w_object_tab LIKE LINE OF i_
这是给你的
为什么下面的代码不以短转储GETWA_not_ASSIGNED结束,而是返回长度为2的类型C
FIELD-SYMBOLS: <fs_any> TYPE any.
DESCRIBE FIELD <fs_any>
TYPE DATA(l_type)
LENGTH DATA(l_length) IN BYTE MODE
DECIMALS DATA(l_decimals).
字段符号:键入任意。
描述字段
类型数据(l_类型)
字节模式下的长度数据(l
我为ALV屏幕添加了另一个保存按钮。按钮在GUI状态中描述
FORM user_command USING u_ucomm TYPE sy-ucomm
CHANGING c_selfield TYPE slis_selfield.
Data: lv_is_bayer TYPE c,
lt_rows type salv_t_row.
CASE u_ucomm.
WHEN '&SAVE'.
但是它不起作用,尽管事实上,另一
我正在webdynpro abap中尝试文件上传程序,但我只想将其用于某些文件类型,如.pdf和.xls。实际上,我必须为此增强现有的webdynpro代码。我已将文件Mime类型与所需的Mime类型进行了比较。。
例如。。
pdf的MIME类型为:application\pdf
将其与上传文件mime类型进行比较。请提供一些代码。你想如何上传文件?现在我得到了答案..谢谢你的回复。我
我正在使用C#调用BAPI与SAP进行通信。我不熟悉这个话题,所以我想澄清一些概念
Q1:如果我调用BAPI_GOODSMVT_CREATE,我是否应该检查物料表的退货表或物料单据字段以查看它是否成功
问题2:如果失败,我需要调用BAPI\u事务\u回滚,还是忽略它(因为没有BAPI\u事务\u提交,数据将不会保存)
问题3:我发现有时候,即使有错误消息,如果我继续调用BAPI\u TRANSACTION\u COMMIT,数据也会被保存。但有时不会
提前感谢。查看退货表。如果可以,则发出带有等
我们正在迁移到HANA,一家外部公司正在进行代码修复。其中一些是自动化的。我看到了代码更改的地方:
*{ REPLACE DEVK9A1ZZH
* SELECT SINGLE maktx
* INTO tab-maktx
* FROM makt
* WHERE matnr EQ strmatnr
* AND spras EQ sy-langu.
SE
我其实有一个简单的要求。
给出了两个表:
从第一个表的值开始,获取第三个表以及这些表中所有可能的值组合的最有效方法是什么?比如1A、1B、1C、2A……等等
是否有任何标准框架可供使用?您可以将所有值加载到内部表,然后进行嵌套循环,以便使用串联列填充新的内部表。看起来您需要两个表的组合。在这种情况下,使用所述的交叉连接
文章中的代码引用:
REPORT ZZZ.
SELECT t000~mandt, t000~mtext, t100~*
FROM t000 CROSS JOIN
我正在尝试获取保存在SAP表SOOD中的条目的发件人电子邮件地址。我需要通过表格获得这些信息。我已经看到可能有一些FM,比如so_object_read,可以实现这一点,但我需要通过表格将这两个字段关联起来
此表存储SCOT trx中显示的信息(SOIN-已接收消息和SOST已发送消息)
有什么建议吗
非常感谢你 如果您有SOOD记录,您可以通过以下方式联系邮件发件人:
SELECT sost~objtp, sost~objno, sost~objyr, sost~msgv2
FROM s
我试着读全球课堂的报告,但不起作用我需要将全局类的源代码读入表中。
我找到了SEO_方法_*FM,但那个些只返回了关于类的元数据,而不是它的源代码
是否有任何FM或方法类似于READ REPORT,但适用于全局类
谢谢您的帮助。所有ABAP代码都存储在“包含程序”中的表REPOSRC、报表、功能模块、类池等中。此表只能通过ABAP语句read REPORT读取
您需要知道类池中这些包含程序的名称
对于名为ZCL_X的类池,ABAP源代码存储在以下包含程序中:
ZCL_X============
我需要确保为Fiori后端调用一致地编辑SAP表。
我有多种情况,对后端的一次调用会更改后端上的多个表。更改将写入传输请求
我希望实现无错误的稳定解决方案,这样,如果第一个表更改得很好,但第二个表失败(重复条目、缺少授权),那么整个更改都会被拒绝。
然而,似乎只有“在更新任务中执行FM”可用,这需要将每个后端db更改的所有逻辑都放入FM中
是我遗漏了什么,还是SAP真的没有面向对象的方法来执行一致的数据库更新
我唯一的解决办法就是向上检查所有这些先决条件,这已经不再那么好了
@Florian:后
作为一些背景知识,我打算用.NET编写一个Excel加载项,它可以从SAP系统执行查询
因此,我正在寻找SAP的SQVI事务的功能模块列表。我似乎找不到多少关于他们的信息;我以前发现的几个论坛帖子似乎已经被互联网遗忘了
具体来说,我希望能够查找用户创建的查询,然后在Excel中显示结果。我可以管理Excel操作以及远程执行SAP功能模块;我根本找不到需要执行哪些SQVI功能模块
更新:我确实找到了指引我在AQGF组中搜索功能模块的原因(功能模块以RSAQ*开头)尝试RSAQ\u REMOTE\u
我很困惑。如果我编译下面的代码
REPORT zzy.
CLASS lcl_main DEFINITION FINAL CREATE PRIVATE.
PUBLIC SECTION.
CLASS-METHODS:
class_constructor,
main.
PRIVATE SECTION.
TYPES: BEGIN OF t_record,
transid TYPE sy-index,
item1 TYPE ch
在我将其显示在ALV中之前,我正在尝试从这个内部表中清除以下标记为红色的空单元格
如果发现某个单元格为空,请查找下面任何有值的单元格并向上移动
我正在努力找出代码中执行此操作的最佳方式
任何帮助都会很好
您可以对内部表进行排序,并将其存储在临时内部表中,然后进行交换。例如:
data: lt_itab_temp like table of lt_itab.
move lt_itab[] to lt_itab_temp[].
clear:lt_itab[],lt_itab.
sort lt_ita
我们为每个系统复制/升级会话锁定所有business/developer SAP用户。用户会提前了解计划的工作,但其中一些用户会尝试登录系统。他们看到SAP标准消息,即用户已锁定,并要求一级支持人员解锁用户。因此,我们的一级支持会收到大量“请解锁”消息
解决方案是在系统复制/升级期间,将SAP标准消息替换为文本“您的用户因复制/升级工作而被锁定”。我知道我可以更改SAP GUI登录屏幕文本,但是否有任何选项可以替换针对锁定用户的SAP标准消息?是否可以在SAP标准消息之前/之后显示另一条消息
我
当用户单击ALV网格中的热点(重用ALV网格显示)时,我尝试调用自定义屏幕。我希望用户选择的行中的特定值显示在自定义屏幕的字段中
form handle_user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
CASE r_ucomm.
when '&IC1'.
if rs_selfield-field
如何更正此代码行以更好地过滤输入条件:
IF STRING CA SY-ABCDE and STRING CN SY-ABCDE.
我的条件是:
输入不得全部为大写或小写名称或名称,“名称”是可接受的
如果输入包含数字或符号,则可接受123%名称可接受,123%名称或123%名称不可接受
我提供的代码行满足第一个条件和第二个条件的一半,但我无法更改它,以便在输入为123%名称时被拒绝。您可以检查字符串本身的大小写格式
DATA: lv_m TYPE string VALUE 'Abc',
我在se11中创建了一个表ZPDETAIL01并将其激活。
在smartforms的表单界面中,我在tables选项卡中创建了一个表参数zdetail,类型分配为type,关联类型为ZPDETAIL01。
当我检查它时,出现了一个错误,“ZPDETAIL01平面类型只能使用LIKE for table参数进行引用”
这是表本身的错误还是参数设置的错误?Thx
我将类型分配改为“喜欢”,问题就解决了。但是我想知道为什么在搜索帮助按钮中我找不到LIKE选项,只有TYPE和TYPE REF.只是UI中
我试图对内部表中一列的所有值求和。
我有以下资料:
DATA: t2 TYPE TABLE OF komlfp.
FIELD-SYMBOLS: <t2_line> LIKE LINE OF t2.
LOOP AT t2 ASSIGNING <t2_line> WHERE contract = wa_view-num.
CLEAR: wa_talv-vol_fat_atual
wa_talv-vol_fat_atual = <t2_line>-kzwi
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 36 页