Tuesday, 20 May 2025

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.


No comments:

Post a Comment

Z_KOMGG_HERO_CUS - SAP DATA EXTRACT USING ABAP PROGRAM

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