Tuesday, 20 May 2025

Z_KOMGG_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KOMGG_HERO_CUS

*&

*&---------------------------------------------------------------------*

*&

*& Extract SAP Data For General Data in Customer Master SAP TABLE KOMGG Into cvs File Called KOMGG.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 29/07/2024

*& Modified by-Vivek Nigam

*& Date - 03/07/2024 - Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 25/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN

*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&---------------------------------------------------------------------*

*&--KUNNR KDGRP --KUNNR KDGRP @13:24

*&---------------------------------------------------------------------*

*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110

*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110

*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path And Added new HFT Path --------------------------------------------------------------------*

*https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BEF12D4EF-081C-43AD-9387-D73B90C44DC6%7D&file=00.HERO_design_source_schema_cusomer_SAP.xlsx&action=default&mobileredirect=true

*Issue Found After Transported on 06/12/2024 -- File header Has Commo in Place of Sami-Coloan



REPORT  Z_KOMGG_HERO_CUS.

TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KOMGG.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KOMGG.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\raw\in\uk\UK01\KOMGG.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


type-pools:TRUXS.

data: begin of itab occurs 0,

      KUNNR like VBPA-KUNNR,

      KDGRP like VBRK-KDGRP,

*      BUKRS like VBRK-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT DISTINCT  VBPA~KUNNR

         VBRK~KDGRP

*         VBRK~BUKRS

         from VBRK INNER JOIN VBPA ON VBRK~VBELN = VBPA~VBELN

         into table itab

         WHERE   VBPA~KUNNR <> '' AND VBRK~BUKRS = ENTITY.


*"header data -- ADD HEADER IN THE CSV FILE AFTER THIS

***itab-KUNNR = 'KUNNR'.

***itab-KDGRP = 'KDGRP'.

***Insert itab index 1.

DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'KUNNR;KDGRP'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.


CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

*      data_tab = itab1

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_KNVV_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KNVV_HERO_CUS

*&

*& Extract SAP Data For Customer Master Sales Data SAP TABLE KNVV Into cvs File Called KNVV.csv

*&---------------------------------------------------------------------*

*& Developed By -  Vivek Nigam

*& SCHEDULED

*& Date - 20/05/2024

*& Modified by-Vivek Nigam

*& Date - 03/07/2024 - Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 25/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN

*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&---------------------------------------------------------------------*

*&--KUNNR VKBUR KONDA WAERS INCO1 VERSG KDGRP

*&---*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extention Issue & UTF-8 Encoding: 4110

*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path

*ADDED NEW PATH--------------------------------------------------*------------------------------------------------------------------*

*&---------------------------------------------------------------------*

*&--KUNNR VKBUR KONDA WAERS INCO1 VERSG KDGRP--KUNNR KBUR KONDA WAERS INCO1 VERSG KDGRP

*&---------------------------------------------------------------------*

*Issue Found After Transported on 06/12/2024 -- File header Has Commo in Place of Sami-Coloan


REPORT  Z_KNVV_HERO_CUS.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNVV.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNVV.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\raw\in\uk\UK01\KNVV.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


type-pools:TRUXS.


data: begin of itab occurs 0,

      KUNNR like KNVV-KUNNR,

      VKBUR like KNVV-VKBUR,

      KONDA like KNVV-KONDA,

      WAERS like KNVV-WAERS,

      INCO1 like KNVV-INCO1,

      VERSG like KNVV-VERSG,

      KDGRP like KNVV-KDGRP,

*      BUKRS like KNB1-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT  DISTINCT

         KNVV~KUNNR

         KNVV~VKBUR

         KNVV~KONDA

         KNVV~WAERS

         KNVV~INCO1

         KNVV~VERSG

         KNVV~KDGRP

*         KNB1~BUKRS

         from KNVV INNER JOIN KNB1 ON KNVV~KUNNR = KNB1~KUNNR

         INNER JOIN KNA1 ON KNB1~KUNNR = KNA1~KUNNR

         into table itab

         WHERE KNB1~BUKRS = ENTITY.


*"header data

*itab-KUNNR = 'KUNNR'.

*itab-VKBUR = 'VKBUR'.

*itab-KONDA = 'KONDA'.

*itab-WAERS = 'WAERS'.

*itab-INCO1 = 'INCO1'.

*itab-VERSG = 'VERSG'.

*itab-KDGRP = 'KDGRP'.

*Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = opath.


lv_header = 'KUNNR;VKBUR;KONDA;WAERS;INCO1;VERSG;KDGRP'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.



CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

*      data_tab = itab1

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_KNVP_HERO_CUS SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KNVP_HERO_CUS

*&

*& Extract SAP Data For Customer Master Partner Functions SAP TABLE KNVP Into cvs File Called KNVP.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam


*& Date - 24/05/2024

*& Extract SAP Data For Customer Master Partner Functions SAP TABLE KNVP Into cvs File Called KNVP.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 29/07/2024 @17:12

*& Modified by-Vivek Nigam

*& Date - 29/07/2024 @17:12 - Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 29/07/2024 @17:12  ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 29/07/2024 @17:12- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN

*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&---------------------------------------------------------------------*

*&--KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD

*&---*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110

*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path And Added new HFT Path --------------------------------------------------------------------*------------------------------------------------------------------*

*&---------------------------------------------------------------------*

*&--KUNNR PARVW KUNN2 --- KUNNR PARVW KUNN2

*&--https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BEF12D4EF-081C-43AD-9387-D73B90C44DC6%7D&file=00.HERO_design_source_schema_cusomer_SAP.xlsx&action=default&mobileredirect=true---------------------------

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

*Issue Found After Transported on 06/12/2024 -- File header Has Comma in Place of Sami-Colon


REPORT  Z_KNVP_HERO_CUS.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNA1.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNVP.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\raw\in\uk\UK01\KNVP.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.



CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


type-pools:TRUXS.


data: begin of itab occurs 0,

      KUNNR like KNVP-KUNNR,

      PARVW like KNVP-PARVW,

      KUNN2 like KNVP-KUNN2,

*      BUKRS like KNB1-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT  DISTINCT

         KNVP~KUNNR

         KNVP~PARVW

         KNVP~KUNN2

*         KNB1~BUKRS

         FROM KNVP INNER JOIN KNB1 ON KNVP~KUNNR = KNB1~KUNNR

         INNER JOIN KNA1 ON KNB1~KUNNR = KNA1~KUNNR

         into table itab

         WHERE KNB1~BUKRS = ENTITY.


*"header data -- ADD HEADER IN THE CSV FILE AFTER THIS

*itab-KUNNR = 'KUNNR'.

*itab-PARVW = 'PARVW'.

*itab-KUNN2 = 'KUNN2'.

*Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'KUNNR;PARVW;KUNN2'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.



CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

*      data_tab = itab1

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_KNVI_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KNVI_HERO_CUS

*&

*& Extract SAP Data For Customer Master Tax Indicator SAP TABLE KNVI Into cvs File Called KNVI.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam 

*& Date - 15/05/2024


*& Modified by-Vivek Nigam

*& Date - 12/07/2024- Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN

*& UAT DONE - ON 29/07/2024 @ 11:57

*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&--*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110


*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110

*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path0---------------------------------------------------------------------*

*&---------------------------------------------------------------------*

*&--KUNNR TATYP

*&---------------------------------------------------------------------*


REPORT  Z_KNVI_HERO_CUS.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNVI.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\raw\in\uk\UK01\KNVI.csv'.



AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.



type-pools:TRUXS.

data: begin of itab occurs 0,

      KUNNR like KNVI-KUNNR,

      TATYP like KNVI-TATYP,

*      BUKRS like knb1-BUKRS,

      end of itab.

data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT  DISTINCT

         KNVI~KUNNR

         KNVI~TATYP

*         KNB1~BUKRS

         FROM KNVI INNER JOIN KNB1 ON KNVI~KUNNR = KNB1~KUNNR

         into table itab

         WHERE KNB1~BUKRS = ENTITY.


**"header data

*itab-KUNNR = 'KUNNR'.

*itab-TATYP = 'TATYP'.

*Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'KUNNR;TATYP'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.


CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

*      data_tab = itab1

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.

Z_KNB1_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KNB1_HERO_CUS

*&

*& Extract SAP Data For Customer Master (Company Code) SAP TABLE KNB1 Into cvs File Called KNB1.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam 

*& Date - 12/04/2024


*& Modified by-Vivek Nigam

*& Date - 05/07/2024- Added BUKRS FIELD FROM KNB1 AND ADDED WHARE CLAUSE SO THAT DATA CAN BE EXTRACTED BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 25/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN


*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&---------------------------------------------------------------------*

*&--KUNNR ZWELS ZTERM

*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110

*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path0--------------------------------------------------------------------*

***https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BEF12D4EF-081C-43AD-9387-D73B90C44DC6%7D&file=00.HERO_design_source_schema_cusomer_SAP.xlsx&action=default&mobileredirect=true

*Issue Found After Transported on 06/12/2024 -- File header Has Common in Place of Sami-Colon


REPORT  Z_KNB1_HERO_CUS.



TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNB1.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNB1.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\KNB1.csv'.



AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.



type-pools:TRUXS.

data: begin of itab occurs 0,

      kunnr like knb1-kunnr,

      zwels like knb1-zwels,

      zterm like knb1-zterm,

*      BUKRS like knb1-BUKRS,

      end of itab.

data:  itab1 type TRUXS_T_TEXT_DATA.

 select  DISTINCT

         KNB1~kunnr

         KNB1~zwels

         KNB1~zterm

*         KNB1~BUKRS

         FROM KNB1

         into table itab

         WHERE KNB1~BUKRS = ENTITY.


*"header data

*itab-KUNNR = 'KUNNR'.

*itab-ZWELS = 'ZWELS'.

*itab-ZTERM = 'ZTERM'.

*Insert itab index 1.

DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'KUNNR;ZWELS;ZTERM'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.




CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

*      data_tab = itab1

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_KNA1_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_KNA1_HERO_CUS

*&

*& Extract SAP Data For General Data in Customer Master SAP TABLE KNA1 Into cvs File Called KNA1.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 13/04/2024

*& Modified by-Vivek Nigam

*& Date - 03/07/2024 - Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 25/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA

*& LEGAL ENTITY NAME / COMPANY CODE

*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN

*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY

*&---------------------------------------------------------------------*

*&--KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD

*&--KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD

*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extention Issue & UTF-8 Encoding: 4110--------------------------------------------------------------------*

***https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BEF12D4EF-081C-43AD-9387-D73B90C44DC6%7D&file=00.HERO_design_source_schema_cusomer_SAP.xlsx&action=default&mobileredirect=true



REPORT  Z_KNA1_HERO_CUS.

TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNA1.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNA1.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\KNA1.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


**KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD

type-pools:TRUXS.

data: begin of itab occurs 0,

      KUNNR like KNA1-KUNNR,

      MANDT like KNA1-MANDT,

      LAND1 like KNA1-LAND1,

      MCOD1 like KNA1-MCOD1,

      NAME1 like KNA1-NAME1,

      NAME2 like KNA1-NAME2,

      NAME3 like KNA1-NAME3,

      STRAS like KNA1-STRAS,

      ORT01 like KNA1-ORT01,

      PSTLZ like KNA1-PSTLZ,

      SPRAS like KNA1-SPRAS,

      LZONE like KNA1-LZONE,

      KTOKD like KNA1-KTOKD,

*      BUKRS like KNB1-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT  DISTINCT

         KNA1~KUNNR

         KNA1~MANDT

         KNA1~LAND1

         KNA1~MCOD1

         KNA1~NAME1

         KNA1~NAME2

         KNA1~NAME3

         KNA1~STRAS

         KNA1~ORT01

         KNA1~PSTLZ

         KNA1~SPRAS

         KNA1~LZONE

         KNA1~KTOKD

*         KNB1~BUKRS

         from KNA1 INNER JOIN KNB1 ON KNA1~KUNNR = KNB1~KUNNR

         into table itab

         WHERE KNB1~BUKRS = ENTITY.


******"header data -- ADD HEADER IN THE CSV FILE AFTER THIS

***itab-KUNNR = 'KUNNR'.

***itab-MANDT = 'MANDT'.

***itab-LAND1 = 'LAND1'.

***itab-MCOD1 = 'MCOD1'.

***itab-NAME1 = 'NAME1'.

***itab-NAME2 = 'NAME2'.

***itab-NAME3 = 'NAME3'.

***itab-STRAS = 'STRAS'.

***itab-ORT01 = 'ORT01'.

***itab-PSTLZ = 'PSTLZ'.

***itab-SPRAS = 'SPRAS'.

***itab-LZONE = 'LZONE'.

***itab-KTOKD = 'KTOKD'.


**Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'KUNNR;MANDT;LAND1;MCOD1;NAME1;NAME2;NAME3;STRAS;ORT01;PSTLZ;SPRAS;LZONE;KTOKD'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.




CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_GLT0_HERO_GL - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_GLT0_HERO_GL

*&*&---------------------------------------------------------------------*

*& Extract SAP Data For GL GL SAP Data into CSV File GLT0_GL.csv-- FOR ETL 2

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 01/08/2024

*& Developed By - Vivek Nigam

*& Date - 06/08/2024

*&----------https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BE524D52A-40A7-47BB-9FEB-1CEE34F18694%7D&file=02.%20HERO_design_source_schemas_GL_Balances_general_journal.xlsx&action=default&mobileredirect=tru

*&MODIFIED BY VIVEK NIGAM DATED 17/11/2024 @20:48 PM

*&RACCT RPMAX RACCT RYEAR RPMAX RTCUR DRCRK TSLVT TSL01 TSL02 TSL03 TSL04 TSL05 TSL06 TSL07

*&TSL08 TSL09 TSL10 TSL11 TSL12 TSL13 TSL14 TSL15 TSL16

*& RACCT  RPMAX RACCT RYEAR RPMAX RTCUR DRCRK TSLVT TSL01 TSL02 TSL03 TSL04 TSL05 TSL06 TSL07 TSL08 TSL09 TSL10 TSL11 TSL12 TSL13 TSL14 TSL15 TSL16

*RACCT  RYEAR RTCUR DRCRK TSLVT HSLVT TSL01 HSL01 TSL02 HSL02 TSL03 HSL03 TSL04 HSL04 TSL05 HSL05 TSL06 HSL06 TSL07 HSL07 TSL08 HSL08 TSL09 HSL09 TSL10 HSL10 TSL11 HSL11 TSL12 HSL12 TSL13 HSL13 TSL14 HSL14 TSL15 HSL15 TSL16 HSL16

**https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BE524D52A-40A7-47BB-9FEB-1CEE34F18694%7D&file=02.%20HERO_design_source_schemas_GL_Balances_general_journal.xlsx&action=default&mobileredirect=true

**Created new Transtaion Code To Fix the Pervious Transport Issue- Created New Transtaion Code

*Added By Vivek Nigam Dated 02-12-2024 @ 11:09 AM

*&---------------------------------------------------------------------*

*Updated Again Dated On 09/12/2024 @ 13:45 To Fix By default SAP stores the '-' ve sign at the end of the value. And Format Issue Curreny Issue

*&---------------------------------------------------------------------*


REPORT  Z_GLT0_HERO_GL.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\GLT0_GL.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\GLT0_GL.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\GLT0_GL.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\GLT0_GL.csv'.


AT SELECTION-SCREEN OUTPUT.


  NAME = 'ENTITY'.


  VALUE-KEY = 'UK01'.

  VALUE-TEXT = 'UK01'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK75'.

  VALUE-TEXT = 'UK75'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK21'.

  VALUE-TEXT = 'UK21'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK31'.

  VALUE-TEXT = 'UK31'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK41'.

  VALUE-TEXT = 'UK41'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK02'.

  VALUE-TEXT = 'UK02'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK73'.

  VALUE-TEXT = 'UK73'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK04'.

  VALUE-TEXT = 'UK04'.

  APPEND VALUE TO LIST.


  VALUE-KEY = 'UK61'.

  VALUE-TEXT = 'UK61'.

  APPEND VALUE TO LIST.


  CALL FUNCTION 'VRM_SET_VALUES'

    EXPORTING

      ID     = NAME

      VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


  type-pools:TRUXS.

  data: begin of itab occurs 0,


        RACCT like GLT0-RACCT,

        RYEAR like GLT0-RYEAR,

*   *&------   RPMAX like GLT0-RPMAX,


*   *&------RPMAX like GLT0-RPMAX,

        RTCUR like GLT0-RTCUR,

        DRCRK like GLT0-DRCRK,

        TSLVT like GLT0-TSLVT,

        HSLVT like GLT0-HSLVT,

        TSL01 like GLT0-TSL01,

        HSL01 like GLT0-HSL01,

        TSL02 like GLT0-TSL02,

        HSL02 like GLT0-HSL02,

        TSL03 like GLT0-TSL03,

        HSL03 like GLT0-HSL03,

        TSL04 like GLT0-TSL04,

        HSL04 like GLT0-HSL04,

        TSL05 like GLT0-TSL05,

        HSL05 like GLT0-HSL05,

        TSL06 like GLT0-TSL06,

        HSL06 like GLT0-HSL06,

        TSL07 like GLT0-TSL07,

        HSL07 like GLT0-HSL07,

        TSL08 like GLT0-TSL08,

        HSL08 like GLT0-HSL08,

        TSL09 like GLT0-TSL09,

        HSL09 like GLT0-HSL09,

        TSL10 like GLT0-TSL10,

        HSL10 like GLT0-HSL10,

        TSL11 like GLT0-TSL11,

        HSL11 like GLT0-HSL11,

        TSL12 like GLT0-TSL12,

        HSL12 like GLT0-HSL12,

        TSL13 like GLT0-TSL13,

        HSL13 like GLT0-HSL13,

        TSL14 like GLT0-TSL14,

        HSL14 like GLT0-HSL14,

        TSL15 like GLT0-TSL15,

        HSL15 like GLT0-HSL15,

        TSL16 like GLT0-TSL16,

        HSL16 like GLT0-HSL16,


*      TSL01 like GLT0-TSL01,

*      TSL02 like GLT0-TSL02,

*

*      TSL03 like GLT0-TSL03,

*      TSL04 like GLT0-TSL04,

*      TSL05 like GLT0-TSL05,

*      TSL06 like GLT0-TSL06,

*

*      TSL07 like GLT0-TSL07,

*      TSL08 like GLT0-TSL08,

*      TSL09 like GLT0-TSL09,

*      TSL10 like GLT0-TSL10,

*

*      TSL11 like GLT0-TSL11,

*      TSL12 like GLT0-TSL12,

*      TSL13 like GLT0-TSL13,

*      TSL14 like GLT0-TSL14,

*

*      TSL15 like GLT0-TSL15,

*      TSL16 like GLT0-TSL16,




*      BUKRS like GLT0-BUKRS,


        end of itab.



*"header data

*      itab-RACCT = 'RACCT'.

*      itab-RYEAR = 'RYEAR'.

*      itab-RTCUR = 'RTCUR'.

*      itab-DRCRK = 'DRCRK'.

*      itab-TSLVT = 'TSLVT'.

*      itab-HSLVT = 'HSLVT'.

*      itab-TSL01 = 'TSL01'.

*      itab-HSL01 = 'HSL01'.

*      itab-TSL02 = 'TSL02'.

*      itab-HSL02 = 'HSL02'.

*      itab-TSL03 = 'TSL03'.

*      itab-HSL03 = 'HSL03'.

*      itab-TSL04 = 'TSL04'.

*      itab-HSL04 = 'HSL04'.

*      itab-TSL05 = 'TSL05'.

*      itab-HSL05 = 'HSL05'.

*      itab-TSL06 = 'TSL06'.

*      itab-HSL06 = 'HSL06'.

*      itab-TSL07 = 'TSL07'.

*      itab-HSL07 = 'HSL07'.

*      itab-TSL08 = 'TSL08'.

*      itab-HSL08 = 'HSL08'.

*      itab-TSL09 = 'TSL09'.

*      itab-HSL09 = 'HSL09'.

*      itab-TSL10 = 'TSL10'.

*      itab-HSL10 = 'HSL10'.

*      itab-TSL11 = 'TSL11'.

*      itab-HSL11 = 'HSL11'.

*      itab-TSL12 = 'TSL12'.

*      itab-HSL12 = 'HSL12'.

*      itab-TSL13 = 'TSL13'.

*      itab-HSL13 = 'HSL13'.

*      itab-TSL14 = 'TSL14'.

*      itab-HSL14 = 'HSL14'.

*      itab-TSL15 = 'TSL15'.

*      itab-HSL15 = 'HSL15'.

*      itab-TSL16 = 'TSL16'.

*      itab-HSL16 = 'HSL16'.

*itab-BUKRS = 'BUKRS'.

*Insert itab index 1.


  data:  itab1 type TRUXS_T_TEXT_DATA.

*         lv_HSL01 like GLT0-HSL01.


  SELECT  DISTINCT

          GLT0~RACCT

*         GLT0~RPMAX

          GLT0~RYEAR

*         GLT0~RPMAX

          GLT0~RTCUR

          GLT0~DRCRK

          GLT0~TSLVT

          GLT0~HSLVT

          GLT0~TSL01

           GLT0~HSL01

           GLT0~TSL02

           GLT0~HSL02

           GLT0~TSL03

           GLT0~HSL03

           GLT0~TSL04

           GLT0~HSL04

           GLT0~TSL05

           GLT0~HSL05

           GLT0~TSL06

           GLT0~HSL06

           GLT0~TSL07

           GLT0~HSL07

           GLT0~TSL08

           GLT0~HSL08

           GLT0~TSL09

           GLT0~HSL09

           GLT0~TSL10

           GLT0~HSL10

           GLT0~TSL11

           GLT0~HSL11

           GLT0~TSL12

           GLT0~HSL12

           GLT0~TSL13

           GLT0~HSL13

           GLT0~TSL14

           GLT0~HSL14

           GLT0~TSL15

           GLT0~HSL15

           GLT0~TSL16

           GLT0~HSL16


*         GLT0~TSL01

*         GLT0~TSL02

*         GLT0~TSL03

*         GLT0~TSL04

*

*         GLT0~TSL05

*         GLT0~TSL06

*         GLT0~TSL07

*         GLT0~TSL08

*

*         GLT0~TSL09

*         GLT0~TSL10

*         GLT0~TSL11

*         GLT0~TSL12

*

*         GLT0~TSL13

*         GLT0~TSL14

*         GLT0~TSL15

*         GLT0~TSL16


*         GLT0~BUKRS



          from GLT0

          into table itab

          WHERE GLT0~RYEAR IN (sy-datum(4)) AND GLT0~BUKRS = ENTITY.


  DATA: lt_output   TYPE TABLE OF string,

        lv_header   TYPE string,

        lv_line     TYPE string,

        lv_filename TYPE string.


  lv_filename = opath.


  lv_header = 'RACCT;RYEAR;RTCUR;DRCRK;TSLVT;HSLVT;TSL01;HSL01;TSL02;HSL02;TSL03;HSL03;TSL04;HSL04;TSL05;HSL05;TSL06;HSL06;TSL07;HSL07;TSL08;HSL08;TSL09;HSL09;TSL10;HSL10;TSL11;HSL11;TSL12;HSL12;TSL13;HSL13;TSL14;HSL14;TSL15;HSL15;TSL16;HSL16'.


* Add the header to the output table

  APPEND lv_header TO lt_output.

*CLOSE DATASET lv_filename.


* By default SAP stores the '-' ve sign at the end of the value.

*  CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'

*    CHANGING

*      VALUE         = itab1-tSL02.


  CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

    EXPORTING

      I_FIELD_SEPERATOR    = ','

    TABLES

      I_TAB_SAP_DATA       = itab

    CHANGING

      I_TAB_CONVERTED_DATA = itab1

    EXCEPTIONS

      CONVERSION_FAILED    = 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.


*  APPEND LINES OF itab1 To lt_output.


  DATA:lt_output1   TYPE TABLE OF string,  " Output table for corrected rows

      lv_row      TYPE string,          " A single row from itab1

      lt_columns  TYPE TABLE OF string, " Split columns from the row

      lv_column   TYPE string.          " A single column value


  " Process each row in itab1

  LOOP AT itab1 INTO lv_row.

    " Split the row into columns using semicolon as a delimiter

    SPLIT lv_row AT ';' INTO TABLE lt_columns.


    " Process each column in the row

    LOOP AT lt_columns INTO lv_column.

      " Step 1: Remove thousand separators (period)

      REPLACE ALL OCCURRENCES OF '.' IN lv_column WITH ''.


      " Step 2: Replace decimal separator (comma) with a period

      REPLACE ALL OCCURRENCES OF ',' IN lv_column WITH '.'.


      " Step 3: Move negative sign to the front

      IF lv_column CP '*-*'.

        SHIFT lv_column RIGHT DELETING TRAILING '-'.

        CONCATENATE '-' lv_column INTO lv_column.

        CONDENSE lv_column NO-GAPS.

      ENDIF.


      " Update the column value in lt_columns

      MODIFY lt_columns FROM lv_column INDEX sy-tabix.

    ENDLOOP.


    " Reassemble the processed columns into a corrected row

    CLEAR lv_row.

    LOOP AT lt_columns INTO lv_column.

      IF lv_row IS INITIAL.

        lv_row = lv_column.

      ELSE.

        CONCATENATE lv_row lv_column INTO lv_row SEPARATED BY ';'.

      ENDIF.

    ENDLOOP.


    " Add the corrected row to the output table

    APPEND lv_row TO lt_output1.

  ENDLOOP.


  APPEND LINES OF lt_output1 TO lt_output.


  CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

      CODEPAGE = '4110' "4310 codepage 4310 encodes as UTF-8.

    TABLES

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_GLT0_HERO_BANK - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_GLT0_HERO_BANK

*&---------------------------------------------------------------------*

*&

*& Extract SAP Data For General Data in GL BANK SAP TABLE GLT0 Into cvs File Called GLT0_BANK.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 01/08/2024

*& RACCT  RYEAR RPMAX RTCUR DRCRK TSLVT

*&ATRIBUITE WHICH NEED TO BE ADDED ARE - RACCT  RYEAR RPMAX RTCUR DRCRK TSLVT

*&RACCT RYEAR RTCUR DRCRK TSLVT HSLVT TSL01 HSL01 TSL02 HSL02 TSL03 HSL03 TSL04 HSL04 TSL05 HSL05 TSL06 HSL06 TSL07 HSL07 TSL08 HSL08 TSL09 HSL09 TSL10 HSL10 TSL11 HSL11 TSL12 HSL12 TSL13 HSL13 TSL14 HSL14 TSL15 HSL15 TSL16 HSL16

***PROGRAM MODIFYED BY VIVEK NIGAM AGAIN DATED ON 17/11/2024 @ 21:04

***https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BA16718DA-3696-4DF7-BE0E-17471E664B55%7D&file=02.%20HERO_design_source_schemas_Bank_Balances_general_journal.xlsx&action=default&mobileredirect=true

**Created new Transaction Code To Fix the Pervious Transport Issue- Created New Transaction Code

*Added By Vivek Nigam Dated 02-12-2024 @ 11:09 AM

*Updated Again Dated On 09/12/2024 @ 13:45 To Fix By default SAP stores the '-' ve sign at the end of the value. And Format Issue Currency Issue

*&---------------------------------------------------------------------*


REPORT  Z_GLT0_HERO_BANK.

TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.

*&--PARAMETERS : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\GLT0_BANK.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\GLT0_BANK.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\GLT0_BANK.csv'.



AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.




CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.

*      RPMAX like GLT0-RPMAX,--- Excluded Ticket No - TASK 1339852

*         GLT0~RPMAX --- Excluded Ticket No - TASK 1339852 - FROM SQL QUERY


*

*RACCT  RYEAR RTCUR DRCRK TSLVT

*HSLVT  TSL01 HSL01 TSL02 HSL02 TSL03 HSL03 TSL04 HSL04 TSL05 HSL05 TSL06 HSL06 TSL07 HSL07 TSL08 HSL08 TSL09 HSL09 TSL10 HSL10 TSL11 HSL11 TSL12 HSL12 TSL13 HSL13 TSL14 HSL14 TSL15 HSL15 TSL16 HSL16

type-pools:TRUXS.

data: begin of itab occurs 0,

      RACCT like GLT0-RACCT,

      RYEAR like GLT0-RYEAR,

      RTCUR like GLT0-RTCUR,

      DRCRK like GLT0-DRCRK,

      TSLVT like GLT0-TSLVT,

      HSLVT like GLT0-HSLVT,

      TSL01 like GLT0-TSL01,

      HSL01 like GLT0-HSL01,

      TSL02 like GLT0-TSL02,

      HSL02 like GLT0-HSL02,

      TSL03 like GLT0-TSL03,

      HSL03 like GLT0-HSL03,

      TSL04 like GLT0-TSL04,

      HSL04 like GLT0-HSL04,

      TSL05 like GLT0-TSL05,

      HSL05 like GLT0-HSL05,

      TSL06 like GLT0-TSL06,

      HSL06 like GLT0-HSL06,

      TSL07 like GLT0-TSL07,

      HSL07 like GLT0-HSL07,

      TSL08 like GLT0-TSL08,

      HSL08 like GLT0-HSL08,

      TSL09 like GLT0-TSL09,

      HSL09 like GLT0-HSL09,

      TSL10 like GLT0-TSL10,

      HSL10 like GLT0-HSL10,

      TSL11 like GLT0-TSL11,

      HSL11 like GLT0-HSL11,

      TSL12 like GLT0-TSL12,

      HSL12 like GLT0-HSL12,

      TSL13 like GLT0-TSL13,

      HSL13 like GLT0-HSL13,

      TSL14 like GLT0-TSL14,

      HSL14 like GLT0-HSL14,

      TSL15 like GLT0-TSL15,

      HSL15 like GLT0-HSL15,

      TSL16 like GLT0-TSL16,

      HSL16 like GLT0-HSL16,

*      BUKRS like GLT0-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.

 SELECT  DISTINCT

         GLT0~RACCT

         GLT0~RYEAR

         GLT0~RTCUR

         GLT0~DRCRK

         GLT0~TSLVT


         GLT0~HSLVT

         GLT0~TSL01

          GLT0~HSL01

          GLT0~TSL02

          GLT0~HSL02

          GLT0~TSL03

          GLT0~HSL03

          GLT0~TSL04

          GLT0~HSL04

          GLT0~TSL05

          GLT0~HSL05

          GLT0~TSL06

          GLT0~HSL06

          GLT0~TSL07

          GLT0~HSL07

          GLT0~TSL08

          GLT0~HSL08

          GLT0~TSL09

          GLT0~HSL09

          GLT0~TSL10

          GLT0~HSL10

          GLT0~TSL11

          GLT0~HSL11

          GLT0~TSL12

          GLT0~HSL12

          GLT0~TSL13

          GLT0~HSL13

          GLT0~TSL14

          GLT0~HSL14

          GLT0~TSL15

          GLT0~HSL15

          GLT0~TSL16

          GLT0~HSL16


*         GLT0~BUKRS

         from GLT0

         into table itab

         WHERE GLT0~RYEAR IN (sy-datum(4)) AND GLT0~BUKRS = ENTITY

         AND GLT0~RACCT IN

('0019601010','0019601011','0019601015','0019601016','0019601000','0019601001','0019601005','0019601006','0019601020','0019601021','0019601025','0019601026','0019601100','0019601101','0019601105','0019601106','0019601030','0019601031',

'0019601035','0019601036','0019601110','0019601111','0019601115','0019601116','0019601130','0019601131','0019601135','0019601136','0019601120','0019601121','0019601125','0019601126','0019605030','0019605031','0019605035','0019605036','0019605190',

'0019605191','0019605195','0019605196','0019605040','0019605041','0019605045','0019605046','0019605050','0019605051','0019605055','0019605056','0019605080','0019605081','0019605085','0019605086','0019605090','0019605091','0019605095','0019605096',

'0019605000','0019605001','0019605005','0019605006','0019605100','0019605101','0019605105','0019605106','0019605110','0019605111','0019605115','0019605116','0019605120','0019605121','0019605125','0019605126','0019605140','0019605141','0019605145',

'0019605146','0019605150','0019605151','0019605155','0019605156','0019605160','0019605161','0019605165','0019605166','0019605180','0019605181','0019605185','0019605186','0019605010','0019605011','0019605015','0019605016','0019605060','0019605061',

'0019605065','0019605066','0019605130','0019605131','0019605135','0019605136','0019605200','0019605201','0019605205','0019605206','0019605070','0019605071','0019605075','0019605076','0019601140','0019601141','0019601145','0019601146','0019601150',

'0019601151','0019601155','0019601156','0000001700','0000001788','0000001780','0019601050','0019601051','0019601055','0019601056','0019601060','0019601061','0019601065','0019601066','0019601070','0019601071','0019601075','0019601076','0000001770',

'0000001710','0019601080','0019601081','0019601085','0019601086','0019601090','0019601091','0019601095','0019601096','0019601160','0019601161','0019601166','BNKCHF','0000001790').


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'RACCT;RYEAR;RTCUR;DRCRK;TSLVT;HSLVT;TSL01;HSL01;TSL02;HSL02;TSL03;HSL03;TSL04;HSL04;TSL05;HSL05;TSL06;HSL06;TSL07;HSL07;TSL08;HSL08;TSL09;HSL09;TSL10;HSL10;TSL11;HSL11;TSL12;HSL12;TSL13;HSL13;TSL14;HSL14;TSL15;HSL15;TSL16;HSL16'.



* Add the header to the output table

APPEND lv_header TO lt_output.



*CLOSE DATASET lv_filename.



CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


*APPEND LINES OF itab1 To lt_output.


DATA:lt_output1   TYPE TABLE OF string,  " Output table for corrected rows

      lv_row      TYPE string,          " A single row from itab1

      lt_columns  TYPE TABLE OF string, " Split columns from the row

      lv_column   TYPE string.          " A single column value


  " Process each row in itab1

  LOOP AT itab1 INTO lv_row.

    " Split the row into columns using semicolon as a delimiter

    SPLIT lv_row AT ';' INTO TABLE lt_columns.


    " Process each column in the row

    LOOP AT lt_columns INTO lv_column.

      " Step 1: Remove thousand separators (period)

      REPLACE ALL OCCURRENCES OF '.' IN lv_column WITH ''.


      " Step 2: Replace decimal separator (comma) with a period

      REPLACE ALL OCCURRENCES OF ',' IN lv_column WITH '.'.


      " Step 3: Move negative sign to the front

      IF lv_column CP '*-*'.

        SHIFT lv_column RIGHT DELETING TRAILING '-'.

        CONCATENATE '-' lv_column INTO lv_column.

        CONDENSE lv_column NO-GAPS.

      ENDIF.


      " Update the column value in lt_columns

      MODIFY lt_columns FROM lv_column INDEX sy-tabix.

    ENDLOOP.


    " Reassemble the processed columns into a corrected row

    CLEAR lv_row.

    LOOP AT lt_columns INTO lv_column.

      IF lv_row IS INITIAL.

        lv_row = lv_column.

      ELSE.

        CONCATENATE lv_row lv_column INTO lv_row SEPARATED BY ';'.

      ENDIF.

    ENDLOOP.


    " Add the corrected row to the output table

    APPEND lv_row TO lt_output1.

  ENDLOOP.


  APPEND LINES OF lt_output1 TO lt_output.



   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_EKPO_HERO_PO - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------*

*& Report  Z_EKPO_HERO_PO

*&*&  Extract SAP Purchase Order EKPO Data from SAP Table To csv file called EKPO.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 20/12/2024 @ 15:53 PM

*&---------------------------------------------------------------------*

*& Modified by-Vivek Nigam

*& Date -

*& Modified on

**'- Material type

**- Filter where [Del. Compl] = "No"

**- Extract purchase order only last 18 months

***EBELN  MATNR EAN11 NETPR PEINH MENGE MEINS LGORT

**'Include materials that:

**Have a 7-digit reference AND

**Start with a 4 AND

**Do not include # in the description (EKPO.TXZ01) AND

**Have had a transaction in the last 18 months (ie date >= 1st October 2023 ;EKKO.EAEDAT) AND

**Have an open purchase order line item associated with it

**DO NOT INCLUDE purchase order line items that have been deleted [Deletion Indicator in Purchasing Document = 'L' (field LOEKZ in table EKPO)


*&---------------------------------------------------------------------*

****& https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BDD491D0A-7C54-4F85-BF3B-9D026F775FB8%7D&file=03.HERO_design_source_schemas_open_purchase_orders.xlsx&action=default&mobileredirect=true

***EKKO -- EBELN  MATNR EAN11 NETPR PEINH MENGE MEINS LGORT

****&Legal Entities UK01

***Rules  .CSV

*** UTF-8

*** Delimiter separator ;

*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*

*&EKKO  "- Material type

****- Filter where [Del. Compl] = ""No""

****- Extract purchase order only last 18 months"  Include PO headers that have an open PO line item (link between line item and header table is EBELN Purchasing Document Number) TBC

****&EKPO "- Material type

***- Filter where [Del. Compl] = ""No""

***- Extract purchase order only last 18 months"  "Include materials that:

***Have a 7-digit reference [from MARA or EKPO TBC] AND

***Start with a 4 AND

***Do not include # in the description [EKPO.TXZ01 or MAKT table TBC] AND

***Have had a transaction in the last 18 months (ie date >= 1st October 2023 ;EKKO.EAEDAT) AND

***Have an open purchase order line item associated with it

***DO NOT INCLUDE purchase order line items that have been deleted [Deletion Indicator in Purchasing Document = 'L' (field LOEKZ in table EKPO)"

*&---------------------------------------------------------------------*

**This Program Has Been Updated Dated 06/01/2025 @ 13:40 By Vivek Nigam To Fix Run Time Excution Issue

***EBELN  MATNR EAN11 NETPR PEINH MENGE MEINS LGORT NOTE

**Updated on 17/01/2025 - AND EKPO~ELIKZ = ''  --ELIKZ  "Delivery Completed" Indicator


REPORT  Z_EKPO_HERO_PO.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.


*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\EKPO.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\EKPO.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\EKPO.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.


****EBELN MATNR EAN11 NETPR PEINH MENGE MEINS LGORT


type-pools:TRUXS.

data: begin of itab occurs 0,

      EBELN like EKPO-EBELN,

      MATNR like MARA-MATNR,

      EAN11 like EKPO-EAN11,

      NETPR like EKPO-NETPR,

      PEINH like EKPO-PEINH,

      MENGE like EKPO-MENGE,

      MEINS like EKPO-MEINS,

      LGORT like EKPO-LGORT,

*       BUKRS like MSEG-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.


*START-OF-SELECTION.

*

*  BREAK-POINT.


*" NOTE: '_' in SELECT statement means exactly 12 Character

*" NOTE: '%' in SELECT statement means 0 or many Characters

*" Select for all company codes having '12' in second place...


*DATA:lv_date TYPE sy-datum.


* Calculate the date one year before today

*lv_date = sy-datum - 546.


 SELECT DISTINCT

      EKPO~EBELN

      MARA~MATNR

      EKPO~EAN11

      EKPO~NETPR

      EKPO~PEINH

      EKPO~MENGE

      EKPO~MEINS

      EKPO~LGORT

*   MSEG~BUKRS

         FROM MARA

         INNER JOIN MAKT

         ON MARA~MATNR EQ MAKT~MATNR

*         INNER JOIN MARD

*         ON MARA~MATNR EQ MARD~MATNR

         INNER JOIN MSEG

         ON MARA~MATNR EQ MSEG~MATNR

         INNER JOIN EKPO

         ON MARA~MATNR EQ EKPO~MATNR

         INNER JOIN EKKO

         ON EKPO~EBELN EQ EKKO~EBELN

         INNER JOIN EKET

         ON EKET~EBELN EQ EKKO~EBELN


         into table itab

         WHERE MSEG~BUKRS = ENTITY AND MARA~MATNR LIKE '000000000004%' AND MAKT~MAKTX NOT LIKE '#%' AND EKKO~AEDAT >= '20231001' AND EKPO~LOEKZ NOT IN ('L') AND EKPO~ELIKZ = ''.

**AND MARD~LABST > 0

*         AND LENGTH(MARA~MATNR) = 8 AND MARA~MATNR LIKE '00000000000%' AND EKKO~AEDAT >= lv_date


*"header data -- ADD HEADER IN THE CSV FILE AFTER THIS

*itab-MATNR = 'MATNR'.

*itab-MEINS = 'MEINS'.

*itab-MAKTX = 'MAKTX'.

*itab-EAN11 = 'EAN11'.

*Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'EBELN;MATNR;EAN11;NETPR;PEINH;MENGE;MEINS;LGORTT'.


* Add the header to the output table

APPEND lv_header TO lt_output.



CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


*---Below Code Added By Vivek Nigam Dated - 23/12/2024 @ 13:58

DATA:lt_output1   TYPE TABLE OF string,  " Output table for corrected rows

      lv_row      TYPE string,          " A single row from itab1

      lt_columns  TYPE TABLE OF string, " Split columns from the row

      lv_column   TYPE string.          " A single column value


  " Process each row in itab1

  LOOP AT itab1 INTO lv_row.

    " Split the row into columns using semicolon as a delimiter

    SPLIT lv_row AT ';' INTO TABLE lt_columns.


    " Process each column in the row

    LOOP AT lt_columns INTO lv_column.

      " Step 1: Remove thousand separators (period)

      REPLACE ALL OCCURRENCES OF '.' IN lv_column WITH ''.


      " Step 2: Replace decimal separator (comma) with a period

      REPLACE ALL OCCURRENCES OF ',' IN lv_column WITH '.'.


*      " Step 3: Move negative sign to the front

**      IF lv_column CP '*-*'.

**        SHIFT lv_column RIGHT DELETING TRAILING '-'.

**        CONCATENATE '-' lv_column INTO lv_column.

**        CONDENSE lv_column NO-GAPS.

**      ENDIF.


      " Update the column value in lt_columns

      MODIFY lt_columns FROM lv_column INDEX sy-tabix.

    ENDLOOP.


    " Reassemble the processed columns into a corrected row

    CLEAR lv_row.

    LOOP AT lt_columns INTO lv_column.

      IF lv_row IS INITIAL.

        lv_row = lv_column.

      ELSE.

        CONCATENATE lv_row lv_column INTO lv_row SEPARATED BY ';'.

      ENDIF.

    ENDLOOP.


    " Add the corrected row to the output table

    APPEND lv_row TO lt_output1.

  ENDLOOP.


  APPEND LINES OF lt_output1 TO lt_output.

*--Upto Here Code Remove To Format in Currency -----


**APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.


Z_EKKO_HERO_PO - SAP DATA EXTRACT USING ABAP PROGARM

 *&---------------------------------------------------------------------*

*& Report  Z_EKKO_HERO_PO


*&  Extract SAP Purchase Order EKKO Data from SAP Table To csv file called EKKO.csv

*&---------------------------------------------------------------------*

*& Developed By - Vivek Nigam

*& Date - 20/12/2024 @ 11:10  AM

*&---------------------------------------------------------------------*

*& Modified by-Vivek Nigam

*& Date -

*& Modified on

**'- Material type

**- Filter where [Del. Compl] = "No"

**- Extract purchase order only last 18 months


**'Include materials that:

**Have a 7-digit reference AND

**Start with a 4 AND

**Do not include # in the description (EKPO.TXZ01) AND

**Have had a transaction in the last 18 months (ie date >= 1st October 2023 ;EKKO.EAEDAT) AND

**Have an open purchase order line item associated with it

**DO NOT INCLUDE purchase order line items that have been deleted [Deletion Indicator in Purchasing Document = 'L' (field LOEKZ in table EKPO)


*&---------------------------------------------------------------------*

****& https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BDD491D0A-7C54-4F85-BF3B-9D026F775FB8%7D&file=03.HERO_design_source_schemas_open_purchase_orders.xlsx&action=default&mobileredirect=true

***EKKO -- EBELN  LIFNR IHREZ WAERS ERNAM BEDAT

****&Legal Entities UK01

***Rules  .CSV

*** UTF-8

*** Delimiter separator ;

**EKKO  "- Material type

**- Filter where [Del. Compl] = ""No""

**- Extract purchase order only last 18 months" Include PO headers that have an open PO line item (link between line item and header table is EBELN Purchasing Document Number) TBC

***Issue Found After Deployed The TR in UK2/UKU. Need To Change The Query Dated 30/12/2024 @ 12:48 PM

*&---------------------------------------------------------------------*

**This Program Has Been Updated Dated 06/01/2025 @ 13:07 By Vivek Nigam To Fix Run Time Excution Issue

***EBELN  MATNR LIFNR IHREZ WAERS ERNAM BEDAT

**Updated on 17/01/2025 - AND EKPO~ELIKZ = ''  --ELIKZ  "Delivery Completed" Indicator


REPORT  Z_EKKO_HERO_PO.


TYPE-POOLS: VRM.


DATA: NAME  TYPE VRM_ID,

      LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.



PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.


*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\EKKO.csv'.

*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\EKKO.csv'.

PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\EKKO.csv'.


AT SELECTION-SCREEN OUTPUT.


NAME = 'ENTITY'.


VALUE-KEY = 'UK01'.

VALUE-TEXT = 'UK01'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK75'.

VALUE-TEXT = 'UK75'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK21'.

VALUE-TEXT = 'UK21'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK31'.

VALUE-TEXT = 'UK31'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK41'.

VALUE-TEXT = 'UK41'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK02'.

VALUE-TEXT = 'UK02'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK73'.

VALUE-TEXT = 'UK73'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK04'.

VALUE-TEXT = 'UK04'.

APPEND VALUE TO LIST.


VALUE-KEY = 'UK61'.

VALUE-TEXT = 'UK61'.

APPEND VALUE TO LIST.


CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.


*&------PARAMETERS p_lname TYPE char5.

*&------PARAMETERS p_oppath TYPE char50.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.

*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.


*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.


START-OF-SELECTION.


*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.


*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.



type-pools:TRUXS.

data: begin of itab occurs 0,

      EBELN like EKKO-EBELN,

      MATNR like MARA-MATNR,

      LIFNR like EKKO-LIFNR,

      IHREZ like EKKO-IHREZ,

      WAERS like EKKO-WAERS,

      ERNAM like EKKO-ERNAM,

      BEDAT like EKKO-BEDAT,

*       BUKRS like MSEG-BUKRS,

      end of itab.


data:  itab1 type TRUXS_T_TEXT_DATA.


*START-OF-SELECTION.

*

*  BREAK-POINT.


*" NOTE: '_' in SELECT statement means exactly 12 Character

*" NOTE: '%' in SELECT statement means 0 or many Characters

*" Select for all company codes having '12' in second place...


*DATA:lv_date TYPE sy-datum.


* Calculate the date one year before today

*lv_date = sy-datum - 546.


 SELECT DISTINCT

      EKKO~EBELN

      MARA~MATNR

      EKKO~LIFNR

      EKKO~IHREZ

      EKKO~WAERS

      EKKO~ERNAM

      EKKO~BEDAT

*   MSEG~BUKRS

         FROM MARA

         INNER JOIN MAKT

         ON MARA~MATNR EQ MAKT~MATNR

*         INNER JOIN MARD

*         ON MARA~MATNR EQ MARD~MATNR

         INNER JOIN MSEG

         ON MARA~MATNR EQ MSEG~MATNR

         INNER JOIN EKPO

         ON MARA~MATNR EQ EKPO~MATNR

         INNER JOIN EKKO

         ON EKPO~EBELN EQ EKKO~EBELN

         INNER JOIN EKET

         ON EKET~EBELN EQ EKKO~EBELN


         into table itab

**         WHERE MSEG~BUKRS = ENTITY AND MARA~MATNR LIKE '000000000004%' AND EKPO~LOEKZ NOT IN ('L') AND MAKT~MAKTX NOT LIKE '#%' AND EKKO~AEDAT >= '20231001'.

         WHERE MSEG~BUKRS = ENTITY AND MARA~MATNR LIKE '000000000004%' AND MAKT~MAKTX NOT LIKE '#%' AND EKKO~AEDAT >= '20231001' AND EKPO~LOEKZ NOT IN ('L') AND EKPO~ELIKZ = ''.

**          **AND MARD~LABST > 0


*         AND LENGTH(MARA~MATNR) = 8 AND MARA~MATNR LIKE '00000000000%' AND EKKO~AEDAT >= lv_date


*"header data -- ADD HEADER IN THE CSV FILE AFTER THIS

*itab-MATNR = 'MATNR'.

*itab-MEINS = 'MEINS'.

*itab-MAKTX = 'MAKTX'.

*itab-EAN11 = 'EAN11'.

*Insert itab index 1.


DATA: lt_output   TYPE TABLE OF string,

      lv_header   TYPE string,

      lv_line     TYPE string,

      lv_filename TYPE string.


lv_filename = OPATH.


lv_header = 'EBELN;MATNR;LIFNR;IHREZ;WAERS;ERNAM;BEDAT'.


* Add the header to the output table

APPEND lv_header TO lt_output.



CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'

 EXPORTING

   I_FIELD_SEPERATOR          = ','

  TABLES

    I_TAB_SAP_DATA             = itab

 CHANGING

   I_TAB_CONVERTED_DATA       =  itab1

 EXCEPTIONS

   CONVERSION_FAILED          = 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.


APPEND LINES OF itab1 To lt_output.


   CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      filename = OPATH

    CODEPAGE = '4110' "4310 codepage 4310  encodes as UTF-8.

    TABLES

      data_tab = lt_output

    EXCEPTIONS

      OTHERS   = 1.

Z_KOMGG_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

 *&---------------------------------------------------------------------* *& Report  Z_KOMGG_HERO_CUS *& *&-----------------...