使用程序生成财务预制凭证的方法(三)

本文介绍如何通过自定义程序调用 SAP BAPI,并实现 ACC_DOCUMENT 的增强出口 ACC_DOCUMENT (SE24 跟踪) 实现预制凭证功能。文章详细展示了 SE19 对 BADI 实例化的具体步骤及如何在自定义程序中调用 BAPI_ACC_DOCUMENT_POST 函数,包括设置参数和处理返回值。

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

1、找该BAPI增强出口ACC_DOCUMENT(SE24跟踪);

2、SE19对BADI实例化

  READ TABLE c_extension2 INTO wa_extension WITH KEY structure = 'PARK'.
  IF sy-subrc = 0.
    MOVE '2' TO c_acchd-status_new.
    DELETE c_extension2 INDEX sy-tabix.
  ENDIF.

3、自定义程序调用BAPI

  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
    EXPORTING
      DOCUMENTHEADER    = HEADER
    TABLES
      ACCOUNTGL         = ITEMX                                       
      ACCOUNTRECEIVABLE = ITECUX
      CRITERIA          = ITECUXT                                           "获利能力段
      ACCOUNTPAYABLE    = ITEFUX
      CURRENCYAMOUNT    = ITEMY
      RETURN            = IT_RETURN
      EXTENSION2        = itex.

 

其中要增加

if p_park = 'X'.                        '是否创建预制凭证,否则凭证直接过账
   waex-structure = 'PARK'.
   waex-valuepart1 = 'PARK'.
   APPEND waex TO itex.
endif.

在Unity中,使用代码生成预制体(Prefab)主要有以下几种方法: 1. **脚本动态创建**:你可以编写C#脚本,在运行时创建新的GameObject,并将其转换为Prefab。这通常是通过`Instantiate`或`ScriptableObject.CreateInstance`等Unity提供的API来实现的。例如: ```csharp GameObject newObj = new GameObject("New Prefab"); PrefabAsset prefab = PrefabUtility.CreateEmptyPrefab("Path/To/NewPrefab.prefab"); PrefabUtility.SaveAsPrefabAsset(newObj.transform.position, prefab); ``` 2. **序列化字段创建**:如果想要基于某个预设的配置或数据生成Prefab,可以在剧本中设置一个公共类,包含所需组件和属性,并在该类实例化时保存为Prefab。在编辑器中,选择该类并右键单击“Create Prefab”会自动创建一个Prefab。 3. **Unity Editor Tools扩展**:有一些第方工具如Unity Asset Tools包允许开发者编写插件,扩展Unity的编辑器功能,以便更复杂地生成Prefab,比如基于用户交互或特定条件的Prefab。 4. **使用Mecanim StateMachine**:如果你需要根据状态机生成预制体,Unity的Mecanim系统可以配合使用,创建不同的动画状态并在需要的时候生成对应的Prefab。 5. **C# ScriptableObjects**:利用ScriptableObject和其变体(如AnimatorController、Material等),可以在设计时创建预设并生成Prefab。 每种方法都有其适用场景,选择哪种取决于具体的项目需求和个人喜好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值