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
-
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.
FarooqHI 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 NamdeoI have already used COMMIT . Still the same problem.
regards
Swati Namdev -
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
venuHi 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 -
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: viraylabHi,
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 -
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
SwaraI 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 -
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.XHello,
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
PAvanHi 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 -
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...
RahulTHANKS 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..... -
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
AnanyaHi 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]** Program ID : ZMAT_CREATE
** Program Desc : Material Master Creation
** Process Overview
** Created Date : 22/08/2006
** Company Name :
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
** Program ID : ZMAT_CREATE
** Program Desc : Material Master Creation Using BAPI
** Process Overview :
** Created By : P.KARTHIKEYAN
** Created Date : 17/08/2006
** Company Name : 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.
TanmayI'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 PMDear:
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
-
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