BAPI for writing BSEG-BUPLA in 4.6C??

Hi,
Is there any bapi to write BSEG-BUPLA in TAX items while posting document
(TR F-02 or FB01)?? I am using 4.6C...
Thanks,
Nihad

Hi Somnath,
       You are correct probably.I will be writing time series key figure.But please let me confirm that.But the BAPI BAPI_PBSRVAPS_CHANGEKEYFIGVAL2 does not exists in APO system ...instead BAPI_PBSRVAPS_CHANGEKEYFIGVAL exists...
I will explain my exact requirement...I need to take data from a data base table that i created...
Means i will be having Product, location, forecast quantity, UOM...i would not be having planning book or data view with me....
And the purpose of loding data in the data base table and from there to the planniing area is that we can remove BW interfacing...
I think with this clear picture you can provide me something to me...
Anyways thanks a lot for taking time for my qury...
looking forward to your reply..
thanks a lot,
Chandan Dubey

Similar Messages

  • BAPI for writing MM Info-records to database

    Hi,
    I am searching for a bapi to write purchasing info-records into the database. What I already found is BAPI_INFORECORD_GETLIST, but this only reports a list of records. But I need to enter data into the tables EINA, EINA A017 etc. Can anybody help me, i do not want to write a batch-input and would prefer to use a BAPI.  SAP-Version used is 4.6C - pretty antic I know but that is what we have here.
    Greetings uli

    SAP has given a standard way of uploading Purchase Info Records through LSMW.
    You can upload data Direct Input through LSMW by using Object 0060.
    You need to map your local files w.r.t structure of source files for LSMW.
    Regards
    Vinayak

  • BAPI for purchase order

    Hi all,
    I have to retrieve the invoice verification due date given the following:
    •     Retrieve batch number from item level of billing (VBRP-CHARG)
    •     Pick up  purchase order number from batch master data MCH1
    •     Based on PO number, retrieve invoice verification number (EKBE-BELNR) where :
    1.     EKBE-EBELN = PO Number
    2.     EKBE-VGABE = ‘2’
    •     Based on Invoice receipt number, pick up due data on BSEG-FDTAG where BSEG-BLNR is equal with above invoice verification number.
    I've done the first bullet point but don't know how to proceed. How can i pick up the purchase order number, do we have any BAPI for that?
    Thanks!

    Used FM VB_BATCH_GET_DETAIL to get PO number

  • Input needed for writing data back into BW/ECC data

    Hello Everyone,
    Can anyone please let me know an example or process you have used for writing data back into BW (DSO/Cubes) or ECC systems.
    We do not have integrated planning in our current system configuration currently.
    So, any sample code for using any of the BAPI/RFC for writing data would be appreciated.
    Also, I am trying to find out if there is any way to schedule the models developed in VC 7.1 in background to automate certain type of data processing which goes across multiple systems.
    Any help would be appreciated.
    Thanks.

    Hello,
    Can anyone please help me out on this one....
    I am aware of few BAPI's such as RSDRI_ODSO_INSERT_RFC but I am not aware of what action has to be used to transfer the data from the table within VC to this BAPI and how to define the parameters as the one's available for the BAPI I mentioned do not fit into the data I have in the table within VC.
    The following are the columns I have in the table within VC,
    1. GL Account
    2. Credit Amount
    3. Debit Amount
    4. Sales Amount
    I have defined the DSO with the same where G/L Account is the keyfield and the rest being data fields.
    Any help would be really appreciated.
    Thanks.

  • BAPI for customer Block/Unblock through transaction code : XD05

    Hi Gurus,
    I want to block/unblock customer sales areas(Transaction code : XD05) through program. Could you please suggest any BAPI for the same. As writing BDC will not be a good choice.
    Please help.
    Thanks,
    Bhupender

    Hello Bhupender,
    the best and easies solution is the MASS maintenance transaction as proposed above.
    For the BAPI question, sorry but there is NO BAPI to maintain a customer master data.
    The function module provided by my predecessor, even if it has the perfect look like is definitively not the one to use.
    Despite the name, this FM is designed to support only the maintenance of CONSUMERs.
    Moreover it is not an RFC enabled function module.
    It might work in your case, as the data to maintain is quite simple and limited but you still may face several troubles like NO change documents and change pointers created and/or no synchronisation with TREX, CRM, ...
    There is also a BAPI with a nice name, but in fact it is designed to be used only with SAP Online Store and SAP Product Catalog.
    The only reliable path for investigation is described within [note 384462|https://service.sap.com/sap/support/notes/384462].
    A other path for investigation is the class CMD_EI_API which has been introduced with ECC 2005 (6.00).
    You could wrap method MAINTAIN_BAPI inside of a bapi function module you would have written.
    Otherwise, but still with limited functionality there are some eSOA webservices to find, read, maintain customer master data.
    Hope this helps.
    BR
    Alain

  • BDC / Bapi For  Post Incoming Payment (F-28)

    Hi
    Im creating BDC for F-28. But it got error coming out.
    >> It says DB05B-PSZAH(02) is not an input field.
    What I do is: First, I search for Line Item then Document Number. Then It return to basic list. Then I loop again for the second Line Item Number and Document Number.
    I can activate the first amount but cannot for the next amount and so on.
    Anybody could help me on this??
    Is there any BAPI for Post Incoming Payment (F-28)?
    Thank you.
    Regards.

    i dont think there is a BAPI for this Transaction...
    i have done a BDC on F-28 myself....pasting the code....hope it helps you....
    *******NOTE********
    the parameter in the subroutine is to see if there is a single document or multiple documents being posted.
    FORM fill_bdc_data_f-28_9005 USING p_i_mult_doc TYPE c.
    **BDC from screen 9005
      DATA : l_amt_bdc(13), l_amt_bdc_remain(13), l_amt_bdc_mult(13),
             l_amt_bdc_mult_remain(13), l_assignment(14), l_period(2),
             l_amount(13).
      CLEAR t_bdcdata.
      REFRESH t_bdcdata.
      PERFORM bdc_dynpro USING 'SAPMF05A' '0103'.
      PERFORM bdc_field USING 'BDC_OKCODE' '=AB'.   "OK CODE - doc overview
    **get user default date format and pass date in that format
      PERFORM convert_date_to_user_format USING bkpf-bldat.
      PERFORM bdc_field USING 'BKPF-BLDAT' w_date.  "cheque date
      CLEAR w_date.
      PERFORM bdc_field USING 'BKPF-BLART' i_blart.  "doc type
      PERFORM bdc_field USING 'BKPF-BUKRS' i_bukrs.  "comp code
    **get user default date format and pass date in that format
      PERFORM convert_date_to_user_format USING bkpf-budat.
      PERFORM bdc_field USING 'BKPF-BUDAT' w_date.  "posting date
      CLEAR w_date.
      l_period = sy-datum+4(2).
      PERFORM bdc_field USING 'BKPF-MONAT' l_period. "period
      PERFORM bdc_field USING 'BKPF-WAERS' 'INR'.    "currency
      PERFORM bdc_field USING 'BKPF-BKTXT' i_bankl.  "doc. hdr. text
      PERFORM bdc_field USING 'BKPF-XBLNR' i_xblnr.  "Ref. Document No.
      PERFORM bdc_field USING 'BSEG-ZUONR' i_zuonr.  "Assignment(Depot Code)
      PERFORM bdc_field USING 'RF05A-KONTO' i_bank_gl. "Bank GL acc
      PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.  "Business Area
      l_amount = bseg-wrbtr.
      PERFORM bdc_field USING 'BSEG-WRBTR' l_amount. "Amount
      PERFORM bdc_field USING 'BSEG-PRCTR' ''.  "Profit Center
    **open items data
      PERFORM bdc_field USING 'RF05A-AGKOA' 'D'.     "Acc type (D=customers)
      PERFORM bdc_field USING 'RF05A-XNOPS' 'X'.     "Std OIs check box
    **end of first screen
    **document overview screen
      PERFORM bdc_dynpro USING 'SAPMF05A' '0700'.    "Overview Screen
      PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-AZEI1(01)'.     "cursor
      PERFORM bdc_field USING 'BDC_OKCODE' '/00'.     "OK CODE
      PERFORM bdc_field USING 'RF05A-NEWBS' '19'.    "posting key
      PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
      PERFORM bdc_field USING 'RF05A-NEWUM' 'B'.     "Spl GL Indicator
    **for single document selected
      CLEAR l_amt_bdc.
      IF p_i_mult_doc = ''.
    ***new screen - next line item
        PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
        PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.    "OK CODE
    **for single document, use the bouncing amount calculated earlier
        l_amt_bdc = w_amt_ant_bouncing.
        PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc. "amount
    **due date - same as posting date on screen
    **get user default date format and pass date in that format
        PERFORM convert_date_to_user_format USING bkpf-budat.
        PERFORM bdc_field USING 'BSEG-ZFBDT' w_date.  "due date
        CLEAR w_date.
    **assignment
        CLEAR l_assignment.
        CONCATENATE t_seldoc_ant_bouncing-belnr
                    t_seldoc_ant_bouncing-gjahr INTO l_assignment.
        PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
        PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.
    **if there is some remaining amount, then go for another line item
        IF w_rem_amt_ant_bouncing > 0.
          PERFORM bdc_field USING 'RF05A-NEWBS' '15'.    "posting key
          PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
    **new screen
          PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
          PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-ZTERM'. "CURSOR
          PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.    "OK CODE-ENTER
          l_amt_bdc_remain = w_rem_amt_ant_bouncing.
          PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
          PERFORM bdc_field USING 'BSEG-ZTERM' '0001'.
    **AGAIN
          PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
          PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'. "CURSOR
          PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.    "OK CODE-SAVE
          PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
          PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term -hardcoded
          PERFORM bdc_field USING 'BSEG-SKFBT' l_amt_bdc_remain.
        ENDIF.
    **multiple documents
      ELSE.
    **initialize remaining amount to amt entered on screen
        l_amt_bdc_mult_remain = bseg-wrbtr.
        LOOP AT t_seldoc_ant_bouncing.
          IF l_amt_bdc_mult_remain > 0.
            IF bseg-wrbtr > t_seldoc_ant_bouncing-rem_amt.
              l_amt_bdc_mult = t_seldoc_ant_bouncing-rem_amt.
            ELSE.
              l_amt_bdc_mult = bseg-wrbtr.
            ENDIF.
    **remaining amt = screen amt - amt calculated above.
            l_amt_bdc_mult_remain = l_amt_bdc_mult_remain - l_amt_bdc_mult.
            PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
            PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.    "OK CODE
            PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult. "amount
            PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.  "Business Area
    **due date - same as posting date on screen
    **get user default date format and pass date in that format
            PERFORM convert_date_to_user_format USING bkpf-budat.
            PERFORM bdc_field USING 'BSEG-ZFBDT' w_date.  "due date
            CLEAR w_date.
    **assignment
            CLEAR l_assignment.
            CONCATENATE t_seldoc_ant_bouncing-belnr
                        t_seldoc_ant_bouncing-gjahr INTO l_assignment.
            PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
    **posting key 19 for all but last document
            PERFORM bdc_field USING 'RF05A-NEWBS' '19'.    "posting key
            PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
            PERFORM bdc_field USING 'RF05A-NEWUM' 'B'.     "Spl GL
          ENDIF.
        ENDLOOP.
      ENDIF.
    **post remaining amount
      IF p_i_mult_doc = 'X'.
    **new screen if there is some amount left
        IF l_amt_bdc_mult_remain > 0.
    **posting key 15 with remaining amount
          PERFORM bdc_field USING 'RF05A-NEWBS' '15'.    "posting key
          PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
          PERFORM bdc_field USING 'RF05A-NEWUM' ''.     "Spl GL
    **new screen
          PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
          PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.    "OK CODE
          PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult_remain.
          PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term - hardcoded
        ELSE.
    **if no amount is left, no need for a further line item
          PERFORM bdc_field USING 'RF05A-NEWBS' ''.    "posting key
          PERFORM bdc_field USING 'RF05A-NEWKO' ''. "customer
          PERFORM bdc_field USING 'RF05A-NEWUM' ''.     "Spl GL
        ENDIF.
      ENDIF.
    **clear variables
      CLEAR : l_amount, l_assignment, l_amt_bdc,
              l_amt_bdc_remain,l_amt_bdc_mult, l_amt_bdc_mult_remain.
    ENDFORM.                    " fill_bdc_data_F-28_9005

  • BAPI for change documents like FB09

    Hi
    I need to change the Assignment Number (ZUONR) Field for several document positions just like FB09 ,
    Does somebody knows a BAPI for change document positions (BSEG) ?
    Regards
    Frank

    Hi,
    Please see this link, It may help you.
    Add documents to materials via BAPI
    Regards,
    Shamma

  • 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.

  • Make Business Place (BSEG-BUPLA) field a substitutable field

    Hi All,
    We need to create a substitution rule to populate business place field(BSEG-BUPLA) in FI documents automatically. We have only one business place and it is assigned to a plant. When there are documents that does not involve plant, then we need to populate the field with business place automatically.
    When creating the substitution rule, business place is not shown in the list of substitutable fields. I tried to make changes in GB01 table and remove the exclude check mark for BUPLA but we could not edit the ta ble.We are in 4.6c version. I tried GB01C table and the related views also. The view already does not contain any entry.
    It seems we need to update GB01 only and remove the exclude check box for BUPLA field (Bool class 009, class type S, table BSEG, field BUPLA)
    Is there any OSS note or pointers to update BUPLA in GB01 table
    Thanks & Regards
    Anupama

    Hi
    Hope , below mentioned link will help you to solve your problem
    Business place and section code substitution
    Regards
    Praveen P C

  • BAPI FOR FB02

    I need to run an annual process that searches on BSIS, BSID and BSIK tbls, comparing it with table WITH_ITEM. If field WITH_ITEM-WT_WITHCD is equal to Space must place ` 02' and place the value in fields WITH_ITEM-WT_QSSHH and WITH_ITEM- WT_QSSHB.
    I've found that this modification can be done doing a batch input on FB02 tcode, but the error risk is high, if they change the conditions of the accounts, in addition is very slow. I'm Looking for a BAPI for the FB02 and i've found nothing about it. There is a function  but this single one updates fields of BSEG and BKPF.
    Is There a Function or a program With wich it can Work ?.
    Regards,
    Steve.

    I need to run an annual process that searches on BSIS, BSID and BSIK tbls, comparing it with table WITH_ITEM. If field WITH_ITEM-WT_WITHCD is equal to Space must place ` 02' and place the value in fields WITH_ITEM-WT_QSSHH and WITH_ITEM- WT_QSSHB.
    I've found that this modification can be done doing a batch input on FB02 tcode, but the error risk is high, if they change the conditions of the accounts, in addition is very slow. I'm Looking for a BAPI for the FB02 and i've found nothing about it. There is a function  but this single one updates fields of BSEG and BKPF.
    Is There a Function or a program With wich it can Work ?.
    Regards,
    Steve.

  • FM or BAPI for resetting Documents

    Hi all,
    Is there any FM or BAPI available for resettign and reversing documents in FBRA. I have a FM for reversing document but i don't have a FM or BAPI for resetting documents. If any one knows answer for this, please suggest me.
    Thanks and Regards,
    Subbu.

    HOPE THIS WILL HELP
    Reset cleared items (FBRA)
    After executing the data in FBRA, the accounting document will be moved from BSAK table to BSIK, after executing the below function module one can check in these table. Never try to select accounting document from BSEG table, it's a cluster table. Try to use key fields when firing query on BASK table. *---Declaration for fun mod
    DATA:  d_bukrs       LIKE rf05r-bukrs,
           d_belnr       LIKE rf05r-augbl,
           d_gjahr       LIKE rf05r-gjahr,
           it_rf05r_acct LIKE rf05r_acct OCCURS 0 WITH HEADER LINE.
    LOOP AT it_bsak.
           CLEAR: d_bukrs, d_belnr, d_gjahr.
           d_bukrs  = it_bsak-bukrs.
           d_belnr  = it_bsak-augbl.
           d_gjahr  = it_bsak-gjahr.
    *---Fuction module to run FBRA
           CALL FUNCTION 'CALL_FBRA'
             EXPORTING
               i_bukrs      = d_bukrs
               i_augbl      = d_belnr
               i_gjahr      = d_gjahr
             TABLES
               t_accnt      = it_rf05r_acct
             EXCEPTIONS
               not_possible = 1
               OTHERS       = 2.
    Endloop.

  • BAPI FOR VENDOR ACCOUNT POST

    HI
    please any body tell me how to insert BAPI for transaction code F-43/FB01.
    I want to map data from external software.
    I am using insert BAPI using tables BSEG,BKPF,LFA1.
    data is not displaying in FB03.
    Kindly reply me as soon as possible.....
    Waiting for a reply....
    Thanks

    Make sure that you call BAPI_TRANSACTION_COMMIT after your BAPI call.
    Rob

  • Bapi for transaction FB60

    Hi All,
    I need bapi which can create document for transaction FB60 and later we can do the commit explicitly. we need to upload
    *HEADER     *
    BESG-LIFNR, BKPF-BLDAT, BKPF-BUDAT, INVFO-WRBTR,
    BKPF-BUKRS, BKPF-WAERS, BKPF-XBLNR, BSEG-MWSKZ,
    BKPF-BKTXT, INVFO-ZFBDT, INVFO-ZTERM
    LINE ITEM
    BSEG-HKONT, BSEG-SGTXT, BSEG-WRBTR, BSEG-MWSKZ, BSEG-TXJCD, BSEG-KOSTL, BSEG-KSTRG,
    BSEG-MATNR, BSEG-MENGE, BSEG-MEINS
    i know one bapi BAPI_ACC_INVOICE_RECEIPT_POST but i am not able to pass the value of vendor as a header data on this bapi. please suggest.
    Thanks,
    Madhu

    I have one BAPI API_ACC_INVOICE_RECEIPT_POST, i think i hcan use this BAPI for my requirement but while posting the data i am getting errors :
    1. Required field AMT_BASE was not transferred in parameter  CURRENCYAMOUNT
    2. Required field ACCT_KEY was not transferred in parameter ACCOUNTTAX
    In the excel sheet these two fields data is not given, then how can i pass the values in these two fileds.
    Please reply,
    Thanks

  • Vi error on nfs mount; E212: Can't open file for writing

    Hi all,
    I've setup a umask of 0 for testing on both NFS client (Centos 5.2) and NFS server (OSX 10.5.5 server).
    I can create files as one user and edit/save out as another user w/o issue when directly logged into the server via ARD.
    However, when I attempt the same from an NFS mount on a client machine, even as root I get the following error using vi;
    "file" E212: Can't open file for writing
    Looking at the system.log file on the server, I see;
    kernel[0]: add_fsevent: no name hard-link! dropping the event. (event 2 vp == 0xa5db510 (-UNKNOWN-FILE)).
    This baffles me. My umask is 0 meaning files I create and attempt to edit as other users are 777, but I cannot save out edits unless I do a wq! in vi. At that point, the owner of the file changes to whomever did the vi.
    This isn't just a vi issue as it happens using any editor, but I like to use vi.
    Any help is greatly appreciated. Hey, beer is on me!

    Hi all,
    Thanks for the replies
    I've narrowed it down to a Centos client issue.
    Everything works fine using other Linux based OS's as clients.
    Since we have such a huge investment in Centos, I must figure out a workaround. Apple support wasn't much help as usual however they were very nice.
    There usual response is "its unsupported".
    If Apple really wants to play in the enterprise of business space, they really need to change there philosophy. I mean telling me that I shouldn't mount home directories via NFS is completely rediculus.
    What am I supposed to use then, Samba of AFP? No, I don't think so. No offense to Microsoft but why would I use a Windows based file sharing protocol to mount network shares in a Nix env???

  • Help needed for writing query

    help needed for writing query
    i have the following tables(with data) as mentioned below
    FK*-foregin key (SUBJECTS)
    FK**-foregin key (COMBINATION)
    1)SUBJECTS(table name)     
    SUB_ID(NUMBER) SUB_CODE(VARCHAR2) SUB_NAME (VARCHAR2)
    2           02           Computer Science
    3           03           Physics
    4           04           Chemistry
    5           05           Mathematics
    7           07           Commerce
    8           08           Computer Applications
    9           09           Biology
    2)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2) SUB_ID1(NUMBER(FK*)) SUB_ID2(NUMBER(FK*)) SUB_ID3(NUMBER(FK*)) SUBJ_ID4(NUMBER(FK*))
    383           S1      9           4           2           3
    384           S2      4           2           5           3
    ---------I actually designed the ABOVE table also like this
    3) a)COMBINATION
    COMB_ID(NUMBER) COMB_NAME(VARCHAR2)
    383           S1
    384           S2
    b)COMBINATION_DET
    COMBDET_ID(NUMBER) COMB_ID(FK**) SUB_ID(FK*)
    1               383          9
    2               383          4
    3               383          2
    4               383          3
    5               384          4
    6               384          2          
    7               384          5
    8               384          3
    Business rule: a combination consists of a maximum of 4 subjects (must contain)
    and the user is less relevant to a COMB_NAME(name of combinations) but user need
    the subjects contained in combinations
    i need the following output
    COMB_ID COMB_NAME SUBJECT1 SUBJECT2      SUBJECT3      SUBJECT4
    383     S1     Biology Chemistry      Computer Science Physics
    384     S2     Chemistry Computer Science Mathematics Physics
    or even this is enough(what i actually needed)
    COMB_ID     subjects
    383           Biology,Chemistry,Computer Science,Physics
    384           Chemistry,Computer Science,Mathematics,Physics
    you can use any of the COMBINATION table(either (2) or (3))
    and i want to know
    1)which design is good in this case
    (i think SUB_ID1,SUB_ID2,SUB_ID3,SUB_ID4 is not a
    good method to link with same table but if 4 subjects only(and must) comes
    detail table is not neccessary )
    now i am achieving the result by program-coding in C# after getting the rows from oracle
    i am using oracle 9i (also ODP.NET)
    i want to know how can i get the result in the stored procedure itsef.
    2)how it could be designed in any other way.
    any help/suggestion is welcome
    thanks for your time --Pradeesh

    Well I forgot the table-alias, here now with:
    SELECT C.COMB_ID
    , C.COMB_NAME
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID1) AS SUBJECT_NAME1
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID2) AS SUBJECT_NAME2
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID3) AS SUBJECT_NAME3
    , (SELECT SUB_NAME
    FROM SUBJECTS
    WHERE SUB_ID = C.SUB_ID4) AS SUBJECT_NAME4
    FROM COMBINATION C;
    As you need exactly 4 subjects, the columns-solution is just fine I would say.

Maybe you are looking for