BAPI FOR - 54
Dear All,
I needs to write a BDC For the Tr F-54. Can any one tell me is there any BAPI for
the Clear vendor down payments(F-54). Plz help me.
Thanks & Regards,
Durai.T
Hi
i m sending u the code for BDCFOR F-64 that is to park the document for customer and vendor so it has two recording customer and vendor..
Just see to it
and do reward points pls...
REPORT ZFI_F64_TOS
NO STANDARD PAGE HEADING LINE-SIZE 255.
*include bdcrecx1.
**======================================================
**DATA DECLARATION FOR CUSTOMER
**=======================================================
TYPES : BEGIN OF TY_BSEG,
BELNR TYPE BSEG-BELNR, "Doc no
ZFBDT TYPE BSEG-ZFBDT, "base line date
ZTERM TYPE BSEG-ZTERM, " payment terms
ZLSCH TYPE BSEG-ZLSCH, " pay. mode
VALUT TYPE BSEG-VALUT, " valut date
FIPOS TYPE BSEG-FIPOS, " commitment line
END OF TY_BSEG.
TYPES: BEGIN OF TY_KNB1,
KUNNR TYPE KNB1-KUNNR,
BUKRS TYPE KNB1-BUKRS,
ZWELS TYPE KNB1-ZWELS,
ZTERM TYPE KNB1-ZTERM,
END OF TY_KNB1.
TYPES : BEGIN OF TY_RECO,
SRNO TYPE I,
BLDAT_001(010), " BLDAT
BLART_002(002), " BLART
BUKRS_003 TYPE BSEG-BUKRS, " BUKRS
BUDAT_004(010), " BUDAT
MONAT_005(002), " MONAT
WAERS_006(005), " WAERS
XBLNR_007(016), " XBLNR1
BKTXT_008(025), " BKTXT
XBWAE_009(001), " XBWAE
DOCID_010(010), " SAEOBJART
NEWBS_011(002), " NEWBS
NEWKO_012 TYPE BSEG-KUNNR ,"(017), " NEWKO
WRBTR_013(016), " WRBTR
XMWST_014(001), " XMWST
MWSKZ_015(002), " MWSKZ
ZTERM_016(004), " DZTERM
ZFBDT_017(010), " DZFBDT
ZLSCH_018(001), " SCHZW_BSEG
NEWBS_019(002), " NEWBS
NEWKO_020(017), " NEWKO
WRBTR_021(016), " WRBTR
MWSKZ_022(002), " MWSKZ
XMWST_023(001), " XMWST
VALUT_024(010), " VALUT
FMORE_025(001), " FMORE
GSBER_026(004), " GSBER
FIPEX_027(024), " FM_FIPEX
FIPOS_028(024), " FIPOS
QTY(024),
UOM(020),
FIELD_13_029(032), " EIGXX
FIELD_15_030(032), " EIGXX
FIELD_09_031(032), " EIGXX
FIELD_10_032(032), " EIGXX
FIELD_11_033(032), " EIGXX
FIELD_12_034(032), " EIGXX
FIELD_13_035(032), " EIGXX
FIELD_14_036(032), " EIGXX
FIELD_15_037(032), " EIGXX
GSBER_038(004), " GSBER
PRCTR_039(010), " PRCTR
FIPEX_040(024), " FM_FIPEX
FIPOS_041(024), " FIPOS
NEWBS_042(002), " NEWBS
NEWKO_043(017), " NEWKO
MWSKZ_044(002), " MWSKZ
XMWST_045(001), " XMWST
VALUT_046(010), " VALUT
FMORE_047(001), " FMORE
FIPEX_048(024), " FM_FIPEX
FIPOS_049(024), " FIPOS
END OF TY_RECO.
TYPES: BEGIN OF RECORD_CUST ,
SRNO TYPE I,
data element: BLDAT
BLDAT_001(010),
data element: BLART
BLART_002(002),
data element: BUKRS
BUKRS_003(004),
data element: BUDAT
BUDAT_004(010),
data element: MONAT
MONAT_005(002),
data element: WAERS
WAERS_006(005),
data element: XBLNR1
XBLNR_007(016),
data element: BKTXT
BKTXT_008(025),
data element: XBWAE
XBWAE_009(001),
data element: SAEOBJART
DOCID_010(010),
data element: NEWBS
NEWBS_011(002),
data element: NEWKO
NEWKO_012(017),
data element: WRBTR
WRBTR_013(016),
data element: XMWST
XMWST_014(001),
data element: MWSKZ
MWSKZ_015(002),
data element: DZTERM
ZTERM_016(004),
data element: DZFBDT
ZFBDT_017(010),
data element: SCHZW_BSEG
ZLSCH_018(001),
data element: NEWBS
NEWBS_019(002),
data element: NEWKO
NEWKO_020(017),
data element: WRBTR
WRBTR_021(016),
data element: MWSKZ
MWSKZ_022(002),
data element: XMWST
XMWST_023(001),
data element: VALUT
VALUT_024(010),
data element: FMORE
FMORE_025(001),
data element: GSBER
GSBER_026(004),
data element: FM_FIPEX
QTY(024),
UOM(020),
FIPEX_027(024),
data element: FIPOS
FIPOS_028(024),
data element: EIGXX
FIELD_13_029(032),
data element: EIGXX
FIELD_15_030(032),
data element: EIGXX
FIELD_09_031(032),
data element: EIGXX
FIELD_10_032(032),
data element: EIGXX
FIELD_11_033(032),
data element: EIGXX
FIELD_12_034(032),
data element: EIGXX
FIELD_13_035(032),
data element: EIGXX
FIELD_14_036(032),
data element: EIGXX
FIELD_15_037(032),
data element: GSBER
GSBER_038(004),
data element: PRCTR
PRCTR_039(010),
data element: FM_FIPEX
FIPEX_040(024),
data element: FIPOS
FIPOS_041(024),
data element: NEWBS
NEWBS_042(002),
data element: NEWKO
NEWKO_043(017),
data element: MWSKZ
MWSKZ_044(002),
data element: XMWST
XMWST_045(001),
data element: VALUT
VALUT_046(010),
data element: FMORE
FMORE_047(001),
data element: FM_FIPEX
FIPEX_048(024),
data element: FIPOS
FIPOS_049(024),
END OF RECORD_CUST.
End generated data section ***
DATA : RECORD TYPE STANDARD TABLE OF RECORD_CUST,
WA_RECORD TYPE RECORD_CUST.
DATA : IT_RECO TYPE STANDARD TABLE OF TY_RECO,
WA_RECO TYPE TY_RECO,
IT_RECO1 TYPE STANDARD TABLE OF RECORD_CUST,
WA_RECO1 TYPE RECORD_CUST,
WA_RECO2 TYPE RECORD_CUST.
DATA : TEMP TYPE I.
DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG,
WA_BSEG TYPE TY_BSEG.
DATA : IT_KNB1 TYPE STANDARD TABLE OF TY_KNB1,
WA_KNB1 TYPE TY_KNB1.
DATA: BDCDATA TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA TYPE BDCDATA,
MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL ,
WA_MESSTAB TYPE BDCMSGCOLL.
**======================================================
**DATA DECLARATION FOR VENDOR
**=======================================================
TYPES : BEGIN OF TY_BSEG_VEN,
BELNR TYPE BSEG-BELNR, "Doc no
ZFBDT TYPE BSEG-ZFBDT, "base line date
ZTERM TYPE BSEG-ZTERM, " payment terms
ZLSCH TYPE BSEG-ZLSCH, " pay. mode
VALUT TYPE BSEG-VALUT, " valut date
FIPOS TYPE BSEG-FIPOS, " commitment line
ZBD1T TYPE BSEG-ZBD1T, " NO OF DAYS
ZLSPR TYPE BSEG-ZLSPR, " STOP PAYMENT
FISTL TYPE BSEG-FISTL, " FUND CENTER
END OF TY_BSEG_VEN.
TYPES: BEGIN OF TY_LFB1,
LIFNR TYPE LFB1-LIFNR,
BUKRS TYPE LFB1-BUKRS,
ZWELS TYPE LFB1-ZWELS,
ZTERM TYPE LFB1-ZTERM,
END OF TY_LFB1.
TYPES : BEGIN OF TY_RECO_VEN,
SRNO TYPE I,
BLDAT_001(010),
BLART_002(002),
BUKRS_003 TYPE BSEG-BUKRS ,
BUDAT_004(010),
MONAT_005(002),
WAERS_006(005),
XBLNR_007(016),
BKTXT_008(025),
XBWAE_009(001),
DOCID_010(010),
NEWBS_011(002),
NEWKO_012 TYPE BSEG-LIFNR ,
WRBTR_013(016),
XMWST_014(001),
MWSKZ_015(002),
ZTERM_016(004),
ZBD1T_017(003),
ZFBDT_018(010),
ZLSPR_019(001),
ZLSCH_020(001),
NEWBS_021(002),
NEWKO_022(017),
WRBTR_023(016),
MWSKZ_024(002),
XMWST_025(001),
VALUT_026(010),
FMORE_027(001),
GSBER_028(004),
QTY(024),
UOM(020),
FISTL_029(016), "FUND CENTER
FIPEX_030(024),
FIPOS_031(024),
FIELD_13_032(032),
FIELD_15_033(032),
FIELD_09_034(032),
FIELD_10_035(032),
FIELD_11_036(032),
FIELD_13_037(032),
FIELD_14_038(032),
FIELD_15_039(032),
GSBER_040(004),
PRCTR_041(010),
FISTL_042(016),
FIPEX_043(024),
FIPOS_044(024),
END OF TY_RECO_VEN.
TYPES: BEGIN OF RECORD_VEN ,
SRNO TYPE I,
data element: BLDAT
BLDAT_001(010),
data element: BLART
BLART_002(002),
data element: BUKRS
BUKRS_003(004),
data element: BUDAT
BUDAT_004(010),
data element: MONAT
MONAT_005(002),
data element: WAERS
WAERS_006(005),
data element: XBLNR1
XBLNR_007(016),
data element: BKTXT
BKTXT_008(025),
data element: XBWAE
XBWAE_009(001),
data element: SAEOBJART
DOCID_010(010),
data element: NEWBS
NEWBS_011(002),
data element: NEWKO
NEWKO_012(017),
data element: WRBTR
WRBTR_013(016),
data element: XMWST
XMWST_014(001),
data element: MWSKZ
MWSKZ_015(002),
data element: DZTERM
ZTERM_016(004),
data element: DZBD1T
ZBD1T_017(003),
data element: DZFBDT
ZFBDT_018(010),
data element: DZLSPR
ZLSPR_019(001),
data element: SCHZW_BSEG
ZLSCH_020(001),
data element: NEWBS
NEWBS_021(002),
data element: NEWKO
NEWKO_022(017),
data element: WRBTR
WRBTR_023(016),
data element: MWSKZ
MWSKZ_024(002),
data element: XMWST
XMWST_025(001),
data element: VALUT
VALUT_026(010),
data element: FMORE
FMORE_027(001),
data element: GSBER
GSBER_028(004),
QTY(024),
UOM(020),
data element: FISTL
FISTL_029(016),
data element: FM_FIPEX
FIPEX_030(024),
data element: FIPOS
FIPOS_031(024),
data element: EIGXX
FIELD_13_032(032),
data element: EIGXX
FIELD_15_033(032),
data element: EIGXX
FIELD_09_034(032),
data element: EIGXX
FIELD_10_035(032),
data element: EIGXX
FIELD_11_036(032),
data element: EIGXX
FIELD_13_037(032),
data element: EIGXX
FIELD_14_038(032),
data element: EIGXX
FIELD_15_039(032),
data element: GSBER
GSBER_040(004),
data element: PRCTR
PRCTR_041(010),
data element: FISTL
FISTL_042(016),
data element: FM_FIPEX
FIPEX_043(024),
data element: FIPOS
FIPOS_044(024),
NEWBS_043(002),
NEWKO_044(017),
END OF RECORD_VEN.
DATA : RECORD_VEN TYPE STANDARD TABLE OF RECORD_VEN,
WA_RECORD_VEN TYPE RECORD_VEN.
DATA : IT_RECO_VEN TYPE STANDARD TABLE OF TY_RECO_VEN,
WA_RECO_VEN TYPE TY_RECO_VEN.
DATA : IT_RECO1_VEN TYPE STANDARD TABLE OF RECORD_VEN ,
WA_RECO1_VEN TYPE RECORD_VEN,
WA_RECO2_VEN TYPE RECORD_VEN.
DATA : TEMP_VEN TYPE I.
DATA : IT_BSEG_VEN TYPE STANDARD TABLE OF TY_BSEG_VEN,
WA_BSEG_VEN TYPE TY_BSEG_VEN.
DATA : IT_LFB1_VEN TYPE STANDARD TABLE OF TY_LFB1,
WA_LFB1_VEN TYPE TY_LFB1.
DATA: BDCDATA_VEN TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA_VEN TYPE BDCDATA,
MESSTAB_VEN TYPE STANDARD TABLE OF BDCMSGCOLL ,
WA_MESSTAB_VEN TYPE BDCMSGCOLL.
DATA: BDCDATA_VEN1 TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA_VEN1 TYPE BDCDATA,
WA_BDCDATA_VEN2 TYPE BDCDATA.
End generated data section ***
**====================================================
**SELECTION SCREEN
**====================================================
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT_001 . "NO INTERVALS.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) TEXT_002.
PARAMETERS: FLNAME TYPE RLGRAP-FILENAME .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT_003 NO INTERVALS.
SELECTION-SCREEN BEGIN OF LINE .
PARAMETERS: R01 RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD.
SELECTION-SCREEN COMMENT 5(15) TEXT_004.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R02 RADIOBUTTON GROUP R1 .
SELECTION-SCREEN COMMENT 25(15) TEXT_005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE .
PARAMETERS: R_FOR RADIOBUTTON GROUP R2 DEFAULT 'X' USER-COMMAND RAD.
SELECTION-SCREEN COMMENT 5(15) TEXT_006.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_BACK RADIOBUTTON GROUP R2 .
SELECTION-SCREEN COMMENT 25(15) TEXT_007.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
INITIALIZATION.
TEXT_001 = 'Report Specification'.
TEXT_002 = 'File name'.
TEXT_003 = 'Output Specification'.
TEXT_004 = 'Customer Data'.
TEXT_005 = 'Vendor Data'.
TEXT_006 = 'ForeGround'.
TEXT_007 = 'BackGround'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FLNAME.
PERFORM GET_FILENAME.
START-OF-SELECTION.
IF FLNAME IS INITIAL.
MESSAGE 'Please select file' TYPE 'S'.
LEAVE LIST-PROCESSING.
ENDIF.
IF R01 = 'X'.
PERFORM GUI_UPLOAD.
PERFORM FILL_RECORDS.
IF RECORD[] IS NOT INITIAL.
PERFORM BDC_FILL.
ENDIF.
ELSEIF R02 = 'X'.
PERFORM GUI_UPLOAD_VEN.
PERFORM FILL_RECORDS_VEN.
IF RECORD_VEN[] IS NOT INITIAL.
PERFORM BDC_FILL_VEN.
ENDIF.
ENDIF.
*& Form FILL_RECORDS
FORM FILL_RECORDS .
DATA: V_PERIOD TYPE I,
V_PERIOD1 TYPE I.
LOOP AT IT_RECO INTO WA_RECO.
V_PERIOD = WA_RECO-BUDAT_004+3(2) .
IF V_PERIOD = 1.
V_PERIOD1 = '10'.
ELSEIF V_PERIOD = 2.
V_PERIOD1 = '11'.
ELSEIF V_PERIOD = 3.
V_PERIOD1 = '12'.
ELSEIF V_PERIOD = 4.
V_PERIOD1 = '1'.
ELSEIF V_PERIOD = 5.
V_PERIOD1 = '2'.
ELSEIF V_PERIOD = 6.
V_PERIOD1 = '3'.
ELSEIF V_PERIOD = 7.
V_PERIOD1 = '4'.
ELSEIF V_PERIOD = 8.
V_PERIOD1 = '5'.
ELSEIF V_PERIOD = 9.
V_PERIOD1 = '6'.
ELSEIF V_PERIOD = 10.
V_PERIOD1 = '7'.
ELSEIF V_PERIOD = 11.
V_PERIOD1 = '8'.
ELSEIF V_PERIOD = 12.
V_PERIOD1 = '9'.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-NEWBS_011
IMPORTING
OUTPUT = WA_RECO-NEWBS_011.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-NEWKO_012
IMPORTING
OUTPUT = WA_RECO-NEWKO_012.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-BUKRS_003
IMPORTING
OUTPUT = WA_RECO-BUKRS_003.
SELECT SINGLE BELNR ZFBDT ZTERM ZLSCH VALUT FIPOS
FROM BSEG INTO WA_BSEG WHERE KUNNR = WA_RECO-NEWKO_012
AND BUKRS = WA_RECO-BUKRS_003.
AND ZTERM ''
AND ZLSCH '' .
SELECT SINGLE KUNNR BUKRS ZWELS ZTERM
FROM KNB1 INTO WA_KNB1 WHERE KUNNR = WA_RECO-NEWKO_012
AND BUKRS = WA_RECO-BUKRS_003.
SORT IT_BSEG BY ZFBDT DESCENDING.
READ TABLE IT_BSEG INTO WA_BSEG INDEX 1.
DATA: STR TYPE STRING,
STR1 TYPE STRING,
STR2 TYPE STRING,
STR3 TYPE STRING.
STR1 = WA_BSEG-ZFBDT+0(4).
STR2 = WA_BSEG-ZFBDT+4(2).
STR3 = WA_BSEG-ZFBDT+6(2).
CONCATENATE STR3 '.' STR2 '.' STR1 INTO STR.
CONDENSE STR NO-GAPS.
WA_RECORD-SRNO = WA_RECO-SRNO.
WA_RECORD-BLDAT_001 = WA_RECO-BLDAT_001.
WA_RECORD-BLART_002 = WA_RECO-BLART_002.
WA_RECORD-BUKRS_003 = WA_RECO-BUKRS_003.
WA_RECORD-BUDAT_004 = WA_RECO-BUDAT_004.
WA_RECORD-MONAT_005 = V_PERIOD1.
WA_RECORD-WAERS_006 = WA_RECO-WAERS_006.
WA_RECORD-XBLNR_007 = WA_RECO-XBLNR_007.
WA_RECORD-BKTXT_008 = WA_RECO-BKTXT_008.
WA_RECORD-XBWAE_009 = 'X'.
WA_RECORD-DOCID_010 = '*'.
WA_RECORD-NEWBS_011 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_012 = WA_RECO-NEWKO_012.
WA_RECORD-WRBTR_013 = WA_RECO-WRBTR_013.
WA_RECORD-XMWST_014 = 'X'.
WA_RECORD-MWSKZ_015 = WA_RECO-MWSKZ_015.
WA_RECORD-ZTERM_016 = WA_KNB1-ZTERM .
WA_RECORD-ZFBDT_017 = WA_RECO-BLDAT_001. "STR." WA_BSEG-ZFBDT .
WA_RECORD-ZLSCH_018 = WA_KNB1-ZWELS.
WA_RECORD-NEWBS_019 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_020 = WA_RECO-NEWKO_012.
WA_RECORD-WRBTR_021 = WA_RECO-WRBTR_013.
WA_RECORD-MWSKZ_022 = WA_RECO-MWSKZ_015.
WA_RECORD-XMWST_023 = 'X'.
WA_RECORD-VALUT_024 = WA_RECO-BLDAT_001. "STR """"""""""""""""""""""""""WA_BSEG-VALUT.
WA_RECORD-FMORE_025 = 'X'.
WA_RECORD-GSBER_026 = WA_RECO-GSBER_026.
WA_RECORD-FIPEX_027 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_028 = WA_BSEG-FIPOS.
WA_RECORD-QTY = WA_RECO-QTY.
WA_RECORD-UOM = WA_RECO-UOM.
WA_RECORD-FIELD_13_029 = WA_RECO-FIELD_13_029.
WA_RECORD-FIELD_15_030 = WA_RECO-FIELD_15_030.
WA_RECORD-FIELD_09_031 = WA_RECO-FIELD_09_031.
WA_RECORD-FIELD_10_032 = WA_RECO-FIELD_10_032.
WA_RECORD-FIELD_11_033 = WA_RECO-FIELD_11_033.
WA_RECORD-FIELD_12_034 = ''. "WA_RECO-FIELD_12_034.
WA_RECORD-FIELD_13_035 = WA_RECO-FIELD_13_035.
WA_RECORD-FIELD_14_036 = WA_RECO-FIELD_14_036.
WA_RECORD-FIELD_15_037 = WA_RECO-FIELD_15_037.
WA_RECORD-GSBER_038 = WA_RECO-GSBER_026.
WA_RECORD-PRCTR_039 = WA_RECO-FIELD_13_029.
WA_RECORD-FIPEX_040 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_041 = WA_BSEG-FIPOS.
WA_RECORD-NEWBS_042 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_043 = WA_RECO-NEWKO_012.
WA_RECORD-MWSKZ_044 = WA_RECO-MWSKZ_015.
WA_RECORD-XMWST_045 = 'X'.
WA_RECORD-VALUT_046 = WA_RECO-BLDAT_001. """str """""""""""""""""""""""WA_BSEG-VALUT.
WA_RECORD-FMORE_047 = 'X'.
WA_RECORD-FIPEX_048 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_049 = WA_BSEG-FIPOS.
MOVE-CORRESPONDING WA_RECO TO WA_RECORD.
APPEND WA_RECORD TO RECORD.
CLEAR WA_RECORD.
ENDLOOP.
ENDFORM. " FILL_RECORDS
*& Form BDC_FILL
FORM BDC_FILL .
DATA : CNT1 TYPE I VALUE 1.
IT_RECO1[] = RECORD[].
DELETE IT_RECO1 WHERE GSBER_026 = ''.
SORT RECORD BY SRNO ASCENDING .
SORT RECORD BY WRBTR_013 DESCENDING.
DELETE ADJACENT DUPLICATES FROM RECORD COMPARING SRNO .
LOOP AT RECORD INTO WA_RECORD.
TEMP = SY-TABIX.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BKPF-BLDAT'
WA_RECORD-BLDAT_001.
PERFORM BDC_FIELD USING 'BKPF-BLART'
WA_RECORD-BLART_002.
PERFORM BDC_FIELD USING 'BKPF-BUKRS'
WA_RECORD-BUKRS_003.
PERFORM BDC_FIELD USING 'BKPF-BUDAT'
WA_RECORD-BUDAT_004.
PERFORM BDC_FIELD USING 'BKPF-MONAT'
WA_RECORD-MONAT_005.
PERFORM BDC_FIELD USING 'BKPF-WAERS'
WA_RECORD-WAERS_006.
PERFORM BDC_FIELD USING 'BKPF-XBLNR'
WA_RECORD-XBLNR_007.
PERFORM BDC_FIELD USING 'BKPF-BKTXT'
WA_RECORD-BKTXT_008.
PERFORM BDC_FIELD USING 'VBKPF-XBWAE'
WA_RECORD-XBWAE_009.
PERFORM BDC_FIELD USING 'FS006-DOCID'
WA_RECORD-DOCID_010.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECORD-NEWBS_011.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECORD-NEWKO_012.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0301'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA_RECORD-WRBTR_013.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECORD-XMWST_014.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECORD-MWSKZ_015.
PERFORM BDC_FIELD USING 'BSEG-ZTERM'
WA_RECORD-ZTERM_016.
PERFORM BDC_FIELD USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT_017.
PERFORM BDC_FIELD USING 'BSEG-ZLSCH'
WA_RECORD-ZLSCH_018.
LOOP AT IT_RECO1 WHERE SRNO = RECORD-SRNO.
READ TABLE IT_RECO1 INTO WA_RECO1 WITH KEY SRNO = WA_RECORD-SRNO ."INDEX TEMP.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO1-NEWBS_019.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO1-NEWKO_020.
CLEAR cnt1.
LOOP AT IT_RECO1 INTO WA_RECO1 WHERE SRNO = WA_RECORD-SRNO.
CNT1 = 1 + SY-TABIX.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ZK'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA_RECO1-WRBTR_021.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECO1-MWSKZ_022.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECO1-XMWST_023.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA_RECO1-VALUT_024.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
WA_RECO1-FMORE_025.
PERFORM BDC_FIELD USING 'BSEG-MENGE'
WA_RECO1-QTY.
PERFORM BDC_FIELD USING 'BSEG-MEINS'
WA_RECO1-UOM.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=COBL_XERGO'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA_RECO1-GSBER_026.
PERFORM BDC_FIELD USING 'COBL-FIPEX'
WA_RECO1-FIPEX_027.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECO1-FIPOS_028.
CHANGEED ON 25 APRIL BY RAJAN
PERFORM BDC_FIELD USING 'BSEG-MENGE'
WA_RECO1-QTY.
PERFORM BDC_FIELD USING 'BSEG-MEINS'
WA_RECO1-UOM.
CHANGEED ON 25 APRIL BY RAJAN
PERFORM BDC_DYNPRO USING 'SAPLKEAK' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RKEAK-FIELD(15)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=P+'.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(13)'
WA_RECO1-FIELD_13_029.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(15)'
WA_RECO1-FIELD_15_030.
PERFORM BDC_DYNPRO USING 'SAPLKEAK' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RKEAK-FIELD(15)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=WEIT'.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(09)'
WA_RECO1-FIELD_09_031.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(10)'
WA_RECO1-FIELD_10_032.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(11)'
WA_RECO1-FIELD_11_033.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(12)'
WA_RECO1-FIELD_12_034.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(13)'
WA_RECO1-FIELD_13_035.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(14)'
WA_RECO1-FIELD_14_036.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(15)'
WA_RECO1-FIELD_15_037.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA_RECO1-GSBER_038.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA_RECO1-PRCTR_039.
PERFORM BDC_FIELD USING 'COBL-FIPEX'
WA_RECO1-FIPEX_040.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECO1-FIPOS_041.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
READ TABLE IT_RECO1 INTO WA_RECO2 INDEX CNT1.
IF SY-SUBRC = 0.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO2-NEWBS_042.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO2-NEWKO_043.
ELSE.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO1-NEWBS_042.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO1-NEWKO_043.
ENDIF.
ENDLOOP.
CLEAR CNT1.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BP'.
PERFORM BDC_DYNPRO_ven USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD_ven USING 'BDC_CURSOR'
'BSEG-LZBKZ'.
PERFORM BDC_FIELD_ven USING 'BDC_OKCODE'
'=BP'.
REFRESH BDCDATA_VEN1.
FREE BDCDATA_VEN1[].
BDCDATA_VEN1[] = BDCDATA[].
DATA : CNT TYPE I,
TEMP TYPE I,
TEMP1 TYPE I,
TEMP2 TYPE I,
TEMP3 TYPE I,
TEMP4 TYPE I.
LOOP AT BDCDATA_VEN1 INTO WA_BDCDATA_VEN1 WHERE DYNPRO = 330.
TEMP = SY-TABIX.
TEMP1 = TEMP + 1.
TEMP2 = TEMP1 + 1.
TEMP3 = TEMP2 + 1.
TEMP4 = TEMP3 + 1.
CNT = SY-TABIX + 5.
READ TABLE BDCDATA_VEN1 INTO WA_BDCDATA_VEN2 INDEX CNT.
IF WA_BDCDATA_VEN2-DYNPRO = 330.
DELETE BDCDATA_VEN1 FROM TEMP TO TEMP4.
EXIT.
ENDIF.
ENDLOOP.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BP'.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECORD-MWSKZ_044.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECORD-XMWST_045.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA_RECORD-VALUT_046.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
WA_RECORD-FMORE_047.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-FIPEX'
WA_RECORD-FIPEX_048.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECORD-FIPOS_049.
PERFORM BDC_TRANSACTION USING 'F-64'.
READ TABLE MESSTAB INTO WA_MESSTAB WITH KEY TCODE = 'FBV1'
MSGTYP = 'S'
MSGID = 'FP'.
IF SY-SUBRC = 0.
PERFORM BDC_MSG_S.
ELSE.
PERFORM BDC_MSG_E.
ENDIF.
FREE MESSTAB.
ENDLOOP.
ENDFORM. " BDC_FILL
*& Form BDC_MSG_S
FORM BDC_MSG_S.
IF WA_MESSTAB-MSGTYP = 'S'.
DATA : MESS1(10),
MESS2(10).
MESS1 = WA_MESSTAB-MSGV1.
MESS2 = WA_MESSTAB-MSGV2.
WRITE :/1 'Parked Documents',
MESS1 COLOR 6 INTENSIFIED ON INVERSE ON,
'For Company Code',
MESS2 COLOR 6 INTENSIFIED ON INVERSE ON.
ENDIF.
ENDFORM. " BDC_MSG_S
*& Form BDC_MSG_E
FORM BDC_MSG_E.
READ TABLE MESSTAB INTO WA_MESSTAB WITH KEY TCODE = 'FBV1'
MSGTYP = 'E'
MSGID = 'F5'.
READ TABLE RECORD INTO WA_RECORD INDEX TEMP.
IF WA_MESSTAB-MSGTYP = 'E' AND SY-SUBRC = 0.
SKIP.
WRITE: /1 'Error occured during inserting data for sr. no :' COLOR 5 INTENSIFIED ON INVERSE ON,
WA_RECORD-SRNO COLOR 5 INTENSIFIED ON INVERSE ON.
MESSTAB-MSGV1 COLOR 6 INTENSIFIED ON INVERSE ON.
SKIP.
ENDIF.
ENDFORM. " BDC_MSG_E
*& Form GUI_UPLOAD
FORM GUI_UPLOAD .
DATA: FNAME TYPE STRING.
FNAME = FLNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FNAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = IT_RECO
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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GUI_UPLOAD
*& Form GET_FILENAME
FORM GET_FILENAME .
CALL FUNCTION 'F4_FILENAME'
IMPORTING
FILE_NAME = FLNAME.
ENDFORM. " GET_FILENAME
*& Form bdc_transaction
FORM BDC_TRANSACTION USING VALUE(P_0522).
IF R_FOR = 'X'.
CALL TRANSACTION 'F-64' USING BDCDATA_VEN1
MODE 'A' "A
UPDATE 'A'
MESSAGES INTO MESSTAB.
ELSEIF R_BACK = 'X'.
CALL TRANSACTION 'F-64' USING BDCDATA_VEN1
MODE 'N' "A
UPDATE 'A'
MESSAGES INTO MESSTAB.
ENDIF.
REFRESH BDCDATA.
FREE BDCDATA[].
ENDFORM. " bdc_transaction
*& Form BDC_DYNPRO
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
ENDFORM. "BDC_DYNPRO
*& Form BDC_FIELD
FORM BDC_FIELD USING FNAM FVAL.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA TO BDCDATA.
ENDFORM. "BDC_FIELD
*& Form FILL_RECORDS
FORM FILL_RECORDS_VEN .
DATA: V_PERIOD TYPE I,
V_PERIOD1 TYPE I.
LOOP AT IT_RECO_VEN INTO WA_RECO_VEN.
V_PERIOD = WA_RECO_VEN-BUDAT_004+3(2) .
IF V_PERIOD = 1.
V_PERIOD1 = '10'.
ELSEIF V_PERIOD = 2.
V_PERIOD1 = '11'.
ELSEIF V_PERIOD = 3.
V_PERIOD1 = '12'.
ELSEIF V_PERIOD = 4.
V_PERIOD1 = '1'.
ELSEIF V_PERIOD = 5.
V_PERIOD1 = '2'.
ELSEIF V_PERIOD = 6.
V_PERIOD1 = '3'.
ELSEIF V_PERIOD = 7.
V_PERIOD1 = '4'.
ELSEIF V_PERIOD = 8.
V_PERIOD1 = '5'.
ELSEIF V_PERIOD = 9.
V_PERIOD1 = '6'.
ELSEIF V_PERIOD = 10.
V_PERIOD1 = '7'.
ELSEIF V_PERIOD = 11.
V_PERIOD1 = '8'.
ELSEIF V_PERIOD = 12.
V_PERIOD1 = '9'.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-NEWBS_011
IMPORTING
OUTPUT = WA_RECO_VEN-NEWBS_011.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-NEWKO_012
IMPORTING
OUTPUT = WA_RECO_VEN-NEWKO_012.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-BUKRS_003
IMPORTING
OUTPUT = WA_RECO_VEN-BUKRS_003.
SELECT SINGLE BELNR ZFBDT ZTERM ZLSCH VALUT FIPOS ZBD1T ZLSPR FISTL
FROM BSEG INTO WA_BSEG_VEN WHERE LIFNR = WA_RECO_VEN-NEWKO_012
AND BUKRS = WA_RECO_VEN-BUKRS_003.
AND ZTERM ''
AND ZLSCH '' .
SELECT SINGLE LIFNR BUKRS ZWELS ZTERM
FROM LFB1 INTO WA_LFB1_VEN WHERE LIFNR = WA_RECO_VEN-NEWKO_012
AND BUKRS = WA_RECO_VEN-BUKRS_003.
SORT IT_BSEG_VEN BY ZFBDT DESCENDING.
READ TABLE IT_BSEG_VEN INTO WA_BSEG_VEN INDEX 1.
DATA: STR TYPE STRING,
STR1 TYPE STRING,
STR2 TYPE STRING,
STR3 TYPE STRING.
STR1 = WA_BSEG_VEN-ZFBDT+0(4).
STR2 = WA_BSEG_VEN-ZFBDT+4(2).
STR3 = WA_BSEG_VEN-ZFBDT+6(2).
CONCATENATE STR3 '.' STR2 '.' STR1 INTO STR.
CONDENSE STR NO-GAPS.
WA_RECORD_VEN-SRNO = WA_RECO_VEN-SRNO.
WA_RECORD_VEN-BLDAT_001 = WA_RECO_VEN-BLDAT_001.
WA_RECORD_VEN-BLART_002 = WA_RECO_VEN-BLART_002.
WA_RECORD_VEN-BUKRS_003 = WA_RECO_VEN-BUKRS_003.
Similar Messages
-
BAPI for Open production orders
Hi All,
Any BAPI for open production orders?.... Using BAPI i want to upload open production orders informatiomations.... Please help
Thanks & Regards
SanthoshHi,
Please check the following BAPI,
Goto BAPI tcode, select hierarchical tab
Production orders,ProductionOrder ,ProdOrdConfirmation , RCVPRORDCF and check the BAPIs -
Hi!
Can anyone let me know where to find the bapi for open po and how to use it in my report program.
Thanks in advance.
Note: Mr Anji Reddy vangala has answered me for which iam very much thankful to him, but i need to know about the concerned bapi.
Regards,
Parwez.Hi,
Refer the sample code below which creats PO using BAPI_PO_CREATE1.
Hope this helps your querry.
*& Report YDM_PO_CREATE *
REPORT ydm_po_create.
*-- Input File Declaration
TYPES: BEGIN OF ty_input_file,
column1 TYPE char50,
column2 TYPE char50,
column3 TYPE char50,
column4 TYPE char50,
column5 TYPE char50,
column6 TYPE char50,
column7 TYPE char50,
column8 TYPE char50,
column9 TYPE char50,
column10 TYPE char50,
column11 TYPE char50,
column12 TYPE char50,
column13 TYPE char50,
column14 TYPE char50,
column15 TYPE char50,
column16 TYPE char50,
column17 TYPE char50,
column18 TYPE char50,
END OF ty_input_file.
DATA: i_input_file TYPE STANDARD TABLE OF ty_input_file,
wa_input_file TYPE ty_input_file.
CONSTANTS: c_path TYPE char20 VALUE 'C:\',
c_mask TYPE char9 VALUE ',*.*,*.*.',
c_mode TYPE char1 VALUE 'O',
c_filetype TYPE char10 VALUE 'ASC',
c_x TYPE char01 VALUE 'X'.
PARAMETERS : p_fname LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
*-- Browse Presentation Server
PERFORM f4_presentation_file.
START-OF-SELECTION..
*-- Read presentation server file
PERFORM f1003_upload_file.
IF NOT i_input_file[] IS INITIAL.
PERFORM split_data.
ENDIF.
*& Form f4_presentation_file
*& F4 Help for presentation server
FORM f4_presentation_file .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = c_path
mask = c_mask
mode = c_mode
title = text-001
IMPORTING
filename = p_fname
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f4_presentation_file
*& Form f1003_upload_file
*& Upload File
FORM f1003_upload_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_fname.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = c_filetype
has_field_separator = c_x
TABLES
data_tab = i_input_file
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 ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
ENDFORM. " f1003_upload_file
*& Form split_data
Collect data for creating Purchase Order
FORM split_data .
DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
i_acct_*** TYPE STANDARD TABLE OF bapimepoaccount,
i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
i_services TYPE STANDARD TABLE OF bapiesllc ,
i_srvacc TYPE STANDARD TABLE OF bapiesklc,
i_return TYPE STANDARD TABLE OF bapiret2,
wa_header TYPE bapimepoheader,
wa_headerx TYPE bapimepoheaderx,
wa_poitem TYPE bapimepoitem,
wa_poitemx TYPE bapimepoitemx,
wa_poitem_sch TYPE bapimeposchedule,
wa_poitem_schx TYPE bapimeposchedulx,
wa_acct_*** TYPE bapimepoaccount,
wa_acct_assx TYPE bapimepoaccountx,
wa_services TYPE bapiesllc,
wa_srvacc TYPE bapiesklc,
wa_return TYPE bapiret2,
ws_po TYPE bapimepoheader-po_number.
break gbpra8.
wa_services-pckg_no = 10.
wa_services-line_no = 1.
wa_services-outl_no = '0'.
wa_services-outl_ind = c_x.
wa_services-subpckg_no = 20.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 10.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 01.
wa_srvacc-serial_no = 01.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
LOOP AT i_input_file INTO wa_input_file.
IF wa_input_file-column2 EQ 'HD'.
wa_header-doc_type = wa_input_file-column3.
wa_header-creat_date = sy-datum.
wa_header-created_by = sy-uname.
wa_header-vendor = wa_input_file-column4.
PERFORM conversion_output USING wa_header-vendor
CHANGING wa_header-vendor.
wa_header-comp_code = 'DE03'.
wa_header-purch_org = 'DE03'.
wa_header-pur_group = 'DE1'.
wa_header-vper_start = wa_input_file-column9.
wa_header-vper_end = wa_input_file-column10.
wa_headerx-comp_code = c_x.
wa_headerx-doc_type = c_x.
wa_headerx-creat_date = c_x.
wa_headerx-created_by = c_x.
wa_headerx-vendor = c_x.
wa_headerx-purch_org = c_x.
wa_headerx-pur_group = c_x.
wa_headerx-vper_start = c_x.
wa_headerx-vper_end = c_x.
ENDIF.
IF wa_input_file-column2 EQ 'IT'.
wa_poitem-po_item = wa_input_file-column3.
wa_poitem-short_text = wa_input_file-column6.
wa_poitem-plant = wa_input_file-column8.
wa_poitem-quantity = '1'.
wa_poitem-tax_code = 'V0'.
wa_poitem-item_cat = 'D'.
wa_poitem-acctasscat = 'K'.
wa_poitem-matl_group = wa_input_file-column7.
wa_poitem-pckg_no = '10'.
APPEND wa_poitem TO i_poitem .
wa_poitemx-po_item = wa_input_file-column3.
wa_poitemx-po_itemx = c_x.
wa_poitemx-short_text = c_x.
wa_poitemx-plant = c_x.
wa_poitemx-quantity = c_x.
wa_poitemx-tax_code = c_x.
wa_poitemx-item_cat = c_x.
wa_poitemx-acctasscat = c_x.
wa_poitemx-matl_group = c_x.
wa_poitemx-pckg_no = c_x.
APPEND wa_poitemx TO i_poitemx.
wa_poitem_sch-po_item = wa_input_file-column3.
wa_poitem_sch-delivery_date = sy-datum.
APPEND wa_poitem_sch TO i_poitem_sch.
wa_poitem_schx-po_item = wa_input_file-column3.
wa_poitem_schx-po_itemx = c_x.
wa_poitem_schx-delivery_date = c_x.
APPEND wa_poitem_schx TO i_poitem_schx.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 01.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 02.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 01.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 02.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_services-pckg_no = 20.
wa_services-line_no = 2.
wa_services-service = wa_input_file-column9.
wa_services-quantity = '100'.
wa_services-gr_price = '100'.
wa_services-userf1_txt = wa_input_file-column13.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 20.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 02.
wa_srvacc-serial_no = 02.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = wa_header
poheaderx = wa_headerx
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
exppurchaseorder = ws_po
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
return = i_return
poitem = i_poitem
poitemx = i_poitemx
POADDRDELIVERY =
poschedule = i_poitem_sch
poschedulex = i_poitem_schx
poaccount = i_acct_***
POACCOUNTPROFITSEGMENT =
poaccountx = i_acct_assx
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
poservices = i_services
posrvaccessvalues = i_srvacc
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
break gbpra8.
LOOP AT i_return INTO wa_return.
ENDLOOP.
ENDFORM. " split_data
*& Form conversion_output
Conversion exit input
FORM conversion_output USING p_ip
CHANGING p_op.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_ip
IMPORTING
output = p_op.
ENDFORM. " conversion_output
<b>Reward points if this helps.
Manish</b> -
Experts,
I need a BAPI for list of Sales order against which the invoice has not been generated. I need to pass date and bapi shall return list of sales order that are not invoiced.
Thanks
HarshHi Frederic
Sure it does.
Actually I want to send data from SAP to some .net application. I thought using BAPI would make the job easier.
Anyways thanks.
Regards
Harsh -
PS: BAPI For Planned Progress and Actual Progress
Dear All,
Is there any BAPI available for Planned Progress and Actual Progress for PS Project.
Regards,
SohailHi,
Try using this report s_alr_87013532.
Also for planned and actual progress the table is rpsqt. Could not find any bapi for the progress
Regards
Hiren K.Chitalia -
Hi!
I need a BAPI for extract the Vendor Balances and other for load the Vendor Balances.
Do they exist?try to search in Se37
BAPI_AP_ACC_GETBALANCEDITEMS Vendor Account Clearing Transactions in a given Period
BAPI_AP_ACC_GETCURRENTBALANCE Vendor Account Closing Balance in Current Fiscal Year
BAPI_AP_ACC_GETKEYDATEBALANCE Vendor Account Balance at Key Date
BAPI_AP_ACC_GETPERIODBALANCES Posting Period Balances per Vendor Account in Current Fiscal Year
regards
Prabhu -
Function modules or BAPI for posting plan costs for WBS Element
Hi all,
Does anyone know, whether there exists a function module or BAPI for posting plan costs to a WBS Element? K_COSTS_PLAN_PS does not work, because RKP1 is not allowed.
Greetingscheck
BAPI_COSTACTPLN_POSTACTINPUT Activity Input Planning: Posting
BAPI_COSTACTPLN_POSTACTOUTPUT Activity/Price Planning: Posting
BAPI_COSTACTPLN_POSTKEYFIGURE Stat. Key Figure Planning: Postings
BAPI_COSTACTPLN_POSTPRIMCOST Primary Cost Planning: Postings
BAPI_PDTRANSCO_POSTPRIMCOST Transfer of Planning Data: Post Primary Costs
K40C CO Actual Postings, Manual
BAPI_ACC_PRIMARY_COSTS_POST Accounting: Post Primary Costs
BAPI_COPAACTUALS_POSTCOSTDATA BAPI Operating Concern: Post Costing-Based Actua
BAPI_PRIM_COST_CHECK_AND_POST Primary Costs: Formal Parameter Check
S@meer -
IDOC/BAPI for Production order creation from Legacy system
Hi all
We are using an interface to create Production orders from legacy to SAP. Would you recommend an IDOC or a BAPI to create Production orders. If IDOC or BAPI then could you please mention which one?
thanks a bunchHi John,
For your purposes, please use BAPI for production order creation from legacy system. There is no standard inbound IDoc available to use. SAP has an IDoc for outbound interface only (message type LOIPRO).
If there is an inbound IDoc available, I would recommend to use an IDoc.
IDoc technology has excellent error handling and will allow you to reprocess an error (if any).
BAPI is also good approach to use and fast in term of processing.
For BAPI approach, you can use BAPI BAPI_PRODORD_CREATE.
Hope this will help.
Regards,
Ferry Lianto -
Bapi for vendor payment with details of tunover and blocked payment
Dear all
I want to know whether any BAPI available for the details of vendor payment made and the open item with blocked payment (with the reason for the blocked payment) and the turnover of the vendor for a particular fiscal year...................
The client want to get the output as mentioned below.
e.g...
PO no : 45629810
Inv.No : 73409 (Vendor's Invoice no.)
Payment : Paid amt with date and details
Payment : Outstanding (Due and Over Due with no.of days)
Blocked Payment : Amt with the reason for blocking the payment.
Turn Over : Total turn over for that fiscal year.
This is an urgent req. from my client,i will be very grateful if any one can help me over this issue ..............
Appreciate for any relevant answers and suggestion ...........
I am in ECC 6.0
Regards
PraveenHello Raj,
Unfortunately there is no BAPI for payment detals and other company code data. The only possibility is via direct input (external data transfer).
Please have a look at the following Easy-Access-path:
SAP Menu
-> Accounting
-> Bank Applications
-> Loans Management
-> Environment
-> External Data Transfer
Within this menu entry you find diverse functions. Please start the function KCLJ to transfer data. Before you can do this you need to
prepare the transfer by creating your own transfer structure and so on. You can get further information on what to do here by navigating to
"Help > Application help" within transaction KCLJ. From here you get to the right area of SAP library.
Thanks Amber -
Bapi for posting IR line item at a time
Hi....
Do we have a bapi for posting invoive receipt line item wise instead of posting the PO at a time......this wud be more precise for my requirement.....presently i'm using bapi_acc_document_post but this wud clear the document with single document number.....but i want it to be posted line item wise to see the amount individually item wise instead of combined one....similar to what we have in the IR which shows amount of individual items........This is an old bug that keeps popping up:
https://forums.lenovo.com/t5/T400-T500-and-newer-T-series/Vertical-scrolling-got-reset-everytime-I-use-Ultra-Nav-to-scroll/td-p/343477 -
Help Rgd. BAPI for Creation of Inbound delivery Document
Hi all,
I need a Bapi to create inbound delivery document without using PO reference. I have seen the below BAPIs. i) BAPI_IBDLV_CREATE_FROM_OBDLV,
ii) BAPI_GOODSMVT_CREATE. I am not sure whether they are for creating inbound delivery document without using PO reference.
It will be of great use if anyone can give me the BAPI for the purpose and the mandatory parameters or sample test data for the BAPI.
Thanks in Advance,
Rakesh.If you create the inbound delivery->check the purchase order in the tabstrip "Confirmations" on item level. There are three fields: "Confirmation control key", "Order acknowl." and "acknowl. required".
Ckeck if there is a value in "confirmation control key".
You should get the same error if you try to create VL31N in dialog mode, not only by using the bapi.
Rgds,
JP -
BAPI for changing delivery date and delivery time fields in LIKP table
Hi All,
Is there any BAPI or function module to change the delivery date and delivery time in LIKP table ?
Please tell me experts if exists.
Thank you,
Raghu.try these:
BAPI/FM to update LIKP and VTTK tables
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bapi-for-changing-sales-headertable-likp-662800 -
BAPI for J1IJ depot excise invoice required
Hi All,
Please let me know the BAPI to create depot excise invoice with J1IJ from a delivery.This require to automate the process.
Please let me know the parameters also.
Thanks'
Mukul KumarHi Mukul,
CIN does not support any BAPIs for goods receipts and excise updates.
However, CIN uses MB_MIGO_BADI definition and CIN_PLUG_IN_TO_MIGO implementation. You can create multiple implementations of this BAdI. You can use the same BAdI for single step capture and post of excise invoice in MIGO.
Regards,
Rajasree.. -
BAPI -for Creating EXCISE INVOICE AT DEPOT tcode 'J1IG
Hi All,
Is there any BAPI for Excise Invoice Creation at depot Tcode is J1IG
Thanks,
SatishreddyHi,
Please try this Function Module
J_1I4A_CREATE_EXCISE_INVOICE
Hope it helps.
Regards
Hiren K.Chitalia -
Function Module or BAPI for Sales price calculation and Pricing worklist
Hi Retail experts,
We frequently change purchase conditions, but not that frequently for cases like perishables, so sales price calculations needs to be done each time. This means pricing worklist generation and release is done often and then sales price recalculation is done each time article wise and for various organization level.
We have 15000 articles for which purcahse conditions changes, it is impossible to generate and release pricing worklist and do sales price calculation for each article
So solution may be to find a FM/BAPI for the following transactions and automate them.
Do you know FM/BAPI for VKP5/VKBP or VKP6, WVN0, WVN1 transactions.
Regards
BobHI Madhu,
Thanks for the reply,
I am looking for BAPI or FM which will check all pricing condition types( like MRP of the Material(table A304), discounts(A800,A802,A803,A804) for that customer and Tax) and give me the value(KONP-KBETR).
I can only pass Customer, material, quantity etc.. so that BAPI or FM has do all standred checks/ validation and give the
KONP-KBETR for all condition types like MRP, discounts, Tax. we are developing the custom program for sales order creation so we require the all this before saving the sales order.
Regards,
Nagesh
Edited by: nageshdb4u on Mar 5, 2011 12:05 PM -
How to Use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA
Hi ,
How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
May i know what are the input parameters & fields mandatory
for each Table structures ct_data , ct_datax , it_descript , it_longtext.
Can any one explain me Step by Step Process.
B'cos i tried with below code. Equipment is not getting created.
wa_itab-equipment_ext = '000000000100000001'.
wa_itab-descript = 'Test 2 -> Lube Oil Pump'.
wa_itab-text_language = 'EN'.
wa_itab-sdescript = 'Short Description'.
APPEND wa_itab TO it_itab.
CLEAR wa_itab.
LOOP AT it_itab INTO wa_itab.
ct_data-ta_guid = '000000000000000001'.
ct_data-equipment_ext = wa_itab-equipment_ext.
ct_data-descript = wa_itab-descript .
ct_data-valid_date = sy-datum.
ct_data-equicatgry = 'M'.
APPEND ct_data.
CLEAR ct_data.
ct_datax-ta_guid = '000000000000000001'.
ct_datax-equipment_ext = 'X'.
ct_datax-equipment = 'X'.
APPEND ct_datax.
CLEAR ct_datax.
it_descript-ta_guid = '000000000000000001'.
it_descript-text_language = wa_itab-text_language.
it_descript-descript = wa_itab-sdescript .
APPEND it_descript.
CLEAR it_descript.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'LTXT'.
it_longtext-text_line = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'aaaaaaaaaaaaaaa'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'bbbbbbbbbbbb'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'cccccccccccccccc'.
APPEND it_longtext.
CLEAR it_longtext.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
call BAPI-function in this system
CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
TABLES
ct_data = ct_data
ct_datax = ct_datax
it_descript = it_descript
it_longtext = it_longtext
return = return
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE : 'Successful'.
ENDIF.
IF NOT return IS INITIAL.
LOOP AT return.
IF return-type = 'A' OR return-type = 'E'.
WRITE : 'Error'.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH return.
ENDLOOP.
Regards
SUrendarHi ,
How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
May i know what are the input parameters & fields mandatory
for each Table structures ct_data , ct_datax , it_descript , it_longtext.
Can any one explain me Step by Step Process.
B'cos i tried with below code. Equipment is not getting created.
wa_itab-equipment_ext = '000000000100000001'.
wa_itab-descript = 'Test 2 -> Lube Oil Pump'.
wa_itab-text_language = 'EN'.
wa_itab-sdescript = 'Short Description'.
APPEND wa_itab TO it_itab.
CLEAR wa_itab.
LOOP AT it_itab INTO wa_itab.
ct_data-ta_guid = '000000000000000001'.
ct_data-equipment_ext = wa_itab-equipment_ext.
ct_data-descript = wa_itab-descript .
ct_data-valid_date = sy-datum.
ct_data-equicatgry = 'M'.
APPEND ct_data.
CLEAR ct_data.
ct_datax-ta_guid = '000000000000000001'.
ct_datax-equipment_ext = 'X'.
ct_datax-equipment = 'X'.
APPEND ct_datax.
CLEAR ct_datax.
it_descript-ta_guid = '000000000000000001'.
it_descript-text_language = wa_itab-text_language.
it_descript-descript = wa_itab-sdescript .
APPEND it_descript.
CLEAR it_descript.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'LTXT'.
it_longtext-text_line = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'aaaaaaaaaaaaaaa'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'bbbbbbbbbbbb'.
APPEND it_longtext.
CLEAR it_longtext.
it_longtext-ta_guid = '000000000000000001'.
it_longtext-text_language = wa_itab-text_language.
it_longtext-text_id = 'INTV'.
it_longtext-text_line = 'cccccccccccccccc'.
APPEND it_longtext.
CLEAR it_longtext.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
call BAPI-function in this system
CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
TABLES
ct_data = ct_data
ct_datax = ct_datax
it_descript = it_descript
it_longtext = it_longtext
return = return
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE : 'Successful'.
ENDIF.
IF NOT return IS INITIAL.
LOOP AT return.
IF return-type = 'A' OR return-type = 'E'.
WRITE : 'Error'.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH return.
ENDLOOP.
Regards
SUrendar
Maybe you are looking for
-
Licensing Error 6 After Clean Installing Mac OS 10.8.
I think it might have something to do with the fact that I forgot to back up the Photoshop Elements Library and Application Support files...I can't find any of the stuff they reference in the Licensing Error 6 Troubleshooting guide. Is there way I ca
-
Any way to fix a stuck pixel?
I have a 5530 with one stuck pixel. Not dead. Glows white, so I know its alive. Is there any way to fix it, or should I bother complaining about it to the dealer? It really doesn't bother me much, because it is in the edge of the screen and normally
-
Update SharePoint list programatically twice a day with SQL 2008 r2
How complicate is to sustain the update SharePoint list programatically twice a day by using SQL job? the data need to be update twice a day and it is going o be use to feed a share point form...where the user(S) will be choosing by lookup in infop
-
Mac Book Pro won't connect to internet via either Ethernet or wireless
A month ago my macbook pro suddenly stops working wirelessly with my virgin media router showing it has connected but no internet access. I have a second computer so i hadn't addressed the issue untill now. On a different virgin media router at my un
-
Can't install/uninstall Flash Player?
Having some serious difficulty here with Flash. Firstly whenever I open a busy webpage that's running flash, my browser will immidiately crash (no rhyme intended) I've been scouring the FAQ's as well as Google to find a solution and so far the majori