
General presentation
Objective of the change
This change consists to:
- remove the code in the transformations that was used to put in error stack the lines when the original document was not found in "Affiliate" DSO.
- remove the error DTP in the process chains
The error stacks were very usefull at the beginning of CAMS projects in order to easily identify and reprocess the lines for particular cases that were not well handled in ECC or BW. Now, for most of the line items, if the original document can't be found, there is no current solution in order to solve it, so error stack is constantly growing. An entry put in the error stack is now also loaded in the target DSO but without Affiliate data (and without Affiliate logsys) so it is easy to identified anomalies in the Business layer DSO without the need of the error stack.
Morevover, the main objective of the error DTPs was to reprocess documents when the original documents can't be found due to unsynchronisation between CICC loading and ERP RCS/Solvay/Acetow loading or due to unsynchronisation between standard tables and ZZF_BSEG tables. However, now, when there is a delta in an "Affiliate" DSO, the corresponding CICC lines on the same factoring contract are automatically reprocessed, so the error stacks are not required anymore.
Changes description
Lanscape dependent rules:

In the transformations from Infosource IB_FIAR_02, the following code was removed:
- Start Routine: the error mode (it was depending of the source) is not required anymore, the start routine can be deleted:
* Determine the error handling mode (depend of source DSO)
CLEAR :
w_errorm.
LOOP AT SOURCE_PACKAGE ASSIGNING <source_fields>.
* Read first line
w_errorm = <source_fields>-/bic/c_errorm.
EXIT.
ENDLOOP. - Global Routine second part: the global variable w_errorm is deleted:
w_errorm TYPE /bic/oic_errorm. - End Routine :
- Remove variable w_errorstack:
*use Error stack?
w_errorstack TYPE i, - Determination of w_errorstack is removed:
*To determine if the record must be put into error stack in case of
*error:
*To not put deletions or before images into error stack
*(it allows to empty automatically the error stack for doc items
*that should not be in this flow and to not put in error stack
*the records that are not on the correct landscape)
CLEAR w_errorstack.
IF ( <result_fields>-recordmode = cst_rm_afti OR
<result_fields>-recordmode = cst_rm_newi )
*Error mode is initial for the flow from WP1 to not put in error stack
*when contract changed (for carve out or other exceptionnal operations)
AND w_errorm IS NOT INITIAL.
w_errorstack = 1.
ENDIF.
- If Affiliate company code can't be determined from the PRS code, always put in error stack:
Before:
IF <result_fields>-/bic/c_compcaf IS INITIAL AND
w_errorstack IS NOT INITIAL
.
*No correspondance in c_compcde
*The line item is updated in target DSO but should be reprocessed
*=> put in error stack
CLEAR monitor_rec.
monitor_rec-msgid = 'ZWISE'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '000'.
monitor_rec-msgv1 =
'No correspondance in c_compcde for PRS code: '.
monitor_rec-msgv2 = <result_fields>-/bic/c_cpprsaf.
"monitor_rec-msgv3 =.
"monitor_rec-msgv4 =.
monitor_rec-recno = <result_fields>-record.
monitor_rec-skipped = 'X'.
"required to put into error PSA
APPEND monitor_rec TO MONITOR.
ENDIF.
After:
- IF <result_fields>-/bic/c_compcaf IS INITIAL
* AND w_errorstack IS NOT INITIAL "CBE03-
.
*No correspondance in c_compcde
*The line item is updated in target DSO but should be reprocessed
*=> put in error stack
CLEAR monitor_rec.
monitor_rec-msgid = 'ZWISE'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '000'.
monitor_rec-msgv1 =
'No correspondance in c_compcde for PRS code: '.
monitor_rec-msgv2 = <result_fields>-/bic/c_cpprsaf.
"monitor_rec-msgv3 =.
"monitor_rec-msgv4 =.
monitor_rec-recno = <result_fields>-record.
monitor_rec-skipped = 'X'.
"required to put into error PSA
APPEND monitor_rec TO MONITOR.
ENDIF.
- Code in order to put the lines in error stack if no original document found is removed:
ELSE.
*Start of Deletion - CBE02
**To not put deletions or before images into error stack
**(it allows to empty automatically the error stack for doc items
**that should not be in this flow and to not put in error stack
**the records that are not on the correct landscape)
* IF ( <result_fields>-recordmode = cst_rm_afti OR
* <result_fields>-recordmode = cst_rm_newi )
**Error mode is initial for the flow from WP1 to not put in error stack
**when contract changed (for carve out or other exceptionnal operations)
* AND w_errorm IS NOT INITIAL.
*End of Deletion - CBE02
*Start of Insertion - CBE02
IF w_errorstack IS NOT INITIAL.
*End of Insertion - CBE02
*If no original doc found, put in error stack and delete the line
CLEAR monitor_rec.
monitor_rec-msgid = 'ZWISE'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '005'.
monitor_rec-msgv1 = w_dso_erp.
monitor_rec-msgv2 = <result_fields>-/bic/c_fconnum.
"monitor_rec-msgv3 =.
"monitor_rec-msgv4 =.
monitor_rec-recno = <result_fields>-record.
monitor_rec-skipped = 'X'. "required to put into error PSA
APPEND monitor_rec TO MONITOR.
*Even records put in the error stack must be updated into the target
* DELETE RESULT_PACKAGE.
ENDIF.
In transformation ODSO DPFIAR03 -> TRCS IB_FIAR_03:
Remove C_ERRORM mapping (= "1"):

Remove object C_ERRORM in infosources IB_FIAR_02 and IB_FIAR_03:

Change error handling mode in DTP from DPFIAR03:

Before:

After:

Remove error DTP loading in FIAP Factoring Process Chains:

