What is procedure for creating new vendor and material master data in ABAP

What is procedure for creating new vendor and material master data in ABAP .

see below code which is used for creation of vendor master as well as extension...
*& Report  ZFC_VENDOR_CREATE                                           *
REPORT  ZFC_VENDOR_CREATE  LINE-SIZE 100
                           NO STANDARD PAGE HEADING
                           MESSAGE-ID ZZ.
                     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

Similar Messages

  • Procedure for creating new Org Value

    Hi
    Can any one tell me the procedure for creating new Org Value
    thanks,
    Ssssssss

    Hi Sun...
    Use PFCG_ORGFIELD_CREATE program and refer SAP Note 323817
    Check out this thread....
    Converting Field to Org level
    regards,
    Zaheer

  • Procedure for creating a user and assigning him a role

    Hi folks,
    has anyone of you a procedure for creating a user and then assigning him a spezial role?
    The procedure has 2 arguments username and password. I think that its an easy one but I
    have not found the right packages.
    Thanks

    create or replace procedure new_user(username_in IN VARCHAR2, password_in IN VARCHAR2) is
      C_TEMP_TSP     CONSTANT VARCHAR2(30) := 'TEMP';
      C_DEFAULT_TSP  CONSTANT VARCHAR2(30) := 'USERS';
      C_DEFAULT_ROLE CONSTANT VARCHAR2(30) := 'SPECIALROLE';
    begin
      execute immediate 'create user ' || username_in ||
                        ' identified by ' || password_in ||
                        ' default tablespace ' || C_DEFAULT_TSP ||
                        ' temporary tablespace ' || C_TEMP_TSP;
      execute immediate  'grant '|| C_DEFAULT_ROLE ||' to '||username_in;
    end new_user;

  • New fiel in material master data

    Hello,
    We need a new field in material master data, Can I define a new append in mara table?.
    Then, we are thinking in modify screen of basis data?
    Anybody know if this is posible?
    Thanks.

    Hi Rafael Murillo,
    New field Custom field can be created and added to existing SAP STD Tables like MARA, MARC,MVKE etc..
    All depend updates upon the exact Business requirement.
    If the new filed is applicable for a specific sales org. specific, then you new to insert that filed in sales View 1/2,,,
    In that case new filed should be insearted at MVKE level.
    And you to use any of the Sub screens at sales level..need to to the IMG changes also.
    For ex.  you have material group 1, material group 1 ..this full sub screen is useful for most of the client..
    you can replase this sub screen..
    create your sub screen with your custom field using z program and replace the program in IMG.
    Thanks,
    Kumar Arcot

  • Can we recieve goods for purchase order with out material master data in PO

    I have service PR for doing the services. I will  give the material which is not accounted ( no material in the PO)and raise PO with reference to production order. but once the service is done,that product will become a  material ( master data available) I have to receive the  final product.Can we do the GR for this product. If so ,could you please explain the scenario

    Hi Sankarkumar
    When you are issuing the material for servicing your existing inventory for the material  will be affected how you are plannignto handle that? You are receiving a different material once the serviceing is done then again yoour inventory will be affected for the new material.  If you do not intend to issue material in SAP then why are you worried when you are bringing the new material into SAP after servicing is over?  It is a subcontract scenario in a normal situation. But since you do not want then you can do a Service PO from the reqn and later use receipt without PO for bringing material in. Just speak to your finance guys how to set right the debit/credit amount resulted due to this transaction.
    Regards
    Sam

  • Workflow for creating new item and updating list

    I believe that the answer is easy, but because I am already having trouble with this issue for few days I am getting blind to see the solution:)
    I have two lists and a workflow running behind. Basically when new item is created in first list, workflow makes a copy in second list. Because this workflow works only when new item is added, I have a problem when item is updated, items in second list just
    disappear - are empty. I believe that I have a problem with workflow, because somehow I should also have in to update list in case of change.
    Please help.
    Thanks in advance

    Hi,
    According to your description, my understanding is that the workflow you created was not started when an item was updated in first list.
    Did you check the option “Start workflow automatically when an item is changed” in SharePoint Designer?
    Did you sign in as system accout?
    Please use another list to check whether this issue occurs.
    If this issue still occurs, please provide screenshot about the details of the workflow in order to find out what goes wrong.
    Thanks,
    Dean Wang

  • Procedure for creating Recording in  LSMW with header data and line item

    Hello Friends,
    I have to do the Initial Upload of Model Service specification using LSMW ( Recording).
    Transaction : ML10
    The problem i am facing is that i have been given 2 files one with HEADER data and the other with LINE ITEM(Service data).
    Can we use the RECORDING method to upload 2 files?
    If not possible how do we proceed.
    Thanks and regards
    Ashish Naik.

    Step-by-Step Procedure:
    Details of the BAPI used in this scenario:
    Business Object: BUS2012
    Method: CreateFromData
    Details of Message Type and Basic IDoc Type:
    Message Type: PORDCR
    Basic IDoc Type: PORDCR02
    Letu2019s have a look at the BAPI first, before proceeding to the LSMW:
    1.     Go to Transaction BAPI
    2.     Click on Search Button
    3.     Enter the value u201CBUS2012u201D and select u201CObj.type(Technical Object Nameu201D
    4.     Press ENTER
    5.     Following screen appears:
    6.     On the left side of the screen, Expand the u201CPurchaseOrderu201D.
    7.     Select u201CPurchaseOrderu201D and double-click on the same for details.
    Building LSMW using BAPI:
    1. Go to Transaction LSMW.
    2. Enter the Project, Subproject and Object information and click on CREATE.
    3. Enter the descriptions for Project, Subproject and Object as prompted.
    4. Now select Settings à IDoc Inbound Processing
    5. u201CIDoc Inbound Processingu201D screen appears. Enter the required details as shown below:
    6. Click on u201CActivate IDoc Inbound Processingu201D.
    7. Click on u201CYesu201D when prompted for u201CActivate IDoc Inbound?u201D
    8. Hit on u201CBacku201D to return to the main screen.
    9. Click on Continue (F8). Following Screen appears:
    10. Select the Step 1 u201CMaintain Object Attributesu201D and select u201CExecuteu201D.
    11. Select the radio button u201CBusiness Object Methodu201D and enter the following details:
    Business Object: BUS2012
    Method: CreateFromData
    Hit ENTER
    12. Save and click on BACK button. Following information message is displayed.
    13. Now select step 2 u201CMaintain Source Structuresu201D and click u201CExecuteu201D.
    14. In this step, we need to maintain the source structure. In our example, lets consider the example of a file with 2 structures Head and Item data as shown below:
    Click on Create and name the source structure as HEADERDATA. Now select HEADERDATA and click on u201CCreateu201D again to create the child structure. Following popup appears:
    Select u201CLower Levelu201D and click on Continue. Enter the Item data structure name.
    Click Save and hit BACK button to go to the main screen.
    15. Select step 3 u201CMaintain Source Fieldsu201D and hit execute.
    16. Enter the fields as shown below:
    17. Click SAVE and return to main screen.
    18. Select step 4 u201CMaintain Structure Relationsu201D and click Execute.
    Select E1PORDCR and click on CREATE RelationShip. Following screen appears:
    Select HEADERDATA and hit ENTER
    Similarly do the same for the structure E1BPEKKOA, E1BPEKPOC and E1BPPEKET.
    Click Save and return to main screen.
    19. Select the step u201CMaintain Field Mapping and Conversion Rulesu201D and click on execute. Maintain the Field Mapping as seen below:
    20. Select step 7 u201CMaintain Source Filesu201D and provide the link for the test file created. (Create a test file with the same structure as defined earlier).
    Save and return to main screen.
    21. Select the step u201CAssign Filesu201D and click on Execute.
    Assign the file provided to the source structure. Here the same file is provided for both the structures.
    Save and return to the main screen.
    22. Select the step u201CRead Datau201D and click on Execute.
    Click on Execute.
    Return to the main screen.
    23. Select the step u201CDisplay read datau201D and click on execute.
    Click on the structure name to get the field level values.
    24. Return to main screen and now select u201CConvert Datau201D.
    25. Return to the main screen and select u201CDisplay Converted datau201D.
    26. Return to main screen and select u201CStart IDoc generationu201D.
    27. Now select the step u201CStart IDoc Processingu201D on the main screen.
    28. Return to main screen and click on u201CCreate IDoc overviewu201D. Here the data record and status records of the IDoc could be viewed:
    Check this. This may help

  • Canwe create new vendors and modify vendor data (Transaction: MK01, MK02).

    Hi ABAPER's,
       This is Sekhar.  I have a idea can we creat and modify vendor data using transactions MK01, MK02 by using BDC.
    Kindly send me an option.
    waiting for ur responce.
    bey

    Hi,
    Using MK01 and MK02, you can create and change vendors only for the general and purchase org view. You wont be able to create vendors in company code view. If this suits your requriement you can go ahead with MK01 and MK02 . If you have to create even for company code view, you can use the generic transactions XK01 and XK02
    Vikranth

  • Procedure for creating Inbox views

    HI All,
    Could you please let us know the procedure for creating new Inbox view in BPM 11g.
    We have an option to create my Views / Sharing Views in 11g but how we can put that under Inbox views.
    Thanks,
    Aravind.

    Hi Antonis,
    We need view under Inbox. PFA. the attached screenshot.
    Thanks,
    Aravind.

  • Step-by step procedure for INBOUND IDOC (VENDOR CREATE / CHANGE)

    Hi ,
    Can any body provide me the step-by-step procedure for Inbound IDOCS.
    As i'm new to this i need the the clarification between Inbound & outbound idocs.
    How can we differentiate both?
    where to define outbound & where to define Inbound?
    ( If possible Please explain me the procedure for  Vendor Create through INBOUND IDOCS )
    Thanks in advance..

    Hi,
    Ale Technology is SAPu2019s technology to support distributed yet integrated processes across several SAP systems.
    Outbound Process:
    ALE Outbound Process in SAP sends data to one or more SAP Systems. It involves four steps.
    1. Identify the need of IDoc: This step starts upon creating a application document, can relate to a change to a master data object.
    2. Generate the Master IDoc: The document or master data to be sent is read from the database and formatted into an IDoc format. This IDoc is called as a Master IDoc.
    3. Generate the Communication IDoc: The ALE Service layer generates a separate IDoc from the Master IDoc for each recipient who is interested in the data. Separate IDocs are generated because each recipient might demand a different version or a subset of the Master IDoc. These recipient-specific IDocs are called Communication IDocs and are stored in the database.
    4. Deliver the Communication IDoc: The IDoc is delivered to the recipients using an asynchronous communication method. This allows the sending system to continue its processing without having to wait for the destination system to receiver or process the IDoc.
    Inbound Process:
    The inbound process receives an IDoc and creates a document in the system.
    1. Store the IDoc in the database: The IDoc is received from the sending system and stored in the database. Then the IDoc goes through a basic integrity check and syntax check.
    2. Invoke the Posting Module: The control information in the IDoc and configuration tables are read to determine the posting program. The IDoc is then transferred to its posting program.
    3. Create the Document: The posting program reads the IDoc data and then creates a document in the system. The results are logged in the IDoc.
    Over view of IDocs:
    IDoc is a container that is used to exchange data between any two processes. The document represented in an IDoc is independent of the complex structure SAP uses to store application data. This type of flexibility enables SAP to rearrange its internal structure without affecting the existing interface.
    IDoc interface represents an IDoc Type or IDoc data. IDoc Type represents IDocu2019s definition and IDoc Data is an instance of the IDoc Type.
    IDoc Types:
    IDoc type structure can consist of several segments, and each segment can consist of several data fields. The IDoc structure defines the syntax of the data by specifying a list of permitted segments and arrangement of the segments. Segments define a set of fields and their format.
    An IDoc is an instance of an IDoc Type and consists of three types of records.
    i. One Control record: each IDoc has only one control record. The control record contains all the control information about an IDoc, including the IDoc number, the sender and recipient information, and information such as the message type it represents and IDoc type. The control record structure is same for all IDocs.
    ii. One or Many Data records: An IDoc can have multiple data records, as defined by the IDoc structure. Segments translate into data records, which store application data, such as purchase order header information and purchase order detail lines.
    iii. One or Many Status records: An IDoc can have multiple status records. Status record helps to determine whether an IDoc has any error.
    Message in IDoc Type:
    A Message represents a specific type of document transmitted between two partners.
    Outbound Process in IDocs:
    Outbound process used the following components to generate an IDoc. A customer model, and IDoc structure, selection programs, filter objects, conversion rules, a port definition, an RFC destination, a partner profile, service programs, and configuration tables.
    The Customer Model:
    A customer model is used to model a distribution scenario. In a customer model, you identify the systems involved in a distribution scenario and the message exchanged between the systems.
    Message control:
    Message control is a cross application technology used in pricing, account determination, material determination, and output determination. The output determination technique of Message control triggers the ALE for a business document. Message control separates the logic of generating IDocs from the application logic.
    Change Pointers:
    The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master and sales order.
    Changes made to a document are recorded in the change document header table CDHDR, and additional change pointers are written in the BDCP table for the changes relevant to ALE.
    IDoc Structure:
    A message is defined for data that is exchanged between two systems. The message type is based on one or more IDoc structures.
    Selection Program:
    Is typically implemented as function modules, are designed to extract application data and create a master IDoc. A selection program exists for each message type. A selection programu2019s design depends on the triggering mechanism used in the process.
    Filter Objects;
    Filter Objects remove unwanted data for each recipient of the data basing on the recipients requirement.
    Port Definition:
    A port is used in an outbound process to define the medium in which documents are transferred to the destination system. ALE used a Transactional RFC port, which transfers data in memory buffers.
    RFC Destination:
    The RFC destination is a logical name used to define the characteristics of a communication link to a remote system on which a function needs to be executed.
    Partner Profile:
    A partner profile specifies the components used in an outbound process(logical name of the remote SAP system, IDoc Type, message type, TRFC port), an IDocu2019s packet size, the mode in which the process sends an IDoc (batch versus immediate), and the person to be notified in case of error.
    Service Programs and Configuration Tables:
    The outbound process, being asynchronous, is essentially a sequence of several processes that work together. SAP provides service programs and configuration tables to link these programs and provide customizing options for an outbound process.
    Process flow for Distributing Transactional Data:
    Transactional data is distributed using two techniques: with Message control and without message control.
    Process flow for Distributing Master Data:
    Master data between SAP systems is distributed using two techniques: Stand alone Programs and Change Pointers.
    Triggering the Outbound Process via Stand-Alone Programs:
    Stand-Alone programs are started explicitly by a user to transmit data from one SAP system to another. Standard Programs for several master data objects exist in SAP. Ex. The material master data can be transferred using the RBDSEMAT program or transaction BD10.
    The stand-alone programs provide a selection screen to specify the objects to be transferred and the receiving system. After the stand-alone program is executed, it calls the IDoc selection program with the specified parameters.
    Triggering the Outbound Process via Change Pointers:
    The change pointer technique is used to initiate the outbound process automatically when master data is created or changed.
    A standard program, RBDMIDOC, is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process for distributing the master data to the appropriate destination. The RBDMIDOC program reads the table TBDME to determine the IDoc selection program for a message type.
    Processing in the Application Layer:
    The customer distribution model is consulted to make sure that a receiver has been defined for the message to be transmitted. If not, processing ends. If at least one receiver exists, the IDoc selection program reads the master data object from the database and creates a master IDoc from it. The master IDoc is stored in memory. The program then calls the ALE service layer by using the function module MASTER_IDOC_DISTRIBUTE, passing the master IDoc and the receiver information.
    Processing in the ALE Interface Layer:
    Processing in the ALE Layer consists of the following steps:
    u2022 Receiver Determination: The determination of the receiver is done through Customer Distribution Model.
    u2022 IDoc Filtering: if an IDoc filter is specified in the distribution model for a receiver, values in the filter are compared against the values in the IDoc data records. If a data record does not meet the filter criteria, it is dropped.
    u2022 Segment Filtering: For each sender and receiver combination, a set of segments that are not required can be filtered out.
    u2022 Field conversion: Field values in data records are converted by using the conversion rules specified for the segment.
    u2022 Version change for segments: Segments are version-controlled. A new version of a segment always contains fields from the preceding version and fields added for the new version. Release in IDoc type field of the partner profile to determine the version of the segment to be generated.
    u2022 Version change for IDocs: IDocs are also version controlled. The version is determined from the Basic Type field of the partner profile.
    u2022 Communication IDocs generated: The final IDoc generated for a receiver after all the conversions and filtering operations is the communication IDoc. One master IDoc can have multiple communication IDocs depending on the number of receivers identified and the filter operations performed. IDoc gets the status record with a status code of 01 (IDoc Created).
    u2022 Syntax check performed: IDoc goes through a syntax check and data integrity validation. If errors found the IDoc get the status of 26 (error during syntax check of IDoc u2013 Outbound). If no errors found the IDoc gets the status 30 (IDoc ready for dispatch u2013 ALE Service).
    u2022 IDoc dispatched to the communication Layer: In the ALE process, IDocs are dispatched using the asynchronous RFC method, which means that the sending system does not await for data to be received or processed on the destination system. After IDocs have been transferred to the communication layer, they get a status code 01 (Data Passed to Port OK).
    Processing in the Communication Layer:
    To dispatch an IDoc to a destination system, the system reads the port definition specified in the partner profile to determine the destination system, which is then used to read the RFC destination. The RFC destination contains communication settings to log o to the remote SAP system. The sending system calls the INBOUND_IDOC_PROCESS function module asynchronously on the destination system and passes the IDoc data via the memory buffers.
    Inbound Process in IDocs:
    An inbound process used IDoc structure, posting programs, filter objects, conversion rules, a partner profile, service programs, and configuration tables to post an application document from an IDoc.
    Posting Program:
    Posting programs, which are implemented as function modules, read data from an IDoc and create an application document from it. A posting program exists for each message. Each posting program is assigned a process code. A process code can point to a function module or a work flow. In the standard program process codes always point to a function module.
    Ex. The posting program for message type MATMAS is IDOC_INPUT_MATMAS which has a process code MATM.
    Workflow:
    A workflow represents a sequence of customized steps to be carried out for a process. The workflow management system is used to model the sequence, identify information required to carry out the steps and identify the person responsible for the dialog steps.
    Partner Profile;
    A partner profile specifies the components used in an inbound process (partner number, message type, and process code), the mode in which IDocs are processed (batch versus immediate), and the person to be notified in case of errors.
    Process flow for the Inbound process via a Function Module:
    In this process, IDocs are received from another system and passed to the posting function module directly.
    1. Processing in the communication Layer:
    The IDOC_INBOUND_ASYCHRONOUS program, triggered as a result of an RFC from the sending system, acts as the entry point for all inbound ALE processes. The IDoc to be processed is passed as an input parameter. Control is transferred to the ALE/EDI layer.
    2. Processing in the ALE/EDI Interface Layer:
    u2022 Basic integrity check: A basic integrity check is performed on the control record.
    u2022 Segment Filtering and conversion: Filtering out unwanted segments and carry out any required conversion of field values.
    u2022 Creation of Application IDoc: The application IDoc is created and stored in the database and a syntax check is performed. If there are errors it gets status code of 60 (Error during Syntax check of IDoc u2013 Inbound). At this point a tangible IDoc, which can be monitored via one of the monitoring transactions, is created and the IDoc gets status code 50 (IDoc Added).
    u2022 IDoc Marked ready for Dispatch: IDoc gets the status code 64 (IDoc ready to be passed to application).
    u2022 IDoc is passed to the posting program: The partner profile table is read. If the value of the Processing field is set to Process Immediately, the IDoc is passed to the posting program immediately using the program RBDAPP01.
    3. Processing in the Posting Module:
    The process code in the partner profile points to a posting module for the specific message in the IDoc. The posting program implemented as a function module either calls a standard SAP transaction by using the Call Transaction command for posting the document or invokes a direct input function module.
    The results of execution are passed back via the function moduleu2019s output parameters. If the posting is successful IDoc gets the status code 53 (Application Document Posted) or it gets status code 51 (Error: Application Document Not Posted).

  • Hi, i am not able to get a Free icloud ID. Error is my device is not eligible for creating new free icloud ID. What do i do to create new one

    Hi, i am not able to get a Free icloud ID. Error is my device is not eligible for creating new free icloud ID. What do i do to create new one

    Sir, your Apple ID can be used as an iCloud account as well. They are both the same thing.
    You can learn more from --> Set up your Apple ID for iCloud and iTunes - Apple Support

  • Best Procedure for Creating Web and Print Images

    Windows XP SP2, Adobe CS3 Design Premium
    Hello,
    I have created a book in InDesign and have placed the art from Illustrator into the pages and cover of the book. At the time the book was designed, I gave no thought to the need for having the cover and certain pages also available on the web. (Silly me...)
    Is there any way to duplicate the native illustrator files and make them web safe (with the web safe colors) without having to create new swatches and use live paint to recolor the image?
    Is there a standard procedure for designing images in Illustrator when you know you will be needing both web and print output? (I'd like to do it 'right' next time.)
    Thank you so much for your help.
    Cathy

    Hi
    if you want to create the web service using the function module do the following steps.
    the main requirement for creting the web service using the function module is the function should be RFC enabled.
    1. To create web service of this Function Module
    Go to Utilities ->More utilities->create a web service->from function module
    2. A new wizard will be open to create the web service and click on continue.
    3. Enter the web service name (any name that you want to give) and give the short description, select the Endpoint type as Fuinction Module and click on continue.
    4. Select the Function Module name that you are using.
    5. select the profile as Basic Authentication: SOAP Pro.
    6. Press continue to release the web service. The web service is now created
    To check the web service Go to the transaction WSADMIN and select the node
    SOAP Application for RFC-Complaint FMs and expand the node and select your web service that you have created and expand the web service node up to the last .
    Now to test the web service select the last node and click on the web service home page button and it will open the home page.
    from this page u will get the wsdl file as well as you can testthe web service.
    Thanks
    Rinku

  • VT01N: what is the correct  procedure for creating shipment

    Hi Gurus ,
    Please tellme the correct  procedure for creating shipment  in VT01N   with respect to the  Sales order  no .  there  are  deliveries and ohter  sceens what to do  first .
    Regards, Jaspal

    Hi Jaspal,
    Procedure for creating shipment sequence goes as:
    <b>Shipping Processing and Analyses</b>
    Shipping activities.
    Deliveries.
    Picking and confirmation.
    Packing.
    Goods issue.
    Collective processing.
    Shipment.
    Billing.
    Sales Information System.
    Standard analyses.
    Backorder processing.
    Sales and distribution documents.
    Functional analyses.
    Planning.
    Pls refer the link:
    http://www.sap-img.com/sap-sd.htm for more details.
    Regards,
    Hemachandra K S

  • Procedure for creating transparent table, data element and domain

    Hi,
    Can anybody let me know the procedure for creating transparent table, data element and domain.
    Thanks,
    Mahathi

    Hi
    Database table and its components
    A database table is the central data structure of the ABAP/4 data dictionary.
    The structure of the objects of application development are mapped in tables on the underlying relational database.
    The attributes of these objects correspond to fields of the table.
    A table consists of columns (fields) and rows (entries). It has a name and different attributes, such as delivery class and maintenance authorization.
    A field has a unique name and attributes; for example it can be a key field.
    A table has one or more key fields, called the primary key.
    The values of these key fields uniquely identify a table entry.
    You must specify a reference table for fields containing a currency (data type CURR) or quantity (data type QUAN). It must contain a field (reference field) with the format for currency keys (data type CUKY) or the format for units (data type UNIT). The field is only assigned to the reference field at program runtime.
    The basic objects for defining data in the ABAP Dictionary are tables, data elements and domains. The domain is used for the technical definition of a table field (for example field type and length) and the data element is used for the semantic definition (for example short description).
    A domain describes the value range of a field. It is defined by its data type and length. The value range can be limited by specifying fixed values.
    A data element describes the meaning of a domain in a certain business context. It contains primarily the field help (F1 documentation) and the field labels in the screen.
    A field is not an independent object. It is table-dependent and can only be maintained within a table.
    You can enter the data type and number of places directly for a field. No data element is required in this case. Instead the data type and number of places is defined by specifying a direct type.
    The data type attributes of a data element can also be defined by specifying a built-in type, where the data type and number of places is entered directly.
    <b>Two Level Domain Example</b>
    A domain defines a field technically and therefore it may
    be used at different business levels.
    A data element describes the meaning of a domain in a certain business context.
    A domain, however, is used for the technical definition of a table field (for example field type and length).
    Therefore, although a take-off airport (data element S_FROMAIRP) would have a different business meaning from an airport where a plane lands (data element S_TOAIRP), they could still have the same domain(here S_AIRPID) because technically we could assign the same number of characters whether the airport is a take-off or a landing airport.
    <b>Definitions of Table in Database</b>
    In SAP R/3 tables are defined as
    A) Transparent tables: All of the fields of a dictionary table correspond to a field in the real database table.
    B) Pooled tables: Different tables which are not linked to each other with a common key are combined into a TABLE POOL. Several logical tables thus exist as a single real database table.
    C) Cluster tables: Several tables linked by a common key may sometimes be combined by the data dictionary and made to exist on the database schema as a single table.
    SAP is evolving R/3 tables in transparent tables.
    <b>Elaboration on each of the definitions</b>
    A transparent table is automatically created on the database when it is activated in the ABAP Dictionary. At this time the database-independent description of the table in the ABAP Dictionary is translated into the language of the database system used.
    The database table has the same name as the table in the ABAP Dictionary. The fields also have the same name in both the database and the ABAP Dictionary. The data types in the ABAP Dictionary are converted to the corresponding data types of the database system.
    The order of the fields in the ABAP Dictionary can differ from the order of the fields on the database. This permits you to insert new fields without having to convert the table. When a new field is added, the adjustment is made by changing the database catalog (ALTER TABLE). The new field is added to the database table, whatever the position of the new field in the ABAP Dictionary.
    Tables can also reside on the database as Pooled tables or cluster tables
    Pooled Tables: Different tables which are not linked to each other with a common key can be combined into a Table Pool. The tables contained within this pool are called Pooled Tables. A table pool is stored in the database a simple table. The table's data sets contain, in separate fields, the actual key for the data set to be stored, the name of the pooled table and the contents of the data set to be stored.
    Using this schema, several logical tables are combined into a single real database table. Although the data structure of each set is lost during the write to the table pool, it is restored during the read by the ABAP/4 Data Dictionary. The ABAP/4 Data Dictionary utilizes its meta-data to accomplish this.
    Since information must be prepared (defined) within the ABAP/4 Data Dictionary when it is read or written to (or accessed), this process itself defines these as not transparent tables
    Cluster Tables: Occasionally, several tables may be linked by a common key. The ABAP/4 Data Dictionary can also combine these tables into a single table. Each data set of the real table within the database contains a key and in a single data field, several data sets of the subsequent table for this key.
    As mentioned above, these table types require special data handling, therefore they are not transparent tables.
    <b>Technical Settings in Dictionary</b>
    The data class logically defines the physical area of the database (for ORACLE the table space) in which your table should be created. If you choose the data class correctly, the table will automatically be created in the appropriate area on the database when it is activated in the ABAP Dictionary.
    The most important data classes are master data, transaction data, organizational data and system data.
    Master data is data that is rarely modified. An example of master data is the data of an address file, for example the name, address and telephone number.
    Transaction data is data that is frequently modified. An example is the material stock of a warehouse, which can change after each purchase order.
    Organizational data is data that is defined during customizing when the system is installed and that is rarely modified thereafter. The country keys are an example.
    System data is data that the R/3 System itself needs. The program sources are an example.
    Further data classes, called customer data classes (USER, USER1), are provided for customers. These should be used for customer developments. Special storage areas must be allocated in the database.
    The size category describes the expected storage requirements for the table on the database.
    An initial extent is reserved when a table is created on the database. The size of the initial extent is identical for all size categories. If the table needs more space for data at a later time, extents are added. These additional extents have a fixed size that is determined by the size category specified in the ABAP Dictionary.
    You can choose a size category from 0 to 4. A fixed extent size, which depends on the database system used, is assigned to each category.
    Correctly assigning a size category therefore ensures that you do not create a large number of small extents. It also prevents storage space from being wasted when creating extents that are too large.
    Modifications to the entries of a table can be recorded and stored using logging.
    To activate logging, the corresponding field must be selected in the technical settings. Logging, however, only will take place if the R/3 System was started with a profile containing parameter 'rec/client'. Only selecting the flag in the ABAP Dictionary is not sufficient to trigger logging.
    Parameter 'rec/client' can have the following settings:
    rec/client = ALL All clients should be logged.
    rec/client = 000[...] Only the specified clients should be logged.
    rec/client = OFF Logging is not enabled on this system.
    The data modifications are logged independently of the update. The logs can be displayed with the Transaction Table History (SCU3).
    Logging creates a 'bottleneck' in the system:
    Additional write access for each modification to tables being logged.
    This can result in lock situations although the users are accessing different application tables!
    <b>Create transparent table</b>
    Go to transaction SE11. Enter name of table you want to create (beginning with Y or Z) and click on create pushbutton
    Enter the delivery class and the table maintenance criteria
    The delivery class controls the transport of table data when installing or upgrading, in a client copy and when transporting between customer systems .
    The display/maintenance indicator specifies whether it is possible to display/maintain a table/view using the maintenance tools Data Browser (transaction SE16) and table view maintenance (transactions SM30 and SM31).
    Enter the name of the table field and the data element. The
    System automatically populates the technical details for
    existing data elements.
    So far as possible it is advisable to use existing data elements which befit the business requirements.
    However, we may create data elements if need be. The same is shown in the next slide.
    To create a data element simply double click on it.
    Alternately create a data element by simply choosing the
    data type radio button on SE11 initial screen.
    <b>Create data element</b>
    The system prompts you to create a new data element.
    Choose the Yes pushbutton.
    Under the data type tab enter the domain name which
    determines the technical characteristics of the field.
    Further characteristics tab: Allows you to specify a search help assigned to the data element.
    It also allows you to specify a parameter id which helps you populate a field from SAP memory.
    Field label: Can be assigned as prefixed text to a screen field referring to the ABAP Dictionary. The text is displayed on the screen in the logon language of the user (if the text was translated into this language).
    <b>Create domain</b>
    If the domain does not exist in the data dictionary the
    system prompts you to create one.
    Give the technical characteristics under the definition
    tab. Value range allows you value restriction at domain
    level.
    Value range tab:
    As explained in the section Consistency through input checks one can restrict the possible values for a field at domain level itself by either entering fixed values or by specifying a value table under the tab Value range.
    <b>Currency/Quantity fields in a table</b>
    A currency or a quantity field must be assigned a reference field from a reference table containing applicable qty unit or currency unit.
    Field of the reference table, containing the applicable quantity unit or currency
    A field containing currency amounts (data type CURR) must be assigned a reference field including the currency key (data type CUKY).
    A field containing quantity specifications (data type QUAN) must be assigned a reference field including the associated quantity unit (data type UNIT).
    <b>Create transparent table continue</b>
    Maintain the technical settings of the table by clicking on the tab

  • TS3682 I backed up my ipad to the cloud as it had a broken screen so I swaped it out for a new one and now I cant restore because the new Ipad has IOS 6 and my back up is 6.1!  This is what I get for buying an Ipad twice in a week because of a broken scre

    I backed up my ipad to the cloud as it had a broken screen so I swaped it out for a new one and now I cant restore because the new Ipad has IOS 6 and my back up is 6.1!  This is what I get for buying an Ipad twice in a week because of a broken screen? $500 the first buy and then another $299 plus tax for the swaped out one that I can't restore with my backup data.

    I assume that you will have to set up as new since it will not let you restore from the backup. Then after you set it up, you can restore from the iCloud backup. The backup should not disappear be use you are setting this device up as new. Your backup should still be in iCloud.
    However, after you activate the iPd and update the software, you will have to erase the device in order to restore from the Cloud backup, that is the only way to get to the iCloud backup.
    Copied from the article that linked you to this discussion ....
    Resolution
    Update your device to the latest version of iOS to be able to restore the backup.

Maybe you are looking for

  • Getting error message when trying to burn cd's

    hi i am getting a error message when trying to put certain cd's on i-tunes : Microsoft Windows XP Professional Service Pack 2 (Build 2600) VIA Technologies, Inc. VT8366A-8233 iTunes 7.5.0.20 CD Driver 2.0.6.1 CD Driver DLL 2.0.6.2 Current user is an

  • Need to send my spool in HTML format as Email attachment

    Hi All,     Can anyone let me know how to send a HTML attachment in a mail. I have a ALV Report, when i execute, my report should pick the ALV Report output from spool, and should send a mail with spool output as HTML attachment. Please explain me ho

  • How to generate the following XML

    Hi all, I have 2 tables, demo_orders and demo_order_items (child) how can I generate something like this : <?xml version="1.0"?> <ROWSET> <ROW>   <ORDER_ID>1</ORDER_ID>   <CUSTOMER_ID>1</CUSTOMER_ID>   <ORDER_TOTAL>1200</ORDER_TOTAL>   <ORDER_TIMESTA

  • Where is the search option to search through a document on adobe reader x?

    where is the search option to through a document on reader x?

  • How to assign roles without Sap*

    Hi I have created an administrator account and I forgot to assign him roles... My Sap* user id is desable on top of that I have tried to modify the ume.superadmin.activated=true but its still not working. any ideas?? JF