BDC ...?  . ?  ..  . ? Confused

Hai Dear ABAP Pros..
As far as I know, BDC is used to Transfer data from legacy system to SAP system. I have newly started my career in SAP ABAP & I am the only guy for this company on ABAP & havenot yet worked on BDC yet.
I have gone thru the notes & material I have on BDC. I am confused with what exactly is it, 'coz at some places its given that we have <b>to start with SHDB to record Transaction (How come the Standard Transactions are used & what role do they Play in BDC(transfer data)??)</b> & in one Book its given as below & recording is not mentioned any where:
<b>1.To identify the Screens of the Transaction that the Program will Process.
2.To build the BDC table that will be used to submit the data to SAP.
3.To submit the to the BDC table to the system in Batch mode or as a single transaction thru CALL TRANSACTION command.</b>
Plzz help me out by clearing my doubts. If possible & if U have some docs or material or some real programs or exercises with solutions then Plzz forward them to "[email protected]". ..
Would higly appreciate & be thatnkful to U.
Thanks in advance.
Regards.
Farooq

Find below an example which is a real time one for Vendor Master upload...
REPORT  ZFC_VENDOR_CREATE  LINE-SIZE 100
                           NO STANDARD PAGE HEADING
                           MESSAGE-ID ZZ.
DESCRIPTION           : Vendor Master Data - Intercompany
                     TABLES
TABLES : SSCRFIELDS.   " Fields on selection screens
                     CONSTANTS
DATA : C_SPLIT TYPE C VALUE '#'.  " Used for Has Separator in GUI_UPLAOD
                     TYPES
Int'table to hold Vendor Master Data
TYPES : BEGIN OF TY_VENDOR_MASTER,
          FLAG  TYPE C,               " Update Flag
          LIFNR TYPE LIFNR,           " Vendor Number
          BUKRS TYPE BUKRS,           " Company Code
          KTOKK TYPE KTOKK,           " Account Group
          ANRED TYPE ANRED,           " Title
          NAME1 TYPE NAME1_GP,        " Name1
          NAME2 TYPE NAME2_GP,        " Name2
          SORTL TYPE SORTL,           " Search Term 1
          SORT2 TYPE AD_SORT2UL,      " Search Term 2
          STRAS TYPE STRAS_GP,        " Street
          PSTLZ TYPE PSTLZ,           " Postal Code
          ORT01 TYPE ORT01_GP,        " City
          REGIO TYPE REGIO,           " Region
          LAND1 TYPE LAND1_GP,        " Country
          SPRAS TYPE SPRAS,           " Language
          VBUND TYPE RASSC,           " Trading Partner
          BANKS TYPE BANKS,           " Country
          BANKL TYPE BANKK,           " Bank Key
          BANKN TYPE BANKN,           " Bank Account
          BKONT TYPE BKONT,           " Bank Control Key
          BANKA TYPE BANKA,           " Name of Bank
          AKONT TYPE AKONT,           " Reconciliation Account
          FDGRV TYPE FDGRV,           " Cash Management Group
          ZTERM TYPE DZTERM,          " Payment Terms
          REPRF TYPE REPRF,           " Check Double Invoice
          ZWELS TYPE DZWELS,          " Payment Methods
          XPORE TYPE XPORE,           " Pay all items separately
        END   OF TY_VENDOR_MASTER,
Int'table to hold Vendor Extend Data
        BEGIN OF TY_VENDOR_EXTEND,
          FLAG  TYPE C,               " Update Flag
          LIFNR     TYPE LIFNR,           " Vendor Number
          BUKRS     TYPE BUKRS,           " Company Code
          KTOKK     TYPE KTOKK,           " Account Group
          REF_LIFNR TYPE LIFNR,           " Reference Vendor Number
          REF_BUKRS TYPE BUKRS,           " Reference Company Code
          AKONT     TYPE AKONT,           " Reconciliation Account
          FDGRV     TYPE FDGRV,           " Cash Management Group
          ZTERM     TYPE DZTERM,          " Payment Terms
          REPRF     TYPE REPRF,           " Check Double Invoice
          ZWELS     TYPE DZWELS,          " Payment Methods
          XPORE TYPE XPORE,           " Pay all items separately
        END   OF TY_VENDOR_EXTEND,
Int'table to hold Error Records Data
        BEGIN OF TY_ERROR,
          MSG(200) TYPE C,                " To hold Message
          LIFNR    TYPE LIFNR,            " Vendor Number
          BUKRS    TYPE BUKRS,            " Company Code
        END   OF TY_ERROR.
                     DATA (Simple Fields)
DATA : W_COUNT TYPE I,               " Variable to hold count of Records
       W_SUCC_REC TYPE I,            " No. of Success Records
       W_SUCC_REC1 TYPE I,           " No. of Updated Records
       W_ERR_REC TYPE I,             " No. of Error Records
       w_noupdate_rec type i.        " No. of Records not Changed
                     INTERNAL TABLES
Int'table to hold uploaded data from File
DATA : IT_VENDOR_MASTER    TYPE STANDARD TABLE OF TY_VENDOR_MASTER,
       WA_IT_VENDOR_MASTER TYPE TY_VENDOR_MASTER,
       IT_VENDOR_EXTEND    TYPE STANDARD TABLE OF TY_VENDOR_EXTEND,
       WA_IT_VENDOR_EXTEND TYPE TY_VENDOR_EXTEND,
       WA_IT_BDCDATA       TYPE BDCDATA,
       IT_BDCDATA          TYPE STANDARD TABLE OF BDCDATA,
       WA_IT_MESSTAB       TYPE BDCMSGCOLL,
       IT_MESSTAB          TYPE STANDARD TABLE OF BDCMSGCOLL,
       IT_ERROR            TYPE STANDARD TABLE OF TY_ERROR,
       WA_IT_ERROR         TYPE TY_ERROR,
       it_error_fk01       type standard table of ty_error,
       wa_it_error_fk01    type ty_error,
       it_error_fk02       type standard table of ty_error,
       wa_it_error_fk02    type ty_error,
       it_succ_rec1        type standard table of ty_error,
       wa_it_succ_rec1     type ty_error,
       it_noupdate         type standard table of ty_error,
       wa_it_noupdate      type ty_error.
                     FLAGS
DATA : FL_FLAG1 TYPE C,          " Flag to check error upload file
       FL_FLAG2 TYPE C,          " Flag to hold value
       FL_FLAG3 TYPE C,          " Flag to hold value
       FL_FLAG4 TYPE C.          " Flag to hold value
                     SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-001,
            POSITION POS_LOW.
PARAMETERS :       P_FILE(128) DEFAULT 'C:\UPLOAD.TXT' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-002,
            POSITION POS_LOW.
PARAMETERS :       P_VENMAS RADIOBUTTON GROUP R1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-003,
            POSITION POS_LOW.
PARAMETERS :       P_VENEXT RADIOBUTTON GROUP R1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-004,
            POSITION POS_LOW.
PARAMETERS :       P_MODE(1) DEFAULT 'N'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-005,
            POSITION POS_LOW.
PARAMETERS :       P_GROUP(12) DEFAULT 'ZFC_VENDOR_C' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE,
            COMMENT 1(30) TEXT-016,
            POSITION POS_LOW.
PARAMETERS :       P_GROUP1(12) DEFAULT 'ZFC_VENDOR_U' OBLIGATORY.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
                     AT SELECTION-SCREEN ON
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
Form to get file path for upload of data
  PERFORM GET_FILE_PATH.
AT SELECTION-SCREEN ON BLOCK B1.
Form to Validate data specified on Selection Screen
  CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
  PERFORM VALIDATE_DATA.
                     START - OF - SELECTION
START-OF-SELECTION.
  IF P_VENMAS = 'X'.
Form to upload data from Presentation Server for Vendor Master
    PERFORM UPLOAD_DATA TABLES IT_VENDOR_MASTER.
    IF FL_FLAG1 NE 'X'.
      SORT IT_VENDOR_MASTER BY LIFNR BUKRS KTOKK.
      DELETE IT_VENDOR_MASTER WHERE LIFNR = ' '
                              AND   BUKRS = ' '
                              AND   KTOKK = ' '.
Form to process data for Vendor Master
      PERFORM INSERT_VENDOR_MASTER_DATA.
    ENDIF.
  ELSEIF P_VENEXT = 'X'.
Form to upload data from Presentation Server for Vendor Extend
    PERFORM UPLOAD_DATA TABLES IT_VENDOR_EXTEND.
    IF FL_FLAG1 NE 'X'.
      SORT IT_VENDOR_EXTEND BY LIFNR BUKRS KTOKK.
      DELETE IT_VENDOR_EXTEND WHERE LIFNR = ' '
                              AND   BUKRS = ' '
                              AND   KTOKK = ' '.
Form to process data for Vendor Master
      PERFORM CHK_AND_INS_VENDOR_EXTEND_DATA.
    ENDIF.
  ENDIF.
                     END - OF - SELECTION
END-OF-SELECTION.
  IF FL_FLAG1 NE 'X'.
    FORMAT COLOR 7.
    WRITE:/2 TEXT-O01.           " Total Number of records read :
    FORMAT COLOR OFF.
    WRITE:40 W_COUNT.
    FORMAT COLOR 7.
    WRITE:/2 TEXT-O02.           " Total Number of Success records :
    FORMAT COLOR OFF.
    WRITE:40 W_SUCC_REC.
    FORMAT COLOR 7.
    WRITE:/2 TEXT-O07.           " Total Number of Updated records :
    FORMAT COLOR OFF.
    WRITE:40 W_SUCC_REC1.
    FORMAT COLOR 7.
    WRITE:/2 TEXT-O08.           " Total Number of Unchanged records :
    FORMAT COLOR OFF.
    WRITE:40 W_noupdate_REC.
    FORMAT COLOR 7.
    WRITE:/2 TEXT-O03.           " Total Number of Error records :
    FORMAT COLOR OFF.
    WRITE:40 W_ERR_REC.
    if not it_succ_rec1 is initial.
      skip 1.
      perform display_changed_report.
    endif.
    if not it_noupdate is initial.
      skip 1.
      perform display_nochange_report.
    endif.
    IF NOT IT_ERROR IS INITIAL.
      SKIP 3.
Form to display error data
      PERFORM DISPLAY_ERROR_REPORT.
    ENDIF.
    IF FL_FLAG2 = 'X'.
      SKIP 2.
      FORMAT COLOR 4.
      WRITE:/2 TEXT-O04.        " BDC Session Name for Creation (FK01) :
      FORMAT COLOR OFF.
      WRITE:40 P_GROUP.
      perform display_error_report_fk01.
    ENDIF.
    IF FL_FLAG3 = 'X'.
      SKIP 2.
      FORMAT COLOR 4.
      WRITE:/2 TEXT-O09.        " BDC Session Name for Updation (FK02) :
      FORMAT COLOR OFF.
      WRITE:40 P_GROUP1.
      perform display_error_report_fk02.
    ENDIF.
  ENDIF.
*&      Form  GET_FILE_PATH
This form is used to get the specified path for uploading of data from
flat file with the help of F4 function key
FORM GET_FILE_PATH .
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME  = SYST-CPROG
      DYNPRO_NUMBER = SYST-DYNNR
      FIELD_NAME    = ' '
    IMPORTING
      FILE_NAME     = P_FILE.
ENDFORM.                    " GET_FILE_PATH
*&      Form  VALIDATE_DATA
This form is used to validate the data given by user on the Selection
Screen and the appropriate message is been displayed when an wrong
entry is inputted
FORM VALIDATE_DATA .
  IF SY-BATCH EQ 'X'.
    CLEAR SSCRFIELDS-UCOMM.
    MESSAGE E001(ZZ) WITH TEXT-011.
    " Excel file not to be used in Batch Mode
  ENDIF.
  IF P_MODE NE 'A' AND P_MODE NE 'N' AND P_MODE NE 'E'.
    MESSAGE E001(ZZ) WITH TEXT-012.
    " Session Mode should be either A or N or E
  ENDIF.
ENDFORM.                    " VALIDATE_DATA
*&      Form  UPLOAD_DATA
This form is used to upload data from Presentation Server for either
Vendor Master or Vendor Extend
FORM UPLOAD_DATA TABLES P_IT_VENDOR.
  DATA : L_FILENAME TYPE STRING,
         L_FILETYPE TYPE CHAR10 VALUE 'ASC',
         L_HEADER_LENGTH TYPE I VALUE 0,
         L_READ_BY_LINE TYPE CHAR01 VALUE 'X'.
  MOVE P_FILE TO L_FILENAME.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                = L_FILENAME
      FILETYPE                = L_FILETYPE
      HEADER_LENGTH           = L_HEADER_LENGTH
      READ_BY_LINE            = L_READ_BY_LINE
      HAS_FIELD_SEPARATOR     = C_SPLIT
    TABLES
      DATA_TAB                = P_IT_VENDOR
    EXCEPTIONS
      FILE_OPEN_ERROR         = 1
      FILE_READ_ERROR         = 2
      NO_BATCH                = 3
      GUI_REFUSE_FILETRANSFER = 4
      INVALID_TYPE            = 5
      NO_AUTHORITY            = 6
      UNKNOWN_ERROR           = 7
      BAD_DATA_FORMAT         = 8
      HEADER_NOT_ALLOWED      = 9
      SEPARATOR_NOT_ALLOWED   = 10
      HEADER_TOO_LONG         = 11
      UNKNOWN_DP_ERROR        = 12
      ACCESS_DENIED           = 13
      DP_OUT_OF_MEMORY        = 14
      DISK_FULL               = 15
      DP_TIMEOUT              = 16
      OTHERS                  = 17.
  IF SY-SUBRC <> 0.
   MESSAGE I001(ZZ) WITH TEXT-006 L_FILENAME.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    FL_FLAG1 = 'X'.
  ELSEIF P_IT_VENDOR[] IS INITIAL.
    MESSAGE I001(ZZ) WITH TEXT-014.   " Uploaded File contains no data
    FL_FLAG1 = 'X'.
  ENDIF.
ENDFORM.                    " UPLOAD_DATA
*&      Form  INSERT_VENDOR_MASTER_DATA
This form is used to process BDC data for Vendor Master
FORM INSERT_VENDOR_MASTER_DATA .
  DATA : L_LIFNR TYPE LIFNR.
  CLEAR : L_LIFNR.
  sort it_vendor_master by flag.
  LOOP AT IT_VENDOR_MASTER INTO WA_IT_VENDOR_MASTER.
    W_COUNT = W_COUNT + 1.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT  = WA_IT_VENDOR_MASTER-LIFNR
      IMPORTING
        OUTPUT = WA_IT_VENDOR_MASTER-LIFNR.
    if wa_it_vendor_master-flag = 'A'.
    SELECT SINGLE LIFNR
           FROM LFB1
           INTO L_LIFNR
           WHERE LIFNR = WA_IT_VENDOR_MASTER-LIFNR
           AND   BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
    IF SY-SUBRC EQ 0.
      WA_IT_ERROR-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
      WA_IT_ERROR-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
      WA_IT_ERROR-MSG   = TEXT-015.
      APPEND WA_IT_ERROR TO IT_ERROR.
      W_ERR_REC = W_ERR_REC + 1.
      CLEAR : WA_IT_ERROR, L_LIFNR.
    ELSE.
      REFRESH IT_BDCDATA.
      CLEAR IT_BDCDATA.
      PERFORM POPULATE_BDC_DATA_VEN_MASTER.
      PERFORM CALL_TRANSACTION.
    ENDIF.
    CLEAR : WA_IT_VENDOR_MASTER.
    elseif wa_it_vendor_master-flag = 'C'.
      IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
        PERFORM CLOSE_BDC_SESSION.
        fl_flag4 = 'X'.
      ENDIF.
      REFRESH IT_BDCDATA.
      CLEAR IT_BDCDATA.
      PERFORM POPULATE_BDC_DATA_VEN_MASTER.
      PERFORM CALL_TRANSACTION_FK02.
      CLEAR : WA_IT_VENDOR_MASTER.
    elseif wa_it_vendor_master-flag = 'N'.
      WA_IT_noupdate-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
      WA_IT_noupdate-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
      WA_IT_noupdate-MSG   = TEXT-018.
      APPEND WA_IT_noupdate TO IT_noupdate.
      W_noupdate_REC = W_noupdate_REC + 1.
      CLEAR : WA_IT_noupdate, WA_IT_VENDOR_MASTER.
    endif.
  ENDLOOP.
  IF FL_FLAG3 = 'X'.
    PERFORM CLOSE_BDC_SESSION.
  ENDIF.
ENDFORM.                    " INSERT_VENDOR_MASTER_DATA
*&      Form  POPULATE_BDC_DATA_VEN_MASTER
This form is used to populate BDC data of Vendor Master
FORM POPULATE_BDC_DATA_VEN_MASTER .
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = WA_IT_VENDOR_MASTER-ZTERM
    IMPORTING
      OUTPUT = WA_IT_VENDOR_MASTER-ZTERM.
  IF WA_IT_VENDOR_MASTER-REPRF = 'Y'.
    WA_IT_VENDOR_MASTER-REPRF = 'X'.
  ENDIF.
  IF WA_IT_VENDOR_MASTER-XPORE = 'Y'.
    WA_IT_VENDOR_MASTER-XPORE = 'X'.
  ENDIF.
  if wa_it_vendor_master-flag = 'A'.
  PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
           BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
           BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
           BDC_FIELD  USING 'RF02K-KTOKK' WA_IT_VENDOR_MASTER-KTOKK,
           BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
  elseif wa_it_vendor_master-flag = 'C'.
  PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
           BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
           BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
           BDC_FIELD  USING 'BDC_OKCODE'  '=MALL',
           BDC_DYNPRO USING 'SAPMF02K' '0106',
           BDC_FIELD  USING 'RF02K-D0110' 'X',
           BDC_FIELD  USING 'RF02K-D0120' 'X',
           BDC_FIELD  USING 'RF02K-D0130' 'X',
           BDC_FIELD  USING 'RF02K-D0210' 'X',
           BDC_FIELD  USING 'RF02K-D0215' 'X',
           BDC_FIELD  USING 'RF02K-D0220' 'X',
           BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
  endif.
  perform :BDC_DYNPRO USING 'SAPMF02K' '0110',
           BDC_FIELD  USING 'LFA1-ANRED'  WA_IT_VENDOR_MASTER-ANRED,
           BDC_FIELD  USING 'LFA1-NAME1'  WA_IT_VENDOR_MASTER-NAME1,
           BDC_FIELD  USING 'LFA1-NAME2'  WA_IT_VENDOR_MASTER-NAME2,
           BDC_FIELD  USING 'LFA1-SORTL'  WA_IT_VENDOR_MASTER-SORTL,
           BDC_FIELD  USING 'LFA1-STRAS'  WA_IT_VENDOR_MASTER-STRAS,
           BDC_FIELD  USING 'LFA1-ORT01'  WA_IT_VENDOR_MASTER-ORT01,
           BDC_FIELD  USING 'LFA1-PSTLZ'  WA_IT_VENDOR_MASTER-PSTLZ,
           BDC_FIELD  USING 'LFA1-LAND1'  WA_IT_VENDOR_MASTER-LAND1,
           BDC_FIELD  USING 'LFA1-REGIO'  WA_IT_VENDOR_MASTER-REGIO,
           BDC_FIELD  USING 'LFA1-SPRAS'  WA_IT_VENDOR_MASTER-SPRAS,
           BDC_FIELD  USING 'BDC_OKCODE'  '/00',
           BDC_DYNPRO USING 'SAPMF02K' '0120',
           BDC_FIELD  USING 'LFA1-VBUND'  WA_IT_VENDOR_MASTER-VBUND,
           BDC_FIELD  USING 'BDC_OKCODE'  '/00',
           BDC_DYNPRO USING 'SAPMF02K' '0130',
           BDC_FIELD  USING 'LFBK-BANKS(01)'  WA_IT_VENDOR_MASTER-BANKS,
           BDC_FIELD  USING 'LFBK-BANKL(01)'  WA_IT_VENDOR_MASTER-BANKL,
           BDC_FIELD  USING 'LFBK-BANKN(01)'  WA_IT_VENDOR_MASTER-BANKN,
           BDC_FIELD  USING 'BDC_OKCODE'  '=BANK',
           BDC_DYNPRO USING 'SAPLBANK' '0100',
           BDC_FIELD  USING 'BNKA-BANKA'  WA_IT_VENDOR_MASTER-BANKA,
           BDC_FIELD  USING 'BDC_OKCODE'  '=ENTR',
           BDC_DYNPRO USING 'SAPMF02K' '0130',
           BDC_FIELD  USING 'BDC_OKCODE'  '=ENTR',
           BDC_DYNPRO USING 'SAPMF02K' '0210',
           BDC_FIELD  USING 'LFB1-AKONT'  WA_IT_VENDOR_MASTER-AKONT,
           BDC_FIELD  USING 'LFB1-FDGRV'  WA_IT_VENDOR_MASTER-FDGRV,
           BDC_FIELD  USING 'BDC_OKCODE'  '=/00',
           BDC_DYNPRO USING 'SAPMF02K' '0215',
           BDC_FIELD  USING 'LFB1-ZTERM'  WA_IT_VENDOR_MASTER-ZTERM,
           BDC_FIELD  USING 'LFB1-REPRF'  WA_IT_VENDOR_MASTER-REPRF,
           BDC_FIELD  USING 'LFB1-ZWELS'  WA_IT_VENDOR_MASTER-ZWELS,
           BDC_FIELD  USING 'LFB1-XPORE'  WA_IT_VENDOR_MASTER-XPORE,
           BDC_FIELD  USING 'BDC_OKCODE'  '=UPDA'.
ENDFORM.                    " POPULATE_BDC_DATA_VEN_MASTER
*&      Form  BDC_DYNPRO
This form is used to move data to BDCDATA int'table
FORM BDC_DYNPRO  USING PROGRAM TYPE BDC_PROG
                       DYNPRO  TYPE BDC_DYNR.
  CLEAR WA_IT_BDCDATA.
  WA_IT_BDCDATA-PROGRAM  = PROGRAM.
  WA_IT_BDCDATA-DYNPRO   = DYNPRO.
  WA_IT_BDCDATA-DYNBEGIN = 'X'.
  APPEND WA_IT_BDCDATA TO IT_BDCDATA.
ENDFORM.                    " BDC_DYNPRO
*&      Form  BDC_FIELD
This form is used to move data to BDCDATA int'table
FORM BDC_FIELD  USING FNAM TYPE ANY
                      FVAL TYPE ANY.
  CLEAR WA_IT_BDCDATA.
  WA_IT_BDCDATA-FNAM = FNAM.
  WA_IT_BDCDATA-FVAL = FVAL.
  APPEND WA_IT_BDCDATA TO IT_BDCDATA.
ENDFORM.                    " BDC_FIELD
*&      Form  CALL_TRANSACTION
This form is used to Call FK01 for processing of data either for
Vendor Master or Vendor Extend. The error records are inserted to
Session which can be processed using SM35
FORM CALL_TRANSACTION .
  DATA : L_OPTION TYPE CTU_PARAMS,
         L_SUBRC TYPE SYSUBRC.
  REFRESH IT_MESSTAB.
  CLEAR IT_MESSTAB.
  L_OPTION-DEFSIZE = 'X'.
  L_OPTION-DISMODE = P_MODE.
  L_OPTION-UPDMODE = 'S'.
  CALL TRANSACTION 'FK01'
       USING IT_BDCDATA
       MESSAGES INTO IT_MESSTAB
       OPTIONS FROM L_OPTION.
  L_SUBRC = SY-SUBRC.
  IF L_SUBRC = 0.
    W_SUCC_REC = W_SUCC_REC + 1.
  ELSE.
    IF FL_FLAG2 NE 'X'.
      PERFORM OPEN_BDC_SESSION.
      FL_FLAG2 = 'X'.
    ENDIF.
    PERFORM BDC_INSERT.
    W_ERR_REC = W_ERR_REC + 1.
    PERFORM ERROR_RECORD_DATA.
  ENDIF.
ENDFORM.                    " CALL_TRANSACTION
*&      Form  OPEN_BDC_SESSION
Form used to open session for Error out Records
FORM OPEN_BDC_SESSION .
  DATA : L_USERID TYPE APQ_MAPN,      " Variable to hold user-id
         L_GROUP TYPE APQ_GRPN.       " Variable to hold value
  MOVE P_GROUP TO L_GROUP.
  MOVE SY-UNAME TO L_USERID.
  CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
      CLIENT              = SY-MANDT
      GROUP               = L_GROUP
      KEEP                = SPACE
      USER                = L_USERID
    EXCEPTIONS
      CLIENT_INVALID      = 1
      DESTINATION_INVALID = 2
      GROUP_INVALID       = 3
      GROUP_IS_LOCKED     = 4
      HOLDDATE_INVALID    = 5
      INTERNAL_ERROR      = 6
      QUEUE_ERROR         = 7
      RUNNING             = 8
      SYSTEM_LOCK_ERROR   = 9
      USER_INVALID        = 10
      OTHERS              = 11.
  IF SY-SUBRC <> 0.
    WRITE:/ TEXT-008.              " Unable to open BDC Session
  ENDIF.
ENDFORM.                    " OPEN_BDC_SESSION
*&      Form  BDC_INSERT
This form is used to insert error records to a Session method
FORM BDC_INSERT .
  CALL FUNCTION 'BDC_INSERT'
    EXPORTING
      TCODE            = 'FK01'
    TABLES
      DYNPROTAB        = IT_BDCDATA
    EXCEPTIONS
      INTERNAL_ERROR   = 1
      NOT_OPEN         = 2
      QUEUE_ERROR      = 3
      TCODE_INVALID    = 4
      PRINTING_INVALID = 5
      POSTING_INVALID  = 6
      OTHERS           = 7.
  IF SY-SUBRC <> 0.
    WRITE:/ TEXT-009.             " Unable to Insert Data to BDC Session
  ENDIF.
ENDFORM.                    " BDC_INSERT
*&      Form  ERROR_RECORD_DATA
This form is used to process the messages for the error records which
will be displayed on the output report
FORM ERROR_RECORD_DATA .
  DATA : L_LINES TYPE I,
         L_MSG(200) TYPE C.
  DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
  READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
  IF SY-SUBRC = 0.
    CLEAR L_MSG.
    CALL FUNCTION 'FORMAT_MESSAGE'
      EXPORTING
        ID        = WA_IT_MESSTAB-MSGID
        LANG      = SY-LANGU
        NO        = WA_IT_MESSTAB-MSGNR
        V1        = WA_IT_MESSTAB-MSGV1
        V2        = WA_IT_MESSTAB-MSGV2
        V3        = WA_IT_MESSTAB-MSGV3
        V4        = WA_IT_MESSTAB-MSGV4
      IMPORTING
        MSG       = L_MSG
      EXCEPTIONS
        NOT_FOUND = 1
        OTHERS    = 2.
    IF SY-SUBRC = 0.
      WA_IT_ERROR_fk01-MSG = L_MSG.
    ENDIF.
    IF P_VENMAS = 'X'.
      WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
      WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
    ELSEIF P_VENEXT = 'X'.
      WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
      WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
    ENDIF.
    APPEND WA_IT_ERROR_fk01 TO IT_ERROR_fk01.
    CLEAR WA_IT_ERROR_fk01.
  ENDIF.
ENDFORM.                    " ERROR_RECORD_DATA
*&      Form  CLOSE_BDC_SESSION
Form used to close session of the Error Records
FORM CLOSE_BDC_SESSION .
  CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN    = 1
      QUEUE_ERROR = 2
      OTHERS      = 3.
  IF SY-SUBRC <> 0.
    WRITE:/ TEXT-010.             " Unable to Close BDC Session
  ENDIF.
ENDFORM.                    " CLOSE_BDC_SESSION
*&      Form  CHK_AND_INS_VENDOR_EXTEND_DATA
This form is used to process BDC data for Vendor Extend
FORM CHK_AND_INS_VENDOR_EXTEND_DATA .
  DATA : L_LIFNR TYPE LIFNR.
  CLEAR : L_LIFNR, fl_flag4.
  sort it_vendor_extend by flag.
  LOOP AT IT_VENDOR_EXTEND INTO WA_IT_VENDOR_EXTEND.
    W_COUNT = W_COUNT + 1.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT  = WA_IT_VENDOR_EXTEND-REF_LIFNR
      IMPORTING
        OUTPUT = WA_IT_VENDOR_EXTEND-REF_LIFNR.
    if wa_it_vendor_extend-flag = 'A'.
    SELECT SINGLE LIFNR
           FROM LFB1
           INTO L_LIFNR
           WHERE LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR
           AND   BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
    IF SY-SUBRC NE 0.
      WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR.
      WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
      WA_IT_ERROR-MSG   = TEXT-007.
      APPEND WA_IT_ERROR TO IT_ERROR.
      W_ERR_REC = W_ERR_REC + 1.
      CLEAR : WA_IT_ERROR, L_LIFNR.
    ELSE.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = WA_IT_VENDOR_EXTEND-LIFNR
        IMPORTING
          OUTPUT = WA_IT_VENDOR_EXTEND-LIFNR.
      SELECT SINGLE LIFNR
             FROM LFB1
             INTO L_LIFNR
             WHERE LIFNR = WA_IT_VENDOR_EXTEND-LIFNR
             AND   BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
      IF SY-SUBRC EQ 0.
        WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
        WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
        WA_IT_ERROR-MSG   = TEXT-015.
        APPEND WA_IT_ERROR TO IT_ERROR.
        W_ERR_REC = W_ERR_REC + 1.
        CLEAR : WA_IT_ERROR, L_LIFNR.
      ELSE.
        REFRESH IT_BDCDATA.
        CLEAR IT_BDCDATA.
        PERFORM POPULATE_BDC_DATA_VEN_EXTEND.
        PERFORM CALL_TRANSACTION.
      ENDIF.
    ENDIF.
    CLEAR : WA_IT_VENDOR_EXTEND.
    elseif wa_it_vendor_extend-flag = 'C'.
      IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
        PERFORM CLOSE_BDC_SESSION.
        fl_flag4 = 'X'.
      ENDIF.
      REFRESH IT_BDCDATA.
      CLEAR IT_BDCDATA.
      PERFORM POPULATE_BDC_DATA_VEN_extend.
      PERFORM CALL_TRANSACTION_FK02.
       CLEAR : WA_IT_VENDOR_EXTEND.
    elseif wa_it_vendor_extend-flag = 'N'.
      WA_IT_noupdate-LIFNR = WA_IT_VENDOR_extend-LIFNR.
      WA_IT_noupdate-BUKRS = WA_IT_VENDOR_extend-BUKRS.
      WA_IT_noupdate-MSG   = TEXT-019.
      APPEND WA_IT_noupdate TO IT_noupdate.
      W_noupdate_REC = W_noupdate_REC + 1.
      CLEAR : WA_IT_noupdate, WA_IT_VENDOR_EXTEND.
    endif.
  ENDLOOP.
  IF FL_FLAG2 = 'X'.
    PERFORM CLOSE_BDC_SESSION.
  ENDIF.
  if fl_flag3 = 'X'.
    PERFORM CLOSE_BDC_SESSION.
  ENDIF.
ENDFORM.                    " CHK_AND_INS_VENDOR_EXTEND_DATA
*&      Form  POPULATE_BDC_DATA_VEN_EXTEND
This form is used to populate BDC data of Vendor Extend
FORM POPULATE_BDC_DATA_VEN_EXTEND .
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = WA_IT_VENDOR_EXTEND-ZTERM
    IMPORTING
      OUTPUT = WA_IT_VENDOR_EXTEND-ZTERM.
  IF WA_IT_VENDOR_EXTEND-REPRF = 'Y'.
    WA_IT_VENDOR_EXTEND-REPRF = 'X'.
  ENDIF.
  IF WA_IT_VENDOR_extend-XPORE = 'Y'.
    WA_IT_VENDOR_extend-XPORE = 'X'.
  ENDIF.
  if wa_it_vendor_extend-flag = 'A'.
  PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
           BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_EXTEND-LIFNR,
           BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_EXTEND-BUKRS,
           BDC_FIELD  USING 'RF02K-KTOKK' WA_IT_VENDOR_EXTEND-KTOKK,
           BDC_FIELD  USING 'RF02K-REF_LIFNR'
                                      WA_IT_VENDOR_EXTEND-REF_LIFNR,
           BDC_FIELD  USING 'RF02K-REF_BUKRS'
                                      WA_IT_VENDOR_EXTEND-REF_BUKRS,
           BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
  elseif wa_it_vendor_extend-flag = 'C'.
  PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
           BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_extend-LIFNR,
           BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_extend-BUKRS,
           BDC_FIELD  USING 'RF02K-D0210' 'X',
           BDC_FIELD  USING 'RF02K-D0215' 'X',
           BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
  endif.
  perform :BDC_DYNPRO USING 'SAPMF02K' '0210',
           BDC_FIELD  USING 'LFB1-AKONT'  WA_IT_VENDOR_EXTEND-AKONT,
           BDC_FIELD  USING 'LFB1-FDGRV'  WA_IT_VENDOR_EXTEND-FDGRV,
           BDC_FIELD  USING 'BDC_OKCODE'  '=/00',
           BDC_DYNPRO USING 'SAPMF02K' '0215',
           BDC_FIELD  USING 'LFB1-ZTERM'  WA_IT_VENDOR_EXTEND-ZTERM,
           BDC_FIELD  USING 'LFB1-REPRF'  WA_IT_VENDOR_EXTEND-REPRF,
           BDC_FIELD  USING 'LFB1-ZWELS'  WA_IT_VENDOR_EXTEND-ZWELS,
           BDC_FIELD  USING 'LFB1-XPORE'  WA_IT_VENDOR_extend-XPORE,
           BDC_FIELD  USING 'BDC_OKCODE'  '=UPDA'.
ENDFORM.                    " POPULATE_BDC_DATA_VEN_EXTEND
*&      Form  DISPLAY_ERROR_REPORT
This form is used to display the error records on the output screen
FORM DISPLAY_ERROR_REPORT .
  IF P_VENMAS = 'X'.
    WRITE:/ TEXT-O05.            " Error List for Vendor Master
  ELSEIF P_VENEXT = 'X'.
    WRITE:/ TEXT-O06.            " Error List for Vendor Master Extended
  ENDIF.
  WRITE:/ SY-ULINE(100).
  FORMAT COLOR 1.
  WRITE:/1   SY-VLINE,
         2   TEXT-H01,              " Vendor Number
         17  SY-VLINE,
         18  TEXT-H02,              " Company Code
         31  SY-VLINE,
         32  TEXT-H03,              " Error Message
         100 SY-VLINE.
  FORMAT COLOR OFF.
  WRITE:/ SY-ULINE(100).
  LOOP AT IT_ERROR INTO WA_IT_ERROR.
    FORMAT COLOR 2.
    WRITE:/1   SY-VLINE,
           2   WA_IT_ERROR-LIFNR,
           17  SY-VLINE,
           18  WA_IT_ERROR-BUKRS,
           31  SY-VLINE,
           32  WA_IT_ERROR-MSG,
           100 SY-VLINE.
    CLEAR : WA_IT_ERROR.
    FORMAT COLOR OFF.
  ENDLOOP.
  WRITE:/ SY-ULINE(100).
ENDFORM.                    " DISPLAY_ERROR_REPORT
*&      Form  CALL_TRANSACTION_FK02
Form used to Call Transaction FK02
form CALL_TRANSACTION_FK02 .
  DATA : L_OPTION TYPE CTU_PARAMS,
         L_SUBRC TYPE SYSUBRC.
  REFRESH IT_MESSTAB.
  CLEAR IT_MESSTAB.
  L_OPTION-DEFSIZE = 'X'.
  L_OPTION-DISMODE = P_MODE.
  L_OPTION-UPDMODE = 'S'.
  CALL TRANSACTION 'FK02'
       USING IT_BDCDATA
       MESSAGES INTO IT_MESSTAB
       OPTIONS FROM L_OPTION.
  L_SUBRC = SY-SUBRC.
  IF L_SUBRC = 0.
    W_SUCC_REC1 = W_SUCC_REC1 + 1.
    WA_IT_succ_rec1-MSG = Text-017.
    IF P_VENMAS = 'X'.
      WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
      WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
    ELSEIF P_VENEXT = 'X'.
      WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
      WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
    ENDIF.
    APPEND WA_IT_succ_rec1 TO IT_succ_rec1.
  ELSE.
    IF FL_FLAG3 NE 'X'.
      PERFORM OPEN_BDC_SESSION_fk02.
      FL_FLAG3 = 'X'.
    ENDIF.
    PERFORM BDC_INSERT_fk02.
    W_ERR_REC = W_ERR_REC + 1.
    PERFORM ERROR_RECORD_DATA1.
  ENDIF.
endform.                    " CALL_TRANSACTION_FK02
*&      Form  OPEN_BDC_SESSION_fk02
Form used to Open session for FK02
form OPEN_BDC_SESSION_fk02 .
  DATA : L_USERID TYPE APQ_MAPN,      " Variable to hold user-id
         L_GROUP TYPE APQ_GRPN.       " Variable to hold value
  MOVE P_GROUP1 TO L_GROUP.
  MOVE SY-UNAME TO L_USERID.
  CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
      CLIENT              = SY-MANDT
      GROUP               = L_GROUP
      KEEP                = SPACE
      USER                = L_USERID
    EXCEPTIONS
      CLIENT_INVALID      = 1
      DESTINATION_INVALID = 2
      GROUP_INVALID       = 3
      GROUP_IS_LOCKED     = 4
      HOLDDATE_INVALID    = 5
      INTERNAL_ERROR      = 6
      QUEUE_ERROR         = 7
      RUNNING             = 8
      SYSTEM_LOCK_ERROR   = 9
      USER_INVALID        = 10
      OTHERS              = 11.
  IF SY-SUBRC <> 0.
    WRITE:/ TEXT-008.              " Unable to open BDC Session
  ENDIF.
endform.                    " OPEN_BDC_SESSION_fk02
*&      Form  BDC_INSERT_fk02
Form used to insert data into BDC session using FK02
form BDC_INSERT_fk02 .
  CALL FUNCTION 'BDC_INSERT'
    EXPORTING
      TCODE            = 'FK02'
    TABLES
      DYNPROTAB        = IT_BDCDATA
    EXCEPTIONS
      INTERNAL_ERROR   = 1
      NOT_OPEN         = 2
      QUEUE_ERROR      = 3
      TCODE_INVALID    = 4
      PRINTING_INVALID = 5
      POSTING_INVALID  = 6
      OTHERS           = 7.
  IF SY-SUBRC <> 0.
    WRITE:/ TEXT-009.             " Unable to Insert Data to BDC Session
  ENDIF.
endform.                    " BDC_INSERT_fk02
*&      Form  display_changed_report
Form to display Updated Vendor data
form display_changed_report .
  IF P_VENMAS = 'X'.
    WRITE:/ TEXT-O10.          " Updated List for Vendor Master
  ELSEIF P_VENEXT = 'X'.
    WRITE:/ TEXT-O11.          " Updated List for Vendor Master Extended
  ENDIF.
  WRITE:/ SY-ULINE(100).
  FORMAT COLOR 1.
  WRITE:/1   SY-VLINE,
         2   TEXT-H01,              " Vendor Number
         17  SY-VLINE,
         18  TEXT-H02,              " Company Code
         31  SY-VLINE,
         32  TEXT-H04,              " Message
         100 SY-VLINE.
  FORMAT COLOR OFF.
  WRITE:/ SY-ULINE(100).
  LOOP AT IT_succ_rec1 INTO WA_IT_succ_rec1.
    FORMAT COLOR 2.
    WRITE:/1   SY-VLINE,
           2   WA_IT_succ_rec1-LIFNR,
           17  SY-VLINE,
           18  WA_IT_succ_rec1-BUKRS,
           31  SY-VLINE,
           32  WA_IT_succ_rec1-MSG,
           100 SY-VLINE.
    CLEAR : WA_IT_succ_rec1.
    FORMAT COLOR OFF.
  ENDLOOP.
  WRITE:/ SY-ULINE(100).
endform.                    " display_changed_report
*&      Form  display_nochange_report
Form to display No Changed data for Vendors
form display_nochange_report .
  IF P_VENMAS = 'X'.
    WRITE:/ TEXT-O12.       " No Changes List for Vendor Master
  ELSEIF P_VENEXT = 'X'.
    WRITE:/ TEXT-O13.       " No Changes List for Vendor Master Extended
  ENDIF.
  WRITE:/ SY-ULINE(100).
  FORMAT COLOR 1.
  WRITE:/1   SY-VLINE,
         2   TEXT-H01,              " Vendor Number
         17  SY-VLINE,
         18  TEXT-H02,              " Company Code
         31  SY-VLINE,
         32  TEXT-H04,              " Message
         100 SY-VLINE.
  FORMAT COLOR OFF.
  WRITE:/ SY-ULINE(100).
  LOOP AT IT_noupdate INTO WA_IT_noupdate.
    FORMAT COLOR 2.
    WRITE:/1   SY-VLINE,
           2   WA_IT_noupdate-LIFNR,
           17  SY-VLINE,
           18  WA_IT_noupdate-BUKRS,
           31  SY-VLINE,
           32  WA_IT_noupdate-MSG,
           100 SY-VLINE.
    CLEAR : WA_IT_noupdate.
    FORMAT COLOR OFF.
  ENDLOOP.
  WRITE:/ SY-ULINE(100).
endform.                    " display_nochange_report
*&      Form  ERROR_RECORD_DATA1
Form to get Error Message for Changed Vendors
form ERROR_RECORD_DATA1 .
  DATA : L_LINES TYPE I,
         L_MSG(200) TYPE C.
  DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
  READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
  IF SY-SUBRC = 0.
    CLEAR L_MSG.
    CALL FUNCTION 'FORMAT_MESSAGE'
      EXPORTING
        ID        = WA_IT_MESSTAB-MSGID
        LANG      = SY-LANGU
        NO        = WA_IT_MESSTAB-MSGNR
        V1        = WA_IT_MESSTAB-MSGV1
        V2        = WA_IT_MESSTAB-MSGV2
        V3        = WA_IT_MESSTAB-MSGV3
        V4        = WA_IT_MESSTAB-MSGV4
      IMPORTING
        MSG       = L_MSG
      EXCEPTIONS
        NOT_FOUND = 1
        OTHERS    = 2.
    IF SY-SUBRC = 0.
      WA_IT_ERROR_fk02-MSG = L_MSG.
    ENDIF.
    IF P_VENMAS = 'X'.
      WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
      WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
    ELSEIF P_VENEXT = 'X'.
      WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
      WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
    ENDIF.
    APPEND WA_IT_ERROR_fk02 TO IT_ERROR_fk02.
    CLEAR WA_IT_ERROR_fk02.
  ENDIF.
endform.                    " ERROR_RECORD_DATA1
*&      Form  display_error_report_fk01
Form to display Error Report for Master Vendors (FK01)
form display_error_report_fk01 .
  IF P_VENMAS = 'X'.
    WRITE:/ TEXT-O05.     " Error List for Vendor Master (FK01)
  ELSEIF P_VENEXT = 'X'.
    WRITE:/ TEXT-O06.     " Error List for Vendor Master Extended (FK01)
  ENDIF.
  WRITE:/ SY-ULINE(100).
  FORMAT COLOR 1.
  WRITE:/1   SY-VLINE,
         2   TEXT-H01,              " Vendor Number
         17  SY-VLINE,
         18  TEXT-H02,              " Company Code
         31  SY-VLINE,
         32  TEXT-H04,              " Message
         100 SY-VLINE.
  FORMAT COLOR OFF.
  WRITE:/ SY-ULINE(100).
  LOOP AT IT_ERROR_fk01 INTO WA_IT_ERROR_fk01.
    FORMAT COLOR 2.
    WRITE:/1   SY-VLINE,
           2   WA_IT_ERROR_fk01-LIFNR,
           17  SY-VLINE,
           18  WA_IT_ERROR_fk01-BUKRS,
           31  SY-VLINE,
           32  WA_IT_ERROR_fk01-MSG,
           100 SY-VLINE.
    CLEAR : WA_IT_ERROR_fk01.
    FORMAT COLOR OFF.
  ENDLOOP.
  WRITE:/ SY-ULINE(100).
endform.                    " display_error_report_fk01
*&      Form  display_error_report_fk02
Form to display Error Report for changed Vendors (FK02)
form display_error_report_fk02 .
  IF P_VENMAS = 'X'.
    WRITE:/ TEXT-O14.     " Error List for Vendor Master (FK02)
  ELSEIF P_VENEXT = 'X'.
    WRITE:/ TEXT-O15.     " Error List for Vendor Master Extended (FK02)
  ENDIF.
  WRITE:/ SY-ULINE(100).
  FORMAT COLOR 1.
  WRITE:/1   SY-VLINE,
         2   TEXT-H01,              " Vendor Number
         17  SY-VLINE,
         18  TEXT-H02,              " Company Code
         31  SY-VLINE,
         32  TEXT-H04,              " Message
         100 SY-VLINE.
  FORMAT COLOR OFF.
  WRITE:/ SY-ULINE(100).
  LOOP AT IT_ERROR_fk02 INTO WA_IT_ERROR_fk02.
    FORMAT COLOR 2.
    WRITE:/1   SY-VLINE,
           2   WA_IT_ERROR_fk02-LIFNR,
           17  SY-VLINE,
           18  WA_IT_ERROR_fk02-BUKR

Similar Messages

  • BDC ? .. ? . . ? 'am Confused  .......

    Hai Dear ABAP Pros..
    As far as I know, BDC is used to Transfer data from legacy system to SAP system. I have newly started my career in SAP ABAP & I am the only guy for this company on ABAP & havenot yet worked on BDC yet.
    I have gone thru the notes & material I have on BDC. I am confused with what exactly is it, 'coz at some places its given that we have to start with <b>SHDB to record Transaction (How come the Standard Transactions are used & what role do they Play in BDC(transfer data)??)</b> & in one Book its given as below & recording is not mentioned any where:
    <b>1.To identify the Screens of the Transaction that the Program will Process.
    2.To build the BDC table that will be used to submit the data to SAP.
    3.To submit the to the BDC table to the system in Batch mode or as a single transaction thru CALL TRANSACTION command.</b>
    Plzz help me out by clearing my doubts. If possible & if U have some docs or material or some real programs or exercises with solutions then Plzz forward them to "[email protected]". ..
    Would higly appreciate & be thatnkful to U.
    Thanks in advance.
    Regards.
    Farooq

    HI Farooq,
    Go thur these
    http://help.sap.com/saphelp_erp2005/helpdata/en/fa/097119543b11d1898e0000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sap-img.com/bdc.htm
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.planetsap.com/bdc_main_page.htm
    Table Control in BDC
    HI,
    Refer the link:
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Reward points if this Helps.
    Manish

  • Problem In Save of BDC  (Create PO)

    Hi All,
           Actually this is not a problem I have resolve the issue by other way but why it was not happening with the previous way I am not able to get that why putting the thread in forum.
    I have created one BDC  for  ME21. Every things is working Fine.Manually I am able to save data with T Code in ME21. But When I am running the BDC  with Saving Mode as L (Local) and (A Asynchronous) data not save and the program come out.
    At the same time if I am using the BDC Mode as S (Synchronous) it working fine and giving me desire result. 
    I have check No back ground Job schedule while running with A and L. I have waiting for 24 hours also may be data save late Some time it happen But nothing like that also.
    I am really confuse Can some body told me any reason for the same. Although problem is solve by S. But Why Only S.
    Regards
    Swati Namdeo

    I have already used COMMIT . Still the same problem.
    regards
    Swati Namdev

  • BDC's in support object

    Hi guys,
    do we work on BDC's in a support project....
    if we... in which way we are working on them.
    plz give exact reason to my question?
    regards
    venu

    Hi Lokesh Reddy,
    Ofcourse you can create more than 1 BDC in a single program
    I have myself created 4 BDCs in single program.
    Just remember to call the Transactions in correct order and also loop them properly, at times wrong looping messes up the BDC.
    If you feel all transactions calling in 1 loop are confusing you, then u can club 2 transactions in 1 loop.
    so that your 1st loop executes 2 transactions, once that loop is successfully over, the control moves onto the next loop, with same or different transactions. Dont worry the same data will be used by both the loops, as it'll be looping on the same internal table.
    If your BDCs are not using same data, some are using 1st few columns, some the rest one
    at such times wat u can do is take all data from flat file into 1 internal table and then individually move particular columns to another internal table.
    then the BDCs that require data from 1st internal table, so loop at that internal table
    the ones which need data from another internal table, so loop at the other internal table.
    Please note as many recordings / BDCs u call those many number of time u have to write the statement.
    CALL TRANSACTION.....
    Like I wrote 4 BDCs in single program, I had to write CALL TRANSACTION 4 times.
    Once u finish everything...put a break point and debug the whole program, u'll actually get to see the flow in which ur data is read, used by bdc, enters the data, how the control moves from 1 BDC to another, how the control goes from 1 LOOP to another, etc.
    debug it in foreground 1st mode 'A', once u feel its going fine, then change it to background mode 'N'.
    I hope this would help u All The Best.
    Regards,
    RadhikaS

  • How to upload file and put in BDC, need sample func specs to practice on...

    Hi guys,
    I do not have anything to do as of the moment, so I want to practice BDC on, lets say SU01. I have seen existing BDC programs here and I am confused as to why some are using read dataset, open dataset, etc. and others are not using them at all. Anyway, what I want to do is to create a flatfile and upload it then populate the fields in t-code SU01.
    Also, if its not too much, I want some functional specs or requirements that I can practice here in the office:)
    Again, thanks guys and have a nice day!:)
    Message was edited by: viraylab

    Hi,
    In order to practice BDC you better go through recording first through the Tcode SHBD. There you provide the name for the recording and also the Tcode you want to use for BDC. Once you complete with the recording you press the back button and click on program button in the application toolbar. You get the complete program written to execute the BDC in both session method and also Call transaction Method.
    BDC can be done using some flat files in presentation server as well as application server. Data sets will be used for loading the file from application server. For presentation server functions like Ws_Upload and WS_download will be used.
    So if you want to create Flat file in presentation server upload the same through BDC you use functions BDC_open group for opening a session,BDC_insert group to insert the flat file and bdc_close group to close after completion of the upload of data.
    Give me your mail id so that i can send you some specs for the same.
    Hope this helps you.
    Pls reward points for useful answers..
    Regards,
    Ram Mohan

  • Info Record BDC

    Hi All
    We have a BDC to upload Material Purchase Price now I have a probelm where in while uploading file system pop-ups two different screens when I reach to condition tab one is create condition xxxx : fast entry and other is FOB Total condition xxxx : condition supplements.
    In our programme we have a loigic where while uploading file system will always have fast entry. Now I do not know in which case system refers to condition supplements screen.
    Regards
    Swara

    I am confused now.
    first you said you havea problem with BDC, now you are saying you have this problem in ME11 and ME12.
    Whats true?

  • Creating to BDC's in one program

    Hi Experts,
    Can we create two BDC's in one program.

    Hi Lokesh Reddy,
    Ofcourse you can create more than 1 BDC in a single program
    I have myself created 4 BDCs in single program.
    Just remember to call the Transactions in correct order and also loop them properly, at times wrong looping messes up the BDC.
    If you feel all transactions calling in 1 loop are confusing you, then u can club 2 transactions in 1 loop.
    so that your 1st loop executes 2 transactions, once that loop is successfully over, the control moves onto the next loop, with same or different transactions. Dont worry the same data will be used by both the loops, as it'll be looping on the same internal table.
    If your BDCs are not using same data, some are using 1st few columns, some the rest one
    at such times wat u can do is take all data from flat file into 1 internal table and then individually move particular columns to another internal table.
    then the BDCs that require data from 1st internal table, so loop at that internal table
    the ones which need data from another internal table, so loop at the other internal table.
    Please note as many recordings / BDCs u call those many number of time u have to write the statement.
    CALL TRANSACTION.....
    Like I wrote 4 BDCs in single program, I had to write CALL TRANSACTION 4 times.
    Once u finish everything...put a break point and debug the whole program, u'll actually get to see the flow in which ur data is read, used by bdc, enters the data, how the control moves from 1 BDC to another, how the control goes from 1 LOOP to another, etc.
    debug it in foreground 1st mode 'A', once u feel its going fine, then change it to background mode 'N'.
    I hope this would help u All The Best.
    Regards,
    RadhikaS

  • Access Denied DNS Server 'Windows Server 2008 R2 and Install AD (PDC) and ADD (BDC=Additional AD)

    hi 
    I Have 
    Windows server 2008 R2 and Install Active Directory 
    Install and configuration for windows server 2008  PDC (Primary Domain Controller) and BDC (Additionall Domain Controller)
    Error
     A security Package specific Error Occurrred. would you like to add it anyway
    and 
    Access Denied Console Other Domain AD 
    and Nslookup 
    C:\Users\admin>nslookup pdc
    Server:  bdc.*.*
    Address:  10.0.X.X
    Name:    pdc.*.*
    Addresses:  10.0.1.11
              10.0.X.X

    Hello,
    your description is a bit confusing. You get the error message when you try to add the other DC to the DNS management console on one machine?
    Both DCs belong to the same domain according to your description?
    Please post an unedited ipconfig /all from both DC/DNS servers here.
    BTW: PDC/BDC concept is gone since the start from AD with Windows 2000 Server. All DCs are the same, difference are only the FSMO roles, still that can be held from any DC in the domain according to some rules.
    Best regards
    Meinolf Weber
    MVP, MCP, MCTS
    Microsoft MVP - Directory Services
    My Blog: http://msmvps.com/blogs/mweber/
    Disclaimer: This posting is provided AS IS with no warranties or guarantees and confers no rights.

  • Disadvantages of Using BDC over BAPI

    Hello ,
    could you please clear my confusion as why BDC are not supposed to be used for data uploading over bapis.
    What are the advantages and disadvantages between BDC and BAPI
    thanks in Advance
    PAvan

    Hi Pavan,
    BDC is slower because it additionally processes the screens. This is a big disadvantage (could be more than 10 times slower). An advantage on BDC processing is that you can later view an process the data manually.
    With BAPIs (which are not necessarily OO) you have to have some error handling in place if one of the imported data sets fails (sometimes done with restartable jobs, look for example into the documentation of RFBIBL00).
    Also, as already mentioned, changes of the screen layout and/or the GUI status will very likely make your BDC sessions fail (no matter these changes were caused by customising settings or a patch).
    Regards, Gerd Rother

  • BDC for order balance

    We are having a procedure in our company where we balance the production order qty (target qty =delivered qty)
    currently we are having a LSMW for that purpose,but this is done centrally by SAP Team and here lies the problem.
    You can Imagine orders from 13 plants come to one station for this purpose.
    1)    We are having a BDC for bom uploading zcs01 created from bdc ,where user calls the transaction zcs01,and the required file is uploaded for creation by giving the path for it...
    Similar to the above example is it possible to create a similar bdc and tcode,where user at plant level can easily operate the production order to balance the qty....
    2)    Is this possible from ourside without much help from ABAPer,since we are able to create  lsmw,recordings through shdb...
    I once tried to do so thru shdb,recording was created,I also generate a program .but while executing it I am confused how to show the destination file where I've the data to be uploaded...
    Plz help...
    Correct me if I am getting wrong...
    Rahul

    THANKS FOR YOUR INPUT,
    WE ARE QUITE AWARE OF LSMW WORKING,BUT CANT GIVE AUTHORITY TO PLANT USERS TO LSMW,HENCE WE AT CENTRAL ARE MAINTAING ALL MASTER DATA AND ALSO THE PROCEDURE OF BALANCING ORDER....
    CAN YOU PLEASE TELL ME HOW THIS BOM UPLOADING  BDC IS CREATED?
    WORKING:- WE JUST MAINTAIN ALL THE FIELDS RELATED TO BOM IN AN EXCEL FILE AND THEN UPLOAD IT TO DESIRED DESTINATION,THEN WE CALL TRANSACTION ZCS01 AND GIVE THE REQUIRED DESTINATION OF FILE WE WANT TO UPLOAD
    AFTER EXECUTING THE REQUIRED BOM ARE BEING CREATED.
                      I BEING A FUNCTIONAL GUY ,NOT HAVING THE REQ KNOWLEDGE...
    PLEASE THROW SOME LIGHT ON IT.....

  • Error message in KP06 BDC

    Hi,
    I am running BDC for KP06,using CALL TRANSACTION.
    When the BDC is successful,then the bdcmsgcoll contains no success message.
    But,when the BDC fails due to wrong entries,the bdcmscoll has messages of Type 'S' as "No batch input data for screen SAPLKPP0 1000". Why is the message type coming as "S" in this case ?Why is it not coming as "E" ?
    Please help in clearing the confusion.
    Thanks&Regards
    Ananya

    Hi Ananya.
    In BDC when ever a screen sequence is missing i.e. a screen for which no data is passed, we get this message.
    If you want to check whether BDC is successful or not that you can easily do so by checking the SY-SUBRC after the CALL TRANSACTION statement and then do the processing as per your requirement.
    Regards,
    Mohan

  • Re:BDC,ALV,SCRIPTS and SMARTFORMS

    Hi,
             i need a complete BDC programming example codes with different methods, suppose if it is a material master mm01, i need the screen shots, what to fill in that transaction , the flat file  data snapshot and program, so that i will do that example, otherwise iam so much confused
        I also need ALV ,SAPSCRIPTS and smartforms realtime sample codes with screenshots so tht i will try directly .
       Iam very thankful to all of them who helps me
      Thanks & Regards,
      Sravanthigopal
      [email protected]

    **&#12288;Program ID              &#65306;              ZMAT_CREATE
    **&#12288;Program Desc          &#65306;              Material Master Creation
    **&#12288;Process Overview    
    **&#12288;Created Date           &#65306;               22/08/2006
    **&#12288;Company Name        &#65306;              
    REPORT ZMAT_CREATE
           NO STANDARD PAGE HEADING LINE-SIZE 132 MESSAGE-ID ZBDCMSG.
           Internal table definition        *
    DATA: BEGIN OF ITAB OCCURS 0,
              MATNR LIKE RMMG1-MATNR,                 " Material Number
              MBRSH LIKE RMMG1-MBRSH,                 " Industry Sector
              MTART LIKE RMMG1-MTART,                  " Material Type
              WERKS LIKE RMMG1-WERKS,                  " Plant
              LGORT LIKE RMMG1-LGORT,                  " Storage Location
              VKORG LIKE RMMG1-VKORG,                  " Sales Organization
              VTWEG LIKE RMMG1-VTWEG,                  " Distribution Channel
              LGNUM LIKE RMMG1-LGNUM,                 " Warehouse Number
              LGTYP LIKE RMMG1-LGTYP,                   " Storage Type
              MAKTX LIKE MAKT-MAKTX,                    " Material Description
              MEINS LIKE MARA-MEINS,                      " Base Unit of Measure
             MATKL LIKE MARA-MATKL,                    " Material Group
              SPART LIKE MARA-SPART,                     " Division
              MTPOS_MARA LIKE MARA-MTPOS_MARA,  "General item category group
              GEWEI LIKE MARA-GEWEI,                      " Weight Unit
              TAXKM1 LIKE MG03STEUER-TAXKM,        " Tax classification material
              TAXKM2 LIKE MG03STEUER-TAXKM,        " Tax classification material
              KONDM  LIKE MVKE-KONDM,                  " Material Pricing Group
              MTPOS LIKE MVKE-MTPOS ,                  "ItemCategoryGroupFromMaterialMaster
              MTVFP LIKE MARC-MTVFP,                    " Checking Group for AvailabilityCheck
              TRAGR LIKE MARA-TRAGR,                    " Transportation group
              LADGR LIKE MARC-LADGR,                    " Loading group
              TDLINE LIKE RSTXT-TXLINE,                  " Text editor text line
              EKGRP LIKE MARC-EKGRP,                    " Purchasing Group
              DISMM LIKE MARC-DISMM,                    " MRP Type
              BESKZ LIKE MARC-BESKZ,                     " Procurement Type
              SOBSL LIKE MARC-SOBSL,                    " Special procurement type
              PERKZ LIKE MARC-PERKZ,                     " Period indicator
              PRMOD LIKE MPOP-PRMOD,                  " Forecast model
              KZINI LIKE MPOP-KZINI,                        " Initialization indicator
              AUTRU LIKE MARC-AUTRU,                    " Reset Forecast Model Automatically
              MODAV LIKE MPOP-MODAV,                   " Model selection procedure
              IPRKZ LIKE MARA-IPRKZ,                   " Period indicator for shelf life expiration date
              BWTTY LIKE MBEW-BWTTY,                    " Valuation Category
              BKLAS LIKE MBEW-BKLAS,                     " Valuation Class
              EKLAS LIKE MBEW-EKLAS,                      " Valuation Class for Sales OrderStock
              VPRSV LIKE MBEW-VPRSV,                     " Price Control Indicator
              EKALR LIKE MBEW-EKALR,                      "MaterialIsCostedWithQuantityStructure
           END OF ITAB,
    *// TEXT HEADER
           GT_HEAD LIKE THEAD,
    *//  Text lines
           GT_TEXT  LIKE  STANDARD TABLE OF TLINE,
           GW_TEXT LIKE TLINE,
           Data definition        *
            WS_REP_CNT(6) TYPE C,
            SESSION(12) TYPE C.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS:
                PA_GROUP LIKE  APQI-GROUPID OBLIGATORY DEFAULT 'MMupload',
                PA_FNAME LIKE IBIPPARMS-PATH OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
           Include statements        *
    INCLUDE ZBDCREX.
         At Selection Screen definition      *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_FNAME.
    *//GETTING FLAT FILE PATH
      PERFORM FILE_PATH USING PA_FNAME.
         Start of Selection definition      *
    START-OF-SELECTION.
    *//UPLOADING THE FLAT FILE
      PERFORM DATA_UPLOAD TABLES ITAB USING PA_FNAME.
    *// BDC OPEN GROUP
      PERFORM OPEN_GROUP USING PA_GROUP.
      SKIP 3.
      FORMAT COLOR COL_HEADING INVERSE ON.
        WRITE 40 TEXT-001.
      FORMAT COLOR COL_HEADING INVERSE OFF.
      SKIP 1.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
        WRITE :/3 TEXT-002, 13 SY-MANDT, 104 TEXT-003, 113 SY-UNAME,
                  /3 TEXT-004, 13 SY-DATUM, 104 TEXT-005, 113 SY-UZEIT.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      LOOP AT ITAB.
        WS_REP_CNT = WS_REP_CNT + 1.   "To Count no. of Records Processed
        PERFORM MM_UPLOAD.
      ENDLOOP.
    *//STATUS INDICATION
      IF SY-SUBRC = 0.
        SESSION = PA_GROUP.
        SKIP 1.
        FORMAT COLOR COL_TOTAL INVERSE ON.
          WRITE: /38 TEXT-006 , WS_REP_CNT.
        FORMAT COLOR COL_TOTAL INVERSE OFF.
        MESSAGE S000 WITH SESSION.
      ENDIF.
    *// BDC CLOSE GROUP
      PERFORM CLOSE_GROUP.
    SET PF-STATUS 'ZMM01PF'.
    AT USER-COMMAND.
      CASE SY-UCOMM.
        WHEN 'SESSION'.
          CALL TRANSACTION 'SM35'.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE SCREEN.
      ENDCASE .
         FORM MM_UPLOAD      *
    FORM MM_UPLOAD.
      REFRESH BDCDATA.
    *// Create Material: Initial Screen
      perform bdc_dynpro      using 'SAPLMGMM' '0060'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
      perform bdc_field       using 'RMMG1-MATNR'
                                    ITAB-MATNR.
      perform bdc_field       using 'RMMG1-MBRSH'
                                    ITAB-MBRSH.
      perform bdc_field       using 'RMMG1-MTART'
                                    ITAB-MTART.
    *// Selection Views
      perform bdc_dynpro      using 'SAPLMGMM' '0070'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    'SELA'.
      perform bdc_dynpro      using 'SAPLMGMM' '0070'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
    *// Organization Levels
      perform bdc_dynpro      using 'SAPLMGMM' '0080'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
      perform bdc_field       using 'RMMG1-WERKS'
                                    ITAB-WERKS.
      perform bdc_field       using 'RMMG1-LGORT'
                                    ITAB-LGORT.
      perform bdc_field       using 'RMMG1-VKORG'
                                    ITAB-VKORG.
      perform bdc_field       using 'RMMG1-VTWEG'
                                    ITAB-VTWEG.
      perform bdc_field       using 'RMMG1-LGNUM'
                                    ITAB-LGNUM.
      perform bdc_field       using 'RMMG1-LGTYP'
                                    ITAB-LGTYP.
    *// Basic Data 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP04'.
      perform bdc_field       using 'MAKT-MAKTX'
                                    ITAB-MAKTX.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-SPART'
                                    ITAB-SPART.
      perform bdc_field       using 'MARA-MTPOS_MARA'
                                    ITAB-MTPOS_MARA.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARA-GEWEI'.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-NTGEW'
                                    '8000'.
    *// Sales: Sales Organization 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP05'.
      perform bdc_field       using 'MG03STEUER-TAXKM(01)'
                                    ITAB-TAXKM1.
      perform bdc_field       using 'MG03STEUER-TAXKM(02)'
                                    ITAB-TAXKM2.
      perform bdc_dynpro      using 'SAPLMGMM' '4200'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP05'.
    *// Sales: Sales Organization 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP06'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MVKE-KONDM'.
      perform bdc_field       using 'MVKE-KONDM'
                                    ITAB-KONDM.
      perform bdc_field       using 'MARA-MTPOS_MARA'
                                    ITAB-MTPOS_MARA.
      perform bdc_field       using 'MVKE-MTPOS'
                                    ITAB-MTPOS.
    *// Sales: General / Plant Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP12'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-XCHPF'
      perform bdc_field       using 'MARA-NTGEW'
                                    '8000'.
      perform bdc_field       using 'MARC-MTVFP'
                                    ITAB-MTVFP.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-LADGR'.
      perform bdc_field       using 'MARA-TRAGR'
                                    ITAB-TRAGR.
      perform bdc_field       using 'MARC-LADGR'
                                    ITAB-LADGR.
    *// MRP 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP13'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARC-EKGRP'
                                    ITAB-EKGRP.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-DISMM'.
      perform bdc_field       using 'MARC-DISMM'
                                    ITAB-DISMM.
    *// MRP 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP14'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RMMG1_BEZ-WERKS_BEZ'.
      perform bdc_field       using 'MARC-BESKZ'
                                    ITAB-BESKZ.
      perform bdc_field       using 'MARC-SOBSL'
                                    ITAB-SOBSL .
    *// MRP 3: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP16'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-PERKZ'.
      perform bdc_field       using 'MARC-PERKZ'
                                    ITAB-PERKZ.
      perform bdc_field       using 'MARC-MTVFP'
                                    ITAB-MTVFP.
    *// Forecasting Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP17'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MPOP-PRMOD'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MPOP-PRMOD'
                                    ITAB-PRMOD.
      perform bdc_field       using 'MARC-PERKZ'
                                    ITAB-PERKZ.
      perform bdc_field       using 'MPOP-PERAN'
                                    '60'.
      perform bdc_field       using 'MPOP-ANZPR'
                                    '12'.
      perform bdc_field       using 'MPOP-KZINI'
                                    ITAB-KZINI.
      perform bdc_field       using 'MPOP-SIGGR'
                                    '4.000'.
      perform bdc_field       using 'MARC-AUTRU'
                                    ITAB-AUTRU.
      perform bdc_field       using 'MPOP-MODAV'
                                    ITAB-MODAV.
    *// Work Scheduling Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP19'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-FRTME'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
    *// Plant data / Stor. 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP20'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-IPRKZ'
                                    ITAB-IPRKZ.
    *// Plant data / Stor. 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP21'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-NTGEW'
                                     '8000'.
    *// Warehouse Management 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP23'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-BRGEW'
                                     '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
    *// Quality Management Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP24'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
    *// Accounting 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP26'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MBEW-BWTTY'
                                    ITAB-BWTTY.
      perform bdc_field       using 'MARA-SPART'
                                    ITAB-SPART.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MBEW-STPRS'.
      perform bdc_field       using 'MBEW-BKLAS'
                                    ITAB-BKLAS.
      perform bdc_field       using 'MBEW-EKLAS'
                                    ITAB-EKLAS.
      perform bdc_field       using 'MBEW-VPRSV'
                                    ITAB-VPRSV.
      perform bdc_field       using 'MBEW-PEINH'
                                    '1'.
      perform bdc_field       using 'MBEW-VERPR'
                                    '800'.
      perform bdc_field       using 'MBEW-STPRS'
                                    '800'.
    *// Costing 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP27'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MBEW-EKALR'
                                    ITAB-EKALR.
      perform bdc_field       using 'MARC-LOSGR'
                                    '1'.
    *// Costing 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BABA'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MBEW-BKLAS'
                                    ITAB-BKLAS.
      perform bdc_field       using 'MBEW-BWTTY'
                                    ITAB-BWTTY.
      perform bdc_field       using 'MBEW-EKLAS'
                                    ITAB-EKLAS.
      perform bdc_field       using 'MBEW-VPRSV'
                                    ITAB-VPRSV.
      perform bdc_field       using 'MBEW-PEINH'
                                    '1'.
      perform bdc_field       using 'MBEW-VERPR'
                                    '800.00'.
      perform bdc_field       using 'MBEW-STPRS'
                                    '800.00'.
      perform bdc_dynpro      using 'SAPLSPO1' '0300'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=YES'.
    *//BDC INSERT
      PERFORM BDC_TRANSACTION TABLES BDCDATA
                          USING 'MM01'. " MESSAGES INTO GT_MSG.
    *// Text Header Data
      CONCATENATE ITAB-MATNR '             000101'
                              INTO GT_HEAD-TDNAME .
      GT_HEAD-TDOBJECT = 'MVKE' .
      GT_HEAD-TDID     = '0001' .
      GT_HEAD-TDSPRAS  = SY-LANGU.
    *// Sales Text
      GW_TEXT-TDFORMAT  =  '00'.
      GW_TEXT-TDLINE    =  ITAB-TDLINE .
      APPEND GW_TEXT TO  GT_TEXT.
      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
          CLIENT          = SY-MANDT
          HEADER          = GT_HEAD
          INSERT          = 'X'
          SAVEMODE_DIRECT = 'X'
          OWNER_SPECIFIED = ' '
        TABLES
          LINES           = GT_TEXT
        EXCEPTIONS
          ID              = 1
          LANGUAGE        = 2
          NAME            = 3
          OBJECT          = 4
          OTHERS          = 5.
      IF SY-SUBRC <> 0.
        SKIP 2.
        FORMAT COLOR COL_NEGATIVE INVERSE ON.
          WRITE: / 'Unable to Insert Salestext for Material : ', ITAB-MATNR .
        FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      ENDIF.
      CLEAR: GT_HEAD, GT_TEXT, GW_TEXT.
    ENDFORM.                    "MM_UPLOAD
    **&#12288;Program ID              &#65306;              ZMAT_CREATE
    **&#12288;Program Desc            &#65306;              Material Master Creation Using BAPI
    **&#12288;Process Overview        &#65306;
    **&#12288;Created By              &#65306;              P.KARTHIKEYAN
    **&#12288;Created Date            &#65306;              17/08/2006
    **&#12288;Company Name            &#65306;              Infoview Technologies Limited
    REPORT  ZBAPI_MATERIAL_SAVETEXT LINE-SIZE 132 MESSAGE-ID ZMMBAPI.
    *<<<DATA DECLEA FOR HEADER>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    ****<<<<<Header segment with control information>>>>>>
    DATA: HEADER LIKE BAPIMATHEAD.
    *<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    *<<<<<<<<Client-specific material data>>>>>>>>>>>>>>>>
    DATA: GT_CLIENTDATA  LIKE BAPI_MARA.
    **<<<<<<<<CLIENT DATA INITIAL>>>>>>>>>>>>>
    **<<<<<<<<Information on update for CLIENTDATA>>>>>>>>
    DATA: GT_CLIENTDATAX LIKE BAPI_MARAX.
    ***<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    **<<<<<<<Plant-specific material data>>>>>>>>>>>>>>>>>
    DATA: GT_PLANTDATA LIKE BAPI_MARC.
    **<<<<<<<<PLANT DATA INITIAL>>>>>>>>>>>>>>>
    **<<<<<<<<Information on update for PLANTDATA>>>>>>>>
    DATA:GT_PLANTDATAX LIKE BAPI_MARCX.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>>>>>>>>>>
    DATA: GT_FORECASTPARAMETERS LIKE BAPI_MPOP.
    *<<<<<<<<<<<<<Information on update for FORECASTDATA>
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>
    DATA:GT_FORECASTPARAMETERSX LIKE BAPI_MPOPX.
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>>>>>>>>>>>>>
    *<<<<<<<<<<<Information on update for PLANNINGDATA>>>
    DATA:GT_PLANNINGDATA LIKE BAPI_MPGD.
    *<<<<<<<<<<<<<<<PLANNING INITIAL  >>>>>>>>>>>>>>>>>>>
    DATA:GT_PLANNINGDATAX LIKE BAPI_MPGDX.
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA>>>>>>>>>>
    *<<<<<<<<<<<<Storage-location-specific material data>>
    DATA: GT_STORAGELOCATIONDATA LIKE BAPI_MARD.
    *<<<<<<Information on update for STORAGELOCATIONDATA>>
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA INITIAL>>>>>>>>>>>
    DATA:GT_STORAGELOCATIONDATAX LIKE BAPI_MARDX.
    *<<<<<<<<<<<<<<<SALESDATA DATA   >>>>>>>>>>>>>>>>>>>>>
    DATA: GT_SALESDATA LIKE BAPI_MVKE.
    *<<<<<<<<<<<<<<<Information on update for SALESDATA>>>
    *<<<<<<<<<<<<<<<SALESDATA DATA INITIAL  >>>>>>>>>>>>>>
    DATA: GT_SALESDATAX LIKE BAPI_MVKEX.
    ****<<<<<<<<<<<<Units of measure>>>>>>>>>>>>>>>>>>>>>>>
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASURE>>>>>>>>>>>>>>>>>>
    DATA: GT_UNITSOFMEASURE LIKE BAPI_MARM OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASUREX>>>>>>>>>>>>>>>>>
    DATA: GT_UNITSOFMEASUREX LIKE BAPI_MARMX OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<SALES TEXT>>>>>>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_MATERIALLONGTEXT LIKE BAPI_MLTX OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<MATERIAL_DESC>>>>>>>>>>>>>>>>>>>>>>>>>>
    DATA: MATERIAL_DESC LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE.
    *******<<<<<<<RETURN PARAMETERS>>>>>>>>
    DATA: ITAB_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.  "#EC NEEDED
    ******<<<<<<<WAREHOUSENUMBERDATA>>>>>>>>>>>>>>
    DATA: GT_WAREHOUSENUMBERDATA LIKE     BAPI_MLGN.
    ******<<<<<<<WAREHOUSENUMBERDATA>>>>>>>>>>>>>>
    DATA: GT_WAREHOUSENUMBERDATX LIKE     BAPI_MLGNX.
    ******<<<<<<<STORAGETYPEDATA>>>>>>>>>>>>>>>>>>
    DATA: GT_STORAGETYPEDATA     LIKE     BAPI_MLGT.
    ******<<<<<<<STORAGETYPEDATAX>>>>>>>>
    DATA: GT_STORAGETYPEDATAX     LIKE     BAPI_MLGTX.
    ***<<<BAPI_TRANSCATION COMMIT>>>>>>>>>>>>>>>>>
    DATA: GT_RETURN TYPE BAPIRET2.                              "#EC NEEDED
    ***<<<<<<<<Valuation data>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_VALUATIONDATA like BAPI_MBEW. "Valuation data
    ***<<<<<<<<Valuation data>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_VALUATIONDATAX like  BAPI_MBEWX. "Valuation data
    data: gt_PRTDATA like  BAPI_MFHM OCCURS 0 WITH HEADER LINE.
    data: gt_PRTDATAX like  BAPI_MFHM OCCURS 0 WITH HEADER LINE.
    **<<<<International Article Numbers (EANs)>>>>
    DATA: GT_INTERNATIONALARTNOS    LIKE    BAPI_MEAN  OCCURS 0 WITH HEADER LINE,
    **<<<<Tax classifications>>>>>>>>>>>>>>>>>>>>>>
          GT_TAXCLASSIFICATIONS          LIKE  BAPI_MLAN  OCCURS 0 WITH HEADER LINE,
          GT_RETURNMESSAGES              LIKE BAPI_MATRETURN2  OCCURS 0 WITH HEADER LINE.
    **<<<<<<<<<<<<<<FLAT FILE INTERNAL TABLE USED FOR DOWNLOAD EXCEL FILE>>>>>>
    DATA: BEGIN OF GT_FT_ITAB OCCURS 0,
          MATERIAL TYPE BAPIMATHEAD-MATERIAL , "Material Number
          IND_SECTOR TYPE BAPIMATHEAD-IND_SECTOR, "Industry Sector
          MATL_TYPE TYPE BAPIMATHEAD-MATL_TYPE  , "Material Type
          BASIC_VIEW TYPE BAPIMATHEAD-BASIC_VIEW,  "Basic Data View
          SALES_VIEW TYPE BAPIMATHEAD-SALES_VIEW  , "Sales View
          PURCHASE_VIEW TYPE BAPIMATHEAD-PURCHASE_VIEW, "Purchasing View
          MRP_VIEW  TYPE BAPIMATHEAD-MRP_VIEW ,"Material Requirements Planning (MRP) View
          FORECAST_VIEW TYPE BAPIMATHEAD-FORECAST_VIEW  , "Forecasting View
          WORK_SCHED_VIEW TYPE BAPIMATHEAD-WORK_SCHED_VIEW ,"Work Scheduling View
          PRT_VIEW TYPE BAPIMATHEAD-PRT_VIEW  , "Production Resources/Tools (PRT) View
          STORAGE_VIEW TYPE BAPIMATHEAD-STORAGE_VIEW  , "Storage View
          WAREHOUSE_VIEW  TYPE BAPIMATHEAD-WAREHOUSE_VIEW , "Warehouse Management View
          QUALITY_VIEW  TYPE BAPIMATHEAD-QUALITY_VIEW, "Quality Management View
          ACCOUNT_VIEW TYPE BAPIMATHEAD-ACCOUNT_VIEW , "Accounting View
          COST_VIEW TYPE BAPIMATHEAD-COST_VIEW  , "Costing View
    *****<<<<<<<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>
          MATL_GROUP  TYPE BAPI_MARA-MATL_GROUP,   "Materialgroup
          OLD_MAT_NO TYPE BAPI_MARA-OLD_MAT_NO,  "Old material number
          BASE_UOM  TYPE BAPI_MARA-BASE_UOM,     "Base Unit of Measure
          BASE_UOM_ISO TYPE BAPI_MARA-BASE_UOM_ISO ,"Base unit of measure in ISO code
          DOCUMENT TYPE BAPI_MARA-DOCUMENT, "Document number
          DOC_TYPE TYPE BAPI_MARA-DOC_TYPE, "Document type
          DOC_VERS TYPE BAPI_MARA-DOC_VERS, "Document version
          DOC_FORMAT TYPE BAPI_MARA-DOC_FORMAT,"Page format of document
          DOC_CHG_NO TYPE BAPI_MARA-DOC_CHG_NO, "Document change number
          PAGE_NO TYPE BAPI_MARA-PAGE_NO, "Page number of document
          PROD_MEMO  TYPE BAPI_MARA-PROD_MEMO , "Production/Inspection Memo
          PAGEFORMAT TYPE BAPI_MARA-PAGEFORMAT, "Page Format of Production Memo
          SIZE_DIM TYPE BAPI_MARA-SIZE_DIM, "Size/dimensions
          BASIC_MATL TYPE BAPI_MARA-BASIC_MATL, "Basic Material
          STD_DESCR TYPE BAPI_MARA-STD_DESCR, "Industry Standard Description
          DSN_OFFICE TYPE BAPI_MARA-DSN_OFFICE, "Laboratory/design office
          NET_WEIGHT TYPE BAPI_MARA-NET_WEIGHT, " "Net weight
          UNIT_OF_WT TYPE BAPI_MARA-UNIT_OF_WT, "Weight Unit
          DIVISION TYPE BAPI_MARA-DIVISION, "Division
          CAD_ID TYPE BAPI_MARA-CAD_ID, "Competitor
          PROD_ALLOC TYPE BAPI_MARA-PROD_ALLOC,  "Procurement rule
          HAZMATPROF TYPE BAPI_MARA-HAZMATPROF, "Source of Supply
          HIGH_VISC TYPE BAPI_MARA-HIGH_VISC, "Allowed packaging weight
          LOOSEORLIQ TYPE BAPI_MARA-LOOSEORLIQ, "Long material number
          PERIOD_IND_EXPIRATION_DATE TYPE BAPI_MARA-PERIOD_IND_EXPIRATION_DATE,"Expiration Dat
          ITEM_CAT  TYPE BAPI_MARA-ITEM_CAT, "General item category group
          EXTMATLGRP TYPE BAPI_MARA-EXTMATLGRP, "External Material Group
    *****CLIENT DATA INITIAL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
          MATL_GROUPX  TYPE BAPI_MARAX-MATL_GROUP, "Materialgroup
          OLD_MAT_NOX TYPE BAPI_MARAX-OLD_MAT_NO, "Old material number
          BASE_UOMX TYPE BAPI_MARAX-BASE_UOM, "Base Unit of Measure
          BASE_UOM_ISOX TYPE BAPI_MARAX-BASE_UOM_ISO, "Base unit of measure in ISO code
          DOCUMENTX TYPE BAPI_MARAX-DOCUMENT, "Document number
          DOC_TYPEX TYPE BAPI_MARAX-DOC_TYPE, "Document type
          DOC_VERSX TYPE BAPI_MARAX-DOC_VERS,  "Document version
          DOC_FORMATX TYPE BAPI_MARAX-DOC_FORMAT,"Page format of document
          DOC_CHG_NOX TYPE BAPI_MARAX-DOC_CHG_NO, "Document change number
          PAGE_NOX TYPE BAPI_MARAX-PAGE_NO, "Production/Inspection Memo
          PROD_MEMOX TYPE BAPI_MARAX-PROD_MEMO, "Page Format of Production Memo
          SIZE_DIMX  TYPE BAPI_MARAX-SIZE_DIM, "Size/dimensions
          BASIC_MATLX TYPE BAPI_MARAX-BASIC_MATL, "Basic Material
          STD_DESCRX TYPE BAPI_MARAX-STD_DESCR, "Industry Standard Description
          DSN_OFFICEX TYPE BAPI_MARAX-DSN_OFFICE, "Laboratory/design office
          NET_WEIGHTX TYPE BAPI_MARAX-NET_WEIGHT, " "Net weight
          UNIT_OF_WTX TYPE BAPI_MARAX-UNIT_OF_WT, "Weight Unit
          DIVISIONX  TYPE BAPI_MARAX-DIVISION, "Division
          PROD_HIERX TYPE BAPI_MARA, "Competitor
          CAD_IDX TYPE BAPI_MARAX-PROD_HIER,  "Procurement rule
          ALLWD_VOLX TYPE BAPI_MARAX-ALLWD_VOL, "Allowed packaging
          PVALIDFROMX  TYPE BAPI_MARAX-PVALIDFROM, "Date from which the cross-plant material status
          SVALIDFROMX   TYPE BAPI_MARAX-SVALIDFROM, "Date from which the X-distr.-chain material stat
          PROD_ALLOCX TYPE BAPI_MARAX-PROD_ALLOC,
          HIGH_VISCX  TYPE BAPI_MARAX-HIGH_VISC,"Indicator: Highly Viscous
          LOOSEORLIQX  TYPE BAPI_MARAX-LOOSEORLIQ, "Indicator: In Bulk/Liquid
          INV_MAT_NO_EXTERNALX  TYPE BAPI_MARAX-INV_MAT_NO_EXTERNAL,
          EXTMATLGRPX TYPE BAPI_MARAX-EXTMATLGRP, " External Material Group
    ****<<<<<<<<<<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
          PLANT  TYPE BAPI_MARC-PLANT, " Plant
          MRP_TYPE  TYPE BAPI_MARC-MRP_TYPE, "MRP Type
          REORDER_PT  TYPE BAPI_MARC-REORDER_PT, "Reorder Point
          SAFETY_STK  TYPE BAPI_MARC-SAFETY_STK, "Safety stock
          MINLOTSIZE  TYPE BAPI_MARC-MINLOTSIZE, "Minimum lot size
    ****<<<<<<<<<<<<<<PLANTDATA INITIAL>>>>>>>>>>>>>>>>>>>>>>
          PLANTX  TYPE BAPI_MARCX-PLANT, " Plant
          MRP_TYPEX  TYPE BAPI_MARCX-MRP_TYPE,  "MRP Type
          REORDER_PTX  TYPE BAPI_MARCX-REORDER_PT, "Reorder Point
          SAFETY_STKX  TYPE BAPI_MARCX-SAFETY_STK, "Safety stock
          MINLOTSIZEX  TYPE BAPI_MARCX-MINLOTSIZE, "Minimum lot size
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>
          F_PLANT  TYPE BAPI_MPOPX-PLANT, " Plant
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>>>>
          F_PLANTX TYPE BAPI_MPOPX-PLANT, " Plant
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>>>>>>>>>>>>>>>>
          P_PLANT TYPE BAPI_MPGD-PLANT, " Plant
    *<<<<<<<<<<<<<<<PLANNING DATA INITAIAL  >>>>>>>>>>>>>>>
          P_PLANTX TYPE BAPI_MPGDX-PLANT, " Plant
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA>>>>>>>>>>>>>>>>>>>>
          S_PLANT   TYPE BAPI_MARD-PLANT, " Plant
          S_STGE_LOC  TYPE BAPI_MARD-STGE_LOC,
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA INITIAL>>>>>>>>>>
          S_PLANTX   TYPE BAPI_MARDX-PLANT, " Plant
          S_STGE_LOCX TYPE BAPI_MARDX-STGE_LOC, "Storage Location
    *<<<<<<<<<<<<<<<SALESDATA DATA   >>>>>>>>>>
          SALES_ORG TYPE  BAPI_MVKE-SALES_ORG, "Sales Organization
          DISTR_CHAN  TYPE  BAPI_MVKE-DISTR_CHAN, "Distribution Channel
    *<<<<<<<<<<<<<<<SALESDATA DATA INITIAL  >>>>>>>>>>
          SALES_ORGX TYPE  BAPI_MVKEX-SALES_ORG, "Sales Organization
          DISTR_CHANX  TYPE  BAPI_MVKEX-DISTR_CHAN, "Distribution Channel
    *****<<<<<<<<<<<<<<<MATERIAL_DESC>>>>>>>>>>>>>>>>>>>>>>>>>>
          LANGU   TYPE BAPI_MAKT-LANGU , "Language Key
          LANGU_ISO TYPE BAPI_MAKT-LANGU_ISO , "Language according to ISO 639
          MATL_DESC TYPE BAPI_MAKT-MATL_DESC ,  "Material Description
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASURE>>>>>>>>>>>>>>>>>>>>>>>>>>
          ALT_UNIT  TYPE BAPI_MARM-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
          ALT_UNIT_ISO  TYPE BAPI_MARM-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
    ******<<<<<<<<<<<<<<<GT_UNITSOFMEASUREX>>>>>>>>>>>>>>>>>>>>>>>>>>
          UNIT TYPE BAPI_MARMX-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
          UNIT_ISO  TYPE BAPI_MARMX-ALT_UNIT_ISO,
            "Alternative unit of measure to stockkeeping unit in ISO code
    *****<<<<<<<<<<<<<<<SALES TEXT>>>>>>>>>>>>>>>>>>>>>>>>>>
          APPLOBJECT TYPE BAPI_MLTX-APPLOBJECT, "Texts: application object
          TEXT_NAME  TYPE BAPI_MLTX-TEXT_NAME, "Name
          TEXT_ID  TYPE BAPI_MLTX-TEXT_ID, "Text ID
          S_LANGU  TYPE BAPI_MLTX-LANGU, "Language key
          TEXT_LINE TYPE BAPI_MLTX-TEXT_LINE, "Text line
    END OF GT_FT_ITAB,
    TEXT(243), " Return Message
    WA_HEAD LIKE THEAD, " SalesText Header Info
    ITAB_TLINE LIKE STANDARD TABLE OF TLINE WITH HEADER LINE, " SalesText
    ERROR_REC TYPE I, " Error Records Counter
    SUCCESS_REC TYPE I, " Successful Records Counter
    TOT_REC TYPE I. " Total Records Counter
    selection block for EXCEL UPLOAD FILE>>>>>>>>>>>>>>>>>>>>>>>>
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS FILE TYPE  IBIPPARMS-PATH OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK B1.
    *<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .>>>>>>>>>>>>
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
        IMPORTING
          FILE_NAME     = FILE.
    **<<<<<<<<<<<<<<<<<START-OF-SELECTION.>>>>>>>>>>>>>>>>>>>>>>>>>>>
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'                                 "#EC *
        EXPORTING
          FILENAME                = FILE
          FILETYPE                = 'DAT'
        TABLES
          DATA_TAB                = GT_FT_ITAB
        EXCEPTIONS
          CONVERSION_ERROR        = 1
          FILE_OPEN_ERROR         = 2
          FILE_READ_ERROR         = 3
          INVALID_TYPE            = 4
          NO_BATCH                = 5
          UNKNOWN_ERROR           = 6
          INVALID_TABLE_WIDTH     = 7
          GUI_REFUSE_FILETRANSFER = 8
          CUSTOMER_ERROR          = 9
          NO_AUTHORITY            = 10
          OTHERS                  = 11.
      IF  SY-SUBRC <> 0  .
        MESSAGE E000.
      ENDIF.
      SKIP 3.
      FORMAT COLOR COL_HEADING INVERSE ON.
      WRITE 40 TEXT-001.
      FORMAT COLOR COL_HEADING INVERSE OFF.
      SKIP 1.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
      WRITE :/3 TEXT-002, 13 SY-MANDT , 104 TEXT-003, 111 SY-UNAME,
                /3 TEXT-004, 13 SY-DATUM , 104 TEXT-005, 111 SY-UZEIT.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      SKIP 3.
      LOOP AT GT_FT_ITAB.
        HEADER-MATERIAL = GT_FT_ITAB-MATERIAL .                 " 'M-32'.
        HEADER-IND_SECTOR = GT_FT_ITAB-IND_SECTOR .          " 'C'.
        HEADER-MATL_TYPE = GT_FT_ITAB-MATL_TYPE .             " 'FERT'.
        HEADER-BASIC_VIEW = GT_FT_ITAB-BASIC_VIEW .            " 'X'.
        HEADER-SALES_VIEW = GT_FT_ITAB-SALES_VIEW.             " 'X'.
        HEADER-PURCHASE_VIEW = GT_FT_ITAB-PURCHASE_VIEW .    " 'X'.
        HEADER-MRP_VIEW = GT_FT_ITAB-MRP_VIEW .                      " 'X'.
        HEADER-FORECAST_VIEW = GT_FT_ITAB-FORECAST_VIEW .    " 'X'.
        HEADER-WORK_SCHED_VIEW = GT_FT_ITAB-WORK_SCHED_VIEW ." 'X'.
        HEADER-PRT_VIEW = GT_FT_ITAB-PRT_VIEW .                          " 'X'.
        HEADER-STORAGE_VIEW = GT_FT_ITAB-STORAGE_VIEW .           " 'X'.
        HEADER-WAREHOUSE_VIEW = GT_FT_ITAB-WAREHOUSE_VIEW .   " 'X'.
        HEADER-QUALITY_VIEW = GT_FT_ITAB-QUALITY_VIEW .             " 'X'.
        HEADER-ACCOUNT_VIEW =  GT_FT_ITAB-ACCOUNT_VIEW .        " 'X'.
        HEADER-COST_VIEW = GT_FT_ITAB-COST_VIEW .                     " 'X'.
    *<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        GT_CLIENTDATA-MATL_GROUP = GT_FT_ITAB-MATL_GROUP .      " '01'.
        GT_CLIENTDATA-OLD_MAT_NO = GT_FT_ITAB-OLD_MAT_NO .      " '1000'.
        GT_CLIENTDATA-BASE_UOM  = GT_FT_ITAB-BASE_UOM  .         " 'EA'.
        GT_CLIENTDATA-BASE_UOM_ISO = GT_FT_ITAB-BASE_UOM_ISO ." 'EA'.
        GT_CLIENTDATA-DOCUMENT = GT_FT_ITAB-DOCUMENT .         "'MATERIAL'.
        GT_CLIENTDATA-DOC_TYPE = GT_FT_ITAB-DOC_TYPE .            " 'A'.
        GT_CLIENTDATA-DOC_VERS = GT_FT_ITAB-DOC_VERS .          " '5'.
        GT_CLIENTDATA-DOC_FORMAT = GT_FT_ITAB-DOC_FORMAT .      " '5'.
        GT_CLIENTDATA-DOC_CHG_NO = GT_FT_ITAB-DOC_CHG_NO .      " 'A4'.
        GT_CLIENTDATA-PAGE_NO =  GT_FT_ITAB-PAGE_NO    .        " '1'.
        GT_CLIENTDATA-PROD_MEMO = GT_FT_ITAB-PROD_MEMO .      " 'MEMO'.
        GT_CLIENTDATA-PAGEFORMAT = GT_FT_ITAB-PAGEFORMAT .      " '1'.
        GT_CLIENTDATA-SIZE_DIM = GT_FT_ITAB-SIZE_DIM .          " '50/50'.
        GT_CLIENTDATA-BASIC_MATL = GT_FT_ITAB-BASIC_MATL .       " 'BASIS MATERIAL1'.
        GT_CLIENTDATA-STD_DESCR = GT_FT_ITAB-STD_DESCR .         " 'MATERIAL DESC'.
        GT_CLIENTDATA-DSN_OFFICE = GT_FT_ITAB-DSN_OFFICE .      " '001'.
        GT_CLIENTDATA-NET_WEIGHT = GT_FT_ITAB-NET_WEIGHT .      " 1000.
        GT_CLIENTDATA-UNIT_OF_WT = GT_FT_ITAB-UNIT_OF_WT .         " 'KG'.
        GT_CLIENTDATA-TRANS_GRP =  '0001'.
        GT_CLIENTDATA-DIVISION =         GT_FT_ITAB-DIVISION .  " '01'.
        GT_CLIENTDATA-QTY_GR_GI = '9000'.
        GT_CLIENTDATA-CAD_ID = GT_FT_ITAB-CAD_ID .                      " 'X'.
        GT_CLIENTDATA-ALLWD_VOL = '9000'.
        GT_CLIENTDATA-PROD_ALLOC = GT_FT_ITAB-PROD_ALLOC .      " 'PA01'.
        GT_CLIENTDATA-HAZMATPROF = GT_FT_ITAB-HAZMATPROF .      " '001'.
        GT_CLIENTDATA-HIGH_VISC = GT_FT_ITAB-HIGH_VISC .             " 'X'.
        GT_CLIENTDATA-LOOSEORLIQ = GT_FT_ITAB-LOOSEORLIQ .     " 'X'.
        GT_CLIENTDATA-PERIOD_IND_EXPIRATION_DATE = GT_FT_ITAB-PERIOD_IND_EXPIRATION_DATE . " 'D'.
        GT_CLIENTDATA-ITEM_CAT = 'NORM' . "GT_FT_ITAB-ITEM_CAT .   " 'NORM'.
        GT_CLIENTDATA-EXTMATLGRP = GT_FT_ITAB-EXTMATLGRP .      " '01'.
    **<<<<<<<<CLIENT DATA INITIAL>>>>>>>>>>>>>
        GT_CLIENTDATAX-MATL_GROUP =  'X'.
        GT_CLIENTDATAX-OLD_MAT_NO = GT_FT_ITAB-OLD_MAT_NO .        "  'X'.
        GT_CLIENTDATAX-BASE_UOM = GT_FT_ITAB-BASE_UOM .              " 'X'.
        GT_CLIENTDATAX-BASE_UOM_ISO = GT_FT_ITAB-BASE_UOM_ISO .   "'X'.
        GT_CLIENTDATAX-DOCUMENT = GT_FT_ITAB-DOCUMENT .            "'X'.
        GT_CLIENTDATAX-DOC_TYPE = GT_FT_ITAB-DOC_TYPE .               "'X'.
        GT_CLIENTDATAX-DOC_VERS = GT_FT_ITAB-DOC_VERS .               "'X'.
        GT_CLIENTDATAX-DOC_FORMAT = GT_FT_ITAB-DOC_FORMAT .      "'X'.
        GT_CLIENTDATAX-DOC_CHG_NO = GT_FT_ITAB-DOC_CHG_NO .      "'X'.
        GT_CLIENTDATAX-PAGE_NO = GT_FT_ITAB-PAGE_NO .                  "'X'.
        GT_CLIENTDATAX-PROD_MEMO  = GT_FT_ITAB-PROD_MEMO .        "'X'.
        GT_CLIENTDATAX-PAGEFORMAT = 'X'.
        GT_CLIENTDATAX-SIZE_DIM = GT_FT_ITAB-SIZE_DIM .                    "'X'
        GT_CLIENTDATAX-BASIC_MATL = GT_FT_ITAB-BASIC_MATL.           "'X'.
        GT_CLIENTDATAX-STD_DESCR = GT_FT_ITAB-STD_DESCR .            "'X'.
        GT_CLIENTDATAX-DSN_OFFICE = GT_FT_ITAB-DSN_OFFICE .           "'X'.
        GT_CLIENTDATAX-NET_WEIGHT = GT_FT_ITAB-NET_WEIGHT .           "'X'.
        GT_CLIENTDATAX-UNIT_OF_WT = GT_FT_ITAB-UNIT_OF_WT .            "'X'.
        GT_CLIENTDATAX-DIVISION  = GT_FT_ITAB-DIVISION .                    "'X'.
        GT_CLIENTDATAX-PROD_HIER = GT_FT_ITAB-PROD_HIERX .              "'X'.
        GT_CLIENTDATAX-CAD_ID = GT_FT_ITAB-CAD_ID .                           "'X'.
        GT_CLIENTDATAX-ALLWD_VOL = GT_FT_ITAB-ALLWD_VOLX .             "'X'.
        GT_CLIENTDATAX-PROD_ALLOC = GT_FT_ITAB-PROD_ALLOCX .         "'X'.
        GT_CLIENTDATAX-HAZMATPROF = 'X'.
        GT_CLIENTDATAX-HIGH_VISC  = GT_FT_ITAB-HIGH_VISCX .                "'X'.
        GT_CLIENTDATAX-LOOSEORLIQ  = GT_FT_ITAB-LOOSEORLIQX .        "'X'.
        GT_CLIENTDATAX-ITEM_CAT = 'X'.
        GT_CLIENTDATAX-INV_MAT_NO_EXTERNAL  = GT_FT_ITAB-INV_MAT_NO_EXTERNALX  .      "'X'.
        GT_CLIENTDATAX-EXTMATLGRP = GT_FT_ITAB-EXTMATLGRPX .         " 'X'.
        GT_CLIENTDATAX-TRANS_GRP =  'X'.
        GT_CLIENTDATAX-QTY_GR_GI = 'X'.
        GT_CLIENTDATAX-ALLWD_VOL = 'X'.
    ***<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        GT_PLANTDATA-PLANT = GT_FT_ITAB-PLANT .                 " '0001'.
        GT_PLANTDATA-MRP_TYPE = GT_FT_ITAB-MRP_TYPE .       "'ND'.
        GT_PLANTDATA-PUR_GROUP = '001'.                              "Purchasing Group
        GT_PLANTDATA-PROC_TYPE = 'F'.                                  "Procurement Type
        GT_PLANTDATA-SPPROCTYPE = '10'.                              "Special procurement type
       GT_PLANTDATA-REORDER_PT = GT_FT_ITAB-REORDER_PT .       "8000.
        GT_PLANTDATA-SAFETY_STK =  2.
        GT_PLANTDATA-LOADINGGRP = '0001'.                           "Loading group
        GT_PLANTDATA-MINLOTSIZE = GT_FT_ITAB-MINLOTSIZE .       "6000.
    **<<<<<<<<PLANT DATA INITIAL>>>>>>>>>>>>>
        GT_PLANTDATAX-PLANT = GT_FT_ITAB-PLANTX.                " '0001'.
        GT_PLANTDATAX-MRP_TYPE = GT_FT_ITAB-MRP_TYPEX.      " 'X'.
        GT_PLANTDATAX-PUR_GROUP = 'X'.                                 "Purchasing Group
        GT_PLANTDATAX-PROC_TYPE = 'X'.                                  "Procurement Type
        GT_PLANTDATAX-SPPROCTYPE = 'X'.                               "Special procurement type
        GT_PLANTDATAX-LOADINGGRP = 'X'.                               "Loading group
       GT_PLANTDATAX-REORDER_PT = GT_FT_ITAB-REORDER_PTX.   " 'X'.
        GT_PLANTDATAX-SAFETY_STK = GT_FT_ITAB-SAFETY_STKX.      "'X'.
        GT_PLANTDATAX-MINLOTSIZE = GT_FT_ITAB-MINLOTSIZEX.       "'X'.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>
        GT_FORECASTPARAMETERS-PLANT =  GT_FT_ITAB-F_PLANT.      " '0001'.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>>>>
        GT_FORECASTPARAMETERSX = '0001'.
        GT_FORECASTPARAMETERSX-PLANT =  GT_FT_ITAB-F_PLANTX.    " '0001'.
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>
    *GT_PLANNINGDATA-PLANT = GT_FT_ITAB-P_PLANT.                    " '0001'.
        GT_PLANNINGDATA-PLANT =   '0001'.
    *<<<<<<<<<<<<<<<PLAN

  • What do we mean my BDC compatible transaction ?

    Hi,
    I have a doubt regarding BDC.
    I am working on an enhnacement issue for a transaction code.
    I have to use some formula and update the fields of the given transaction code.
    After a long seacrh it seems that particular for that event trigger niether user exit or BADI is available.
    My team lead suggested that in second approach we will try BDC.
    We will see how compatible or feasible is given transaction for doing BDC and than we will use BDC for the updation of fields.
    I was little bit confused. According to my knowledge BDC are used for data conversions only.
    Can anyone let me know what exactly it means when he talks about using BDCs.
    Please help me out.
    Tanmay

    I've given the answer in your other thread.
    Using BDCs for this purpose is not a good idea.
    It only means that you need to write a BDC for this Xn but before populating BDCDATA, you will get all the user data inputs through you own designed screens in the BDC program itself. Then you will use this data to derive a few fields.
    Further users will have to use your BDC Xn in place of original Xn.
    Another option, if any user exit is available at save, then you can call your BDC over there just to derive a few fields and save only those fields.
    But for your case, characterstics value determination, that is possible through configuring dependency.
    See your other thread. And get back, if you need further info.
    Thanks,
    Ram

  • Equipment description is overlapped by assets description after as02 bdc .

    Hi All,
             I have problem in AS02 bdc.When transferring the equipment from one plant to another.We run one BDC for changing BUSSINESS AREA , PLANNING PLANT , MATENANCE PLANT IN IE02.After that I am running one BDC for AS02 for changing Plant assignment.Here I am facing the problem for rare cases.The equipment description is overlapped by assets description for rare cases.I am confused about this...<removed by moderator>...Thanx in advance..
    Regards
    BIbeka
    Edited by: Thomas Zloch on Nov 30, 2011 2:02 PM

    Dear:
                  Your question contains answer ... Please  change "Change equipment NO SYNCHRONIZATION"  into  DIRECT SYNCHRONIZATION AFTER SAVING and also make sure that Synchronization button is on in AS02 for relevant assets in Allocation tab. Please do this and revert back. Please also refer to an excellent article about PM & AA synchronization. Hope it will help you solve your issue.
    http://help.sap.com/saphelp_46c/helpdata/en/4f/71db54448011d189f00000e81ddfac/content.htm
    Regards

  • Good materials on LSMW and BDC

    Hi,
      Can anyone send me or refer me some good materials on LSMW and BDC?
    Thanks...
    Uma.

    Hi,
    give me ur email..will send you a good document...
    Also check the below links..
    ABAP HELP
    If you check these links, you can find many example programs.
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sappoint.com/abap/
    FAQs in ABAP
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    Smart forms
    http://www.sap-basis-abap.com/sapsf001.htm
    Workflow
    <http://www.sap-img.com/workflow/sap-workflow.htm>
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    SAP Scripts:
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    Some useful ABAP Links for learning:
    http://cma.zdnet.com/book/abap/index.htm
    http://www.sapdevelopment.co.uk/
    http://www.sap-img.com/
    http://juliet.stfx.ca/people/fac/infosys/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d3/2e974d35c511d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d6/0db357494511d182b70000e829fbfe/frameset.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://www.sapgenie.com/abap/example_code.htm
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://www.sap-img.com/abap-function.htm
    http://www.sapgenie.com/abap/code/abap19.htm
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://help.sap.com/saphelp_40b/helpdata/ru/d6/0dc169494511d182b70000e829fbfe/applet.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/symbols.htm
    http://www.henrikfrank.dk/abapexamples/index.html
    http://sap.ittoolbox.com/documents/document.asp?i=752
    http://members.aol.com/_ht_a/skarkada/sap/
    http://sappoint.com/abap/
    http://members.tripod.com/abap4/SAP_Functions.html
    http://members.ozemail.com.au/~anmari/sap/index.html
    http://www.planetsap.com/Userexit_List.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://www.kabai.com/abaps/q.htm
    http://www.planetsap.com/Userexit_List.htm
    http://help.sap.com/saphelp_bw21c/helpdata/en/c4/3a8090505211d189550000e829fbbd/frameset.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/saphelp_45b/helpdata/en/65/897415dc4ad111950d0060b03c6b76/content.htm
    http://www.sap-basis-abap.com/index.htm
    http://help.sap.com/saphelp_40b/helpdata/en/fc/eb2c46358411d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/aa/aeb23789e95378e10000009b38f8cf/frameset.htm
    http://www.geocities.com/ResearchTriangle/1635/system.html
    http://www.sapdesignguild.org/resources/MiniSG/3_Managing/3_Functions_Table_Control.htm
    http://help.sap.com/saphelp_45b/helpdata/en/d1/801bdf454211d189710000e8322d00/content.htm
    http://www.sapfans.com/sapfans/repos/saprep.htm
    http://www.planetsap.com/howdo_a.htm
    http://help.sap.com/saphelp_util464/helpdata/en/69/c2516e4ba111d189750000e8322d00/content.htm
    http://www.sapgenie.com/abap/smartforms_detail.htm
    http://www.sap-img.com/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm
    http://www.geocities.com/victorav15/sapr3/abap.html
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://abap4.tripod.com/Other_Useful_Tips.html
    http://help.sap.com/saphelp_45b/helpdata/en/cf/21ee2b446011d189700000e8322d00/content.htm
    http://www.sap-basis-abap.com/sapmm.htm
    http://sap.ittoolbox.com/nav/t.asp?t=303&p=448&h1=303&h2=322&h3=448
    http://sapfans.com/
    http://cma.zdnet.com/book/abap/ch03/ch03.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
    For FAQ
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sapgenie.com/faq/abap.htm
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    Web log for receive email and processing it through ABAP
    /people/thomas.jung3/blog/2004/09/09/receiving-e-mail-and-processing-it-with-abap--version-610-and-higher
    For Logical database
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/EN/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Useful link to websites
    http://www.hernangn.com.ar/sap.htm
    Useful for background
    http://www.sappoint.com/basis/bckprsng.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/08703713bf277ee10000009b38f8cf/frameset.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/index.jsp?topic=/com.ibm.wbix_adapters.doc/doc/mysap4/sap4x41.htm
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    For posting web log,
    /people/sap.user72/blog/2005/06/28/sdn-weblogs-making-it-easier
    Dynamic Internal table -web log in sdn
    /people/subramanian.venkateswaran2/blog/2004/11/19/dynamic-internal-table
    Smart forms
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    How to trace smart form
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    Workflow
    http://www.sap-img.com/workflow/sap-workflow.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/a5/172437130e0d09e10000009b38f839/frameset.htm
    For examples on WorkFlow...check the below link..
    http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
    http://www.workflowing.com/id18.htm
    http://www.e-workflow.org/
    http://web.mit.edu/sapr3/dev/newdevstand.html
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm
    BOM Explosion
    /people/prakash.singh4/blog/2005/05/15/explode-boms-in-enterprise-portal-using-htmlb-tree--part-1-abap
    BOM
    http://help.sap.com/saphelp_erp2005/helpdata/en/ea/e9b7234c7211d189520000e829fbbd/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/d1/2e4114a61711d2b423006094b9d648/frameset.htm
    http://www.sap-img.com/sap-sd/sales-bom-implementation.htm
    http://www.sap-basis-abap.com/sappp007.htm
    OLE
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    ALVGRID with refresh
    http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.html
    For language setting and decimal separator
    /people/horst.keller/blog/2004/11/16/abap-geek-7-150-babylonian-confusion
    Oracle queries
    http://sqlzoo.net/
    To format SQL
    http://www.sqlinform.com/
    SCOT settings
    http://www.sap-img.com/basis/basis-faq.htm
    Status Icon [ALV,Table Control,Tab Strip]
    http://www.sapdesignguild.org/resources/MiniSG-old/from_develop/norm_status_icons.htm#positioning_4
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    For multiMedia
    /people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
    Uploading LOGO in SAP
    http://www.sap-img.com/ts001.htm
    LSMW
    http://www.sap-img.com/sap-data-migration.htm
    http://www.sapgenie.com/saptech/lsmw.htm
    http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf
    http://www.sap.info/public/INT/int/glossary/int/glossaryletter/Word-17643ed1d6d658821_glossary/L#Word-17643ed1d6d658821_glossary
    Here are the two links which contains lots of PDFS:
    http://www.easymarketplace.de/online-pdfs-q-s.php
    http://www.consolut.de/saphelp/sap_online_help.html
    http://www.sap-img.com/
    http://www.sappoint.com/
    http://www.sapdevelopment.co.uk/
    http://www.allsaplinks.com/idoc_search.html
    Cheers,
    Abdul Hakim

Maybe you are looking for

  • Mail Account NO LONGER stores Passwords for Mail Accounts

    Since my last restart my mac mail accounts (.mac, company, etc) no longer STORE passwords for either the send or smtp receive... Anyone experience this before? I'm going to try and toss the mail pref files and even delete my accounts, but since it's

  • Cisco Work (LMS 2.6) Device Configuration

    Hi, Can anyone tell me where is the default location of device configuration ( Running conf ) saved in Cisco Work (LMS 2.6) Server. Thanks & Regds, Lalit

  • Mandatory field

    Hello, We have the requirement to make the planned order field mandatory in MFBF back flashing production confirmation as in SAP stnd it is allowing production confirmation without entring planned order but client requirement is that user should ente

  • Command R on MacBookPro not working

    Hi, I have a second hand MacBookPro and am new to apples, all my life on PC, they are v different. Problem I face, I have been told the computer has a problem and I must turn off computer and turn on while pressing Command and R until the apple logo

  • Flyout menu area blocking access to body

    I'm building a site in Dreamweaver that my client is editing in Contribute. It uses CSS flyout menus. When we try to work on the pages in Contribute, Contribute blocks out the whole area that the menu would cover if it was fully expanded. In order to