如何显示丢失的信息消息以及获取的信息?

2020-09-03 20:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我绝对是ABAP(和...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我绝对是ABAP(和编码)的初学者,并且遇到一个不确定的问题,我不确定该如何描述。 好吧,我被要求做一个简单的程序,该程序将输出一个包含客户编号,客户名称,城市和每个客户所下订单的数量的列表。

我还被告知,如果客户编号 丢失(或不存在),它仍应在列表中显示为"找不到客户端"或" X"。 例如,我正在搜索1号至50号客户,系统找不到15-20号客户的任何结果。 在这种情况下,列表将给出从1到14的输出,然后为接下来的6条记录写'X',然后将再次照常显示输出,其值从21开始。

我的问题是,我无法解决问题的这一部分。 我的输出仅显示可以在系统中找到的客户编号。

感谢您的帮助,并提前感谢您。

最诚挚的问候,

Arnab Goswami

报告z_XYZ

 类型:开始于g_ty_kna1,
         KUNNR TYPE KUNNR,
         NAME1 TYPE NAME1,
         ORT01类型ORT01,
        g_ty_kna1结束。

 数据:g_ty_kna1的g_it_kna1类型标准表,
       g_wa_kna1类型g_ty_kna1,
       g_kunnr TYPE kna1-KUNNR,
       g_name1 TYPE kna1-NAME1,
       g_ORT01类型kna1-ORT01,
       安扎尔类型i。

 带有框架标题text-001的Eingabe块的选择屏幕开始。
 SELECT_OPTIONS s_kunnr FOR g_kunnr。
 Eingabe区块的选择屏幕结束。

 如果s_kunnr是INITIAL。
   消息'Bitte geben Sie eine Kundennummer an。'(003)TYPE'E'。
 其他。
   执行Datenerfassung。
   执行日期。
 万一。

 *&------------------------------------------------  --------------------- *

 *&表格Datenerfassung

 *&------------------------------------------------  --------------------- *

 *文字

 * -------------------------------------------------  --------------------- *

 表格Datenerfassung。

   选择昆纳名称1 ORT01
     从KNA1
     表g_it_kna1的对应字段
     s_kunnr中的KUNNR。

 ENDFORM。  " Datenerfassung

 *&------------------------------------------------  --------------------- *

 *&表格日期和日期

 *&------------------------------------------------  --------------------- *

 *文字

 * -------------------------------------------------  --------------------- *

 表格Datenverarbeitung。
   新队。
   乌兰(78)。
   新队。

   写:sy-vline,
     (7):'Kunde'(004),sy-vline,
     (22):"名称"(005),sy-vline,
     (18):" Ort"(006),sy-vline,
     (18):" AnzahlAufträge"(007),sy-vline。

   新队。
   乌兰(78)。
   新队。

   循环至g_it_kna1,进入g_wa_kna1。  " WHERE KUNNR = g_wa_kna1-KUNNR。

     选择计数(*)
       INTO安扎尔
       从VBAK
       哪里KUNNR = g_wa_kna1-KUNNR
       由Kunr分组。
     ENDSELECT。

     如果sy-index = g_kunnr。

       写:sy-vline,
        (7):g_wa_kna1-KUNNR,sy-vline,
        (22):g_wa_kna1-NAME1,sy-vline,
        (18):g_wa_kna1-ORT01,sy-vline,
        (18):anzahl,sy-vline。

       新队。
       乌兰(78)。
       新队。

     其他。
     做6次。
       检查14和21之间的sy-index。

       写:/sy-vline,
        (7):" Kunde"(004)下的" X",sy-vline,
        (22):" Der Kunde existiert nicht"。(002)在"名称"下,sy-vline,
        (18):" Ort"下的" X",sy-vline,
        (18):" AnzahlAufträge"下的" X",sy-vline。

       ENDDO。

       新队。
       乌兰(78)。
       新队。

     万一。

  结局。

 ENDFORM。  "大自然保护区


 页面顶部。
   新队。
   乌兰(78)。
   新队。

   写:sy-vline,
     (7):'Datum:'(009),sy-datum,sy-vline,
     (10):" Uhrzeit:"(010),sy-uzeit,sy-vline,
     (18):'Benutzer/in:'(011),sy-uname,sy-vline。

   新队。
   乌兰(78)。
   新队。

  写:'Gesamtdatensatz abgerufen'(008),sy-dbcnt。
10条回答
clasier
2020-09-03 20:53

否,您没有从KNA1表中获得客户编号。 您正在对照KNA1表检查客户编号。

如果用户将在选择屏幕上输入漂亮的客户编号列表,例如1、2、3、4、5,一直到N,则 太好了,您可以针对KNA1检查每个。 但是,如果用户可以输入任何选择范围,例如1到100、1到9999999999、1 * 23 * 4到* 999等,那么您将如何得出客户编号列表以开始搜索KNA1 ??????? ?

您需要对如何使用选择屏幕导出客户编号的初始列表设置一些规则。

一周热门 更多>