You are on page 1of 68

PROGRAM zrggbs000 .

*---------------------------------------------------------------------*
* *
* Substitutions: EXIT-Formpool for Uxxx-Exits *
* *
* This formpool is used by SAP for testing purposes only. *
* *
* Note: If you define a new user exit, you have to enter your *
* user exit in the form routine GET_EXIT_TITLES. *
* *
*---------------------------------------------------------------------*
* TA1K900110 RAOK 09/01/03, VMS upgrade changes, Editmask: VMSUPGD *
*---------------------------------------------------------------------*
INCLUDE fgbbgd00. "Standard data types

INCLUDE zggbs001.

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*
* PLEASE INCLUDE THE FOLLOWING "TYPE-POOL" AND "TABLES" COMMANDS *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM *
*TYPE-POOLS: GB002. " TO BE INCLUDED IN
*TABLES: BKPF, " ANY SYSTEM THAT
* BSEG, " HAS 'FI' INSTALLED
* COBL,
* CSKS,
* ANLZ,
* GLU1.
* Begin of Change by ZHANGSU for CM-10525127 on Feb-05-2010
TYPE-POOLS: gb002. " Thamanam.new
* End of Change by ZHANGSU for CM-10525127 on Feb-05-2010

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*
*----------------------------------------------------------------------*
* FORM GET_EXIT_TITLES *
*----------------------------------------------------------------------*
* returns name and title of all available standard-exits *
* every exit in this formpool has to be added to this form. *
* You have to specify a parameter type in order to enable the *
* code generation program to determine correctly how to *
* generate the user exit call, i.e. how many and what kind of *
* parameter(s) are used in the user exit. *
* The following parameter types exist: *
* *
* TYPE Description Usage *
* ------------------------------------------------------------ *
* C_EXIT_PARAM_NONE Use no parameter Subst. and Valid. *
* except B_RESULT *
* C_EXIT_PARAM_FIELD Use one field as param. Only Substitution *
* C_EXIT_PARAM_CLASS Use a type as parameter Subst. and Valid *
* *
*----------------------------------------------------------------------*
* --> EXIT_TAB table with exit-name and exit-titles *
* structure: NAME(5), PARAM(1), TITEL(60)
*changes made
* 23/03/2003 CM1813 rangana(satish)
* 18/04/2003 CM1813 FOR CHECKING FLAG FOR COUNTRY(JAPAN)
* 21/05/2004 Ticket- Updation of Condition Types was incorrect *
* 1939995&1847207 *
* 30/08/2004 T-2295112 Bug fix for vehicle ledger update *
* 21/04/2005 CM-3009 Vehicle Ledger Changes for CoFico *
* (T-3108393) *
*09/01/2020 CM-0048846341 Payment purpose code changes for FICO
* 17.03.2020 52830868 Purpose Code maintained for TH Market. *
* 14.07.2020 52981074 RC_Tax Code_Line item text issue *
* 11.09.2020 0054409803 vreddam Pick the purpose code based on vendor*
* 28.03.2021 0056516501 CBHARIS MBEGPh2 IDC update on DAG payments *
* 08.12.2021 0005872311 CHAWALS Pass Cond Type ,Sales Tran ID ,Comm no
* Text for VELO Action ZSCD,ZSCG,ZSCN *
*15.2.22 0060162724 RATRAJA MBIN-FIMS-ODN for cancelled invoice *
*----------------------------------------------------------------------*
FORM get_exit_titles TABLES etab.

DATA: BEGIN OF exits OCCURS 50,


name(5) TYPE c,
param LIKE c_exit_param_none,
title(60) TYPE c,
END OF exits.

exits-name = 'U100'.
exits-param = c_exit_param_none.
exits-title = TEXT-100. "User Exit for Condition type
APPEND exits.

exits-name = 'U101'.
exits-param = c_exit_param_field.
exits-title = TEXT-101. "Cost center from CSKS
APPEND exits.

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: *
* EXITS-NAME = 'U102'.
* EXITS-PARAM = C_EXIT_PARAM_CLASS.
* EXITS-TITLE = TEXT-102. "Sum is used for the reference.
* APPEND EXITS.

exits-name = 'U103'.
exits-param = c_exit_param_none.
exits-title = TEXT-103. "User Exit for Commission Number
APPEND exits.

exits-name = 'U104'.
exits-param = c_exit_param_none.
exits-title = TEXT-104. "User Exit for VMS external VPC
APPEND exits. " (Sub-contractor)

exits-name = 'U105'.
exits-param = c_exit_param_none.
exits-title = TEXT-105. "User Exit for VMS internal VPC
APPEND exits.

exits-name = 'ZA101'.
exits-param = c_exit_param_field.
exits-title = TEXT-z01. "Cons. transaction type
APPEND exits.

*Begin of insertion by GACHHIP for CM-8209920 V1.0T on 26.11.08


*as per COFICO guidelines
exits-name = 'U106'.
exits-param = c_exit_param_field.
exits-title = TEXT-106. "COFICO Profit Center mapping
APPEND exits.
*End of insertion by GACHHIP for CM-8209920 V1.0T on 26.11.08
*as per COFICO guidelines

* Begin of Change by ZHANGSU for CM-10525127 on Feb-05-2010


exits-name = 'U107'.
exits-param = c_exit_param_class.
exits-title = TEXT-107. "SGTXT substitution
APPEND exits.

exits-name = 'U108'.
exits-param = c_exit_param_none.
exits-title = TEXT-107. "User Exit for Condition type
APPEND exits.
* End of Change by ZHANGSU for CM-10525127 on Feb-05-2010
* Begin of Change by LEENAC for CM-11663839 on Jul-08-2010
exits-name = 'U109'.
exits-param = c_exit_param_none.
exits-title = TEXT-108. "User Exit for Condition type
APPEND exits.
* End of Change by LEENAC for CM-11663839 on Jul-08-2010
* Begin of insertion by KANNAND for CM-11868262 V 1.0T on 04-10-2010
exits-name = 'U110'.
exits-param = c_exit_param_none.
exits-title = TEXT-109. "User Exit for Condition type
APPEND exits.
* End of insertion by KANNAND for CM-11868262 V 1.0T on 04-10-2010
* Begin of insertion by GUPTAGA for CM-22220236 on 9-10-2013
exits-name = 'U111'.
exits-param = c_exit_param_field .
exits-title = TEXT-111. "User Exit for Condition type
APPEND exits.
* End of insertion by GUPTAGA for CM-22220236 on 09-10-2013
* Begin of insertion by MANAIDU for CM-22636380 on 31-12-2013
exits-name = 'U112'.
exits-param = c_exit_param_field .
exits-title = TEXT-112. "User Exit for Condition type
APPEND exits.
* End of insertion by MANAIDU for CM-22636380 on 31-12-2013

********* BEGIN OF MODIFICATION GUPTRIS | CM 52830868 | 17.03.2020 **********


exits-name = 'U131'.
exits-param = c_exit_param_class.
exits-title = TEXT-130.
APPEND exits.
********** END OF MODIFICATION GUPTRIS | CM 52830868 | 17.03.2020 ***********

*BEGIN OF INSERT BY SKAMIRE FOR CM-26906658 ON 18.03.2015


exits-name = 'U115'.
exits-param = c_exit_param_class. "data used in exit.
exits-title = TEXT-116. "Populating the text for tax line item
APPEND exits.
*END OF INSERT BY SKAMIRE FOR CM-26906658 ON 18.03.2015

*Begin of insertion by BHACHAR for CM-27601967 on 06.04.2015


exits-name = 'U116'.
exits-param = c_exit_param_class.
exits-title = TEXT-117.
APPEND exits.
*End of insertion by BHACHAR for CM-27601967 on 06.04.2015
*start of comment by NANDANR for CM-28512601 on 22.05.2015
*Begin of insertion by NANDANR for CM-28512601 on 11.05.2015
* exits-name = 'U120'.
* exits-param = c_exit_param_none.
* exits-title = text-118.
* APPEND exits.
* exits-name = 'U121'.
* exits-param = c_exit_param_none.
* exits-title = text-119.
* APPEND exits.
*End of insertion by NANDANR for CM-28512601 on 11.05.2015
*end of comment by NANDANR for CM-28512601 on 22.05.2015

* Begin of insertion by KKAUSHA for CM- colombia rollout on 18.08.2016


exits-name = 'U117'.
exits-param = c_exit_param_field.
exits-title = TEXT-120.
APPEND exits.

exits-name = 'U118'.
exits-param = c_exit_param_field.
exits-title = TEXT-120.
APPEND exits.
* End of insertion by KKAUSHA for CM- colombia rollout on 18.08.2016

* Begin of insertion by KAMEENA for CM-0042586570 on 16.04.2018


exits-name = 'U122'.
exits-param = c_exit_param_field.
exits-title = TEXT-121.
APPEND exits.
* End of insertion by KAMEENA for CM-0042586570 on 16.04.2018
*Begin Of Changes By NALEKHY 0048846341 12/06/2019
exits-name = 'U123'.
exits-param = c_exit_param_field.
exits-title = TEXT-123.
APPEND exits.
*End Of Changes By NALEKHY 0048846341 12/06/2019

*Begin Of Insert By AAADHAR on 04.10.2019 for CM:0050289212


"Substitution for Cost center for MBIL Foreign Currency revaluation postings
exits-name = 'U14CC'.
exits-param = c_exit_param_none.
exits-title = TEXT-125. "MBIL Substitution for Cost Center
APPEND exits.

"Substitution for Header Reference Field for MBIL Foreign Currency revaluation
postings
exits-name = 'U14R'.
exits-param = c_exit_param_class.
exits-title = TEXT-131. "MBIL Substitution for Cost Center
APPEND exits.
*End Of Insert By AAADHAR on 04.10.2019 for CM:0050289212

*Begin Of Insert By CBHARIS on 11/FEB/2021 for CM: 0056270653


"Substitution for Cost center for MBEG Foreign Currency revaluation postings
exits-name = 'UEGCC'.
exits-param = c_exit_param_none.
exits-title = TEXT-132. "MBEG Substitution for Cost Center
APPEND exits.
*End Of Insert By CBHARIS on 11/FEB/2021 for CM: 0056270653
*Begin Of Insert By CBHARIS on 28/MAR/2021 for CM:0056516501
"Substitution for RefKey1 update in payment document
exits-name = 'UEGR1'.
exits-param = c_exit_param_class.
exits-title = TEXT-133. "RefKey1 update in payment document
APPEND exits.
*End Of Insert By CBHARIS on 28/MAR/2021 for CM:0056516501

*Begin of Change by MITTALM for CM:56870732 for ROTF Project on 11.05.2021


exits-name = 'U14FR'.
exits-param = c_exit_param_class.
exits-title = TEXT-136.
APPEND exits.
*End of Change by MITTALM for CM:56870732 for ROTF Project on 11.05.2021
*Begin Of Insert By Vishhnuvardhan Reddy(VCHITTI) on 31/MAR/2021 for CM:0056937425
* Substitution for Assignment and Profit center for MBIL Vendor Invoicing posting
** For Inbound Invoice during STO
exits-name = 'U1STO'.
exits-param = c_exit_param_none.
exits-title = TEXT-134.
APPEND exits.

** For Goods Issue PGI during STO


exits-name = 'U2STO'.
exits-param = c_exit_param_none.
exits-title = TEXT-135.
APPEND exits.

** For Billing during STO


exits-name = 'U3STO'.
exits-param = c_exit_param_none.
exits-title = TEXT-137.
APPEND exits.
*End Of Insert By Vishhnuvardhan Reddy(VCHITTI) on 31/MAR/2021 for CM:0056937425
*Begin Of Insert By Vishnuvardhan Reddy(VCHITTI) on 11.01.2022 for CM:0060075017
exits-name = 'U138'.
exits-param = c_exit_param_none.
exits-title = TEXT-138.
APPEND exits.
*End Of Insert By Vishnuvardhan Reddy(VCHITTI) on 11.01.2022 for CM:0060075017
*Begin of changes by RATRAJA|CM 0060162724|15.2.22
exits-name = 'U139'.
exits-param = c_exit_param_none.
exits-title = TEXT-139.
APPEND exits.
*End of changes by RATRAJA|CM 0060162724|15.2.22

* Begin of insertion as a part of SWT Upgrade on 06.12.2011


INCLUDE rggbs_ps_titles.
* End of insertion as a part of SWT Upgrade on 06.12.2011
REFRESH etab.
LOOP AT exits.
etab = exits.
APPEND etab.
ENDLOOP.

ENDFORM. "get_exit_titles

* eject
*---------------------------------------------------------------------*
* FORM U100 *
*---------------------------------------------------------------------*
* Get the condition type from the ZZCONDTYPE table for GL *
* account and transaction *
* Condition Type User Exit Program (Date:09-MAR-2001) *
*---------------------------------------------------------------------*
FORM u100.

DATA: zhkont LIKE bseg-hkont,


wf_commnos LIKE bseg-zzcomm.

* Santosg 10/29/02
* CM-1681 Subsequent Dr/Cr - Declarations
* Internal tables
DATA: BEGIN OF t_accit OCCURS 1.
INCLUDE STRUCTURE accit.
DATA: END OF t_accit.

DATA: BEGIN OF t_acccr OCCURS 1.


INCLUDE STRUCTURE acccr.
DATA: END OF t_acccr,
* Variables
wf_ctr TYPE i,
wf_last_ctr TYPE i,
wf_flag,
wf_drcr_memo TYPE c.
* End of CM-1681 Subsequent Dr/Cr
DATA: wf_simulate_flag(1) TYPE c. "MARAMS 10/3/03
CONSTANTS : co_simulate(2) VALUE 'PB', "MARAMS 10/3/03
*Following 2lines inserted byLakshmiforTicket-1939995&1847207,21/05/2004
co_go(2) VALUE 'GO',
co_bu(2) VALUE 'BU',
co_true(1) VALUE 'X'. "MARAMS 10/3/03
* Begin of Additions MARAMS 2/4/03 CM-1813
DATA: wf_contype LIKE t685-kschl,
wf_condtype(4) TYPE c, "rangana 12/05/03
*Begin of comment by Anbu (MURUGAPA) on 15.10.2003
* wf_cond like t685-kschl. " CM-1682
*End of comment by Anbu (MURUGAPA) on 15.10.2003

*Begin of insertion by Anbu (MURUGAPA) on 15.10.2003


*The declaration of WF_COND is changed to update the correct value of
*condition type in ZZPROJA table
wf_cond LIKE zzproja-rzzcon.
*End of insertion by Anbu (MURUGAPA) on 15.10.2003
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
DATA: wf_matnr1 TYPE matnr,
wf_mtart1 TYPE mtart,
wf_bukrs1 TYPE bukrs,
*Begin of Insert by CHAWALS for CM 0005872311 on 08.12.2021
vlprg(17) TYPE c, "Velo Action Program trigger zscg/ZSCD/ZSCN
saletranid TYPE bseg-zzstidvdz.
*End of Insert by CHAWALS for CM 0005872311 on 08.12.2021

CONSTANTS: co_star(1) TYPE c VALUE '*'.


*End of insertion by AJAYARA for CM-24515039 on 01.08.2014

CONSTANTS : co_3401(4) TYPE c VALUE '3401',


co_3404(4) TYPE c VALUE '3404'. "CM-1747
* End of Additions MARAMS 2/4/03 CM-1813
* begin of addition for CM-1682
CONSTANTS : co_sundrycostreport(27) TYPE c VALUE
'/DCSEA/ZAIS_SUNDRY_COST_ADD',
*Begin of Insert by CHAWALS for CM 0005872311 on 08.12.2021
co_velosundrytrigger(17) TYPE c VALUE 'VELOSUNDRYTRIGGER'.
IMPORT vlprg FROM MEMORY ID 'VELOSUNDRY'.
DATA : wf_sgtxt TYPE bseg-sgtxt.
*End of Insert by CHAWALS for CM 0005872311 ON 08.12.2021

* end of addition for CM-1682.

* CM-1756 Declarations
TABLES /dcsea/zfsl_mvtp.
* End of CM-1756 Declarations

* Begin of Modification MARAMS 10/3/03 Fix


* If 'SIMULATE' is done before 'SAVE', the updation of fields is not
* happening correctly, as Memory Id 'WFLASTCTR' already has a value and
* is not freed after 'SIMULATE'.Hence to correct this problem,the memory
* id is cleared after 'SIMULATE'(PB)
*Following line deleted byLakshmi forTicket-1939995&1847207, 21/05/2004.
* IF SY-UCOMM = CO_SIMULATE.
*Following line inserted byLakshmi forTicket-1939995&1847207, 21/05/2004
IF sy-ucomm = co_simulate OR sy-ucomm = co_go.
wf_simulate_flag = co_true.

EXPORT wf_simulate_flag TO MEMORY ID 'MIDSIMULATEFLAG'.

ELSE.
* If the current action is not simulate, check if the previous action
* was 'SIMULATE'. If yes then free memory id 'WFLASTCTR'.
IMPORT wf_simulate_flag FROM MEMORY ID 'MIDSIMULATEFLAG'.

IF wf_simulate_flag = co_true.

FREE MEMORY ID 'WFLASTCTR'.

FREE MEMORY ID 'MIDSIMULATEFLAG'.

ENDIF.

ENDIF.
* End of Modification MARAMS 10/3/03 Fix

zhkont = bseg-hkont.
* Delete leading 0
SHIFT zhkont LEFT DELETING LEADING '0'.
* BREAK RAGHAVAB.
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
CLEAR: wf_matnr1,
wf_mtart1,
wf_bukrs1.

IF bseg-matnr IS INITIAL AND


bseg-zzcomm IS NOT INITIAL.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE matnr
" FROM vlcvehicle
" INTO wf_matnr1
" WHERE zz_commnos = bseg-zzcomm.
SELECT matnr
UP TO 1 ROWS FROM vlcvehicle
INTO wf_matnr1
WHERE zz_commnos = bseg-zzcomm ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0.
SELECT SINGLE mtart
FROM mara
INTO wf_mtart1
WHERE matnr = wf_matnr1.
ENDIF.
ENDIF.
IF NOT bseg-matnr IS INITIAL.
SELECT SINGLE mtart
FROM mara
INTO wf_mtart1
WHERE matnr = bseg-matnr.
ENDIF.
wf_bukrs1 = bseg-bukrs.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
* Begin of insertion by GAURA for CM-3009 on 21/04/2005
* Check whether Plant is CoFico compliant or not
CLEAR wf_cm_flag.
CALL FUNCTION '/DCSEA/Z_AIS_CHECK_ACTIVE_CM'
EXPORTING
cm_number = co_cm3009
werks = bseg-werks
* VERSION =
* FILTER =
IMPORTING
active_flag = wf_cm_flag.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF bseg-vorgn = 'RMRU'.

SELECT SINGLE * FROM ska1 WHERE ktoks = 'MAT'.


IF sy-subrc EQ 0.

* Get the exported data from /DCSEA/LZ_AIS_VELO13TOP using


* ZVPC Transaction
*-- COMMNOS import from sap memory ----------------------------*
IMPORT tb_vehi_sl FROM MEMORY ID 'INTERNALVPCCOMMISSIONNUMBER'.
CHECK sy-subrc EQ 0.
* Read data from internal table
READ TABLE tb_vehi_sl INDEX 1.
IF sy-subrc EQ 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM vlcvehicle WHERE vhcle = tb_vehi_sl-vhcle.
SELECT * UP TO 1 ROWS FROM vlcvehicle WHERE vhcle = tb_vehi_sl-vhcle
ORDER BY PRIMARY KEY. . ENDSELECT.
* Update Commission Number field of BSEG table
IF sy-subrc EQ 0.
bseg-zzcomm = vlcvehicle-zz_commnos.
ENDIF.
ENDIF. "SY-SUBRC EQ 0 (TB_VEHI_SL)

* Get the condtion type from customized table /DCSEA/ZFSL_CTYP


SELECT SINGLE * FROM aufk WHERE aufnr = tb_vehi_sl-aufnr.
IF sy-subrc EQ 0.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

* Look for table /dcsea/zfvl_ctyp instead of /dcsea/zfsl_ctyp


SELECT SINGLE *
FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = co_rmru
* Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND ktosl = bseg-ktosl
" AND auart = aufk-auart
" AND /dcsea/zzrmru = co_rmru
" AND mtart = wf_mtart1
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = co_rmru
AND mtart = wf_mtart1
AND bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND ktosl = bseg-ktosl
" AND auart = aufk-auart
" AND /dcsea/zzrmru = co_rmru
" AND mtart = co_star
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = co_rmru
AND mtart = co_star
AND bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
bseg-zzcon = /dcsea/zfvl_ctyp-condi.
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

SELECT SINGLE * FROM /dcsea/zfsl_ctyp


WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = 'RMRU'
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE * FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = 'RMRU'
AND mtart = wf_mtart1
AND bukrs = co_star.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM /dcsea/zfsl_ctyp
" WHERE hkont = bseg-hkont
" AND ktosl = bseg-ktosl
" AND auart = aufk-auart
" AND /dcsea/zzrmru = 'RMRU'
" AND mtart = co_star
" AND bukrs = co_star.
SELECT * UP TO 1 ROWS FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND auart = aufk-auart
AND /dcsea/zzrmru = 'RMRU'
AND mtart = co_star
AND bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
bseg-zzcon = /dcsea/zfsl_ctyp-condi.
ENDIF.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF." IF wf_cm_flag EQ co_x.
* End of insertion by GAURA for CM-3009 on 21/04/2005

ENDIF.
ENDIF.
ENDIF.

* Added 07-Jun-2001
IF bseg-vorgn = 'KOAE'.
* Commission Number
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM afpo WHERE aufnr = bseg-aufnr.
SELECT * UP TO 1 ROWS FROM afpo WHERE aufnr = bseg-aufnr ORDER BY
PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0.
* SELECT SINGLE * FROM VLCVEHICLE WHERE BWTAR = AFPO-BWTAR.
* Santosg 4/24/02
* Changed BWTAR to VHCLE for performance tuning since VHCLE is in the
* secondary index
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM vlcvehicle WHERE vhcle = afpo-bwtar.
SELECT * UP TO 1 ROWS FROM vlcvehicle WHERE vhcle = afpo-bwtar
ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0.
MOVE vlcvehicle-zz_commnos TO tb_condtype2-zz_commnos.
ENDIF.
ENDIF.
* Condition Type
SELECT SINGLE * FROM aufk WHERE aufnr = bseg-aufnr.
IF sy-subrc EQ 0.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

* Look for table /dcsea/zfvl_ctyp instead of /dcsea/zfsl_ctyp


"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
"*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
" AND mtart = wf_mtart1
" AND bukrs = wf_bukrs1.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1 ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
" AND mtart = wf_mtart1
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
AND mtart = wf_mtart1
AND bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
" AND mtart = co_star
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
AND mtart = co_star
AND bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014

IF sy-subrc EQ 0.
IF tb_condtype2-hkont <> bseg-hkont.
MOVE /dcsea/zfvl_ctyp-condi TO tb_condtype2-condi.
MOVE bseg-hkont TO tb_condtype2-hkont.
APPEND tb_condtype2.
ENDIF.
ELSE.
IF NOT ( tb_condtype2 IS INITIAL ).
* Get accounts with the set GTVLSTOCK from SETLEAF table
REFRESH ra_zhkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_zhkont
WHERE setname = co_gtvlstock
AND setclass = co_0000.

IF bseg-hkont IN ra_zhkont. "zhkont IN ra_zhkont.


bseg-zzcon = tb_condtype2-condi.
bseg-zzcomm = tb_condtype2-zz_commnos.
ENDIF.
ENDIF.
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

"HANA Code Remediation:Select Single not unique


" SELECT SINGLE * FROM /dcsea/zfsl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
"*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
" AND mtart = wf_mtart1
" AND bukrs = wf_bukrs1.
SELECT * UP TO 1 ROWS FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1 ORDER BY PRIMARY KEY. .
ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM /dcsea/zfsl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
" AND mtart = wf_mtart1
" AND bukrs = co_star.
SELECT * UP TO 1 ROWS FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
AND mtart = wf_mtart1
AND bukrs = co_star ORDER BY PRIMARY KEY. .
ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM /dcsea/zfsl_ctyp
" WHERE hkont = bseg-hkont
" AND auart = aufk-auart
" AND ktosl EQ ' '
" AND mtart = co_star
" AND bukrs = co_star.
SELECT * UP TO 1 ROWS FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND auart = aufk-auart
AND ktosl EQ ' '
AND mtart = co_star
AND bukrs = co_star ORDER BY PRIMARY
KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
IF tb_condtype2-hkont <> bseg-hkont.
MOVE /dcsea/zfsl_ctyp-condi TO tb_condtype2-condi.
MOVE bseg-hkont TO tb_condtype2-hkont.
APPEND tb_condtype2.
ENDIF.
ELSE.
IF NOT ( tb_condtype2 IS INITIAL ).
IF zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' "CM-2106 VL Update
OR zhkont+0(4) = '3020'."CM-3209 VL Update
bseg-zzcon = tb_condtype2-condi.
bseg-zzcomm = tb_condtype2-zz_commnos.
ENDIF.
ENDIF.
ENDIF.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF. "IF wf_cm_flag EQ co_x
* End of insertion by GAURA for CM-3009 on 21/04/2005

ELSE.
IF NOT ( tb_condtype2 IS INITIAL ).

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.
* Get accounts with the set GTVLSTOCK from SETLEAF table
REFRESH ra_zhkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_zhkont
WHERE setname = co_gtvlstock
AND setclass = co_0000.

IF bseg-hkont IN ra_zhkont. "zhkont IN ra_zhkont.


bseg-zzcon = tb_condtype2-condi.
bseg-zzcomm = tb_condtype2-zz_commnos.
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' "CM-2106 VL Update
OR zhkont+0(4) = '3020'."CM-3209 VL Update

bseg-zzcon = tb_condtype2-condi.
bseg-zzcomm = tb_condtype2-zz_commnos.
ENDIF.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

ENDIF.
ENDIF.
ENDIF.

* ---------- MM Purchase Order and Subcontractor Goods Receipts -------*


* Check Activity Type
IF bseg-vorgn = 'RMWE' OR
bseg-vorgn = 'RMWL' OR
bseg-vorgn = 'RMWA'.

* Update Commission Number field of BSEG table


IF bseg-vorgn = 'RMWE'.
SELECT SINGLE * FROM ekpo WHERE ebeln = bseg-ebeln
AND ebelp = bseg-ebelp.
IF sy-subrc EQ 0.
* SELECT SINGLE * FROM VLCVEHICLE WHERE BWTAR = EKPO-BWTAR.
* Santosg 4/24/02
* Changed BWTAR to VHCLE for performance tuning since VHCLE is in the
* secondary index
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM vlcvehicle WHERE vhcle =
ekpo-bwtar.
SELECT * UP TO 1 ROWS FROM vlcvehicle WHERE vhcle =
ekpo-bwtar ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0.
bseg-zzcomm = vlcvehicle-zz_commnos.
ENDIF.
ENDIF.
ELSE.
IF bseg-vorgn = 'RMWL' OR
bseg-vorgn = 'RMWA'.

* SELECT SINGLE * FROM VLCVEHICLE WHERE BWTAR = BSEG-BWTAR.


* Santosg 4/24/02
* Changed BWTAR to VHCLE for performance tuning since VHCLE is in the
* secondary index
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE * FROM vlcvehicle WHERE vhcle =
bseg-bwtar.
SELECT * UP TO 1 ROWS FROM vlcvehicle WHERE vhcle =
bseg-bwtar ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0.
bseg-zzcomm = vlcvehicle-zz_commnos.
ENDIF.
ENDIF.
ENDIF. "Commission Number

* Santosg 12/26/2002
* CM-1756 Update Vehicle Ledger Condition Type based on Movement Type
* for Goods Receipt from Standard or Subcon PO, Goods Issue and
* Goods Movement in General only for GL account starts with 3401

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

* Get accounts with the set GTVLSTOCK from SETLEAF table


REFRESH ra_zhkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_zhkont
WHERE setname = co_gtvlstock
AND setclass = co_0000.
IF bseg-hkont IN ra_zhkont "zhkont IN ra_zhkont
AND
( bseg-vorgn = co_rmwe OR
bseg-vorgn = co_rmwa OR
bseg-vorgn = co_rmwl ).
* Get Movement Type from Memory
IMPORT t_accit FROM MEMORY ID 'SUBSEQUENTDRCRLINEITEM'.
READ TABLE t_accit WITH KEY hkont = bseg-hkont.

IF sy-subrc EQ 0.
* Get Vehicle Ledger Condition Type based on the Movement Type
SELECT SINGLE *
FROM /dcsea/zfsl_mvtp
WHERE bwart = t_accit-bwart.
IF sy-subrc EQ 0.
bseg-zzcon = /dcsea/zfsl_mvtp-condi.
ENDIF. " IF SY-SUBRC EQ 0.
(/DCSEA/ZFSL_MVTP)
ENDIF. " IF SY-SUBRC EQ 0.
(T_ACCIT)

ELSE.
* Update Vehicle Ledger Condition Type field of BSEG table
SELECT SINGLE *
FROM mara
WHERE matnr = bseg-matnr.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM /dcsea/zfsl_mtyp
WHERE mtart EQ mara-mtart.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND ktosl = bseg-ktosl
" AND /dcsea/zzrmru EQ ' '
" AND mtart = wf_mtart1
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
AND mtart = wf_mtart1
AND bukrs = co_star ORDER BY PRIMARY KEY. .
ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not
unique
" SELECT SINGLE *
" FROM /dcsea/zfvl_ctyp
" WHERE hkont = bseg-hkont
" AND ktosl = bseg-ktosl
" AND /dcsea/zzrmru EQ '
'
" AND mtart = co_star
" AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM /dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
AND mtart = co_star
AND bukrs = co_star ORDER BY PRIMARY KEY. .
ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.

* Get accounts with the set GTVLTRNST from SETLEAF table


REFRESH ra_hkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_hkont
WHERE setname = co_gtvltrnst
AND setclass = co_0000.

IF bseg-hkont IN ra_hkont. "zhkont IN


ra_hkont.

"HANA Code Remediation:Select Single not


unique
" SELECT SINGLE *
" FROM ekpo
" WHERE ebeln = bseg-ebeln
" AND pstyp = co_3.
SELECT *
UP TO 1 ROWS FROM ekpo
WHERE ebeln = bseg-ebeln
AND pstyp = co_3 ORDER BY PRIMARY KEY. .
ENDSELECT.
* Subcontractor
IF sy-subrc EQ 0.
bseg-zzcon = ' '.
ELSE.
bseg-zzcon = /dcsea/zfvl_ctyp-condi.
ENDIF.
* Purchase Order Good Receipts
ELSE.
bseg-zzcon = /dcsea/zfvl_ctyp-condi.
ENDIF.
ELSE. "GL Account does
not exist
* Condition type with GL Account start with '3401'
* will be 'AA' or 'ZZ'
IF bseg-vorgn = co_rmwe
AND bseg-hkont IN ra_zhkont. "zhkont IN
ra_zhkont.

SELECT SINGLE zzcomm


FROM bsis
INTO (wf_commnos)
WHERE bukrs = bseg-bukrs
AND zzcon = co_aa
AND zzcomm = bseg-zzcomm.

IF sy-subrc <> 0.
bseg-zzcon = co_aa. "VMS
Action ZGOR
ELSE.
bseg-zzcon = co_aa. "VMS
Action ZVT1
ENDIF.
ELSEIF ( bseg-vorgn = co_rmwl
OR bseg-vorgn = co_rmwa )
AND bseg-hkont IN ra_zhkont. "zhkont IN
ra_zhkont.
.
bseg-zzcon = co_zz. "VMS
Action ZGOI

ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF. "zhkont IN
ra_zhkont

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF ( zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
zhkont+0(4) = '3020' OR "insert for CM 3209
by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' OR " CM-2106 DCTH VL
Update
* Begin of insertion by AJAYARA for CM-24515039 on 26.11.2014
zhkont+0(6) = '321910' )
* End of insertion by AJAYARA for CM-24515039 on 26.11.2014
AND
( bseg-vorgn = 'RMWE' OR
bseg-vorgn = 'RMWA' OR
bseg-vorgn = 'RMWL' ). " CM-2106 DCTH VL
Update
* Get Movement Type from Memory
IMPORT t_accit FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEM'.
* read table t_accit index 1. " as per CM-2106 SANTOSG 9/10/03
READ TABLE t_accit WITH KEY hkont = bseg-hkont. "
CM-2106 SANTOSG
" 9/10/03
IF sy-subrc EQ 0.
* Get Vehicle Ledger Condition Type based on the Movement Type
SELECT SINGLE * FROM /dcsea/zfsl_mvtp
WHERE bwart = t_accit-bwart.
IF sy-subrc EQ 0.
bseg-zzcon = /dcsea/zfsl_mvtp-condi.
ENDIF. " IF SY-SUBRC EQ 0.
(/DCSEA/ZFSL_MVTP)
ENDIF. " IF SY-SUBRC EQ 0.
(T_ACCIT)
* End of CM-1756

ELSE.
* Update Vehicle Ledger Condition Type field of BSEG table
SELECT SINGLE * FROM mara WHERE matnr = bseg-
matnr.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /dcsea/zfsl_mtyp
WHERE mtart EQ mara-mtart.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single not
unique
" SELECT SINGLE * FROM
/dcsea/zfsl_ctyp
" WHERE hkont
= bseg-hkont
" AND ktosl
= bseg-ktosl
" AND
/dcsea/zzrmru EQ ' '
" AND mtart =
wf_mtart1
" AND bukrs =
co_star.
SELECT * UP TO 1 ROWS FROM
/dcsea/zfsl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
AND mtart = wf_mtart1
AND bukrs = co_star ORDER
BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code Remediation:Select Single
not unique
" SELECT SINGLE *
FROM /dcsea/zfsl_ctyp
" WHERE
hkont = bseg-hkont
" AND
ktosl = bseg-ktosl
" AND
/dcsea/zzrmru EQ ' '
" AND
mtart = co_star
" AND
bukrs = co_star.
SELECT * UP TO 1 ROWS FROM
/dcsea/zfsl_ctyp
WHERE hkont = bseg-
hkont
AND ktosl = bseg-
ktosl
AND /dcsea/zzrmru EQ '
'
AND mtart = co_star
AND bukrs = co_star
ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
* IF ZHKONT = '340410'.
IF zhkont+0(4) = '3404' OR
"Changed 30-Jul-2001
zhkont+0(4) = '3061' OR " CM-
2106 DCTH VL Update
zhkont+0(4) = '3062'. " CM-
3209 by sunil

"HANA Code Remediation:Select Single


not unique
" SELECT SINGLE * FROM
ekpo WHERE ebeln = bseg-ebeln
"
AND pstyp = '3'.
SELECT * UP TO 1 ROWS FROM ekpo
WHERE ebeln = bseg-ebeln
AND pstyp
= '3' ORDER BY PRIMARY KEY. . ENDSELECT.
* Subcontractor
IF sy-subrc EQ 0.
bseg-zzcon = ' '.
ELSE.
bseg-zzcon = /dcsea/zfsl_ctyp-
condi.
ENDIF.
* Purchase Order Good Receipts
ELSE.
bseg-zzcon = /dcsea/zfsl_ctyp-
condi.
ENDIF.
ELSE. "GL Account
does not exist
* Condition type with GL Account start with '3401'
* will be 'AA' or 'ZZ'
IF bseg-vorgn = 'RMWE' AND
( zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
zhkont+0(4) = '3020' OR "insert
for CM 3209 by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' ). " CM-
2106 DCTH VL Update

* select single ZZCOMM from bseg


* into (wf_commnos)
* where zzcon = 'AA'
* and ZZCOMM = BSEG-ZZCOMM.
SELECT SINGLE zzcomm FROM bsis
INTO
(wf_commnos)
WHERE bukrs =
bseg-bukrs
AND zzcon =
'AA'
AND zzcomm =
bseg-zzcomm.

IF sy-subrc <> 0.
bseg-zzcon = 'AA'.
"VMS Action ZGOR
ELSE.
bseg-zzcon = 'AA'.
"VMS Action ZVT1
ENDIF.
ELSEIF ( bseg-vorgn = 'RMWL' OR bseg-
vorgn = 'RMWA' )
AND ( zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(6) = '321810' OR
"CM-3209 by sunil
zhkont+0(6) = '321910' ).
"CM-2106 DCTH VL Update
.
bseg-zzcon = 'ZZ'. "VMS
Action ZGOI
* ELSEIF BSEG-VORGN = 'RMWA' AND ZHKONT+0(4) = '3401'.
* BSEG-ZZCON = 'ZZ'.
* SELECT SINGLE matnr FROM MSEG
* INTO mseg-matnr
* WHERE MATNR = BSEG-MATNR
* AND BWART = '453'.
* IF SY-SUBRC EQ 0.
* BSEG-ZZCON = 'AA'.
* ENDIF.
*
* SELECT SINGLE matnr FROM MSEG
* INTO mseg-matnr
* WHERE MATNR = BSEG-MATNR
* AND ( BWART = '201' OR BWART = '202' ).
* IF SY-SUBRC EQ 0.
* BSEG-ZZCON = 'CC'.
* ENDIF.
ENDIF. "Added 03-
May-2001
ENDIF.
ENDIF.
ENDIF.
ENDIF. "IF
ZHKONT+0(4)='3401' AND ( CM-1756 )

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF. "IF wf_cm_flag EQ co_x.
* End of insertion by GAURA for CM-3009 on 21/04/2005

* Update ZZPROJA table - set Quantity (ZZPROJA-MSL) to 0


* UPDATE ZZPROJA SET MSL = '' WHERE ACTIV IN ('RMWE', 'RMWL')
* AND DOCLN <> '000001'.
*
* UPDATE ZZPROJT SET MSL05 = '' WHERE RDOCTYP IN ('WE','WL')
* AND NOT ( RZZCON IN ('AA','ZZ') ).

ENDIF.
* ----- End of MM Purchase Order and Subcontractor Goods Receipts -----*

*-------------------------- MM Incoming Invoice ------------------------

IF bseg-vorgn = 'RMRP'.

*-- Transaction Type import from sap memory ---------------------------*


CLEAR: wf_drcr_memo,
ekbe.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.
* Get accounts with the set GTVLSTOCK from SETLEAF table
REFRESH ra_zhkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_zhkont
WHERE setname = co_gtvlstock
AND setclass = co_0000.
ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IMPORT tb_invtrans_sl FROM MEMORY ID


'INVOICETRANSACTIONTYPE'.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

IF sy-subrc NE 0
AND bseg-hkont IN ra_zhkont. "zhkont IN
ra_zhkont.
* Further check whether a subsequent DR/CR is being cancelled
IMPORT t_accit FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEM'.
READ TABLE t_accit INDEX 1.
IF sy-subrc EQ 0.
"HANA Code Remediation:Select Single not
unique
" SELECT SINGLE vgabe
" INTO (ekbe-vgabe)
" FROM ekbe
" WHERE belnr EQ t_accit-
awref_rev
" AND gjahr EQ t_accit-
aworg_rev.
SELECT vgabe
INTO (ekbe-vgabe)
UP TO 1 ROWS FROM ekbe
WHERE belnr EQ t_accit-awref_rev
AND gjahr EQ t_accit-aworg_rev ORDER BY
PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0
AND ekbe-vgabe EQ co_3.
tb_invtrans_sl-vorgang = ekbe-vgabe.
APPEND tb_invtrans_sl.
ENDIF.
ENDIF. " IF sy-subrc EQ
0 (t_accit).
ENDIF. " IF sy-subrc NE
0 (tb_invtrans_sl)

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF sy-subrc NE 0 AND
( zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
zhkont+0(4) = '3020' OR "insert for
CM 3209 by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' ). "CM-2106 DCTH
VL Update.
* Santosg 11/20/02
* CM-1681 Subsequent Dr/Cr
* Further check whether a subsequent DR/CR is being cancelled
IMPORT t_accit FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEM'.
READ TABLE t_accit INDEX 1.
IF sy-subrc EQ 0.
"HANA Code Remediation:Select Single
not unique
" SELECT SINGLE vgabe
" INTO (ekbe-vgabe)
" FROM ekbe
" WHERE belnr EQ
t_accit-awref_rev
" AND gjahr EQ
t_accit-aworg_rev.
SELECT vgabe
INTO (ekbe-vgabe)
UP TO 1 ROWS FROM ekbe
WHERE belnr EQ t_accit-
awref_rev
AND gjahr EQ t_accit-
aworg_rev ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc EQ 0 AND
ekbe-vgabe EQ '3'.
tb_invtrans_sl-vorgang = ekbe-
vgabe.
APPEND tb_invtrans_sl.
ENDIF.
ENDIF. " IF SY-SUBRC
EQ 0 (T_ACCIT).
ENDIF. " IF SY-SUBRC
NE 0 (TB_INVTRANS_SL)

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF. "IF wf_cm_flag EQ co_x
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF sy-subrc EQ 0.
* Read data from internal table
READ TABLE tb_invtrans_sl INDEX 1.
IF sy-subrc EQ 0.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

IF bseg-hkont IN ra_zhkont "zhkont IN


ra_zhkont
AND
( tb_invtrans_sl-vorgang = co_3 OR
tb_invtrans_sl-vorgang = co_4 ).

* CM-1681 Subsequent Debit/Credit -- Update Correct Condition type


wf_drcr_memo = co_x.
IMPORT wf_flag = wf_flag FROM
MEMORY ID 'WFFLAG'.
IMPORT wf_last_ctr = wf_last_ctr
FROM MEMORY ID 'WFLASTCTR'.
IF wf_flag NE co_1.
* Clear Variables
wf_ctr = 0.
CLEAR: t_accit,
t_acccr.
REFRESH: t_accit,
t_acccr.

* Get MM Condition Type and its corresponding amount from Memory


IMPORT t_accit FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEM'.
IMPORT t_acccr FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEMCURR'.
SORT t_acccr BY posnr.
LOOP AT t_accit WHERE hkont IN
ra_zhkont.
wf_ctr = wf_ctr + 1.
* For the first GL Account
IF wf_last_ctr EQ 0.
wf_last_ctr = 1.
ENDIF. "
IF wf_last_ctr EQ 0.
IF wf_ctr EQ wf_last_ctr.
READ TABLE t_acccr WITH KEY
posnr = t_accit-posnr
BINARY
SEARCH.
IF sy-subrc EQ 0.

IF t_acccr-wrbtr NE 0.
* If MM condition type is initial, get FI Condition type record based on
* MM condition type '*'
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF bseg-matnr IS INITIAL
AND
bseg-zzcomm IS NOT
INITIAL.
"HANA Code
Remediation:Select Single not unique
"
SELECT SINGLE matnr
"
FROM vlcvehicle
"
INTO wf_matnr1
"
WHERE zz_commnos = bseg-zzcomm.
SELECT matnr
UP TO 1 ROWS FROM
vlcvehicle
INTO wf_matnr1
WHERE zz_commnos =
bseg-zzcomm ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
IF NOT bseg-matnr IS
INITIAL OR
wf_matnr1 IS NOT
INITIAL.
SELECT SINGLE mtart
FROM mara
INTO wf_mtart1
WHERE matnr = bseg-
matnr.
ENDIF.
wf_bukrs1 = bseg-bukrs.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF t_accit-kschl IS
INITIAL.
* Check if PO is subcon or not from EKPO
SELECT SINGLE pstyp
INTO ekpo-pstyp
FROM ekpo
WHERE ebeln EQ
t_accit-ebeln
AND ebelp EQ
t_accit-ebelp.
IF sy-subrc EQ 0
AND
ekpo-pstyp EQ
co_3.
* PO is subcon PO, FI condition type should be 43004
bseg-zzcon =
co_43004.
ELSE.
* PO is normal PO, FI condition type should be based on MM Cond type
SELECT SINGLE condi
INTO (bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl EQ '*'
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart =
wf_mtart1
AND bukrs =
wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO (bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl EQ
'*'
AND mtart =
wf_mtart1
AND bukrs =
co_star.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO (bseg-
zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl EQ
'*'
AND mtart =
co_star
AND bukrs =
co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF. " sy-subrc EQ
0 (ekpo)
ELSE.
* Get the FI condition type from the MM Condition Type Mapping Table
SELECT SINGLE condi
INTO (bseg-zzcon)
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ
t_accit-kschl
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart =
wf_mtart1
AND bukrs =
wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO (bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl EQ
t_accit-kschl
AND mtart =
wf_mtart1
AND bukrs =
co_star.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO (bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl EQ
t_accit-kschl
AND mtart =
co_star
AND bukrs =
co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF. "
IF t_accit-kschl IS INITIAL.
ENDIF. "
IF t_acccr-wrbtr NE 0.
IF ( sy-ucomm NE
co_simulate AND
sy-ucomm NE co_bu
AND
sy-ucomm NE co_go ).

wf_flag = co_1.
EXPORT wf_flag =
wf_flag TO MEMORY ID 'WFFLAG'.
ENDIF.

ENDIF.
" IF sy-subrc EQ 0 (t_acccr)
wf_last_ctr = wf_last_ctr +
1.
EXPORT wf_last_ctr =
wf_last_ctr TO MEMORY ID 'WFLASTCTR'.
EXIT.
ENDIF. "
IF wf_ctr EQ wf_last_ctr.
ENDLOOP. "
AT tb_xaccit

ELSE.
CLEAR wf_flag.
EXPORT wf_flag = wf_flag TO
MEMORY ID 'WFFLAG'.
ENDIF.
" IF wf_flag NE co_1.
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF ( zhkont+0(4) = '3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
zhkont+0(4) = '3020' OR
"insert for CM 3209 by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' ) "CM-
2106 DCTH VL Update.
AND " SantosG
23/10/2001
( tb_invtrans_sl-vorgang = '3'
OR
tb_invtrans_sl-vorgang =
'4' ).
* BSEG-ZZCON = 'SS'.

* Santosg 10/28/02 - CM-1681


* Comment Condition Type 30 as per CM-1681
* BSEG-ZZCON = '30'. " SantosG 26/02/2002

* CM-1681 Subsequent Debit/Credit -- Update Correct Condition type


wf_drcr_memo = 'X'.
IMPORT wf_flag = wf_flag FROM
MEMORY ID 'WFFLAG'.
IMPORT wf_last_ctr = wf_last_ctr
FROM MEMORY ID 'WFLASTCTR'.
IF wf_flag NE '1'.
* Clear Variables
wf_ctr = 0.
CLEAR: t_accit,
t_acccr.
REFRESH: t_accit,
t_acccr.

* Get MM Condition Type and its corresponding amount from Memory


IMPORT t_accit FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEM'.
IMPORT t_acccr FROM MEMORY ID
'SUBSEQUENTDRCRLINEITEMCURR'.
SORT t_acccr BY posnr.
LOOP AT t_accit WHERE
hkont+0(8) EQ '00003401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004

hkont+0(8) EQ '00003402' OR
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004

hkont+0(8) EQ '00003010' "CM-2106


OR
hkont+0(8) EQ '00003020'. "CM-3209
wf_ctr = wf_ctr + 1.
* For the first GL Account
IF wf_last_ctr EQ 0.
wf_last_ctr = 1.
ENDIF. "
IF WF_LAST_CTR EQ 0.
IF wf_ctr EQ wf_last_ctr.
READ TABLE t_acccr WITH KEY
posnr = t_accit-posnr
BINARY
SEARCH.
IF sy-subrc EQ 0.

IF t_acccr-wrbtr NE 0.
* If MM condition type is initial, get FI Condition type record based on
* MM condition type '*'
IF t_accit-kschl IS
INITIAL.
* Santosg 12/3/02
* CM-1681 version 2.0 Condition Type for Subcon PO
* Check if PO is subcon or not from EKPO
SELECT SINGLE pstyp
INTO ekpo-
pstyp
FROM ekpo
WHERE ebeln
EQ t_accit-ebeln
AND ebelp
EQ t_accit-ebelp.
IF sy-subrc EQ 0 AND
ekpo-pstyp EQ '3'.
* PO is subcon PO, FI condition type should be 43004
bseg-zzcon =
'43004'.
ELSE.
* PO is normal PO, FI condition type should be based on MM Cond type
SELECT SINGLE condi
INTO
(bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl
EQ '*'
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart =
wf_mtart1
AND bukrs =
wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO
(bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE
kschl EQ '*'
AND mtart
= wf_mtart1
AND bukrs
= co_star.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO
(bseg-zzcon)

FROM /dcsea/zfsl_mmtp
WHERE
kschl EQ '*'
AND
mtart = co_star
AND
bukrs = co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF. " SY-SUBRC EQ
0 (EKPO)
ELSE.
* Get the FI condition type from the MM Condition Type Mapping Table
SELECT SINGLE condi
INTO (bseg-
zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl
EQ t_accit-kschl
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart =
wf_mtart1
AND bukrs =
wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO
(bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE kschl
EQ t_accit-kschl
AND mtart =
wf_mtart1
AND bukrs =
co_star.
IF sy-subrc NE 0.
SELECT SINGLE
condi
INTO
(bseg-zzcon)
FROM
/dcsea/zfsl_mmtp
WHERE
kschl EQ t_accit-kschl
AND mtart
= co_star
AND bukrs
= co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF. "
IF T_ACCIT-KSCHL IS INITIAL.
ENDIF. "
IF T_ACCCR-WRBTR NE 0.
*Begin of comment by Anbu (MURUGAPA) for CM:2245 on Nov'12,2003
* wf_flag = '1'.
* export wf_flag = wf_flag to memory id 'WFFLAG'.
*End of comment by Anbu (MURUGAPA) for CM:2245 on Nov'12,2003

*Begin of insertion by Anbu (MURUGAPA) for CM:2245 on Nov'12,2003


*Following check is to avoid the problem of not displaying the condition
*type value when running MIRO with simulation.
*Following line deleted byLakshmi forTicket-1939995&1847207, 21/05/2004.
* IF SY-UCOMM NE CO_SIMULATE."If it is not of simulation
*Following 2line inserted byLakshmi forTicket-1939995&1847207 21/05/2004
IF ( sy-ucomm NE
co_simulate AND
sy-ucomm NE co_bu AND
sy-ucomm NE co_go ).

wf_flag = '1'.
EXPORT wf_flag =
wf_flag TO MEMORY ID 'WFFLAG'.
ENDIF.
*End of insertion by Anbu (MURUGAPA) for CM:2245 on Nov'12,2003

ENDIF.
" IF SY-SUBRC EQ 0 (T_ACCCR)
wf_last_ctr = wf_last_ctr +
1.
EXPORT wf_last_ctr =
wf_last_ctr TO MEMORY ID 'WFLASTCTR'.
EXIT.
ENDIF. "
IF WF_CTR EQ WF_LAST_CTR.
ENDLOOP. "
AT TB_XACCIT

ELSE.
CLEAR wf_flag.
EXPORT wf_flag = wf_flag TO
MEMORY ID 'WFFLAG'.
ENDIF.
" IF WF_FLAG NE '1'.
* SELECT SINGLE CONDI
* INTO (BSEG-ZZCON)
* FROM /DCSEA/ZFSL_CTYP
* WHERE HKONT = BSEG-HKONT
* AND KTOSL = BSEG-KTOSL.
* End of CM-1681
ENDIF.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005
ENDIF.
ENDIF. "IF SY-SUBRC EQ
0. (IMPORT TB_INVTRANS_SL
"FROM MEMORY ID )

* Check if it is not subsequent Dr/Cr Memo


IF wf_drcr_memo NE 'X'.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* In Plant is CoFico compliant
IF wf_cm_flag EQ co_x.
* Get accounts with the set GTVLTRNST from SETLEAF table
REFRESH ra_hkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_hkont
WHERE setname = co_gtvltrnst
AND setclass = co_0000.
ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

* Begin of Insertion MARAMS 4/2/03 CM-1813


* Begin of replacement of variable for import - rangana - 12/05/03
* IMPORT wf_contype FROM MEMORY ID 'VPCPROVISIONPARTSANDLABOR'.
IMPORT wf_condtype FROM MEMORY ID
'VPCPROVISIONPARTSANDLABOR'.
wf_contype = wf_condtype.
* End of replacement of variable for import - rangana - 12/05/03.

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

IF sy-subrc EQ 0 AND bseg-hkont IN


ra_hkont. "zhkont IN ra_hkont.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
AND mtart = wf_mtart1
AND bukrs = co_star.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
AND mtart = co_star
AND bukrs = co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

* begin of insertion to take care of CM-1813 by RAGHAVAB


IF sy-subrc EQ 0 AND zhkont+0(3) =
'340'.
* IF SY-SUBRC EQ 0 AND ZHKONT+0(3) = '444'.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
AND mtart = wf_mtart1
AND bukrs = co_star.
IF sy-subrc NE 0.
SELECT SINGLE condi
INTO bseg-zzcon
FROM /dcsea/zfsl_mmtp
WHERE kschl EQ wf_contype
AND mtart = co_star
AND bukrs = co_star.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
ENDIF.
* end of insert by RAGHAVAB

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.

IF sy-subrc EQ 0
AND bseg-hkont IN ra_zhkont. "zhkont
IN ra_zhkont.

ELSE.
* Transaction Type: Invoice
SELECT SINGLE *
FROM mara
WHERE matnr = bseg-matnr.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM /dcsea/zfsl_mtyp
WHERE mtart EQ mara-mtart.
IF sy-subrc EQ 0.
* Get the condtion type from customized table /DCSEA/ZFVL_CTYP
"HANA Code Remediation:Select
Single not unique
" SELECT SINGLE *
" FROM
/dcsea/zfvl_ctyp
" WHERE hkont =
bseg-hkont
" AND ktosl =
bseg-ktosl
" AND
/dcsea/zzrmru EQ ' '
"*Begin of insertion by AJAYARA
for CM-24515039 on 01.08.2014
" AND mtart =
wf_mtart1
" AND bukrs =
wf_bukrs1.
SELECT *
UP TO 1 ROWS FROM
/dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart = wf_mtart1
AND bukrs = wf_bukrs1 ORDER
BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code
Remediation:Select Single not unique
" SELECT
SINGLE *
" FROM
/dcsea/zfvl_ctyp
" WHERE
hkont = bseg-hkont
" AND
ktosl = bseg-ktosl
" AND
/dcsea/zzrmru EQ ' '
" AND
mtart = wf_mtart1
" AND
bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM
/dcsea/zfvl_ctyp
WHERE hkont = bseg-hkont
AND ktosl = bseg-ktosl
AND /dcsea/zzrmru EQ '
'
AND mtart = wf_mtart1
AND bukrs = co_star ORDER
BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code
Remediation:Select Single not unique
"
SELECT SINGLE *
" FROM
/dcsea/zfvl_ctyp
"
WHERE hkont = bseg-hkont
"
AND ktosl = bseg-ktosl
"
AND /dcsea/zzrmru EQ ' '
"
AND mtart = co_star
"
AND bukrs = co_star.
SELECT *
UP TO 1 ROWS FROM
/dcsea/zfvl_ctyp
WHERE hkont = bseg-
hkont
AND ktosl = bseg-
ktosl
AND /dcsea/zzrmru EQ
' '
AND mtart = co_star
AND bukrs = co_star
ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
IF tb_condtype-hkont <>
bseg-hkont OR
tb_condtype-ktosl <>
bseg-ktosl.
MOVE-CORRESPONDING
/dcsea/zfvl_ctyp TO tb_condtype.
MOVE bseg-pswbt TO
tb_condtype-pswbt.
ENDIF.
ENDIF.
IF NOT ( tb_condtype IS
INITIAL ).
IF bseg-hkont IN
ra_zhkont "zhkont IN ra_zhkont
AND bseg-koart =
co_m.
bseg-zzcon =
tb_condtype-condi.
ENDIF.
ELSE.
IF bseg-hkont IN
ra_zhkont "zhkont IN ra_zhkont
AND bseg-koart =
co_m.
bseg-zzcon = co_30.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF."import from memory id
#Vpcprovisionpartsandlabor#

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

IF sy-subrc EQ 0 AND
( zhkont+0(4) = co_3401 OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3402' OR
zhkont+0(4) = '3020' OR "
insert for CM-3209 by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) = '3010' ).
"CM-2106 DCTH VL Update.
* Assign Vehicle Ledger Condition type based on MM Condition type
* imported from memory
* below portion commented out because of change in deriving condition
* type for CM-1813 for accounts not starting with 444*
* SELECT SINGLE condi
* INTO bseg-zzcon
* FROM /dcsea/zfsl_mmtp
* WHERE kschl EQ wf_contype.
* end of comment
ELSE.
* End of Insertion MARAMS 4/2/03 CM-1813
* Transaction Type: Invoice
SELECT SINGLE * FROM mara
WHERE matnr = bseg-matnr.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM
/dcsea/zfsl_mtyp
WHERE mtart
EQ mara-mtart.
IF sy-subrc EQ 0.
* Get the condtion type from customized table /DCSEA/ZFSL_CTYP
SELECT SINGLE * FROM
/dcsea/zfsl_ctyp
WHERE hkont
= bseg-hkont
AND ktosl
= bseg-ktosl
AND
/dcsea/zzrmru EQ ' '
*Begin of insertion by AJAYARA for CM-24515039 on 01.08.2014
AND mtart =
wf_mtart1
AND bukrs =
wf_bukrs1.
IF sy-subrc NE 0.
"HANA Code
Remediation:Select Single not unique
" SELECT
SINGLE * FROM /dcsea/zfsl_ctyp
"
WHERE hkont = bseg-hkont
"
AND ktosl = bseg-ktosl
"
AND /dcsea/zzrmru EQ ' '
"
AND mtart = wf_mtart1
"
AND bukrs = co_star.
SELECT * UP TO 1 ROWS
FROM /dcsea/zfsl_ctyp
WHERE
hkont = bseg-hkont
AND ktosl
= bseg-ktosl
AND
/dcsea/zzrmru EQ ' '
AND mtart
= wf_mtart1
AND bukrs
= co_star ORDER BY PRIMARY KEY. . ENDSELECT.
IF sy-subrc NE 0.
"HANA Code
Remediation:Select Single not unique
"
SELECT SINGLE * FROM /dcsea/zfsl_ctyp
"
WHERE hkont = bseg-hkont
"
AND ktosl = bseg-ktosl
"
AND /dcsea/zzrmru EQ ' '
"
AND mtart = co_star
"
AND bukrs = co_star.
SELECT * UP TO 1
ROWS FROM /dcsea/zfsl_ctyp
WHERE
hkont = bseg-hkont
AND
ktosl = bseg-ktosl
AND
/dcsea/zzrmru EQ ' '
AND
mtart = co_star
AND
bukrs = co_star ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF.
ENDIF.
*End of insertion by AJAYARA for CM-24515039 on 01.08.2014
IF sy-subrc EQ 0.
IF tb_condtype-
hkont <> bseg-hkont OR
tb_condtype-
ktosl <> bseg-ktosl.
MOVE-
CORRESPONDING /dcsea/zfsl_ctyp TO tb_condtype.
MOVE bseg-pswbt
TO tb_condtype-pswbt.
* APPEND TB_CONDTYPE.
ENDIF.
ENDIF.
IF NOT ( tb_condtype
IS INITIAL ).
IF ( zhkont+0(4) =
'3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) =
'3402' OR
zhkont+0(4) =
'3020' OR " insert for CM-3209 by sunil
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) =
'3010' "CM-2106 DCTH VL Update
*Begin of insertion by AJAYARA for CM-24515039 on 26.11.2014
OR zhkont+0(6)
= '321910' )
*End of insertion by AJAYARA for CM-24515039 on 26.11.2014
AND bseg-koart =
'M'.
bseg-zzcon =
tb_condtype-condi.
ENDIF.
ELSE.
IF ( zhkont+0(4) =
'3401' OR
* Start of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) =
'3402' OR
zhkont+0(4) =
'3020' OR " insert for CM-3209 by suni
* End of insertion by Ashish(PUTHILLP) for T-2295112 on 30/08/2004
zhkont+0(4) =
'3010' ) "CM-2106 DCTH VL Update
AND bseg-koart =
'M'.
* BSEG-ZZCON = 'SS'.
bseg-zzcon =
'30'.
ENDIF.
ENDIF.
ENDIF.

ENDIF.
* Begin of Insertion MARAMS 4/2/03 CM-1813
ENDIF."import from memory
id ?Vpcprovisionpartsandlabor?
* End of Insertion MARAMS 4/2/03 CM-1813

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

ENDIF.
" IF WF_DRCR_MEMO NE 'X'.
ENDIF.
" IF BSEG-VORGN = 'RMRP'.
* Begin of insert for CM-1682
* below value to be imported only in case of the report
* /DCSEA/ZAIS_SUNDRY_COST_ADD being executed
IF sy-cprog = co_sundrycostreport
"*begin of INSERT by chawals
for cm 0005872311 on 08.12.2021
OR vlprg =
co_velosundrytrigger .

IF vlprg =
co_velosundrytrigger.
IMPORT saletranid FROM MEMORY
ID 'SALESTRANID'.
IF saletranid IS NOT INITIAL.
bseg-zzstidvdz =
saletranid.
ENDIF.

IMPORT wf_commnos FROM


MEMORY ID 'COMMNO'."Commission no
IF wf_commnos IS NOT INITIAL.
bseg-zzcomm = wf_commnos.
ENDIF.
IF bseg-zzstidvdz IS NOT
INITIAL .
bseg-zuonr = bseg-
zzstidvdz.
ELSE.
bseg-zuonr = bseg-zzcomm.
ENDIF.

IMPORT wf_sgtxt FROM MEMORY


ID 'SGTXT'.
IF wf_sgtxt IS NOT INITIAL
AND bseg-sgtxt IS INITIAL."text update
bseg-sgtxt = wf_sgtxt.
ENDIF.
IMPORT wf_cond FROM MEMORY ID
'SUNDRYCOSTREPORT'.
IF wf_cond IS NOT
INITIAL ."Condtion to Update
bseg-zzcon = wf_cond.
ENDIF.
ELSE.

"*End of INSERT by chawals


for cm 0005872311 on 08.12.2021

IMPORT wf_cond FROM MEMORY ID


'SUNDRYCOSTREPORT'.
IF sy-subrc = 0 .
* BSEG-ZZCON = WF_COND. "Commented by Anbu(MURUGAPA) on 14.10.2004

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


* If Plant is CoFico compliant
IF wf_cm_flag EQ co_x.
* Get accounts with the set GTVLSTOCK from SETLEAF table
REFRESH ra_zhkont.
SELECT valsign
valoption
valfrom
valto
FROM setleaf
INTO TABLE ra_zhkont
WHERE setname =
co_gtvlstock
AND setclass = co_0000.

IF bseg-hkont IN
ra_zhkont. "zhkont IN ra_zhkont.
bseg-zzcon = wf_cond.
ELSE.
CLEAR bseg-zzcon.
ENDIF.

* If Plant is not CoFico compliant, follow existing logic


ELSE.
* End of insertion by GAURA for CM-3009 on 21/04/2005

* Begin of Insertion by Anbu(MURUGAPA) for DCJ on 14.10.2004


IF zhkont+0(4) = '3401'
OR
zhkont+0(4) = '3402' .
bseg-zzcon = wf_cond.
ELSE.
CLEAR bseg-zzcon.
ENDIF.
* End of Insertion by Anbu(MURUGAPA) for DCJ on 14.10.2004

* Begin of insertion by GAURA for CM-3009 on 21/04/2005


ENDIF.
* End of insertion by GAURA for CM-3009 on 21/04/2005

ENDIF.
ENDIF.
ENDIF."Code added CHAWALS
*begin of insert by ramakumm for cm-2390 23-apr-2004
DATA: wf_bapi(4) TYPE c.

IMPORT wf_bapi FROM MEMORY ID


'BAPI'.
IF sy-subrc = 0 AND wf_bapi =
'BAPI'.
bseg-zzcon = '46'.
ENDIF.
*end of insert by ramakumm for cm-2390 23-apr-2004

* end of insert for CM-1682


*---------------------- End of MM Incoming Invoice --------------------*
*Start of code added by MSREERA for CM 0045504592 on 06.11.2018
DATA: lc_mr8m TYPE syst-tcode
VALUE 'MR8M',
lt_zzproja TYPE STANDARD
TABLE OF zzproja,
ls_zzproja LIKE LINE OF
lt_zzproja,
lv_lines TYPE i.

CONSTANTS co_45504592(8) TYPE c


VALUE '45504592'.

CLEAR: wf_cm_flag, lt_zzproja,


ls_zzproja, lv_lines.

CALL FUNCTION
'/DCSEA/Z_AIS_CHECK_ACTIVE_CM'
EXPORTING
cm_number = co_45504592
werks = bseg-werks
IMPORTING
active_flag = wf_cm_flag.

IF wf_cm_flag IS NOT INITIAL AND


sy-tcode EQ lc_mr8m.
IF t_accit-awref_rev IS NOT
INITIAL
AND t_accit-aworg_rev IS NOT
INITIAL.
SELECT * FROM zzproja INTO
TABLE lt_zzproja
WHERE refdocnr EQ t_accit-
awref_rev
AND refryear EQ t_accit-
aworg_rev
ORDER BY PRIMARY KEY.
IF sy-subrc EQ 0.
DESCRIBE TABLE lt_zzproja
LINES lv_lines.
IF lv_lines EQ 1.
READ TABLE lt_zzproja
INTO ls_zzproja INDEX 1.
bseg-zzcon = ls_zzproja-
rzzcon.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*End of code added by MSREERA for CM 0045504592 on 06.11.2018
ENDFORM. "User Exit for Condition Type

*--------------------------------------------------------------------*

* FORM U101 *
*---------------------------------------------------------------------*
* Reads the cost-center from the CSKS table for accounting *
* area '0001'. *
* This exit uses a parameter for the cost_center so it can *
* be used irrespective of the table used in the callup point. *
*---------------------------------------------------------------------*
*FORM U101 USING COST_CENTER.

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: *
* SELECT * FROM CSKS
* WHERE KOSTL EQ COST_CENTER
* FORM U101 USING COST_CENTER.
* IF CSKS-DATBI >= SY-DATUM AND
* CSKS-DATAB <= SY-DATUM.
*
* MOVE CSKS-ABTEI TO COST_CENTER .
*
* ENDIF.
* ENDSELECT.

*ENDFORM.

*---------------------------------------------------------------------*
* FORM U102 *
*---------------------------------------------------------------------*
* Inserts the sum of the posting into the reference field. *
* This exit can be used in FI for the complete document. *
* The complete data is passed in one parameter. *
*---------------------------------------------------------------------*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: *

*FORM u102 USING bool_data TYPE gb002_015.


*DATA: SUM(10) TYPE C.
*
* LOOP AT BOOL_DATA-BSEG INTO BSEG
* WHERE SHKZG = 'S'.
* BSEG-ZUONR = 'Test'.
* MODIFY BOOL_DATA-BSEG FROM BSEG.
* ADD BSEG-DMBTR TO SUM.
* ENDLOOP.
*
* BKPF-XBLNR = TEXT-001.
* REPLACE '&' WITH SUM INTO BKPF-XBLNR.
*
*ENDFORM.

*---------------------------------------------------------------------*
* Update Commission Number from VLCVEHICLE table to BSEG-ZZCOMM field *
*---------------------------------------------------------------------*
FORM u103.

CONSTANTS : co_commnos(7) VALUE 'COMMNOS'. "BONDEP CM-2103 07-08-03


DATA : wf_commnos LIKE vlcvehicle-zz_commnos. " BONDEP CM-2103
* begin of addition for CM-2103 by RAGHAVAB
DATA : wf_bwtar LIKE bseg-bwtar.
CONSTANTS : co_miro(4) VALUE 'MIRO',
co_mr8m(4) VALUE 'MR8M'.
* end of addition for CM-2103.
* TABLES /DCSEA/ZAIS_VLSC. " VMSUPGD

* IMPORT VLCDIAVEHI_CT FROM MEMORY ID 'VPCFISLGETCOMMNOS'.


* CHECK SY-SUBRC = 0.

*Begin of insert 12/05/2003 CM-1747 Santosg


CHECK bseg-zzcomm IS INITIAL OR
bseg-zzcon IS INITIAL.
*End of insert 12/05/2003 CM-1747 Santosg

*Begin of insert 27/03/2003 CM-1813 rangana(satish)


IF bseg-ebeln IS INITIAL.
*Get commission number for actions: Provision for VPC Parts(zvpp) and
*Provisions for VPC Labor(ZVPL)

IF NOT bseg-bwtar IS INITIAL. "cm2038,2039(zscw/zscr)


"HANA Code Remediation:Select Single not unique
" SELECT SINGLE zz_commnos
" INTO bseg-zzcomm
" FROM vlcvehicle
" WHERE vhcle EQ bseg-bwtar.
SELECT zz_commnos
INTO bseg-zzcomm
UP TO 1 ROWS FROM vlcvehicle
WHERE vhcle EQ bseg-bwtar ORDER BY PRIMARY KEY. . ENDSELECT.
ENDIF. "cm2038.cm2039(zscw/zscr)
ELSE.
*End of insert 27/03/2003 CM-1813 rangana(satish)
ENDIF.

* begin of addition for CM-2103 BONDEP 07-08-03


* begin of insert by RAGHAVAB
CASE sy-tcode.
WHEN co_miro OR co_mr8m.
IF bseg-zzcomm IS INITIAL.
IMPORT wf_bwtar FROM MEMORY ID 'MIRO'.
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE zz_commnos FROM vlcvehicle INTO
" vlcvehicle-zz_commnos WHERE vhcle = wf_bwtar.
SELECT zz_commnos UP TO 1 ROWS FROM vlcvehicle INTO
vlcvehicle-zz_commnos WHERE vhcle = wf_bwtar ORDER BY PRIMARY KEY. .
ENDSELECT.
bseg-zzcomm = vlcvehicle-zz_commnos.
ENDIF.
WHEN OTHERS.
* end of insert by RAGHAVAB
IF bseg-zzcomm IS INITIAL.
IMPORT wf_commnos FROM MEMORY ID co_commnos.
bseg-zzcomm = wf_commnos.
ENDIF.
ENDCASE. "RAGHAVAB
* End of addition for CM-2103 BONDEP 07-08-03

IF NOT ( bseg-ebeln IS INITIAL ) AND "BONDEP CM-1682 30/01/03


NOT ( bseg-ebelp IS INITIAL ). "BONDEP CM-1682 30/01/03
* Check purchasing document and item in VLCPORDER (VELO : MM-Purchase
* Order)

"HANA Code Remediation:Select Single not unique


" SELECT SINGLE *
" FROM vlcporder
" WHERE ebeln = bseg-ebeln
" AND ebelp = bseg-ebelp.
SELECT *
UP TO 1 ROWS FROM vlcporder
WHERE ebeln = bseg-ebeln
AND ebelp = bseg-ebelp ORDER BY PRIMARY KEY. . ENDSELECT.

IF sy-subrc EQ 0.
* Get Commssion Number from VLCVEHICLE table and update BSEG table
SELECT SINGLE zz_commnos
FROM vlcvehicle
INTO vlcvehicle-zz_commnos
WHERE vguid = vlcporder-vguid.
IF sy-subrc EQ 0.
bseg-zzcomm = vlcvehicle-zz_commnos.
ENDIF. " IF SY-SUBRC EQ 0. ( VLCVEHICLE )
* Begin of deletion , VMSUPGD 09-01-2003
* In VMS 3.0 subcon PO is also stored in VLCPORDER
* ELSE.
** Santosg 8/15/02
** If PO does not exist in VLCPOrder, it means that it is a subcontract
** PO. If it is subcon PO, check the po document and item in
** /dcsea/zais_vlsc table (VELO: MM Subcon Purchase Order)
* SELECT SINGLE *
* FROM /DCSEA/ZAIS_VLSC
* WHERE VHBLN = BSEG-EBELN
* AND VHPOS = BSEG-EBELP.
* IF SY-SUBRC EQ 0.
** Get Commssion Number from VLCVEHICLE table and update BSEG table
* SELECT SINGLE ZZ_COMMNOS
* FROM VLCVEHICLE
* INTO VLCVEHICLE-ZZ_COMMNOS
** WHERE VGUID = /DCSEA/ZAIS_VLSC-VGUID. "VMSUPGD
* WHERE VGUID = VLCPORDER-VGUID.
* IF SY-SUBRC EQ 0.
* BSEG-ZZCOMM = VLCVEHICLE-ZZ_COMMNOS.
* ENDIF. " IF SY-SUBRC EQ 0. ( VLCVEHICLE )
* ENDIF. " IF SY-SUBRC EQ 0. ( /DCSEA/ZAIS_VLSC )
* End of deletion , VMSUPGD 09-01-2003
ENDIF. " IF SY-SUBRC EQ 0. ( VLCPORDER )

ENDIF. "IF BSEG-EBELN IS INITIAL.


*End of insert 27/03/2003 CM-1813 rangana(satish)

* "BONDEP CM-1682 30/01/03


ENDFORM. "u103
*---------------------------------------------------------------------*
* FORM ZA101 *
*---------------------------------------------------------------------*
* Reads the cost-center from the CSKS table for accounting *
* area '0001'. *
* This exit uses a parameter for the cost_center so it can *
* be used irrespective of the table used in the callup point. *
*---------------------------------------------------------------------*
FORM za101 USING cost_center.

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: *
* SELECT * FROM CSKS
* WHERE KOSTL EQ COST_CENTER
* AND KOKRS EQ '0001'.
* IF CSKS-DATBI >= SY-DATUM AND
* CSKS-DATAB <= SY-DATUM.
*
* MOVE CSKS-ABTEI TO COST_CENTER .
*
* ENDIF.
* ENDSELECT.
*{ INSERT DA1K970761 1
TABLES : vbrk, bkpf.
*Begin of insertion by GACHHIP CM-7778693 V1.0T 07.10.08 (COFICO-HARM)
IF sy-datum GE '20090101'.
cost_center = '0013900737'.
ELSE.
*End of insertion by GACHHIP CM-7778693 V1.0T 07.10.08 (COFICO-HARM)
cost_center = '0000104100'.
*Following line inserted by GACHHIP CM-7778693 V1.0T 07.10.08
*(COFICO-HARM)
ENDIF.

SELECT * FROM vbrk WHERE vbeln = bkpf-xblnr.


CHECK NOT vbrk-bstnk_vf IS INITIAL.
MOVE vbrk-bstnk_vf TO cost_center.
ENDSELECT.
*} INSERT

ENDFORM. "za101
*---------------------------------------------------------------------*
* FORM U106 using prctr. *
*---------------------------------------------------------------------*
* If entry exists for corresponding old profit center and controlling
* area in the table /dcsea/cofico_pc, then replace the old profit
* center with the new one
*---------------------------------------------------------------------*
FORM u106 USING prctr.

TABLES: /dcsea/cofico_pc,
tka02.

DATA : wf_kokrs TYPE kokrs.


*Fetch the corresponding controlling area for company code bkpf-bukrs
*which is used in the prerequisite
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE kokrs
" INTO wf_kokrs
" FROM tka02
" WHERE bukrs EQ bkpf-bukrs.
SELECT kokrs
INTO wf_kokrs
UP TO 1 ROWS FROM tka02
WHERE bukrs EQ bkpf-bukrs ORDER BY PRIMARY KEY. . ENDSELECT.

IF sy-subrc EQ 0.
*Check whether the entry is maintained for the old profit center
*for the above controlling area, if yes, then replace profit center
*with new one.
SELECT SINGLE *
FROM /dcsea/cofico_pc
WHERE kokrs EQ wf_kokrs
AND prctr_old EQ prctr.
IF sy-subrc EQ 0.
MOVE /dcsea/cofico_pc-prctr_new TO prctr.
ENDIF.
ENDIF.
ENDFORM. "u106
* Begin of Change by ZHANGSU for CM-10525127 on Feb-05-2010
*---------------------------------------------------------------------*
* FORM U107. *
*---------------------------------------------------------------------*
*business needs to display vendor name (LFA1-Name1) and vendor invoice
*number (BKPF-XBLNR) in line item text field for every G/L account in
*vendor transactions/document types
*---------------------------------------------------------------------*
FORM u107 CHANGING bool_data TYPE gb002_015 .
DATA :
wf_flag TYPE c,
wa_bseg TYPE bseg.
*Following line inserted by ZHAOB on 17-05-2010.
CLEAR wa_bseg.
LOOP AT bool_data-bseg INTO wa_bseg
WHERE koart = 'K' AND bschl BETWEEN '21' AND '39'.
SELECT SINGLE name1
INTO lv_name3
FROM lfa1
WHERE lifnr = wa_bseg-lifnr.
EXIT.
ENDLOOP.
CLEAR wa_bseg.
LOOP AT bool_data-bseg INTO wa_bseg .
IF NOT wa_bseg-sgtxt IS INITIAL .
CONCATENATE wa_bseg-sgtxt bkpf-xblnr lv_name3
INTO lv_sgtxt
SEPARATED BY space .
MOVE lv_sgtxt TO wa_bseg-sgtxt.
ELSEIF wa_bseg-sgtxt IS INITIAL .
CONCATENATE bkpf-xblnr lv_name3
INTO lv_sgtxt
SEPARATED BY space .
MOVE lv_sgtxt TO wa_bseg-sgtxt.
ENDIF.
MODIFY bool_data-bseg FROM wa_bseg TRANSPORTING sgtxt.
ENDLOOP.
CLEAR: lv_sgtxt.
ENDFORM. "u107
*---------------------------------------------------------------------*
* FORM U108. *
*---------------------------------------------------------------------*
*business needs to display vendor name (LFA1-Name1) and vendor invoice
*number (BKPF-XBLNR) in line item text field for every G/L account in
*vendor transactions/document types
*---------------------------------------------------------------------*
FORM u108.

DATA : wf_wrbtr TYPE bseg-wrbtr,


wf_belnr TYPE belnr_d.
* Begin of insert by KKRANTI CM:0047733841 on 10.04.2019
DATA : wa_para TYPE /dcsea/zais_para.
CLEAR: wa_para.
CONSTANTS : co_bseg TYPE /dcsea/domval1 VALUE 'BSEG',
co_sgtxt TYPE /dcsea/domval2 VALUE 'SGTXT',
co_lfa1 TYPE /dcsea/parameter VALUE 'LFA1',
co_pdsc TYPE /dcsea/paradesc VALUE 'TEXT FIELD FOR EVERY G/L
ACCOUNT',
co_bkpf_tcode TYPE /dcsea/fieldname VALUE 'BKPF-TCODE',
co_eq TYPE /dcsea/fieldop VALUE 'EQ'.
SELECT * FROM /dcsea/zais_para
UP TO 1 ROWS
INTO wa_para
WHERE domval1 = co_bseg
AND domval2 = co_sgtxt
AND param = co_lfa1
AND paradesc = co_pdsc
AND fieldname = co_bkpf_tcode
AND fieldop = co_eq
AND fieldval = bkpf-tcode.
ENDSELECT.
IF sy-subrc = 0 AND wa_para-fieldval IS NOT INITIAL.
* End of insert by KKRANTI CM:0047733841 on 10.04.2019

* Begin of comment by KKRANTI CM:0047733841 on 10.04.2019


* IF bkpf-tcode = 'MIRO' OR bkpf-tcode = 'MIGO' OR bkpf-tcode = 'MIR7'
**Tcode MIGO_GR added in IF condition by NHYNIAPK for CM-15943264 on 14/02/2012
* OR bkpf-tcode = 'MIGO_GR'
* OR BKPF-TCODE = 'MB01'." Line added by RSATYAN on 10.10.2018 for
CM:0045089585 .
* End of comment by KKRANTI CM:0047733841 on 10.04.2019

IF NOT bseg-lifnr IS INITIAL.


SELECT SINGLE name1
INTO lv_name2
FROM lfa1
WHERE lifnr = bseg-lifnr.
ENDIF .

IF NOT bseg-sgtxt IS INITIAL.


CONCATENATE bseg-sgtxt bkpf-xblnr lv_name2
INTO lv_sgtxt2
SEPARATED BY space .
ELSEIF bseg-sgtxt IS INITIAL.
CONCATENATE bkpf-xblnr lv_name2
INTO lv_sgtxt2
SEPARATED BY space .

ENDIF .

MOVE lv_sgtxt2 TO bseg-sgtxt.

CLEAR: lv_sgtxt2.
ENDIF.
ENDFORM. "u108
* End of Change by ZHANGSU for CM-10525127 on Feb-05-2010
* Begin of Change by LEENAC for CM-11663839 on Jul-08-2010
*---------------------------------------------------------------------*
* FORM U109. *
*---------------------------------------------------------------------*
*business needs to substitute sales channel to functiona area
*---------------------------------------------------------------------*
FORM u109.
IF NOT bseg-zzproj IS INITIAL.
bseg-fkber = bseg-zzproj+4(3).
ENDIF.
ENDFORM. "u109
* End of Change by LEENAC for CM-11663839 on Jul-08-2010
* Begin of insertion by KANNAND for CM-11868262 V 1.0T on 04-10-2010
* *
* FORM U110. *
* *
*User exit for non-profit items -JP
* *
FORM u110.
* Tables
TABLES: /dcsea/jp_f_mara ,
/dcsea/jp_f_riem .

* Data
DATA: w_glvor LIKE bkpf-glvor VALUE 'SD00',
w_hkont LIKE bseg-hkont VALUE '0000947020',
w_hkont2 LIKE bseg-hkont VALUE '0000940910',
w_buzei LIKE bseg-buzei.

DATA: w_tr LIKE bkpf-blart VALUE 'TR'.


DATA: w_hr LIKE bkpf-blart VALUE 'HR'.

DATA: w_vehicle LIKE bseg-sgtxt VALUE 'Vehicle'.

DATA: w_input_tax LIKE bseg-hkont VALUE '0000411001',


w_output_tax LIKE bseg-hkont VALUE '0000451001'.

* *
* Reimbursment *
* *
IF bkpf-glvor EQ w_glvor AND
( bseg-hkont EQ w_hkont OR
bseg-hkont EQ w_hkont2 ).

* Read ZAREIM
SELECT * FROM /dcsea/jp_f_riem WHERE bukrs EQ bkpf-bukrs
AND gjahr EQ bkpf-gjahr
AND xblnr EQ bkpf-belnr
ORDER BY buzei DESCENDING.
EXIT.
ENDSELECT.
IF sy-subrc EQ 0.
w_buzei = /dcsea/jp_f_riem-buzei + 1.
ELSE.
w_buzei = 1.
ENDIF.

* Set Header Data


CLEAR /dcsea/jp_f_riem .

/dcsea/jp_f_riem-bukrs = bkpf-bukrs.
/dcsea/jp_f_riem-gjahr = bkpf-gjahr.
/dcsea/jp_f_riem-xblnr = bkpf-belnr.
/dcsea/jp_f_riem-buzei = w_buzei.
/dcsea/jp_f_riem-blart = bkpf-blart.
/dcsea/jp_f_riem-bldat = bkpf-bldat.
/dcsea/jp_f_riem-budat = bkpf-budat.
/dcsea/jp_f_riem-monat = bkpf-monat.
/dcsea/jp_f_riem-waers = bkpf-waers.
* Set Segment Data
/dcsea/jp_f_riem-gsber = bseg-gsber.
/dcsea/jp_f_riem-mwskz = bseg-mwskz.
/dcsea/jp_f_riem-wrbtr = bseg-pswbt.
/dcsea/jp_f_riem-hkont2 = bseg-hkont.

* Read /DCSEA/JP_F_MARA
SELECT SINGLE * FROM /dcsea/jp_f_mara WHERE matnr EQ bseg-matnr.
IF sy-subrc EQ 0 AND /dcsea/jp_f_mara-hkont NE space.
/dcsea/jp_f_riem-kostl = /dcsea/jp_f_mara-kostl.
/dcsea/jp_f_riem-aufnr = /dcsea/jp_f_mara-aufnr.
/dcsea/jp_f_riem-hkont = /dcsea/jp_f_mara-hkont.
ELSE.
/dcsea/jp_f_riem-matnr = bseg-matnr.
ENDIF.

* Insert /DCSEA/JP_F_RIEM
INSERT /dcsea/jp_f_riem .
IF sy-subrc NE 0.
WRITE : '/DCSEA/JP_F_RIEM'.
ENDIF.
ENDIF.

ENDFORM. "u110

* End of insertion by KANNAND for CM-11868262 V 1.0T on 04-10-2010

* Begin of Insertion by GUPTAGA for CM-22220236 on 09-10-2013


*---------------------------------------------------------------------*
* FORM U111 using prctr. *
*---------------------------------------------------------------------*
* If entry exists for corresponding old profit center and controlling
* area in the table /dcsea/cofico_pc, then replace the old profit
* center with the new one
*---------------------------------------------------------------------*
FORM u111 USING kostl.

TABLES: /dcsea/zkcc_subs.

DATA : wf_kokrs TYPE kokrs.


*Fetch the corresponding controlling area for company code bkpf-bukrs
*which is used in the prerequisite
"HANA Code Remediation:Select Single not unique
" SELECT SINGLE kokrs
" INTO wf_kokrs
" FROM tka02
" WHERE bukrs EQ bkpf-bukrs.
SELECT kokrs
INTO wf_kokrs
UP TO 1 ROWS FROM tka02
WHERE bukrs EQ bkpf-bukrs ORDER BY PRIMARY KEY. . ENDSELECT.

IF sy-subrc EQ 0.
*Check whether the entry is maintained for the old cost center
*for the above controlling area, if yes, then replace cost center
*with new one.
SELECT SINGLE *
FROM /dcsea/zkcc_subs
WHERE kokrs EQ wf_kokrs
AND kostl_old EQ kostl.
IF sy-subrc EQ 0.
MOVE /dcsea/zkcc_subs-kostl_new TO kostl.
ENDIF.
ENDIF.
ENDFORM. "u111
* End of Insertion by GUPTAGA for CM-22220236 on 09-10-2013
**Begin of insertion by MNAIDU for CM-22636380 on 30-12-2013
*---------------------------------------------------------------------*
* FORM U112 using sgtxt. *
*---------------------------------------------------------------------*
* To populate the gst line item text for MM documnets posted via MIRO *
*---------------------------------------------------------------------*
FORM u112 USING sgtxt.
DATA :wa_bwkey TYPE t001k-bwkey,
wa_werks TYPE t001w-werks,
lv_cm_activ_flag TYPE /dcsea/z_active_flag,
lv_cm_flag TYPE /dcsea/z_active_flag, "++ GUPTRIS | 52981074 |
14.07.2020
wf_sgtxt TYPE bseg-sgtxt.
CONSTANTS: wf_filter TYPE /dcsea/zais_cm_a-z_filter VALUE 'SGD'.

STATICS: lv_sgtxt TYPE bseg-sgtxt. "++ GUPTRIS | 52981074 | 14.07.2020

CONSTANTS: co_x TYPE c VALUE 'X',


co_t(1) TYPE c VALUE 'T',
******** BEGIN OF MODIFICATION GUPTRIS | 52981074 | 14.07.2020 ********
co_zs2(3) TYPE c VALUE 'ZS2',
co_rc(2) TYPE c VALUE 'RC',
co_52981074(10) TYPE c VALUE '0052981074',
********* END OF MODIFICATION GUPTRIS | 52981074 | 14.07.2020 *********
co_cmno(10) TYPE c VALUE '22636380'.

CLEAR: lv_cm_activ_flag, wa_bwkey,wa_werks.

"HANA Code Remediation:Select Single not unique


" SELECT SINGLE bwkey
" FROM t001k
" INTO wa_bwkey
" WHERE bukrs EQ bseg-bukrs.
SELECT bwkey
UP TO 1 ROWS FROM t001k
INTO wa_bwkey
WHERE bukrs EQ bseg-bukrs ORDER BY PRIMARY KEY. . ENDSELECT.

SELECT SINGLE werks


FROM t001w
INTO wa_werks
WHERE bwkey EQ wa_bwkey.

CALL FUNCTION '/DCSEA/Z_AIS_CHECK_ACTIVE_CM'


EXPORTING
cm_number = co_cmno
werks = wa_bwkey
IMPORTING
active_flag = lv_cm_activ_flag.

IF lv_cm_activ_flag EQ co_x.
IF bseg-ebeln IS NOT INITIAL AND sgtxt IS NOT INITIAL.
IMPORT sgtxt TO wf_sgtxt FROM MEMORY ID 'SUBSEQUENTGSTLINEITEMTEXT'.
IF wf_sgtxt IS INITIAL.
EXPORT sgtxt TO MEMORY ID 'SUBSEQUENTGSTLINEITEMTEXT'.
ENDIF.
ENDIF.
IF bseg-buzid EQ co_t.
IMPORT sgtxt TO wf_sgtxt FROM MEMORY ID 'SUBSEQUENTGSTLINEITEMTEXT'.
MOVE wf_sgtxt TO sgtxt.
******** BEGIN OF MODIFICATION GUPTRIS | 52981074 | 14.07.2020 ********
"Scenario: In order to get all the line item text, we have to
" take a STATIC variable which will hold the value further as
" BUZID = T can be multiple and we have no table holding
" the total no. of line items.
IF lv_sgtxt IS INITIAL.
lv_sgtxt = sgtxt.
ENDIF.
IF sgtxt IS INITIAL.
bseg-sgtxt = lv_sgtxt.
ENDIF.
FREE MEMORY ID 'SUBSEQUENTGSTLINEITEMTEXT'.
********* END OF MODIFICATION GUPTRIS | 52981074 | 14.07.2020 *********
ENDIF.
ENDIF.

ENDFORM. "u112
**End of insertion by MNAIDU for CM-22636380 on 30-12-2013

FORM u115 USING bool_data TYPE gb002_015.


*BEGIN OF INSERT BY SKAMIRE FOR CM-26906658 ON 17.03.2015

DATA: wa_bseg TYPE bseg.


DATA: ls_bseg TYPE bseg.
DATA: lv_text TYPE sgtxt.

CLEAR wa_bseg.
LOOP AT bool_data-bseg INTO wa_bseg.
IF wa_bseg-buzid <> 'T'.
*Customer postings
IF wa_bseg-koart = 'D'.
CLEAR ls_bseg.
READ TABLE bool_data-bseg INTO ls_bseg WITH KEY buzid = 'T'.
IF sy-subrc EQ 0.
MOVE wa_bseg-sgtxt TO ls_bseg-sgtxt.
MODIFY bool_data-bseg FROM ls_bseg INDEX sy-tabix TRANSPORTING buzid
sgtxt.
ENDIF.
EXIT.
*Vendor and GL posting with different tax codes
ELSEIF wa_bseg-koart = 'S'.
CLEAR ls_bseg.
READ TABLE bool_data-bseg INTO ls_bseg WITH KEY buzid = 'T'
mwskz = wa_bseg-mwskz
fwbas = wa_bseg-wrbtr.
IF sy-subrc EQ 0.
MOVE wa_bseg-sgtxt TO ls_bseg-sgtxt.
MODIFY bool_data-bseg FROM ls_bseg INDEX sy-tabix TRANSPORTING buzid
sgtxt.
ELSE.
*With same tax code
CLEAR ls_bseg.
READ TABLE bool_data-bseg INTO ls_bseg WITH KEY buzid = 'T'.
IF sy-subrc EQ 0.
IF ls_bseg-mwskz EQ wa_bseg-mwskz.
IF lv_text IS INITIAL.
CONCATENATE lv_text wa_bseg-sgtxt INTO lv_text.
MOVE lv_text TO ls_bseg-sgtxt.
ELSE.
CONCATENATE lv_text wa_bseg-sgtxt INTO lv_text SEPARATED BY space.
MOVE lv_text TO ls_bseg-sgtxt.
ENDIF.
MODIFY bool_data-bseg FROM ls_bseg INDEX sy-tabix TRANSPORTING buzid
sgtxt.
ENDIF.
ENDIF.
ENDIF.
ELSEIF wa_bseg-koart = 'K'.
CLEAR ls_bseg.
READ TABLE bool_data-bseg INTO ls_bseg WITH KEY buzid = 'T'
mwskz = wa_bseg-mwskz
fwbas = wa_bseg-wrbtr.
IF sy-subrc EQ 0.
MOVE wa_bseg-sgtxt TO ls_bseg-sgtxt.
MODIFY bool_data-bseg FROM ls_bseg INDEX sy-tabix TRANSPORTING buzid
sgtxt.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.

*END OF INSERT BY SKAMIRE FOR CM-26906658 ON 17.03.2015

ENDFORM.
*Begin of insertion by BHACHAR for CM-27601967 on 06.04.2015
*---------------------------------------------------------------------*
* FORM U116 using bool_data *
*---------------------------------------------------------------------*
* To populate text to BSEG-SGTXT *
*---------------------------------------------------------------------*
FORM u116 USING bool_data TYPE gb002_015.
DATA: wa_bseg TYPE bseg,
wf_laufi TYPE laufi,
wf_laufd TYPE laufd,
lv_laufd(10) TYPE c,
lv_text TYPE sgtxt.

CONSTANTS: co_pmt(3) TYPE c VALUE 'PMT',


co_hypen TYPE c VALUE '-'.

CLEAR: wf_laufd, wf_laufi.


SPLIT bkpf-bktxt AT '-' INTO wf_laufd wf_laufi.

CLEAR: lv_laufd.
CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT'
EXPORTING
input = wf_laufd
IMPORTING
output = lv_laufd.
CLEAR: lv_text.
CONCATENATE co_pmt wf_laufi lv_laufd INTO lv_text SEPARATED BY co_hypen.

CLEAR: wa_bseg.
LOOP AT bool_data-bseg INTO wa_bseg.
wa_bseg-sgtxt = lv_text.
MODIFY bool_data-bseg FROM wa_bseg INDEX sy-tabix TRANSPORTING sgtxt.
CLEAR: wa_bseg.
ENDLOOP.

ENDFORM.
*End of insertion by BHACHAR for CM-27601967 on 06.04.2015
*Begin of comment by NANDANR for CM-28512601 on 22.05.2015
*Begin of insertion by NANDANR for CM-28512601 on 11.05.2015
*&---------------------------------------------------------------------*
*& Form u0120
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*FORM u120."Syteline interface substitution
* DATA:lv_j_1tpbupl TYPE bcode.
* IF bseg-lifnr IS NOT INITIAL AND bseg-mwskz IS NOT INITIAL.
* SELECT SINGLE j_1tpbupl
* FROM fitha_pbupl
* INTO lv_j_1tpbupl
* WHERE bpnumber = bseg-lifnr AND koart = 'K'.
* IF sy-subrc = 0.
* bseg-j_1tpbupl = lv_j_1tpbupl.
* CLEAR lv_j_1tpbupl.
* ENDIF.
* ENDIF.
*ENDFORM. "u0120
*&---------------------------------------------------------------------*
*& Form u0121
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*FORM u121."IMS Interface substitution

*DATA: lv_j_1tpbupl TYPE bcode,


* lit_set TYPE TABLE OF rgsb4,
* lwa_set TYPE rgsb4.
*DATA : lv_doc(14) TYPE c ,
* lv_koart type bseg-koart,
* lv_bpnumber type fitha_pbupl-bpnumber.
*
*CONSTANTS : c_bkpf like RGSBS-TABLE VALUE 'BKPF',
* c_0000 like RGSBS-CLASS VALUE '0000',
* c_blart TYPE FIELDNAME VALUE 'BLART'.
*
*IF bseg-lifnr IS NOT INITIAL AND bseg-mwskz IS NOT INITIAL.
* lv_doc = 'ZIMS_DOCTYPE_K'.
* lv_koart = 'K'.
* lv_bpnumber = bseg-lifnr.
*elseif bseg-kunnr IS NOT INITIAL AND bseg-mwskz IS NOT INITIAL.
* lv_doc = 'ZIMS_DOCTYPE_D'.
* lv_koart = 'D'.
* lv_bpnumber = bseg-kunnr.
*endif.
*
*IF ( ( bseg-lifnr IS NOT INITIAL AND bseg-mwskz IS NOT INITIAL ) or ( bseg-kunnr
IS NOT INITIAL AND bseg-mwskz IS NOT INITIAL ) ).
*
*CALL FUNCTION 'G_SET_GET_ALL_VALUES'
* EXPORTING
* client = sy-mandt
* setnr = lv_doc
* table = c_bkpf
* class = c_0000
* fieldname = c_blart
* TABLES
* set_values = lit_set
* EXCEPTIONS
* set_not_found = 1
* OTHERS = 2.
*IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ENDIF.
* READ TABLE lit_set INTO lwa_set WITH KEY FROM = bkpf-blart.
* IF sy-subrc = 0.
* SELECT SINGLE j_1tpbupl
* FROM fitha_pbupl
* INTO lv_j_1tpbupl
* WHERE bpnumber = lv_bpnumber AND koart = lv_koart.
* IF sy-subrc = 0.
* bseg-j_1tpbupl = lv_j_1tpbupl.
* CLEAR:lv_j_1tpbupl,lwa_set.
* ENDIF.
* ENDIF.
*endif.
*
*clear : lit_set[].

* ENDFORM. "u0121
*End of insertion by NANDANR for CM-28512601 on 11.05.2015
*End of comment by NANDANR for CM-28512601 on 22.05.2015
*Begin of insertion by KKAUSHA for CM-34309326/34293103 on 23.09.2016
FORM u117 USING xref1.

DATA : wa_kna1 TYPE kna1,


wa_lfa1 TYPE lfa1.

IF bseg-koart EQ 'D'.

SELECT SINGLE * FROM kna1 INTO wa_kna1


WHERE kunnr EQ bseg-kunnr.

IF sy-subrc EQ 0.
bseg-xref1 = wa_kna1-stcd1.
ENDIF.

ELSEIF bseg-koart EQ 'K'.

SELECT SINGLE * FROM lfa1 INTO wa_lfa1


WHERE lifnr EQ bseg-lifnr.
IF sy-subrc EQ 0.
bseg-xref1 = wa_lfa1-stcd1.
ENDIF.

ENDIF.

ENDFORM.
*End of insertion by kkausha for CM-34309326/34293103 on 23.09.2016

*Begin of insertion by KKAUSHA for CM-34309326/34293103 on 23.09.2016


FORM u118 USING xref3 .

DATA : wa_kna1 TYPE kna1,


wa_lfa1 TYPE lfa1.

IF bseg-koart EQ 'D'.

SELECT SINGLE * FROM kna1 INTO wa_kna1


WHERE kunnr EQ bseg-kunnr.

IF sy-subrc EQ 0.
bseg-xref3 = wa_kna1-name1.
ENDIF.

ELSEIF bseg-koart EQ 'K'.

SELECT SINGLE * FROM lfa1 INTO wa_lfa1


WHERE lifnr EQ bseg-lifnr.

IF sy-subrc EQ 0.
bseg-xref3 = wa_lfa1-name1.
ENDIF.

ENDIF.

ENDFORM.
*End of insertion by kkausha for CM-34309326/34293103 on 23.09.2016
*Begin of insertion by KAMEENA for CM-0042586570 on 16.04.2018
FORM u122 USING p_sgtxt.
TYPES : BEGIN OF ty_ekpo,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
txz01 TYPE txz01,
END OF ty_ekpo.
DATA : wa_ekpo TYPE ty_ekpo,
tb_ekpo TYPE TABLE OF ty_ekpo,
wa_ekko TYPE ekko.

SELECT SINGLE * FROM ekko


INTO wa_ekko
WHERE ebeln EQ bseg-ebeln
AND bsart IN ('ZEBP','ZESL').
IF sy-subrc = 0.
SELECT SINGLE ebeln ebelp txz01 FROM ekpo
INTO wa_ekpo
WHERE ebeln EQ bseg-ebeln
AND ebelp EQ bseg-ebelp.
IF sy-subrc EQ 0.
MOVE wa_ekpo-txz01 TO p_sgtxt.
ENDIF.
ENDIF.
ENDFORM. "U122
*End of insertion by KAMEENA for CM-0042586570 on 16.04.2018
*Begin Of Changes By NALEKHY 0048846341 12/06/2019
FORM u123 USING p_xref2.
*Local Data Declarations
DATA:lv_purpcode TYPE /dcsea/zpurp_code,
lv_setid TYPE setid,
lt_thset TYPE STANDARD TABLE OF rgsb4.
*Constants declarations
CONSTANTS :lc_thset TYPE setnamenew VALUE 'TH_PURP_CODE_VENDOR'.

*Fetch the Prupose code from custom table based on vendor and comapny code
SELECT SINGLE zpurp_code INTO lv_purpcode
FROM /dcsea/th_df_pcd
WHERE bukrs = bseg-bukrs
AND lifnr = bseg-lifnr.
IF sy-subrc <> 0.
CLEAR lv_purpcode.
ENDIF.
*Fetch the currency of cocode
SELECT SINGLE waers
FROM t001 INTO @DATA(lv_waers)
WHERE bukrs = @bseg-bukrs.
IF sy-subrc <> 0.
CLEAR lv_waers.
ENDIF.

*Fetch the set id based on set name


CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
EXPORTING
shortname = lc_thset
IMPORTING
new_setid = lv_setid
EXCEPTIONS
no_set_found = 1
no_set_picked_from_popup = 2
wrong_class = 3
wrong_subclass = 4
table_field_not_found = 5
fields_dont_match = 6
set_is_empty = 7
formula_in_set = 8
set_is_dynamic = 9
OTHERS = 10.
IF sy-subrc = 0.
*Fetch the set values from the set id fetched above
CALL FUNCTION 'G_SET_GET_ALL_VALUES'
EXPORTING
setnr = lv_setid
TABLES
set_values = lt_thset
EXCEPTIONS
set_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR lt_thset.
ENDIF.
ENDIF.

*Updating the purpcde for the vendor maintained in set


IF lt_thset IS NOT INITIAL.
READ TABLE lt_thset INTO DATA(lw_thset) WITH KEY setnr = lv_setid
from = bseg-lifnr.
IF sy-subrc = 0.
bseg-xref2 = lv_purpcode.
ELSE.
*updating the set for the all other vendors where currency code is not belongs to
thailand currency
IF bkpf-waers <> lv_waers.
bseg-xref2 = lv_purpcode.
ENDIF.
ENDIF.
ENDIF.

ENDFORM.
*End Of Changes By NALEKHY 0048846341 12/06/2019
*Begin Of Insert By AAADHAR on 04.10.2019 for CM:0050289212
*----------------------------------------------------------------------*
* FORM U14CC
*----------------------------------------------------------------------*
* MBIL: Substitutions for Cost Center
*
*----------------------------------------------------------------------*
FORM u14cc.
DATA: it_doctab TYPE /dcsea/in_cl_global=>tty_doctab.
FIELD-SYMBOLS: <fs_belnr> TYPE belnr_d.

CASE bkpf-tcode.
WHEN 'F110'.
ASSIGN ('(SAPF110S)XZAHLB-REGUP-BELNR') TO <fs_belnr>.
WHEN 'FBB1'.
IMPORT it_doctab FROM MEMORY ID 'MBIL_FC_DC'.
LOOP AT it_doctab INTO DATA(lv_doctab).
IF bseg-sgtxt CS lv_doctab-belnr.
ASSIGN lv_doctab-belnr TO <fs_belnr>.
EXIT.
ENDIF.
ENDLOOP.
WHEN OTHERS.
ENDCASE.

IF sy-subrc EQ 0 AND <fs_belnr> IS ASSIGNED AND bseg-kostl IS NOT INITIAL.


"Update only in case when default cost center is available
SELECT kostl, aufnr UP TO 1 ROWS FROM bseg
INTO ( @DATA(lv_kostl), @DATA(lv_aufnr) )
WHERE bukrs EQ @bseg-bukrs
AND belnr EQ @<fs_belnr>
AND gjahr EQ @bseg-gjahr
AND ( kostl NE @space OR aufnr NE @space )
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc EQ 0.
IF lv_kostl IS INITIAL AND lv_aufnr IS NOT INITIAL.
SELECT kostv FROM coas UP TO 1 ROWS
INTO @lv_kostl
WHERE aufnr EQ @lv_aufnr
AND bukrs EQ @bseg-bukrs
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc <> 0.
CLEAR lv_kostl.
ENDIF.
ENDIF.
ELSE.
CLEAR lv_kostl.
ENDIF.
IF lv_kostl IS NOT INITIAL.
bseg-kostl = lv_kostl.
ENDIF.
UNASSIGN <fs_belnr>.
ENDIF.
ENDFORM.
*----------------------------------------------------------------------*
* FORM U14R
*----------------------------------------------------------------------*
* MBIL: Substitutions for Reference Field in Header
*----------------------------------------------------------------------*
FORM u14r USING bool_data TYPE gb002_015.
IF bool_data-bseg[] IS NOT INITIAL.
READ TABLE bool_data-bseg INTO DATA(lv_bseg) INDEX 1.
IF sy-subrc EQ 0.
bkpf-xblnr = lv_bseg-sgtxt+16(10) && '/' && bkpf-budat+6(2) && bkpf-
budat+4(2).
ENDIF.
ENDIF.
ENDFORM.
*End Of Insert By AAADHAR on 04.10.2019 for CM:0050289212
*Begin Of Insert By CBHARIS on 11/FEB/2021 for CM: 0056270653
*----------------------------------------------------------------------*
* FORM UEGCC
*----------------------------------------------------------------------*
* MBIL: Substitutions for Cost Center
*
*
*----------------------------------------------------------------------*
FORM uegcc.
DATA: it_doctab TYPE /dcsea/in_cl_global=>tty_doctab.
FIELD-SYMBOLS: <fs_belnr> TYPE belnr_d,
<fs_gjahr> TYPE gjahr.

CASE bkpf-tcode.

WHEN 'F110'.
ASSIGN ('(SAPF110S)XZAHLB-REGUP-BELNR') TO <fs_belnr>.

IF sy-subrc EQ 0 AND <fs_belnr> IS ASSIGNED


AND bseg-kostl IS NOT INITIAL.
"Update only in case when default cost center is available
SELECT kostl, aufnr UP TO 1 ROWS FROM bseg
INTO ( @DATA(lv_kostl), @DATA(lv_aufnr) )
WHERE bukrs EQ @bseg-bukrs
AND belnr EQ @<fs_belnr>
AND gjahr EQ @bseg-gjahr
AND ( kostl NE @space OR aufnr NE @space )
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc EQ 0.
IF lv_kostl IS INITIAL AND lv_aufnr IS NOT INITIAL.
SELECT kostv FROM coas UP TO 1 ROWS
INTO @lv_kostl
WHERE aufnr EQ @lv_aufnr
AND bukrs EQ @bseg-bukrs
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc <> 0.
CLEAR lv_kostl.
ENDIF.
ENDIF.
ELSE.
CLEAR lv_kostl.
ENDIF.
IF lv_kostl IS NOT INITIAL.
bseg-kostl = lv_kostl.
ENDIF.
UNASSIGN <fs_belnr>.
ENDIF.

WHEN 'FBB1'.
IMPORT it_doctab FROM MEMORY ID 'MBIL_FC_DC'.
LOOP AT it_doctab INTO DATA(lv_doctab).
IF bseg-sgtxt CS lv_doctab-belnr.
ASSIGN lv_doctab-belnr TO <fs_belnr>.
ASSIGN lv_doctab-gjahr TO <fs_gjahr>.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0 AND <fs_belnr> IS ASSIGNED
AND <fs_gjahr> IS ASSIGNED
AND bseg-kostl IS NOT INITIAL.
"Update only in case when default cost center is available
SELECT kostl, aufnr UP TO 1 ROWS FROM bseg
INTO ( @lv_kostl, @lv_aufnr )
WHERE bukrs EQ @bseg-bukrs
AND belnr EQ @<fs_belnr>
AND gjahr EQ @<fs_gjahr>
AND ( kostl NE @space OR aufnr NE @space )
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc EQ 0.
IF lv_kostl IS INITIAL AND lv_aufnr IS NOT INITIAL.
SELECT kostv FROM coas UP TO 1 ROWS
INTO @lv_kostl
WHERE aufnr EQ @lv_aufnr
AND bukrs EQ @bseg-bukrs
ORDER BY PRIMARY KEY.
ENDSELECT.
IF sy-subrc <> 0.
CLEAR lv_kostl.
ENDIF.
ENDIF.
ELSE.
CLEAR lv_kostl.
ENDIF.
IF lv_kostl IS NOT INITIAL.
bseg-kostl = lv_kostl.
ENDIF.
UNASSIGN <fs_belnr>.
UNASSIGN <fs_gjahr>.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDFORM.
*End Of Insert By CBHARIS on 11/FEB/2021 for CM: 0056270653

******* BEGIN OF MODIFICATION GUPTRIS | CM 52830868 | 17.03.2020 ******


*---------------------------------------------------------------------*
* FORM U131 using bool_data *
*---------------------------------------------------------------------*
* To populate the value of XREF2 *
*---------------------------------------------------------------------*
FORM u131 USING bool_data TYPE gb002_015.
"Data Declaration
DATA: lv_rundate TYPE laufd,
lv_runid TYPE laufi,
lv_wrbtr TYPE wrbtr,
lv_clear_sign TYPE string.

* Constants declarations
CONSTANTS :lc_blart(2) TYPE c VALUE 'ZP',
lc_kz(2) TYPE c VALUE 'KZ',
lc_fb05(4) TYPE c VALUE 'FB05',
lc_prog(8) TYPE c VALUE 'SAPF110S'.

"Field Symbol Declaration


FIELD-SYMBOLS: <fs_postab_tb> TYPE ANY TABLE,
<fs_postab_wa> TYPE rfops,
<fs_lifnr> TYPE lifnr. "++vreddam on 11.09.2020 for CM �
0054409803

IF bkpf-blart EQ lc_blart AND "ZP


sy-cprog EQ lc_prog. "'SAPF110S'

SPLIT bkpf-bktxt AT '-' INTO lv_rundate lv_runid.


DATA(lv_total) = bseg-wrbtr.
ASSIGN ('(SAPF110S)XZAHLB-REGUP-LIFNR') TO <fs_lifnr>."++vreddam on 11.09.2020
for CM � 0054409803
"Fetch the value of WRBTR and XREF2 to be passed ahead.
SELECT vblnr, shkzg, wrbtr, xref2, agzei
FROM regup
INTO TABLE @DATA(lt_regup)
WHERE laufd EQ @lv_rundate
AND laufi EQ @lv_runid
AND bukrs EQ @bkpf-bukrs
AND xvorl EQ 'X'
AND lifnr EQ @<fs_lifnr>"++vreddam on 11.09.2020 for CM � 0054409803
ORDER BY PRIMARY KEY.

IF sy-subrc EQ 0 AND lt_regup IS NOT INITIAL.


SORT lt_regup BY vblnr.
CLEAR: lv_wrbtr.
"Iterate to find the correct Payement Document out of all.
LOOP AT lt_regup ASSIGNING FIELD-SYMBOL(<fs_regup>).
IF <fs_regup>-shkzg EQ 'H'.
lv_wrbtr = lv_wrbtr - <fs_regup>-wrbtr.
ELSE.
lv_wrbtr = lv_wrbtr + <fs_regup>-wrbtr.
ENDIF.
"IF the VBLNR is different.
AT END OF vblnr.
lv_clear_sign = lv_wrbtr.
REPLACE ALL OCCURRENCES OF '-' IN lv_clear_sign WITH ''.
"Check the total with the one we have for vendor line item.
IF lv_clear_sign EQ lv_total.
"Delete the remaining not req. payment document line item.
DELETE lt_regup WHERE vblnr NE <fs_regup>-vblnr.
EXIT.
ENDIF.
CLEAR: lv_wrbtr, lv_clear_sign.
ENDAT.
ENDLOOP.
DELETE lt_regup WHERE shkzg NE 'H'.
"Sort the records to descending in order to get the highest WRBTR
"and get the biggest of all.
SORT lt_regup BY wrbtr DESCENDING.
READ TABLE lt_regup ASSIGNING FIELD-SYMBOL(<fs_regup1>) INDEX 1.
IF sy-subrc EQ 0.
LOOP AT bool_data-bseg ASSIGNING FIELD-SYMBOL(<fs_xref2>)
WHERE koart = 'K'.
<fs_xref2>-xref2 = <fs_regup1>-xref2.
ENDLOOP.
ENDIF.
ENDIF.
ELSEIF bkpf-blart EQ lc_kz
AND sy-tcode EQ lc_fb05.
"Get the table holdin gthe document numbers called in FB05.
ASSIGN ('(SAPMF05A)POSTAB[]') TO <fs_postab_tb>.

CLEAR: lv_wrbtr.
"Iterate the table to get the XREF2 value for the highest WRBTR.
LOOP AT <fs_postab_tb> ASSIGNING <fs_postab_wa>.
"Filter deactivated line items and credit entries.
IF <fs_postab_wa>-xaktp EQ 'X' AND <fs_postab_wa>-shkzg EQ 'H'.
"Get the highesr value of WRBTR.
IF <fs_postab_wa>-wrbtr GT lv_wrbtr.
"Keep the XREF2 value for the correct line item.
DATA(lv_xref2) = <fs_postab_wa>-xref2.
lv_wrbtr = <fs_postab_wa>-wrbtr.
ENDIF.
ENDIF.
ENDLOOP.
"Fetch the document of Vendor Level.
LOOP AT bool_data-bseg ASSIGNING FIELD-SYMBOL(<fs_xref>)
WHERE koart = 'K'.
<fs_xref>-xref2 = lv_xref2.
ENDLOOP.
ENDIF.
ENDFORM.
******* END OF MODIFICATION GUPTRIS | CM 52830868 | 17.03.2020 *********
*Begin Of Insert By CBHARIS on 28/MAR/2021 for CM:0056516501
FORM uegr1 USING bool_data TYPE gb002_015.
"Data Declaration
DATA: lv_rundate TYPE laufd,
lv_runid TYPE laufi.

* Constants declarations
CONSTANTS :lc_blart(2) TYPE c VALUE 'ZP',
lc_prog(8) TYPE c VALUE 'SAPF110S'.

"Field Symbol Declaration


FIELD-SYMBOLS: <fs_lifnr> TYPE lifnr.

IF bkpf-blart EQ lc_blart AND "ZP


sy-cprog EQ lc_prog. "'SAPF110S'

SPLIT bkpf-bktxt AT '-' INTO lv_rundate lv_runid.


ASSIGN ('(SAPF110S)XZAHLB-REGUP-LIFNR') TO <fs_lifnr>.
"Fetch the value of WRBTR and XREF2 to be passed ahead from REGUP table
SELECT xvorl, vblnr, belnr, shkzg, wrbtr, xref1, agzei
FROM regup
INTO TABLE @DATA(lt_regup)
WHERE laufd EQ @lv_rundate
AND laufi EQ @lv_runid
AND bukrs EQ @bkpf-bukrs
AND lifnr EQ @<fs_lifnr>
ORDER BY PRIMARY KEY.

"lt_regup will contain only intermediate level documents during its first run
after Payment proposal with temperary VBLNR('F110*')
"After each iteration of payment run document, lt_regup will contain processed
document with generated VBLNR
IF sy-subrc EQ 0 AND lt_regup IS NOT INITIAL.

"Document line items of BSEG(BOOL_DATA) will be iterated one by one in the


order of VBLNR during payment run
"The processed BELNR from REGUP will be having 2 line items with XVORL = 'X'
and XVORL = ''.
SORT lt_regup BY vblnr.
DELETE ADJACENT DUPLICATES FROM lt_regup COMPARING vblnr.
DATA(lt_regup_temp) = lt_regup[].
CLEAR lt_regup_temp[].
LOOP AT lt_regup INTO DATA(wa_regup) WHERE xvorl = 'X'.
READ TABLE lt_regup INTO DATA(wa_regup_1) WITH KEY belnr = wa_regup-belnr
xvorl = ''.
IF sy-subrc <> 0.

"We are appending the unprocessed document(BELNR) for which XVORL <> ''.
APPEND wa_regup TO lt_regup_temp.
ENDIF.
ENDLOOP.
IF lt_regup_temp IS NOT INITIAL.
SORT lt_regup_temp BY vblnr.
DELETE lt_regup WHERE shkzg NE 'H'.
READ TABLE lt_regup_temp ASSIGNING FIELD-SYMBOL(<fs_regup1>) INDEX 1.
IF sy-subrc EQ 0.
LOOP AT bool_data-bseg ASSIGNING FIELD-SYMBOL(<fs_xref1>)
WHERE koart = 'K'.
"Reference Key 1 is appended to the BSEG for the line item with KOART =
'K'
<fs_xref1>-xref1 = <fs_regup1>-xref1.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*End Of Insert By CBHARIS on 28/MAR/2021 for CM:0056516501

**Begin of Change by MITTALM for CM:56870732 for ROTF Project on 11.05.2021


FORM u14fr CHANGING bool_data TYPE gb002_015.

DATA : lwa_bseg TYPE bseg.

LOOP AT bool_data-bseg ASSIGNING FIELD-SYMBOL(<lfs_bseg>).

IF <lfs_bseg>-koart = 'S' AND <lfs_bseg>-buzid = 'T'.

READ TABLE bool_data-bseg INTO lwa_bseg WITH KEY bukrs = <lfs_bseg>-bukrs


belnr = <lfs_bseg>-belnr
gjahr = <lfs_bseg>-gjahr
koart = 'S'
buzid = space
taxps = <lfs_bseg>-taxps.

IF sy-subrc IS INITIAL.
<lfs_bseg>-zzstidvdz = lwa_bseg-zzstidvdz.
<lfs_bseg>-zzcomm = lwa_bseg-zzcomm.
ENDIF.

ENDIF.

CLEAR lwa_bseg.
ENDLOOP.

ENDFORM.
**End of Change by MITTALM for CM:56870732 for ROTF Project on 11.05.2021
*Begin Of Insert By Vishnuvardhan Reddy(VCHITTI) on 31/MAR/2021 for CM:0056937425
*----------------------------------------------------------------------*
* FORM U1STO
*----------------------------------------------------------------------*
* MBIL: Substitutions for Cost Center
* Inbound Invoice during STO
*----------------------------------------------------------------------*
FORM u1sto.
CONSTANTS :lc_si TYPE blart VALUE 'SI',
lc_k TYPE koart VALUE 'K',
lc_d TYPE koart VALUE 'D',
lc_s TYPE koart VALUE 'S',
lc_t TYPE buzid VALUE 'T'.

SELECT SINGLE * FROM bkpf INTO @DATA(ls_bkpf) WHERE bukrs EQ @bkpf-bukrs AND
blart EQ @lc_si AND
xblnr EQ @bkpf-xblnr.
IF sy-subrc IS INITIAL.
IF ls_bkpf-/dcsea/tran_id IS NOT INITIAL .
bseg-zzstidvdz = ls_bkpf-/dcsea/tran_id.
ENDIF.

SELECT SINGLE zzcomm FROM bseg INTO @DATA(lv_comm) WHERE bukrs EQ @ls_bkpf-
bukrs AND
belnr EQ @ls_bkpf-
belnr AND
gjahr EQ @ls_bkpf-
gjahr AND
zzcomm NE @space.
IF sy-subrc IS INITIAL AND lv_comm IS NOT INITIAL AND bseg-koart NE lc_k.
bseg-zzcomm = lv_comm.
ENDIF.
IF bseg-koart NE lc_k.
IF ls_bkpf-/dcsea/tran_id IS NOT INITIAL.
bseg-zuonr = ls_bkpf-/dcsea/tran_id.
ELSE.
bseg-zuonr = lv_comm.
ENDIF.
ENDIF.
ENDIF.

* For Vendor Line Item


IF bseg-lifnr IS NOT INITIAL AND bseg-koart EQ lc_k.
SELECT SINGLE * FROM bkpf INTO ls_bkpf WHERE bukrs EQ bkpf-bukrs AND
blart EQ lc_si AND
xblnr EQ bkpf-xblnr.
IF sy-subrc IS INITIAL.
SELECT SINGLE * FROM bseg INTO @DATA(ls_bseg) WHERE bukrs EQ @ls_bkpf-bukrs
AND
belnr EQ @ls_bkpf-belnr
AND
gjahr EQ @ls_bkpf-gjahr
AND
koart EQ @lc_d.
IF sy-subrc IS INITIAL.
bseg-zuonr = ls_bseg-zuonr.
ENDIF.
ENDIF.
ENDIF.

* For GL Item
IF bseg-koart EQ lc_s AND bseg-buzid NE lc_t.
CLEAR ls_bkpf.
SELECT SINGLE * FROM bkpf INTO ls_bkpf WHERE bukrs EQ bkpf-bukrs AND
blart EQ lc_si AND
xblnr EQ bkpf-xblnr.
IF sy-subrc IS INITIAL.
CLEAR ls_bseg.
SELECT SINGLE * FROM bseg INTO ls_bseg WHERE bukrs EQ ls_bkpf-bukrs AND
belnr EQ ls_bkpf-belnr AND
gjahr EQ ls_bkpf-gjahr AND
koart EQ lc_s AND
buzid NE lc_t.
IF sy-subrc IS INITIAL.
* bseg-zuonr = ls_bseg-zuonr.
bseg-prctr = ls_bseg-prctr.
ENDIF.
ENDIF.
ENDIF.

ENDFORM.
*----------------------------------------------------------------------*
* FORM U2STO
*----------------------------------------------------------------------*
* MBIL: Substitutions for GL Account
*
*----------------------------------------------------------------------*
FORM u2sto.
DATA:lv_stid TYPE /dcsea/sales_trans_id.

CONSTANTS :lc_wl TYPE blart VALUE 'WL',


lc_89 TYPE bschl VALUE '89',
lc_tcode TYPE sy-tcode VALUE 'VL02N',
lc_sto TYPE /dcsea/domval1 VALUE 'STO',
lc_sgi TYPE /dcsea/parameter VALUE 'ZSGI'.

CLEAR lv_stid.
IF bkpf-tcode EQ lc_tcode AND bkpf-blart EQ lc_wl AND bseg-ebeln IS NOT INITIAL.
* Get Sales Tranaction ID from /DCSEA/ZAIS_DEPT based on Commission Number.
IF bseg-zzcomm IS NOT INITIAL.
SELECT * FROM /dcsea/zais_dept INTO TABLE @DATA(lt_dept) WHERE commsn_no EQ
@bseg-zzcomm.
IF sy-subrc IS INITIAL.
SORT lt_dept[] BY posting_date DESCENDING.
READ TABLE lt_dept INTO DATA(ls_dept) INDEX 1.
lv_stid = ls_dept-sales_trns_id.
ELSE.
CLEAR lv_stid.
ENDIF.
ENDIF.

** GL Account Update
IF bseg-bschl EQ lc_89.
* Get GL Account from PARA table.
SELECT SINGLE mtart FROM mara INTO @DATA(lv_mtart) WHERE matnr EQ @bseg-
matnr.
IF sy-subrc IS INITIAL.
SELECT SINGLE * FROM /dcsea/zais_para INTO @DATA(ls_para) WHERE domval1 EQ
@bkpf-bukrs AND
domval2 EQ
@lc_sto AND
param EQ
@lc_sgi AND
paradesc EQ
@lv_mtart.

IF sy-subrc IS INITIAL.
bseg-hkont = ls_para-fieldname.
ENDIF.
ENDIF.
ENDIF.

* Sales Transaction ID and Assignment fields Update


IF lv_stid IS NOT INITIAL.
bseg-zzstidvdz = lv_stid.
bseg-zuonr = lv_stid.
ELSE.
bseg-zuonr = bseg-zzcomm.
ENDIF.

** Business Place
IF bseg-werks IS NOT INITIAL.
SELECT SINGLE j_1bbranch FROM t001w INTO @DATA(lv_bupla) WHERE werks EQ
@bseg-werks.
IF sy-subrc IS INITIAL.
bseg-bupla = lv_bupla.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*----------------------------------------------------------------------*
* FORM U3STO
*----------------------------------------------------------------------*
* MBIL: Substitutions during Billing for STO
*
*----------------------------------------------------------------------*
FORM u3sto.
DATA:lv_stid TYPE /dcsea/sales_trans_id.

CLEAR lv_stid.
* Get Sales Tranaction ID from /DCSEA/ZAIS_DEPT based on Commission Number.
IF bseg-zzcomm IS NOT INITIAL.
SELECT * FROM /dcsea/zais_dept INTO TABLE @DATA(lt_dept) WHERE commsn_no EQ
@bseg-zzcomm.
IF sy-subrc IS INITIAL.
SORT lt_dept[] BY posting_date DESCENDING.
READ TABLE lt_dept INTO DATA(ls_dept) INDEX 1.
lv_stid = ls_dept-sales_trns_id.
ELSE.
CLEAR lv_stid.
ENDIF.
* Sales Transaction ID and Assignment fields Update
IF lv_stid IS NOT INITIAL.
bseg-zzstidvdz = lv_stid.
bseg-zuonr = lv_stid.
ELSE.
bseg-zuonr = bseg-zzcomm.
ENDIF.
ENDIF.

ENDFORM.
*End Of Insert By Vishnuvardhan Reddy(VCHITTI) on 28/April/2021 for CM:0056937425
*Begin Of Insert By Vishnuvardhan Reddy(VCHITTI) on 11.01.2022 for CM:0060075017
*---------------------------------------------------------------------*
* FORM U138. *
*---------------------------------------------------------------------*
*To Update Posting date(BUDAT) for MBIL in India Time zone
*---------------------------------------------------------------------*
FORM u138.
DATA:lv_tstmp_temp TYPE tzntstmps,
lv_tstmp TYPE tzonref-tstampl,
lv_data_in TYPE sy-datlo.
IF bkpf IS NOT INITIAL.
CALL FUNCTION 'VELO03_CONVERT_INTO_TIMESTAMP'
EXPORTING
datlo_iv = sy-datlo
timlo_iv = sy-timlo
tzone_iv = 'UTC+8'
IMPORTING
timestamp_ev = lv_tstmp_temp.
CLEAR lv_tstmp.
lv_tstmp = lv_tstmp_temp.

CALL FUNCTION 'VELO03_CONVERT_FROM_TIMESTAMP'


EXPORTING
long_timestamp_iv = lv_tstmp
tzone_iv = 'INDIA'
IMPORTING
datlo_ev = lv_data_in.
DATA(lv_tm_diff) = bkpf-budat - lv_data_in.
IF lv_data_in IS NOT INITIAL AND bkpf-budat GT lv_data_in AND lv_tm_diff =
1 .
bkpf-budat = lv_data_in. " Posting Date
bkpf-bldat = lv_data_in. " Document Date
ENDIF.
ENDIF.
ENDFORM. "U138
*End Of Insert By Vishnuvardhan Reddy(VCHITTI) on 11.01.2022 for CM:0060075017
*Begin of chages by RATRAJA|CM 0060162724|15.2.22
*---------------------------------------------------------------------*
* FORM U139. *
*---------------------------------------------------------------------*
* MBIN-FIMS-ODN for cancelled invoice *
*---------------------------------------------------------------------*
FORM U139.
CONSTANTS : co_o1 TYPE blart VALUE 'O1'.
DATA: lv_bldat TYPE string.

SELECT awkey
UP TO 1 ROWS
FROM bkpf
INTO @DATA(wf_awkey)
WHERE bukrs = @bkpf-bukrs
AND blart = @bkpf-blart.
ENDSELECT.
IF sy-subrc EQ 0.
SELECT vbelv
UP TO 1 ROWS
FROM vbfa
INTO @DATA(wf_vbelv)
WHERE vbeln = @wf_awkey.
ENDSELECT.
IF sy-subrc EQ 0.
SELECT SINGLE ihrez
FROM vbak
INTO @DATA(wf_ihrez)
WHERE vbeln = @wf_vbelv.
IF sy-subrc EQ 0.
SELECT xblnr, bldat
UP TO 1 ROWS
INTO @DATA(wa_bkpf)
FROM bkpf
WHERE bukrs = @bkpf-bukrs
AND blart = @co_o1
AND awkey = @wf_ihrez.
ENDSELECT.
IF sy-subrc EQ 0.
CONCATENATE wa_bkpf-bldat+6(2) wa_bkpf-bldat+4(2)
wa_bkpf-bldat+0(4) INTO lv_bldat SEPARATED BY '.'.
CONCATENATE wa_bkpf-xblnr lv_bldat INTO bkpf-xblnr_alt SEPARATED BY
'/'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*End of chages by RATRAJA|CM 0060162724|15.2.22

You might also like