SAP公司间采购订单关联交货单报表源代码(自己收藏)

本文介绍了一个使用ABAP编程语言实现的ALV(Analytic List Viewer)报告示例。该报告涉及多个表如vbkd、vbak等,并定义了用于显示的ALV变量及数据结构,包括字段目录、布局设置等。报告还详细展示了如何通过这些表来获取并展示如采购订单号、销售订单号等关键业务信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

*&---------------------------------------------------------------------*
*& Report  ZMMR023
*&
*&---------------------------------------------------------------------*
*&by xiaochangye  20161010
*&xiugai by dev02 20161226
*&---------------------------------------------------------------------*

report ztestxiao001.

tables:vbkd,vbak,vbrp,vbrk,ekpo,vbap,lips.

*定义ALV变量
type-pools: slis.
data: fieldcatalog   type slis_t_fieldcat_alv with header line,
      gd_tab_group   type slis_t_sp_group_alv,
      gd_layout      type slis_layout_alv,
      gd_repid       like sy-repid,
      gt_events      type slis_t_event,
      gd_prntparams  type slis_print_alv,
      gt_sort        type slis_t_sortinfo_alv,
      gs_sort        type slis_sortinfo_alv,
      g_title        type lvc_title.

data:begin of gt_out occurs 0,
  ernam   like ekko-ernam,"负责人
  bstkd_e like vbkd-bstkd_e,"采购订单号
  menge   like ekpo-menge,"订单数量
  bpmng   like ekbe-bpmng,"收货数量
  werks   like ekpo-werks,"工厂
  matnr   like ekpo-matnr,"物料号
  txz01   like ekpo-txz01,"物料描述
  vbelnxs  like vbkd-vbeln,"销售订单号
  posnrxs like vbkd-posnr,"销售订单行项目号
  kwmeng   like vbep-wmeng,"销售订单数量
  lfimg   like lips-lfimg,"交货数量
  vkorg   like vbak-vkorg,"销售组织
  matwa   like vbap-matwa,"物料号
  arktx   like vbap-arktx,"物料描述
  vbelnjh  like vbkd-vbeln,"交互单号
  posnrjh like vbkd-posnr,"交货单行项目号
  vbelnfp  like vbkd-vbeln,"发票号
  posnrfp like vbkd-posnr,"发票行项目号
  fkdat   like vbrk-fkdat,"发票创建日期
  end of gt_out.

data:begin of gt_huizong occurs 0,
  ernam   like ekko-ernam,"负责人
  bstkd_e like vbkd-bstkd_e,"采购订单号
  werks   like ekpo-werks,"工厂
  matnr   like ekpo-matnr,"物料号
  txz01   like ekpo-txz01,"物料描述
  vbelnxs  like vbkd-vbeln,"销售订单号
  posnrxs like vbkd-posnr,"销售订单行项目号
  lfimg   like lips-lfimg,"交货数量

  end of gt_huizong.

data:begin of gt_vbkd occurs 0,
  bstkd_e like vbkd-bstkd_e,"采购订单号
  ebeln like vbkd-vbeln,"采购订单号
  vbelnxs  like vbkd-vbeln,"销售订单号
  posnrxs like vbkd-posnr,"销售订单行项目号
  vbeln    like vbkd-vbeln,"销售订单号
  posnr   like vbkd-posnr,"销售订单行项目号
  vbelnjh  like vbkd-vbeln,"交互单号
  posnrjh like vbkd-posnr,"交货单行项目号
  ERNAM like ekko-ERNAM,
  end of gt_vbkd.

data:begin of gt_ekpo occurs 0,
  ebeln like vbkd-vbeln,"采购订单号
  werks   like ekpo-werks,"采购工厂
  matnr   like ekpo-matnr,"采购物料号
  txz01   like ekpo-txz01,"采购物料描述
  MENGE   LIKE EKPO-MENGE,

转载于:https://www.cnblogs.com/275147378abc/p/6065736.html

<think>好的,我现在需要帮助用户解决SAP系统中公司采购订单交货单数量为0的问题。根据用户提供的引用内容,我需要结合系统级指令用户的问题来生成合适的回答相关问题。 首先,用户的问题是关于公司采购订单生成的交货单数量为0的解决方案。我需要回顾提供的引用内容,特别是引用[1]、[2]、[3][4],从中提取相关的流程可能的错误点。 引用[1]提到公司采购的核心流程,包括创建采购订单、发货、收货、开票等步骤。这里需要确认采购订单是否正确指定了供应公司,并且交货流程是否正常执行。如果交货单数量为0,可能是采购订单中的数量错误,或者供应公司创建销售订单时有问题。 引用[2]涉及创建交货单的步骤,使用VL01N或Fiori Apps。如果交货单数量为0,可能需要检查销售订单中的数量是否正确传递到交货单,或者是否有配置错误导致数量未被正确带出。 引用[3]讨论如何处理外部销售订单行数量的更改,特别是内部PO/SO生成后的调整。虽然用户的问题是关于数量为0,但这里提到的测试情况可能相关,例如系统在生成交货单时是否允许数量更改,或者是否有配置限制导致数量无法更新。 引用[4]提到公司A的账户类型交易伙伴的账户类型,这可能涉及公司交易的财务配置。如果账户类型配置错误,可能导致交货单无法正确生成数量,从而显示为0。 接下来,我需要将这些引用内容整合到解决方案中。可能的步骤包括: 1. 检查采购订单中的数量供应公司是否正确。 2. 确认供应公司销售订单是否生成正确,数量是否与采购订单一致。 3. 查看交货单创建时的配置主数据,如发货点、计划行类别等。 4. 检查公司库存配置,确保跨公司发货允许。 5. 检查批次管理增强程序是否影响数量更新。 此外,需要确保所有步骤符合用户的中文回答要求,使用正确的LaTeX格式,并生成相关问题。 最后,生成三个相关问题,涵盖配置、财务影响常见错误,帮助用户进一步理解相关主题。</think>### 解决方案:SAP公司采购订单交货单数量为0的排查步骤 1. **检查采购订单销售订单关联性** - 确保采购公司创建的采购订单(PO)中**数量字段**非空且与需求一致,且指定了正确的供应公司[^1]。 - 在供应公司侧,通过采购订单生成的销售订单(SO)需验证行项目数量是否继承正确。可使用事务码`VA03`检查销售订单,确认`Order Quantity`是否为0。 2. **交货单生成的配置检查** - 在供应公司创建交货单时(事务码`VL01N`或Fiori应用),需检查**计划行类别**(Schedule Line Category)的配置。例如,计划行类别`CS`是否允许交货数量为0,或是否被错误配置为手动输入数量[^2]。 - 检查**发货点**(Shipping Point)的主数据配置,确保其与工厂、销售组织的逻辑匹配。 3. **库存与批次管理问题** - 若涉及**跨公司库存转移**(Intercompany Stock Transfer),需确认供应公司是否启用了公司发货的特殊库存类型(如E库存)。若库存不足或未分配,可能导致交货单数量为0。 - 如果物料启用了批次管理,检查批次主数据中可用数量是否充足,或批次状态是否被锁定。 4. **增强程序或用户出口干扰** - SAP系统可能通过用户出口(如`USEREXIT_SAVE_DOCUMENT_PREPARE`)或BADI(如`LE_SHP_DELIVERY_PROC`)修改交货数量。需检查相关增强是否错误地将数量置0[^3]。 5. **财务与公司结算配置** - 验证公司交易的**账户类型**(Account Type)配置是否正确。例如,采购公司账户类型应为应付(K),供应公司为应收(D)[^4]。若配置错误,可能导致交货单无法带出数量。 --- ### 示例代码:检查交货单数量逻辑 ```ABAP * 使用事务码VL03N查看交货单行项目 DATA: lt_vbep TYPE TABLE OF vbep. SELECT * FROM vbep INTO TABLE lt_vbep WHERE vbeln = '交货单号'. IF sy-subrc = 0 AND lt_vbep[ 1 ]-wmeng = 0. MESSAGE '交货数量为0,请检查销售订单计划行' TYPE 'E'. ENDIF. ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值