Describe the issue
There are 2 main issues:
-
The issue is related to creation of usage data billings.
When a usage data import was created and processed to create usage data billings (the processing status is 'Ok') and then processed again (e.g. new line was added to be processed in the same import) the system asks if the user wants to process only the not correctly processed lines again. No matter what option user chooses the system processes all the lines again.
-
Also, the 'Generic Import Connector' is an interface implementation, but the interface in question has only internal access, which doesn't allow the creation of external implementations.
Expected behavior
- When the question is asked, the system should behave appropriately (detailed message is on the screenshot):
- 'No' should include processing of all the lines
- 'Yes' should result in only processing of the lines not processed or processed incorrectly
- Removed 'Access = Internal' from the interface "Usage Data Processing".
Steps to reproduce
- Create usage data import
- Import data and process them (at least to step 'Create Usage Data Billing'). Make sure the processing status is set to 'Ok'
- Usage the action 'Create Usage Data Billing' again
- The message should appear and no matter what answer will be chosen, all the lines from 'Usage Data Generic Import' will be processed again and added to 'Usage Data Billing'.
Additional context
From what I found out, the first problem is in the "Generic Connector Processing" codeunit, where the value of a global variable (from a codeunit "Create Usage Data Billing", which should be assigned when the user answers the question) is used, but in the code, a new instance of the codeunit is used instead, which results in a variable always returning 'false'.
The question I'm talking about:

I will provide a fix for a bug
Describe the issue
There are 2 main issues:
The issue is related to creation of usage data billings.
When a usage data import was created and processed to create usage data billings (the processing status is 'Ok') and then processed again (e.g. new line was added to be processed in the same import) the system asks if the user wants to process only the not correctly processed lines again. No matter what option user chooses the system processes all the lines again.
Also, the 'Generic Import Connector' is an interface implementation, but the interface in question has only internal access, which doesn't allow the creation of external implementations.
Expected behavior
Steps to reproduce
Additional context
From what I found out, the first problem is in the "Generic Connector Processing" codeunit, where the value of a global variable (from a codeunit "Create Usage Data Billing", which should be assigned when the user answers the question) is used, but in the code, a new instance of the codeunit is used instead, which results in a variable always returning 'false'.
The question I'm talking about:

I will provide a fix for a bug