BDC Program for posting FI document

Hi everyone!
Anyone out there already made a BDC program for posting FI documents with this concept:
User will upload a spreadsheet file with the line items per row
User will input which TCODE user will use for posting
BDC program will then post the document using the line items in the spreadsheet file
I need to make a BDC program with that concept but having a hard time to think of a good algorithm to make my program very flexible.
Thanks!

you can use batch input program RFBIBL00 to pasrk document. Please check these links for more information.
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAGTFADM/CAGTFADM-FI.pdf
http://help.sap.com/printdocu/core/print46b/en/data/en/pdf/CAGTFADM-FI.pdf
Have a processing routine defined for the specific Idocs that come into SAP.
So, as and when the idocs are in, the routine triggers and you can codeappropriately in the routine for parking the idocs.
Check these threads
BAPI For Parking FI Document
Post FI Parked Documents
You can use message type INVOIC, IDoc Type INVOIC01/02 with process code INVF (FM IDOC_INPUT_INVOIC_FI) for FBV1 transaction.
See if there are any BAPI/FMs for parking an FI document.
1.. Use INVOIC01 IDOC with INVF process code (This works for Vendor Line Items only). I read the documentation somewhere that, this would work even if the line items are > 999
2.. BAPI_ACC_INVOICE_RECEIPT_POST (This works for Vendor Line Items only)
3.. BAPI_ACC_DOCUMENT_POST (Tax jurisdiction allocation not calculated properly)
4.. BAPI_ACC_GL_POSTING_POST (No tax line items allowed for this BAPI)

Similar Messages

  • Standard IDOCS, Programs for posting FI & bank related data.

    Hi,
    (1)Are there any idocs available for posting FI documents, Vendor master?
    (2)Are there any outbound idocs, programs for sending data to banks. EG:positive pay etc?
    Kindly reply to these questions. Correct answer will be awarded points.
    Regards,
    Akshaya.

    Hi,
    There is message type BANK_CREATE for posting the FI related Bank details. Using the change pointers you can trigger the idocs for posting the bank related data.
    Regards,
    Uday

  • Bapi for posting FI documents for new General ledger accounting

    Hi,
    We have a requirement for posting FI documents for new General ledger i.e for transaction FB01L. Is there any BAPI for the same so that BDC can be avoided.
    The BAPI "BAPI_ACC_DOCUMENT_POST" is used for FB01. Can we use it for FB01L?? As in this BAPI ledger group field is not there. Please suggest.
    Thanks in advance.
    Regards,
    Gaurav

    Hi Sandra,
    Solved myself using the below options.
    If you are using the BAPI - BAPI_ACC_GL_POSTING_POST, you can pass accounting principle field in importing structure BAPIACHE08. The relation between Legder group & accounting principle has to be configured in SPRO by FICO consultant. Once they configured in the system, get the accounting principles and then pass the accounting principle .
    Code:  s_documentheader-acc_principle  = wa_header-acc_principle.
    Reward me if this will help you.
    Thanks,
    Yerukala Setty

  • Need to write BDC program for Transaction VA01(Sales order creation)

    Dear Friends,
    I need to write a BDC program for uploading data into sap from an excel sheet file. The data contain Material Description,Customer Name,Date of Delivery,Quantity,Unit of measure etc.
    material desc customer date of delivery quantity unit of measure
    abcdf xyz ltd 24.12.2011 2 4 gm
    The transaction is VA01.How will I find the correct fields and related tables? What are the related fields needed in the transaction VA01.
    Thanking you
    Sacheen Pukhrambam
    Moderator Message: Put some self-effort before posting your question. Thread locked.
    Edited by: Suhas Saha on Nov 25, 2011 1:25 PM

    Hello,
    You could try using a BDC with VL04 but first preference would be to see if there are any BAPI functions (search for BAPI) that can do this.
    If BUS2032 doesn't have an attribute that you want (eg shipping point) then sub-delegate to ZBUS2032 and add the attribute, it's straightforward. You just have to know how to determine the value programmatically.
    regards
    Rick Bakker
    hanabi technology

  • BDC Program for MB1B Screen..

    Hi Abapers..
    I am doing BDC Upload program using MB1B Screen. I put the receiving bin but the following error coming..
    " CALL_TRANSACTION MB1B Return code = 1,001 RECORD: 0
    S The Receiving batch will be automatically set to G02
    W Batch G02 has already been posted in stock
    S No batch input data for screen SAPLKACB 0002"
    What is the error? how to rectify that error. anybody please give the solution of this problem.
    Give me source code for this bdc program for MB1B Screen.
    This is very urgent I will give reward points..
    Thanks
    S.Muthu.

    Hi Siddu,
             Thanks Very much. My Solution solved by You. I given reward points.
    Thanks a lot.
    I created BAPI_GOODSMVT_CREATE now its working.
    Regards,
    S.Muthu.

  • BDC PROGRAM FOR F-02 ERROR

    Hi ,
    i have written a bdc program for f-02 .here we have 2 posting keys 31 and 40 .when i recored in shdb i can see when i use 31 posting key then i get 302 screen and when i use 40 posting key then i get 300 screen.But the problem is in 302 screen we have new posting keys and new account numbers .how to update these . here is my code . my file is not getting updated when i get screen 302 .Any advice?
    REPORT zfip0009 NO STANDARD PAGE HEADING.
    TABLES ska1.
    DATA: BEGIN OF bdcdata OCCURS 0.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdcdata.
    DATA w_date(10) TYPE c.
    DATA w_first  TYPE c.
    DATA w_second TYPE c.
    data from flat file
    DATA: BEGIN OF t_data OCCURS 0,
           bukrs LIKE bkpf-bukrs,    "company code
           newbs LIKE rf05a-newbs,   "Posting Key
           newko LIKE rf05a-newko,   "New account number(SAP)
           wrbtr(13) TYPE c,         "amount
           dmbtr(13) TYPE c,         "sterling local amount  "+MW1
           mwskz LIKE bseg-mwskz,    "Tax code
           sgtxt LIKE bseg-sgtxt,    "item description
           kostl LIKE cobl-kostl,    "Cost centre
           ps_posid LIKE cobl-ps_posid, "WBS number
           aufnr LIKE cobl-aufnr,     "Internal order
          END OF t_data.
            SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_file LIKE rlgrap-filename
                DEFAULT 'C:\temp\XSL.txt'.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_sess(12) DEFAULT 'GLPOSTING'.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_bldat LIKE bkpf-bldat,
                p_budat LIKE bkpf-budat,
                p_blart LIKE bkpf-blart,
                p_monat LIKE bkpf-monat,
               p_bukrs LIKE bkpf-bukrs,
                p_bktxt LIKE bkpf-bktxt,
                p_xblnr LIKE bkpf-xblnr,
                p_waers LIKE bkpf-waers.
    SELECTION-SCREEN END OF BLOCK b2.
    *SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    *PARAMETERS p_ktopl LIKE ska1-ktopl.
    *SELECTION-SCREEN END OF BLOCK b3.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'WS_FILENAME_GET'
          EXPORTING
               def_filename     =  p_file
              DEF_PATH         = ' '
               mask             = ',.,..'
              MODE             = ' '
              TITLE            = ' '
          IMPORTING
               filename         = p_file
              RC               =
           EXCEPTIONS
                inv_winsys       = 1
                no_batch         = 2
                selection_cancel = 3
                selection_error  = 4
                OTHERS           = 5.
          START OF SELECTION
    START-OF-SELECTION.
    Get all of the information held on the spreadsheets.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = t_data
        EXCEPTIONS
          OTHERS   = 1.
      IF sy-subrc <> 0.
        WRITE :/ 'Failed to Open Input file', p_file.
        EXIT.
      ENDIF.
      REFRESH bdcdata.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client = sy-mandt
          group  = p_sess
          user   = sy-uname
          keep   = 'X'.
      PERFORM load_bdcdata.
      CALL FUNCTION 'BDC_CLOSE_GROUP'.
      WRITE: /
    'Batch input session', p_sess, 'created: process session via SM35'.
    END-OF-SELECTION.
    *&      Form  LOAD_BDCDATA
          Load the BDCDATA fields depending
    FORM load_bdcdata.
      CLEAR: w_first, w_second.
      CLEAR bdcdata.
      LOOP AT t_data.
        IF sy-tabix = 1.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0100'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RF05A-NEWKO'.
          PERFORM format_date USING p_bldat.
          PERFORM bdc_field       USING 'BKPF-BLDAT'
                                        w_date.
          PERFORM bdc_field       USING 'BKPF-BLART'
                                        p_blart.
          PERFORM bdc_field       USING 'BKPF-BUKRS'
                                        t_data-bukrs.
          PERFORM format_date USING p_budat.
          PERFORM bdc_field       USING 'BKPF-BUDAT'
                                        w_date.
          PERFORM bdc_field       USING 'BKPF-WAERS'
                                        p_waers.
          PERFORM bdc_field       USING 'BKPF-MONAT'
          PERFORM bdc_field       USING 'BKPF-BKTXT'
                                        p_bktxt.
          PERFORM bdc_field       USING 'BKPF-XBLNR'
                                        p_xblnr.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        t_data-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        t_data-newko.
        ELSE.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RF05A-NEWKO'.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        t_data-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        t_data-newko.
          PERFORM bdc_field       USING 'RF05A-NEWBK'
                                        t_data-bukrs.
          PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
          PERFORM bdc_field       USING 'BDC_OKCODE' 'ENTE'.
        ENDIF.
       IF t_data-newbs = '31' .
          w_second = '1'.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                              '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'BSEG-SGTXT'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      t_data-wrbtr.
          PERFORM bdc_field       USING 'BSEG-SGTXT'
                                     t_data-sgtxt.
        PERFORM bdc_field       USING 'RF05A-NEWBS'
                                       t_data-newbs.
        PERFORM bdc_field       USING 'RF05A-NEWKO'
                                       t_data-newko.
            IF NOT t_data-kostl IS INITIAL.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          t_data-kostl.
          ELSEIF NOT t_data-ps_posid IS INITIAL.
            PERFORM bdc_field       USING 'COBL-PS_POSID'
                                          t_data-ps_posid.
          ELSEIF NOT t_data-aufnr IS INITIAL.
            PERFORM bdc_field       USING 'COBL-AUFNR'
                                          t_data-aufnr.
          ENDIF.
    *...start of Amendment MW1
          IF p_waers ne 'GBP'.
            PERFORM bdc_field       USING 'BSEG-DMBTR'
                                              t_data-dmbtr.
          ENDIF.
        ENDIF.
    *...end of Amendment MW1  ENDIF.
       IF t_data-newbs = '40'    .
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'BSEG-SGTXT'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      t_data-wrbtr.
          PERFORM bdc_field       USING 'BSEG-SGTXT'
                                     t_data-sgtxt.
           PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
          PERFORM bdc_field       USING 'BDC_OKCODE' 'ENTE'.
             IF NOT t_data-kostl IS INITIAL.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          t_data-kostl.
          ELSEIF NOT t_data-ps_posid IS INITIAL.
            PERFORM bdc_field       USING 'COBL-PS_POSID'
                                          t_data-ps_posid.
          ELSEIF NOT t_data-aufnr IS INITIAL.
            PERFORM bdc_field       USING 'COBL-AUFNR'
                                          t_data-aufnr.
          ENDIF.
          PERFORM bdc_field       USING 'BSEG-MWSKZ'
                                     t_data-mwskz.
    *...start of Amendment MW1
          IF p_waers ne 'GBP'.
            PERFORM bdc_field       USING 'BSEG-DMBTR'
                                              t_data-dmbtr.
          ENDIF.
    *...end of Amendment MW1
        ENDIF.
        AT FIRST.
    calculate the tax
          PERFORM bdc_field       USING 'BKPF-XMWST' 'X'.
        ENDAT.
      IF t_data-newbs = '40'     .
         PERFORM bdc_field       USING 'DKACB-FMORE'
                                       'X'.
         PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
         PERFORM bdc_field       USING 'BDC_OKCODE'
                                       'ENTE'.
         IF NOT t_data-kostl IS INITIAL.
           PERFORM bdc_field       USING 'COBL-KOSTL'
                                         t_data-kostl.
         ELSEIF NOT t_data-ps_posid IS INITIAL.
           PERFORM bdc_field       USING 'COBL-PS_POSID'
                                         t_data-ps_posid.
         ELSEIF NOT t_data-aufnr IS INITIAL.
           PERFORM bdc_field       USING 'COBL-AUFNR'
                                         t_data-aufnr.
         ENDIF.
       ENDIF.
      ENDLOOP.
      IF w_second = '1'.
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
      ELSE.
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
      ENDIF.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    'BU'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'BSEG-WRBTR'.
      PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    'ENTE'.
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          tcode     = 'F-02'
        TABLES
          dynprotab = bdcdata.
      REFRESH bdcdata.
      CLEAR bdcdata.
    ENDFORM.                    " LOAD_BDCDATA
    Start of screen
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           insert field
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_FIELD
    *&      Form  format_date
          text
    FORM format_date  USING    p_date.
      CLEAR w_date.
      w_date(2) = p_date+6(2).
      w_date+2(1) = '.'.
      w_date3(2) = p_date4(2).
      w_date+5(1) = '.'.
      w_date+6(4) = p_date(4).
    ENDFORM.                    " format_date

    IF item-newbs = '09'
             OR item-newbs = '19'
             OR item-newbs = '29'
             OR item-newbs = '39'.
            IF item-newum = 'A' OR
             item-newum = 'V' OR
             item-newum = '1' OR
             item-newum = '2' OR
             item-newum = '3' OR
             item-newum = '5' OR
             item-newum = '6' OR
             item-newum = 'B' .
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0304'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWUM'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-gsber'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-PRCTR'
                                            item-prctr.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1.
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '09'
             OR item-newbs = '19'
             OR item-newbs = '29'
             OR item-newbs = '39' .
            IF item-newum = 'H'
              OR item-newum = '4'
           OR item-newum = '6'
           OR item-newum = '7'
              OR item-newum = '8'
              OR item-newum = '9'
              OR item-newum = 'C'
              OR item-newum = 'D'
              OR item-newum = 'E'
              OR item-newum = 'I'
              OR item-newum = 'K'
              OR item-newum = 'L'
              OR item-newum = 'M'
              OR item-newum = 'O'
              OR item-newum = 'Q'
              OR item-newum = 'R'
              OR item-newum = 'T'
              OR item-newum = 'U'.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0303'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWKO'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-GSBER'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1 .
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '29' OR item-newbs = '39'.
            IF item-newum = '7'.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0303'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'BSEG-ZFBDT'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '=ZK'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-GSBER'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0332'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWKO'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-BEWAR'
                                            item-ttype.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1 .
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '01' OR item-newbs = '11'
             OR item-newbs = '05' OR item-newbs = '15'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0301'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWKO'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                           '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'BSEG-GSBER'
                                           item-gsber.
            PERFORM bdc_field       USING 'BSEG-ZTERM'
                                           item-zterm.
            PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                          item-zfbdt.
            PERFORM bdc_field       USING 'BSEG-ZUONR'
                                          item-zuonr.
            PERFORM bdc_field       USING 'BSEG-SGTXT'
                                          item-sgtxt.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1 .
            READ TABLE item INDEX idx .
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                          item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
          IF item-newbs = '21' OR item-newbs = '31'
             OR item-newbs = '25' OR item-newbs = '35'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWKO'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'BSEG-SECCO'
                                          ''.   "'1000'.
            PERFORM bdc_field       USING 'BSEG-GSBER'
                                          item-gsber.
            PERFORM bdc_field       USING 'BSEG-ZTERM'
                                           item-zterm.
            PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                          item-zfbdt.
            PERFORM bdc_field       USING 'BSEG-ZUONR'
                                          item-zuonr.
            PERFORM bdc_field       USING 'BSEG-SGTXT'
                                          item-sgtxt.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1.
            READ TABLE item INDEX idx.
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                          item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
          IF item-newbs = '70' OR item-newbs = '75'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0305'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'BSEG-WRBTR'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'DKACB-FMORE'
                                                'X'.
            PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'COBL-PRCTR'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=ENTE'.
            PERFORM bdc_field       USING 'COBL-GSBER'
                                          item-gsber.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          item-kostl.
            PERFORM bdc_field       USING 'COBL-PRCTR'
                                          item-prctr.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0305'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWBW'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
    PERFORM bdc_field       USING 'BSEG-BZDAT'
                                   '01.04.2005'.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1 .
            READ TABLE item INDEX idx .
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                           item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
        ENDLOOP.
        PERFORM bdc_field   USING  'BDC_OKCODE'     
                                    '=BU'.
        PERFORM bdc_transaction USING 'F-02'.
        DELETE item INDEX 1.
        DELETE item INDEX 1.
        ix = ix + 2 .
      ENDDO.
      PERFORM close_group.

  • Problem in creating a BDC program for transaction cj20n(project sytem)

    Hi all,
    I am trying to create project,WBS element ,network and activity using a BDC program,
      I am able to create to a recording for the transaction cj20n using tcode shdb but when i run the recording it doesnt run properly i am not able to create any thing.
    I get error saying that a particular field doesnt exist on the screen.
    Is possible to create a BDC program for transaction CJ20N ?
    Also is there any other alternative  apart from using a BAPI or a function module.
    Thanks,
    Nishant

    Hi,
        Check below link for BAPIs of transaction cj20n.
    [BAPI for cj20n|BAPI for CJ20N transaction]
    Thanks,
    Asit Purbey.

  • Please  Help me How write the BDC program for the MIGO inbound Delivery

    Please help me how to write bdc program for the MIGO Inbound Delivery in 4.7EE Version. Please help me.
    Not in LSMW.  Required call transaction or Session Method. Please help me.
    Mohan

    Run transaction BAPI . Select Logistics Execution/Shipping/InboundDelivery/SaveReplica.. You can use function module BAPI_INB_DELIVERY_SAVEREPLICA in your ABAP program.

  • Making Pages the default program for opening text documents

    How do I make Pages the default program for opening text documents? Every time I open a text doc it launches in TextEdit. This must be an easy fix, but I can't seem to figure it out.

    Select a text document > Menu > File > Info > Open With > Browse into your appliCations folder > iWork > Pages > OK > Change All…+
    Peter

  • How to create a BDC program for given recording.

    i have to create a BDC program for uploading a file.
    currently i am using call function
      CALL FUNCTION 'F4_FILENAME'

    just check out the code below  it  is  for  updating two transactions
                           types Declaration                      *
    types: begin of t_tab1 ,
                vendor(10),
                material(18),
                pur_org(4),
                wglif(18),
          end of t_tab1.
                  Data Declaration                                 *
    data : begin of it_tab5 occurs 0,
              vendor(10),
              material(18),
             end of it_tab5.
    **DATA : BEGIN OF IT_TAB6 OCCURS 0,
             VENDOR(10),
             MATERIAL(18),
            END OF IT_TAB6.
    data: it_tab1 type standard table of t_tab1 with header line.
    data: wa_tab1 type t_tab1.
    data: wa_tab2 type t_tab1.
    data: it_tab3 like bdcdata occurs 0 with header line.
    data: it_tab4 like bdcdata occurs 0 with header line.
    data: it_tab2 type table of bdcmsgcoll with header line.
    data: d_file_name like ibipparms-path,
          d_file_name1 type string.
                       Start-of-selection                        *
    start-of-selection.
    FM for finding the flat file
      call function 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME        = SYST-CPROG
      DYNPRO_NUMBER       = SYST-DYNNR
      FIELD_NAME          = ' '
       importing
         file_name           = d_file_name.
      d_file_name1 = d_file_name.
    ******FM for uploading data from flat file into internal table
      call function 'GUI_UPLOAD'
        exporting
          filename                      = d_file_name1
         filetype                      = 'ASC'
      HAS_FIELD_SEPARATOR           = ' '
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        tables
          data_tab                      = it_tab5
    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.
                     End-of-selection                         *
    end-of-selection.
      sort it_tab5 by vendor.
      loop at it_tab5.
        perform bdc_dynpro using 'SAPLBG00'  0101 .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_dynpro using 'SAPLBG00'  1000 .
        perform bdc_field using 'BDC_OKCODE' '=BUCH' .
        perform bdc_field using 'BDC_SUBSCR'
        'SAPLBG00                                1101KOPF_1000'.
        perform bdc_field using 'GBGMK-GAART' '2' .
        perform bdc_field using 'GBGMK-GAERB' 'X' .
        perform bdc_field using 'BDC_SUBSCR'
          'SAPLBG00                          1103TAB_SUB_1000'.
        perform bdc_field using 'BDC_CURSOR' 'GBGMP-LSTNR(01)' .
        perform bdc_field using 'GBGMP-LSTNR(01)' it_tab5-material .
       call transaction 'BGM1' using it_tab3 mode 'E' messages into it_tab2
        refresh it_tab3.
        wa_tab1-pur_org = 'ABCP'.
        loop at it_tab2.
        endloop.
        perform bdc_dynpro using 'SAPMM06I'  0100 .
        perform bdc_field using 'BDC_CURSOR' 'EINE-EKORG' .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_field using 'EINA-LIFNR' it_tab5-vendor .
        perform bdc_field using 'EINA-MATNR' it_tab5-material .
        perform bdc_field using 'EINE-EKORG' wa_tab1-pur_org .
        perform bdc_field using 'RM06I-NORMB' 'X' .
        perform bdc_dynpro using 'SAPMM06I'  0101 .
        perform bdc_field using 'BDC_CURSOR' 'EINA-WGLIF' .
        perform bdc_field using 'BDC_OKCODE' '=BU' .
        perform bdc_field using 'EINA-WGLIF' it_tab2-msgv1 .
        call transaction 'ME12' using it_tab3 mode 'E'.
        refresh it_tab3.
        refresh it_tab2.
      endloop.
    *&      Form  BDC_DYNPRO
         Start new screen
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_dynpro  using   program
                             dynpro.
      clear it_tab3.
      it_tab3-program  = program.
      it_tab3-dynpro   = dynpro.
      it_tab3-dynbegin = 'X'.
      append it_tab3.
    endform.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
       Insert field
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_field  using    fnam
                             fval.
      clear it_tab3.
      it_tab3-fnam = fnam.
      it_tab3-fval = fval.
      append it_tab3.
    endform.                    " BDC_FIELD
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 6:20 PM

  • What is the bdc program for vendor master?

    what is the bdc program for vendor master?

    Hi,
    Find the code here.
    And do create your text file data in the order of itab structure.
    {report ZBDC_XK01
           no standard page heading line-size 255.
    data: bdcdata like bdcdata occurs 0 with header line.
    data: begin of itab occurs 0,
    lifnr like lfa1-lifnr,
    bukrs like RF02K-bukrs,
    ekorg like RF02K-ekorg,
    ktokk like RF02K-ktokk,
    anred like lfa1-anred,
    name1 like lfa1-name1,
    sortl like lfa1-sortl,
    land1 like lfa1-land1,
    spras like lfa1-spras,
    waers like lfm1-waers,
    end of itab.
    selection-screen begin of block blk1 with frame.
      parameters: p_file like rlgrap-filename OBLIGATORY.
    selection-screen end of block blk1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      perform f4_help_p_file.
    start-of-selection.
      perform get_data.
      perform upload.
    END-OF-SELECTION.
    *&      Form  f4_help_p_file
          text
    -->  p1        text
    <--  p2        text
    form f4_help_p_file .
    data: v_file like p_file.
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          file_name = v_file.
      CHECK sy-subrc EQ 0.
      p_file = v_file.
    endform.                    " f4_help_p_file
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    form get_data .
    data: s_file type string.
      s_file = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = s_file
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
       DAT_MODE                      = 'D'
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      = itab
    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.
    stop.
    ENDIF.
    endform.                    " get_data
    *&      Form  upload
          text
    -->  p1        text
    <--  p2        text
    form upload .
    loop at itab.
    perform bdc_dynpro      using 'SAPMF02K' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02K-LIFNR'  itab-lifnr.
    perform bdc_field       using 'RF02K-BUKRS' '0001'.
    perform bdc_field       using 'RF02K-EKORG'  '1000'.
    perform bdc_field       using 'RF02K-KTOKK' '0001'.
    perform bdc_dynpro      using 'SAPMF02K' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-SPRAS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'LFA1-ANRED' itab-anred.
    perform bdc_field       using 'LFA1-NAME1' itab-name1.
    perform bdc_field       using 'LFA1-SORTL' itab-sortl.
    perform bdc_field       using 'LFA1-LAND1' itab-land1.
    perform bdc_field       using 'LFA1-SPRAS' itab-spras.
    perform bdc_dynpro      using 'SAPMF02K' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0130'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFBK-BANKS(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPMF02K' '0210'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB1-AKONT'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0215'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB1-ZTERM'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0220'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB5-MAHNA'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0310'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFM1-WAERS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'LFM1-WAERS' itab-waers.
    perform bdc_dynpro      using 'SAPMF02K' '0320'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-LIFNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    call transaction 'XK01' using bdcdata mode 'A'.
    refresh bdcdata.
    clear itab.
    endloop.
    endform.                    " upload
    *&      Form  bdc_dynpro
          text
         -->P_0126   text
         -->P_0127   text
    form bdc_dynpro  using   program dynpro.
    clear bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      append bdcdata.
    endform.                    " bdc_dynpro
    *&      Form  bdc_field
          text
         -->P_0316   text
         -->P_0317   text
    form bdc_field  using    fnam fval.
    clear bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      append bdcdata.
    endform.                    " bdc_field}
    Reward points if you find it helpful
    Thanks,
    Prasanna

  • BAPI or FM or Standard BDC program for Production version creation (C223)

    Hi All,
    Is there BAPI or FM or Standard BDC program for Production version creation?  Please help me.
    Thanks & Regards
    Santhosh

    Hi,
    Try this FM "CO_OCM_CREATE_PROD_VERSION"
    Regards,
    Smart

  • Using FM PRELIMINARY_POSTING_FB01 for Posting a Document

    Hi there,
    Can we use FM PRELIMINARY_POSTING_FB01 for Posting a document? Has anybody done that? Please let me know which of the following needs to be populated? Thanks a lot.
    (TEXT_UPDATE)
    TEXT_ITEM_UPDATE)
    (I_UF05A)
    (I_XCMPL)
    (FS006_FB01)
    (I_TCODE)
    (I_PARGB)
    (I_TCODE_INT)
    Does anybody have any documentation/help on this FM? Please let me know - as I need to do this sometime next week.
    Edited by: sam jose on Apr 29, 2010 4:50 PM
    Edited by: Rob Burbank on May 5, 2010 10:13 AM

    Dear Sam,
    You can Use the bapi BAPI_ACC_DOCUMENT_POST. By using the extension tables of the BAPI when creating the accoutning documents you will pass all the fields you did not found on the standard tables.
    Now, you will use the BTE (Business Transaction Event) RWBAPI01 : SAMPLE_INTERFACE_RWBAPI01, and you will find all the data you fill in the tables Extension in the bapi, and you have to transfer it to table IT_ACCIT.
    You can fill even specific fields of table BSEG if you want.
    Regards,
    Yassine NEJMY

  • ENTRY_ACT field in BDC program for Txn. IA05

    Dear Gurus,
    I want to write BDC program for IA05 transaction.  In that, Inspection Charatertics entries, I want to add more entries (more than one page - page down).  Please guide me how to handle RQPAS-ENTRY_ACT screen field.
    Please provide the logic in writing, if possible.
    Regards,

    Hi,
    I am having same problem.
    Can you give me the code as it shows solved at your end..
    -Maharshi

  • BDC Program for table control

    Hi Friends,
    I have an issue i am stuck here,
    i have to create BDC Program for XK01 tcode,
    and my requirement is that,
    i have three users first user want only three colum and second user want four column
    and third user want five column in table control,
    so how could i achieve it,
    please hekp me out.
    Thanks
    Vikash

    Hi Vikash,
    FORM bdc_dynpro  USING  p_program p_dynpro.
    IF user-one.
    FORM bdc_field  USING  fnam1 fval.
    FORM bdc_field  USING  fnam2 fval.
    FORM bdc_field  USING  fnam3 fval.
    ELSEIF user-two.
    FORM bdc_field  USING  fnam1 fval.
    FORM bdc_field  USING  fnam2 fval.
    FORM bdc_field  USING  fnam3 fval.
    FORM bdc_field  USING  fnam4 fval.
    ELSEIF user-three.
    FORM bdc_field  USING  fnam1 fval.
    FORM bdc_field  USING  fnam2 fval.
    FORM bdc_field  USING  fnam3 fval.
    FORM bdc_field  USING  fnam4 fval.
    FORM bdc_field  USING  fnam5 fval.
    ENDIF.
    Does this make sense?
    regards,
    Archer.

Maybe you are looking for

  • IPhone 4 will not activate with Apple for update

    No matter how hard I try, or how many times I try I cannot get my sister in law's iPhone 4s to update it's software to 5.1  Despite it being connected to a strong wireless signal that I managed to update mine from on my laptop, it downloads the updat

  • Premiere Elements 13 - Installer fail to initialize

    Hello I am receiving a "installer failed to initialize" error, when trying to install Premiere Elements 13. OS: Windows 8.1 I HAVE tried the below, but I do not have the program on the list to uninstall when I get to the Control Panel Programs list.

  • FI Validation for Payment term in Purchase Order

    Hi All, Please help me with this if we could have some validation Client want to restrict the payment term to (2-3 options) selection at the time of PO and invoice entry Example:if we set up a merch vendor with 75 day terms the buyer can't choose any

  • Creating new document types

    Hi, i've opened a call at SAP Support for following request and the support has relegate me to the forum/ solution managers: For some, especially for one customer, is it very important to get new types of documents. For example: The credit memo. The

  • Setting up a Wireless Internet Connection on Solaris 10

    I am new to the whole Solaris/unix world and I was just wondering how to set up a wireless internet connection with a solaris 10 machine. I have a linksys router hooked up to a cable modem and a linksys receiver hooked up via USB on the solaris machi