BP transection BDC Program In SAP ABAP.
BDC Program for BP transection.
REPORT ZTCS_TAXCLASSIFIED_UPLOAD.
INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_TOP2.INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD2.
INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_SUB2.
INITIALIZATION.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
CALL FUNCTION 'F4_FILENAME'
* EXPORTING
* PROGRAM_NAME = SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
file_name = p_path.
START-OF-SELECTION.
PERFORM get_excel_data.
PERFORM call_bdc.
====================================================================================
*&---------------------------------------------------------------------*
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_TOP2
*&---------------------------------------------------------------------*
DATA : SERIAL TYPE I.
TYPES : BEGIN OF TYP_FINAL,
OPEN_NUMBER(10),
PARTNER_ROLE(7),
TAXKD(1),
END OF TYP_FINAL.
FIELD-SYMBOLS: <FS_FINAL> TYPE TYP_FINAL.
FIELD-SYMBOLS : <FS>.
DATA : IT_FINAL TYPE STANDARD TABLE OF TYP_FINAL,
WA_FINAL TYPE TYP_FINAL,
IT_EXCEL TYPE STANDARD TABLE OF ALSMEX_TABLINE,
WA_EXCEL TYPE ALSMEX_TABLINE,
BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
INDEX TYPE I,
MSG TYPE STRING.
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_TOP2
*&---------------------------------------------------------------------*
DATA : SERIAL TYPE I.
TYPES : BEGIN OF TYP_FINAL,
OPEN_NUMBER(10),
PARTNER_ROLE(7),
TAXKD(1),
END OF TYP_FINAL.
FIELD-SYMBOLS: <FS_FINAL> TYPE TYP_FINAL.
FIELD-SYMBOLS : <FS>.
DATA : IT_FINAL TYPE STANDARD TABLE OF TYP_FINAL,
WA_FINAL TYPE TYP_FINAL,
IT_EXCEL TYPE STANDARD TABLE OF ALSMEX_TABLINE,
WA_EXCEL TYPE ALSMEX_TABLINE,
BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
INDEX TYPE I,
MSG TYPE STRING.
================================================================================
*&---------------------------------------------------------------------*
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD2
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_PATH LIKE RLGRAP-FILENAME OBLIGATORY,
P_STROW TYPE I OBLIGATORY,
P_EDROW TYPE I OBLIGATORY.
SELECTION-SCREEN SKIP 1.
PARAMETERS P_MODE LIKE CTU_PARAMS-DISMODE OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD2
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_PATH LIKE RLGRAP-FILENAME OBLIGATORY,
P_STROW TYPE I OBLIGATORY,
P_EDROW TYPE I OBLIGATORY.
SELECTION-SCREEN SKIP 1.
PARAMETERS P_MODE LIKE CTU_PARAMS-DISMODE OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
===============================================================================
*&---------------------------------------------------------------------*
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_SUB2
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& FORM GET_EXCEL_DATA
*&---------------------------------------------------------------------*
*& TEXT
*&---------------------------------------------------------------------*
*& --> P1 TEXT
*& <-- P2 TEXT
*&---------------------------------------------------------------------*
FORM GET_EXCEL_DATA .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_PATH
I_BEGIN_COL = 1
I_BEGIN_ROW = P_STROW
I_END_COL = 100
I_END_ROW = P_EDROW
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE 'ERROR OCCUR IN READING THE EXCEL FILE' TYPE 'I'.
STOP.
ENDIF.
LOOP AT IT_EXCEL INTO WA_EXCEL.
INDEX = WA_EXCEL-COL.
ASSIGN COMPONENT INDEX OF STRUCTURE WA_FINAL TO <FS>.
<FS> = WA_EXCEL-VALUE.
AT END OF ROW.
APPEND WA_FINAL TO IT_FINAL.
CLEAR WA_FINAL.
ENDAT.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& FORM CALL_BDC
*&---------------------------------------------------------------------*
*& TEXT
*&---------------------------------------------------------------------*
*& --> P1 TEXT
*& <-- P2 TEXT
*&---------------------------------------------------------------------*
FORM CALL_BDC .
LOOP AT IT_FINAL INTO WA_FINAL.
REFRESH : BDCDATA.
REFRESH : MESSTAB.
CLEAR : BDCDATA.
CLEAR : MESSTAB.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_SETTINGS'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-CHANGE_NUMBER'.
perform bdc_dynpro using 'SAPLBUPA_DIALOG_SETTINGS' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_SET-BUPR_CHANGE_MODE'.
perform bdc_field using 'BUS_JOEL_SET-BUPA_DISPLAY_MODE'
''.
perform bdc_field using 'BUS_JOEL_SET-BUPA_CHANGE_MODE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-BUPR_DISPLAY_MODE'
''.
perform bdc_field using 'BUS_JOEL_SET-BUPR_CHANGE_MODE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-BUPA_CREATE_ROLE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-USE_ALV'
'X'.
perform bdc_field using 'BUS_LOCATOR_SET-NARROW'
'X'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_OPEN'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-CHANGE_NUMBER'.
perform bdc_dynpro using 'SAPLBUPA_DIALOG_JOEL' '1600'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-OPEN_NUMBER'.
perform bdc_field using 'BUS_JOEL_MAIN-OPEN_NUMBER' WA_FINAL-OPEN_NUMBER.
" '100000011'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1110_CHG_ROLE'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
"'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'BUS000FLDS-TITLE_MEDI'
* '3000'.
**perform bdc_field using 'BUT000-NAME_ORG1'
** 'S. DHAWAN & SONS.'.
**perform bdc_field using 'BUS000FLDS-BU_SORT1_TXT'
** 'SD3'.
**perform bdc_field using 'ADDR1_DATA-STR_SUPPL1'
** '118 CHAMPAKLAL INDUSTRIAL ESTATE'.
**perform bdc_field using 'ADDR1_DATA-STR_SUPPL2'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-CITY2'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-POST_CODE1'
** '400022'.
**perform bdc_field using 'ADDR1_DATA-CITY1'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-COUNTRY'
** 'IN'.
**perform bdc_field using 'ADDR1_DATA-REGION'
** '27'.
**perform bdc_field using 'ADDR1_DATA-TIME_ZONE'
** 'INDIA'.
**perform bdc_field using 'ADDR1_DATA-LANGU'
** 'EN'.
**perform bdc_field using 'SZA1_D0100-TEL_NUMBER'
** '23344451'.
**perform bdc_field using 'SZA1_D0100-MOB_NUMBER'
** '98475626731'.
**perform bdc_field using 'SZA1_D0100-FAX_NUMBER'
** '36464751'.
**perform bdc_field using 'SZA1_D0100-SMTP_ADDR'
** 'siddharth.banerjee@gmail.com'.
**perform bdc_field using 'BUS000FLDS-ADDR_VALID_FROM'
** '23.04.2019'.
**perform bdc_field using 'BUS000FLDS-ADDR_VALID_TO'
** '31.12.9999'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_MAIN_P02'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'BUS000FLDS-TITLE_MEDI'.
*perform bdc_field using 'BUS000FLDS-TITLE_MEDI'
* '3000'.
*perform bdc_field using 'BUT000-NAME_ORG1'
* 'S. DHAWAN & SONS.'.
*perform bdc_field using 'BUS000FLDS-BU_SORT1_TXT'
* 'SD3'.
*perform bdc_field using 'ADDR1_DATA-STR_SUPPL1'
* '118 CHAMPAKLAL INDUSTRIAL ESTATE'.
*perform bdc_field using 'ADDR1_DATA-STR_SUPPL2'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-CITY2'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-POST_CODE1'
* '400022'.
*perform bdc_field using 'ADDR1_DATA-CITY1'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-COUNTRY'
* 'IN'.
*perform bdc_field using 'ADDR1_DATA-REGION'
* '27'.
*perform bdc_field using 'ADDR1_DATA-TIME_ZONE'
* 'INDIA'.
*perform bdc_field using 'ADDR1_DATA-LANGU'
* 'EN'.
*perform bdc_field using 'SZA1_D0100-TEL_NUMBER'
* '23344451'.
*perform bdc_field using 'SZA1_D0100-MOB_NUMBER'
* '98475626731'.
*perform bdc_field using 'SZA1_D0100-FAX_NUMBER'
* '36464751'.
*perform bdc_field using 'SZA1_D0100-SMTP_ADDR'
* 'siddharth.banerjee@gmail.com'.
*perform bdc_field using 'BUS000FLDS-ADDR_VALID_FROM'
* '23.04.2019'.
*perform bdc_field using 'BUS000FLDS-ADDR_VALID_TO'
* '31.12.9999'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=CVIC_SA_DETAIL'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-VKORG'.
perform bdc_dynpro using 'SAPLBUSS' '0040'.
perform bdc_field using 'BDC_OKCODE'
'=CVIC_SA_OKAY'.
perform bdc_field using 'BDC_CURSOR'
'CVIS_SALES_AREA_DYNPRO-SALES_ORG(01)'.
perform bdc_field using 'CVIS_SALES_AREA_DYNPRO-XMARK(01)'
'X'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1100_TAB_03'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-VKORG'.
**perform bdc_field using 'GS_KNVV-BZIRK'
** 'T22004'.
**perform bdc_field using 'GS_KNVV-VKBUR'
** '15'.
**perform bdc_field using 'GS_KNVV-VKGRP'
** '22'.
**perform bdc_field using 'GS_KNVV_DYNP-AWAHR'
** '100'.
**perform bdc_field using 'GS_KNVV-WAERS'
** 'INR'.
**perform bdc_field using 'GS_KNVV-KURST'
** ''.
**perform bdc_field using 'GS_KNVV-KALKS'
** '1'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'GS_KNVV-INCO1'
* 'FOB'.
*perform bdc_field using 'GS_KNVV-INCO2_L'
* 'Free on Board'.
*perform bdc_field using 'GS_KNVV-ZTERM'
* 'Z006'.
*perform bdc_field using 'GS_KNVV-KKBER'
* '1100'.
*perform bdc_field using 'GS_KNVV-KTGRD'
* '01'.
perform bdc_field using 'BDC_CURSOR'
'GT_KNVI_TC-TAXKD(05)'.
perform bdc_field using 'GT_KNVI_TC-TAXKD(05)' WA_FINAL-TAXKD.
" '1'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_SAVE'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" ' FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'GS_KNVV-INCO1'
* 'FOB'.
*perform bdc_field using 'GS_KNVV-INCO2_L'
* 'Free on Board'.
*perform bdc_field using 'GS_KNVV-ZTERM'
* 'Z006'.
*perform bdc_field using 'GS_KNVV-KKBER'
* '1100'.
*perform bdc_field using 'GS_KNVV-KTGRD'
* '01'.
perform bdc_field using 'BDC_CURSOR'
'GT_KNVI_TC-TAXKD(05)'.
CALL TRANSACTION 'BP' USING BDCDATA
MODE P_MODE
MESSAGES INTO MESSTAB.
LOOP AT MESSTAB.
IF MESSTAB-MSGTYP = 'E' OR MESSTAB-MSGTYP = 'S'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = '-D'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
SERIAL = SERIAL + 1.
WRITE :/9 SERIAL COLOR 7, MSG.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
*----------------------------------------------------------------------*
* START NEW SCREEN *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* INSERT FIELD *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
SHIFT BDCDATA-FVAL LEFT DELETING LEADING SPACE.
APPEND BDCDATA.
* ENDIF.
ENDFORM.
*& INCLUDE ZTCS_TAXCLASSIFIED_UPLOAD_SUB2
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& FORM GET_EXCEL_DATA
*&---------------------------------------------------------------------*
*& TEXT
*&---------------------------------------------------------------------*
*& --> P1 TEXT
*& <-- P2 TEXT
*&---------------------------------------------------------------------*
FORM GET_EXCEL_DATA .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_PATH
I_BEGIN_COL = 1
I_BEGIN_ROW = P_STROW
I_END_COL = 100
I_END_ROW = P_EDROW
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE 'ERROR OCCUR IN READING THE EXCEL FILE' TYPE 'I'.
STOP.
ENDIF.
LOOP AT IT_EXCEL INTO WA_EXCEL.
INDEX = WA_EXCEL-COL.
ASSIGN COMPONENT INDEX OF STRUCTURE WA_FINAL TO <FS>.
<FS> = WA_EXCEL-VALUE.
AT END OF ROW.
APPEND WA_FINAL TO IT_FINAL.
CLEAR WA_FINAL.
ENDAT.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& FORM CALL_BDC
*&---------------------------------------------------------------------*
*& TEXT
*&---------------------------------------------------------------------*
*& --> P1 TEXT
*& <-- P2 TEXT
*&---------------------------------------------------------------------*
FORM CALL_BDC .
LOOP AT IT_FINAL INTO WA_FINAL.
REFRESH : BDCDATA.
REFRESH : MESSTAB.
CLEAR : BDCDATA.
CLEAR : MESSTAB.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_SETTINGS'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-CHANGE_NUMBER'.
perform bdc_dynpro using 'SAPLBUPA_DIALOG_SETTINGS' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_SET-BUPR_CHANGE_MODE'.
perform bdc_field using 'BUS_JOEL_SET-BUPA_DISPLAY_MODE'
''.
perform bdc_field using 'BUS_JOEL_SET-BUPA_CHANGE_MODE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-BUPR_DISPLAY_MODE'
''.
perform bdc_field using 'BUS_JOEL_SET-BUPR_CHANGE_MODE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-BUPA_CREATE_ROLE'
'X'.
perform bdc_field using 'BUS_JOEL_SET-USE_ALV'
'X'.
perform bdc_field using 'BUS_LOCATOR_SET-NARROW'
'X'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_OPEN'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-CHANGE_NUMBER'.
perform bdc_dynpro using 'SAPLBUPA_DIALOG_JOEL' '1600'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-OPEN_NUMBER'.
perform bdc_field using 'BUS_JOEL_MAIN-OPEN_NUMBER' WA_FINAL-OPEN_NUMBER.
" '100000011'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1110_CHG_ROLE'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BDC_CURSOR'
'BUS_JOEL_MAIN-PARTNER_ROLE'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
"'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'BUS000FLDS-TITLE_MEDI'
* '3000'.
**perform bdc_field using 'BUT000-NAME_ORG1'
** 'S. DHAWAN & SONS.'.
**perform bdc_field using 'BUS000FLDS-BU_SORT1_TXT'
** 'SD3'.
**perform bdc_field using 'ADDR1_DATA-STR_SUPPL1'
** '118 CHAMPAKLAL INDUSTRIAL ESTATE'.
**perform bdc_field using 'ADDR1_DATA-STR_SUPPL2'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-CITY2'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-POST_CODE1'
** '400022'.
**perform bdc_field using 'ADDR1_DATA-CITY1'
** 'MUMBAI'.
**perform bdc_field using 'ADDR1_DATA-COUNTRY'
** 'IN'.
**perform bdc_field using 'ADDR1_DATA-REGION'
** '27'.
**perform bdc_field using 'ADDR1_DATA-TIME_ZONE'
** 'INDIA'.
**perform bdc_field using 'ADDR1_DATA-LANGU'
** 'EN'.
**perform bdc_field using 'SZA1_D0100-TEL_NUMBER'
** '23344451'.
**perform bdc_field using 'SZA1_D0100-MOB_NUMBER'
** '98475626731'.
**perform bdc_field using 'SZA1_D0100-FAX_NUMBER'
** '36464751'.
**perform bdc_field using 'SZA1_D0100-SMTP_ADDR'
** 'siddharth.banerjee@gmail.com'.
**perform bdc_field using 'BUS000FLDS-ADDR_VALID_FROM'
** '23.04.2019'.
**perform bdc_field using 'BUS000FLDS-ADDR_VALID_TO'
** '31.12.9999'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1000_MAIN_P02'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'BUS000FLDS-TITLE_MEDI'.
*perform bdc_field using 'BUS000FLDS-TITLE_MEDI'
* '3000'.
*perform bdc_field using 'BUT000-NAME_ORG1'
* 'S. DHAWAN & SONS.'.
*perform bdc_field using 'BUS000FLDS-BU_SORT1_TXT'
* 'SD3'.
*perform bdc_field using 'ADDR1_DATA-STR_SUPPL1'
* '118 CHAMPAKLAL INDUSTRIAL ESTATE'.
*perform bdc_field using 'ADDR1_DATA-STR_SUPPL2'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-CITY2'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-POST_CODE1'
* '400022'.
*perform bdc_field using 'ADDR1_DATA-CITY1'
* 'MUMBAI'.
*perform bdc_field using 'ADDR1_DATA-COUNTRY'
* 'IN'.
*perform bdc_field using 'ADDR1_DATA-REGION'
* '27'.
*perform bdc_field using 'ADDR1_DATA-TIME_ZONE'
* 'INDIA'.
*perform bdc_field using 'ADDR1_DATA-LANGU'
* 'EN'.
*perform bdc_field using 'SZA1_D0100-TEL_NUMBER'
* '23344451'.
*perform bdc_field using 'SZA1_D0100-MOB_NUMBER'
* '98475626731'.
*perform bdc_field using 'SZA1_D0100-FAX_NUMBER'
* '36464751'.
*perform bdc_field using 'SZA1_D0100-SMTP_ADDR'
* 'siddharth.banerjee@gmail.com'.
*perform bdc_field using 'BUS000FLDS-ADDR_VALID_FROM'
* '23.04.2019'.
*perform bdc_field using 'BUS000FLDS-ADDR_VALID_TO'
* '31.12.9999'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=CVIC_SA_DETAIL'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-VKORG'.
perform bdc_dynpro using 'SAPLBUSS' '0040'.
perform bdc_field using 'BDC_OKCODE'
'=CVIC_SA_OKAY'.
perform bdc_field using 'BDC_CURSOR'
'CVIS_SALES_AREA_DYNPRO-SALES_ORG(01)'.
perform bdc_field using 'CVIS_SALES_AREA_DYNPRO-XMARK(01)'
'X'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=SCREEN_1100_TAB_03'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-VKORG'.
**perform bdc_field using 'GS_KNVV-BZIRK'
** 'T22004'.
**perform bdc_field using 'GS_KNVV-VKBUR'
** '15'.
**perform bdc_field using 'GS_KNVV-VKGRP'
** '22'.
**perform bdc_field using 'GS_KNVV_DYNP-AWAHR'
** '100'.
**perform bdc_field using 'GS_KNVV-WAERS'
** 'INR'.
**perform bdc_field using 'GS_KNVV-KURST'
** ''.
**perform bdc_field using 'GS_KNVV-KALKS'
** '1'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_ENTER'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" 'FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'GS_KNVV-INCO1'
* 'FOB'.
*perform bdc_field using 'GS_KNVV-INCO2_L'
* 'Free on Board'.
*perform bdc_field using 'GS_KNVV-ZTERM'
* 'Z006'.
*perform bdc_field using 'GS_KNVV-KKBER'
* '1100'.
*perform bdc_field using 'GS_KNVV-KTGRD'
* '01'.
perform bdc_field using 'BDC_CURSOR'
'GT_KNVI_TC-TAXKD(05)'.
perform bdc_field using 'GT_KNVI_TC-TAXKD(05)' WA_FINAL-TAXKD.
" '1'.
perform bdc_dynpro using 'SAPLBUS_LOCATOR' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=BUS_MAIN_SAVE'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_TYPE'
'3'.
perform bdc_field using 'BUS_LOCA_SRCH01-SEARCH_ID'
'8'.
perform bdc_field using 'BUS_LOCA_SRCH01-MAXHIT'
'100'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_ROLE' WA_FINAL-PARTNER_ROLE.
" ' FLCU01'.
perform bdc_field using 'BUS_JOEL_MAIN-PARTNER_TIMEDEP'
'000001'.
*perform bdc_field using 'GS_KNVV-INCO1'
* 'FOB'.
*perform bdc_field using 'GS_KNVV-INCO2_L'
* 'Free on Board'.
*perform bdc_field using 'GS_KNVV-ZTERM'
* 'Z006'.
*perform bdc_field using 'GS_KNVV-KKBER'
* '1100'.
*perform bdc_field using 'GS_KNVV-KTGRD'
* '01'.
perform bdc_field using 'BDC_CURSOR'
'GT_KNVI_TC-TAXKD(05)'.
CALL TRANSACTION 'BP' USING BDCDATA
MODE P_MODE
MESSAGES INTO MESSTAB.
LOOP AT MESSTAB.
IF MESSTAB-MSGTYP = 'E' OR MESSTAB-MSGTYP = 'S'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = '-D'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
SERIAL = SERIAL + 1.
WRITE :/9 SERIAL COLOR 7, MSG.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
*----------------------------------------------------------------------*
* START NEW SCREEN *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* INSERT FIELD *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
SHIFT BDCDATA-FVAL LEFT DELETING LEADING SPACE.
APPEND BDCDATA.
* ENDIF.
ENDFORM.