FA-分配行重分配报错【APP-OFA-48313】

本文档介绍了在OracleAssets中处理转移单位(或单位部分)时遇到的错误,如不能创建相同的分配线。提供了解决方案,包括分多次交易转移以及工作流中的操作步骤,以避免APP-OFA-48313错误。

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

FA-重分配行报错

已存在行只能分多次转移调整

Ref1:

APP-OFA-48313 You Cannot Create Identical Distribution Lines with Transfer (Doc ID 336894.1)

APPLIES TO:

Oracle Assets - Version 11.5.10.0 and later
Information in this document applies to any platform.

GOAL

How do I transfer units (or fractions of a unit) from multiple distributions?

SOLUTION

This will have to be done in several transaction as there can only be 1 transfer entered at a time.

Example 1:

The assignment looks a follows:

Units Distribution
.25    1
.25    2
.25    3
.25    4

You want to move .15 from distribution 1 to 3 on to distribution 4. So you do your first transfer:

In/Out Units Distribution
-.15      .25   1
            .25   2
            .25   3
.15       .25   4

and then save. Go back into the assignments window and do the second transfer:

In/Out Units Distribution
           .1     1
-.15     .25   2 
           .25   3
 .15     .4     4

and then save. Go back into the assignments window and do the third transfer:

In/Out Units Distribution
           .1     1
           .1     2
-.15     .25   3
  .15    .55   4

and save. When you go back and review the distributions it will now look like this:

Units Distribution
.1      1 
.1      2
.1      3
.7      4

Ref2:

Unable To Add Units To The Same Distribution In The Assignments Form (Doc ID 267007.1)

APPLIES TO:

Oracle Assets - Version 11.5.10.0 and later
Information in this document applies to any platform.
FAXASSET - Asset Workbench
 

SYMPTOMS

When attempting to add additional units with the same distribution information
(expense account and location), receive the error:

APP-OFA-48313 You cannot create identical distribution lines.

CHANGES

CAUSE

The applications does not allow two lines to have the same distribution.

SOLUTION

Change the units in the Asset Workbench > Asset Details window to new # of units,
than go to the Assignments window.

1) Assign the additional X units to the same expense account but a different location.
Now there will be 2 rows one with original # of units and another with X units.

2) Save.

3) Than put -X in the unit change column of the row to which X units were assigned,
and X in the unit change column of the original distribution.

4) Save. Now you should have one distribution again with the correct total units.

Ref3:

How To Transfer Units from Multiple Distributions to a Single Distribution Without APP-OFA-48395, APP-OFA-48392? (Doc ID 1269754.1)

APPLIES TO:

Oracle Assets - Version 11.5.10.2 to 12.2.6 [Release 11.5 to 12.2]
Information in this document applies to any platform.

GOAL

Is it possible to transfer units (or fractions of a unit) from multiple distributions to a single distribution?

Example 1:
----------
An asset has 1 unit but the assignment is split between 6 employees with fractional units as follows: 5 *0.17 + 1* 0.15.
When attempting to assign the asset to only one employee (transfer all fractional units to a single distribution), the following message appears:

APP-OFA-48392: The asset_dist_tbl structure contains invalid transaction units.

Example 2:
-----------

Trying to transfer multiple assignment lines into a new assignment line.

Asset has 3 lines with units:
.25 = 01.110.7360.0000.000
.5 = 01.120.7360.0000.000
.25 = 01.130.7360.0000.000

Try to transfer all into new single 1 unit line = 01.111.7360.0000.000

The following message appears:

APP-OFA-48395: Program exited with errors:

The asset_dist_tbl structure contains invalid transaction units.


Possible causes are:

1.  Null or zero units were entered
2.  Positive or negative units were entered incorrectly
3.  Not enough units were entered

SOLUTION

Only ONE distribution (assignment line) can be directly transferred to one or more new distributions, NOT vice versa.  This is standard and current functionality.

Reference: Note 213593.1 Multidistributed Asset Transfer into One Distribution Line Fails with APP-OFA-48392: FA_INVALID_TXN_UNITS

An Enhancement Request has been raised for this issue:

ER Bug:9484636 ERROR APP-OFA-48392 WHEN TRANSFER MULTIDISTRIBUTION TO ONE DISTIBUTIION LINE

The following workaround can be used:

In order to be able to transfer fractional units from multiple distributions to a single distribution, and overcome restrictions like 'APP-OFA-48313 You cannot create identical distribution lines', please follow the steps below.

1.  Change the number of units in the Asset Workbench > Asset Details window to 2 units.  Save.


2.  Go to the Assignments screen and add a new distribution line for one unit (with the new distribution desired).  Save.

3.  Go back to the Asset Workbench > Asset Details window and change back the number of units for the asset to 1 unit.  Save.

4.  Go back to the Assignments screen and null out the old fractional distributions (put -X in the unit change column of the rows where X is the needed number of units to change).  Save.

Now the asset will have the entire unit assigned to a single distribution.

Ref4:

Transfer Error APP-OFA-48313 You Cannot Create Identical Distribution Lines (Doc ID 1663571.1)

APPLIES TO:

Oracle Assets - Version 11.5.10.2 to 12.2.6 [Release 11.5 to 12.2]
Information in this document applies to any platform.
This document replaces duplicate document 336894.1, which has been deleted.

SYMPTOMS

When performing a transfer in Asset Assignments, the following error occurs:

Error Message:
APP-OFA-48313:  You cannot create identical distribution lines

Example 1:

NoUnit ChangeUnitsExpense AccountLocation
Line1-1110.100.10.E1000.100New York
Line2520.200.20.E2000.200Boston
Line31120.200.20.E2000.200Boston

NOTE:  This is attempting to transfer to new Line3 from old Line1, and Line2 and Line3 use the same account and location.

 Example 2:

The assignment looks a follows:

Units Distribution
.25 1
.25 2
.25 3
.25 4

You want to move .15 from distribution 1 to 3 on to distribution 4.

CAUSE

This is working as intended as Oracle Assets does not allow a duplicate assignment line on an asset.

SOLUTION

Transfer the line to Line2 directly.

Example 1:

NoUnit ChangeUnitsExpense AccountLocation
Line1-1110.100.10.E1000.100New York
Line2 1520.200.20.E2000.200Boston

NOTE:  Set "Unit Change" to "1" on Line2 directly.

Example 2:

Perform your first transfer:

In/Out Units Distribution
-.15 .25 1
.25 2
.25 3
.15 .25 4

and then save. Go back into the assignments window and do the second transfer:

In/Out Units Distribution
.1 1
-.15 .25 2
.25 3
.15 .4 4

and then save. Go back into the assignments window and do the third transfer:

In/Out Units Distribution
.1 1
.1 2
-.15 .25 3
.15 .55 4

and save. When you go back and review the distributions it will now look like this:

Units Distribution
.1 1
.1 2
.1 3
.7 4

Ref5:

Multidistributed Asset Transfer into One Distribution Line Fails with APP-OFA-48392: FA_INVALID_TXN_UNITS (Doc ID 213593.1)

APPLIES TO:

Oracle Assets - Version 11.5.10.2 and later
Information in this document applies to any platform.
 

SYMPTOMS

Transfering from two assignment lines to one or more new lines fails with error.
 APP-OFA-48392: FA_INVALID_TXN_UNITS
APP-OFA-48392: The asset_dist_tbl structure contains invalid transaction units.

CHANGES

CAUSE

Possible causes are:
1. Null or zero units were entered.
2. Positive or negative units were entered incorrectly.
3. Not enough units were entered.
This is desired functionality. You can transfer from ONLY ONE
assignment line to one or more new lines.

Reference:
Orace Assets User Guide
Chapter 3 Asset Maintenance
Section:  Transferring Assets

SOLUTION

Perform such transfer in two steps:
1. Transfer from first source line and save.
2. Then transfer from the second source line to the same destination line as in p.1 or to the new line.

<think>我们正在处理一个关于Kotlin版本不兼容的Gradle构建错误。错误信息为:“Module wascompiled withan incompatibleversion ofKotlin. Thebinary versionof itsmetadata is1.7.1, expectedversion is1.5.1.”。这通常是因为项目中使用的Kotlin版本不一致导致的。 根据引用[3]和引用[4],我们可以知道这个错误是由于Kotlin元数据版本不匹配造成的。具体来说,某个模块是用Kotlin1.7.1编译的(元数据版本1.7.1),而当前项目期望的元数据版本是1.5.1。解决这个问题的关键是确保项目中所有Kotlin相关的依赖和插件使用相同的版本。以下是几种解决方法: ###方法1:统一Kotlin版本在项目的build.gradle(项目级别)中,确保KotlinGradle插件的版本与Kotlin标准库版本一致。例如,根据引用[4],我们可以将KotlinGradle插件版本设置为1.7.10(注意:1.7.10对应的元数据版本是1.7.1,因为版本号的前两位代表元数据版本,即1.7.x系列元数据版本都是1.7.1)。 1.打开项目根目录下的`build.gradle`文件(注意:不是模块级别的build.gradle)。2.在`buildscript`的`dependencies`中,检查并设置KotlinGradle插件的版本为1.7.10(或与错误中要求的版本兼容的版本,但这里错误期望1.5.1,而我们实际有1.7.1的模块,所以我们需要升级项目到1.7.x,或者降级模块到1.5.x。通常我们选择统一升级到较新版本)。示例: ```groovybuildscript {dependencies{classpath"com.android.tools.build:gradle:7.1.3"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" //确保版本一致} }``` 3.然后在模块的build.gradle文件中,确保所有Kotlin相关依赖的版本也是1.7.10。例如:```groovydependencies{implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.10"implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10"implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10"//其他依赖}``` ###方法2:清理Gradle缓存有时,即使更改了版本,Gradle缓存中可能还有旧版本的模块。可以尝试清理缓存:1.在AndroidStudio中,选择File>InvalidateCaches/ Restart...,然后点击Invalidate andRestart。 2.或者手动删除Gradle缓存目录(通常位于`~/.gradle/caches/`,Windows在`C:\Users\<username>\.gradle\caches`)。 ###方法3:检查第三方依赖如果错误不是由直接依赖的Kotlin库引起,而是由某个第三方库引起的,那么需要检查该第三方库是否使用了不兼容的Kotlin版本。在这种情况下,可以尝试:1.升级该第三方库到与项目Kotlin版本兼容的版本。2.或者强制所有Kotlin相关库使用同一版本(通过依赖约束)。例如,在模块的build.gradle中,可以添加:```groovyconfigurations.all {resolutionStrategy.eachDependency{ DependencyResolveDetails details->if (details.requested.group== 'org.jetbrains.kotlin') {details.useVersion'1.7.10'}}} ```###方法4:升级Gradle插件和Android Studio确保使用的Android Gradle插件版本(com.android.tools.build:gradle)与Kotlin插件版本兼容。参考[官方兼容性文档](https://developer.android.com/studio/releases/gradle-plugin#compatibility)。 例如,Kotlin1.7.10需要AndroidGradle插件7.0或更高版本。因此,如果项目中的Android Gradle插件版本过低,需要升级。###总结以上方法中,最根本的是确保整个项目使用统一的Kotlin版本。建议从项目根build.gradle开始,统一KotlinGradle插件版本,然后在模块中统一所有Kotlin依赖库的版本。如果问题仍然存在,考虑清理缓存或检查第三方依赖。 §§相关问题§§1.如何查看项目中当前使用的Kotlin版本?2.如何解决多个第三方库依赖不同Kotlin版本的问题?3.Android Gradle插件与Kotlin Gradle插件的版本兼容性如何?</think>### 解决 Kotlin 元数据版本不兼容问题 您遇到的错误 `Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1` 是由于项目中 Kotlin 组件版本不一致导致的元数据不兼容问题。以下是系统化的解决方案: --- ### 🔧 解决方法 #### 1. **统一 Kotlin 版本**(核心方案) 在项目的根目录 `build.gradle` 文件中,确保所有 Kotlin 相关插件使用相同版本: ```groovy buildscript { dependencies { // 确保以下两个版本一致 classpath "com.android.tools.build:gradle:7.4.2" // Android Gradle 插件 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" // Kotlin 插件 } } ``` **关键点**: - Kotlin 插件版本 `1.7.x` 对应元数据版本 `1.7.1` - 错误中的 `expected version 1.5.1` 表明项目期望 Kotlin 1.5.x - **解决方案**:将所有 Kotlin 依赖统一升级到 `1.7.10` 或降级到 `1.5.x` #### 2. **模块级配置** 在模块的 `build.gradle` 中同步版本: ```groovy dependencies { // 所有 Kotlin 标准库版本必须一致 implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.10" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10" } ``` #### 3. **清理构建缓存** 执以下终端命令: ```bash ./gradlew cleanBuildCache # 清理构建缓存 ./gradlew --stop # 停止所有 Gradle 守护进程 rm -rf ~/.gradle/caches # 删除全局 Gradle 缓存(谨慎操作) ``` #### 4. **检查第三方依赖** 通过命令检查冲突依赖: ```bash ./gradlew :app:dependencies --configuration releaseRuntimeClasspath ``` 若发现第三方库使用旧版 Kotlin,可通过强制版本解决: ```groovy configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:1.7.10" } } ``` --- ### ⚠️ 注意事项 1. **版本映射关系**: - Kotlin `1.5.x` → 元数据版本 `1.5.1` - Kotlin `1.7.x` → 元数据版本 `1.7.1` - 版本必须严格匹配[^3][^4] 2. **Android Studio 兼容性**: - 使用 Kotlin 1.7.10 需 Android Studio Flamingo (2022.2.1) 或更高版本 - 旧版 IDE 需降级 Kotlin 到 `1.5.31` 3. **Gradle 版本要求**: - Kotlin 1.7.10 需要 Gradle 7.0+(推荐 7.5+) - 在 `gradle-wrapper.properties` 中设置: ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip ``` --- ### 📚 根本原因分析 此错误源于 **Kotlin 编译器生成的元数据(`.kotlin_module` 文件)版本不匹配**: - 模块 A 用 Kotlin 1.7.1 编译 → 生成元数据版本 1.7.1 - 模块 B 用 Kotlin 1.5.1 编译 → 期望元数据版本 1.5.1 当模块 A 依赖模块 B 时,元数据版本冲突即发生[^1][^3] --- ### 🌟 验证方案 1. 在项目的根目录运: ```bash ./gradlew -q kotlinDslPluginsStatus ``` 2. 输出应显示所有模块使用**相同 Kotlin 版本**: ``` Kotlin plugins are applied in the following versions: - Module ':app': 1.7.10 - Module ':lib': 1.7.10 ``` > 通过统一版本号并清理构建环境,此问题通常可完全解决[^4]。如问题持续,请检查是否有本地缓存的旧版本库(`~/.m2/repository/` 或 `~/.gradle/caches/`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值