Skip to main content

sales order creation via bdc

*&---------------------------------------------------------------------*
*& Report  ZSO_BSDC_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zso_bsdc_test.
TYPES: BEGIN OF sodata,
          soparty(15) TYPE c,
          shparty(15) TYPE c,
             material(15) TYPE c    ,
          quantity(15) TYPE c,
      END OF sodata,

   BEGIN OF readfile,
     field1(600) TYPE c,
  END OF readfile.

DATA : g_repid TYPE sy-repid,
       g_file_name TYPE string,
       wa_sodata TYPE sodata,
       it_sodata TYPE STANDARD TABLE OF sodata,
       wa_readfile TYPE readfile,
       it_readfile TYPE STANDARD TABLE OF readfile,
       wa_bdcdata TYPE bdcdata ,
       it_bdcdata TYPE STANDARD TABLE OF bdcdata,
       messtab like bdcmsgcoll occurs 0 with header line..

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file TYPE ibipparms-path.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-004.
parameters ctumode like ctu_params-dismode default 'N'.
parameters cupdate like ctu_params-updmode default 'L'.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
   EXPORTING
     program_name        = g_repid
*     DYNPRO_NUMBER       = SYST-DYNNR
     field_name          = 'P_FILE'
   IMPORTING
     file_name           = p_file
            .
  g_file_name = p_file.

START-OF-SELECTION.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
     filename                      = g_file_name
     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_readfile
   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.
  LOOP AT it_readfile INTO wa_readfile.
    SPLIT wa_readfile AT ','
    INTO wa_sodata-soparty
         wa_sodata-shparty
         wa_sodata-material
         wa_sodata-quantity.
    APPEND wa_sodata TO it_sodata.
  ENDLOOP.

END-OF-SELECTION.

  PERFORM  fill_bdcdata.

  LOOP AT it_sodata INTO wa_sodata .
   PERFORM call_transaction.
  ENDLOOP.

  WRITE /'Success'.
*&---------------------------------------------------------------------*
*&      Form  FILL_BDCDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fill_bdcdata .
  perform bdc_dynpro      using 'SAPMV45A' '0101'.
perform bdc_field       using 'BDC_CURSOR'
                              'VBAK-AUART'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'VBAK-AUART'
                              'ZCG'.
perform bdc_field       using 'VBAK-VKORG'
                              '0001'.
perform bdc_field       using 'VBAK-VTWEG'
                              '01'.
perform bdc_field       using 'VBAK-SPART'
                              '01'.
perform bdc_dynpro      using 'SAPMV45A' '4001'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'KUAGV-KUNNR'
                              '1000'.
perform bdc_field       using 'KUWEV-KUNNR'
                              '1000'.
perform bdc_field       using 'RV45A-KETDAT'
                              '25.11.2009'.
perform bdc_field       using 'RV45A-KPRGBZ'
                              'D'.
perform bdc_field       using 'VBKD-PRSDT'
                              '25.11.2009'.
perform bdc_field       using 'BDC_CURSOR'
                              'RV45A-KWMENG(01)'.
perform bdc_field       using 'RV45A-MABNR(01)'
                              wa_sodata-material.
perform bdc_field       using 'RV45A-KWMENG(01)'
                              wa_sodata-quantity.
perform bdc_dynpro      using 'SAPMV45A' '4001'.
perform bdc_field       using 'BDC_OKCODE'
                              '=SICH'.
perform bdc_field       using 'KUAGV-KUNNR'
                              wa_sodata-soparty.
perform bdc_field       using 'KUWEV-KUNNR'
                              wa_sodata-shparty.
perform bdc_field       using 'RV45A-KETDAT'
                             '25.11.2009'.
perform bdc_field       using 'RV45A-KPRGBZ'
                              'D'.
perform bdc_field       using 'VBKD-PRSDT'
                              '25.11.2009'.
perform bdc_field       using 'VBKD-ZTERM'
                              '0001'.
perform bdc_field       using 'BDC_CURSOR'
                              'RV45A-MABNR(02)'.
perform bdc_dynpro      using 'SAPLSPO2' '0101'.
perform bdc_field       using 'BDC_OKCODE'
                              '=OPT1'.
ENDFORM.                    " FILL_BDCDATA
*&---------------------------------------------------------------------*
*&      Form  BDC_DYNPRO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0238   text
*      -->P_0239   text
*----------------------------------------------------------------------*
FORM bdc_dynpro  USING    value1
                          value2.
  CLEAR wa_bdcdata.
  wa_bdcdata-program  = value1.
  wa_bdcdata-dynpro  = value2.
  wa_bdcdata-dynbegin = 'X'.
  APPEND wa_bdcdata TO it_bdcdata.
ENDFORM.                    " BDC_DYNPRO
*&---------------------------------------------------------------------*
*&      Form  BDC_FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0413   text
*      -->P_0414   text
*----------------------------------------------------------------------*
FORM bdc_field  USING    value1
                         value2.
  CLEAR wa_bdcdata.
  wa_bdcdata-fnam = value1.
  wa_bdcdata-fval = value2.
  APPEND wa_bdcdata TO it_bdcdata.
ENDFORM.                    " BDC_FIELD
*&---------------------------------------------------------------------*
*&      Form  CALL_TRANSACTION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form CALL_TRANSACTION .
call transaction 'VA01' using it_bdcdata
                     mode   ctumode
                     update cupdate
                     messages into messtab.
endform.                    " CALL_TRANSACTION

Comments

Popular posts from this blog

Replacement of obsolete F.M. POPUP_TO_CONFIRM_STEP

The obsolete Function Module :     CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'        EXPORTING *          DEFAULTOPTION  = 'Y'             textline1      = text-003 *          TEXTLINE2      = ' '                titel          = 'Mengenbereitstellung' *          START_COLUMN   = 25 *          START_ROW      = 6             cancel_display = ' '        IMPORTING          ...

SPDD and SPAU in Upgrade projects

In upgradiation project SPDD and SPAU Aare the main transactions. Upgradiation project are like 1.Technical Upgrade 2.Functional Upgrade In technical project process steps like 1.System preparation and stack level patch upgrade – Basis Team 2.SPDD Phase – ABAP and Functionals 3.Up gradation of the system – Basis Team 4.SPAU Phase – ABAP and Functionals 5.DBACOCKPIT for indexing – ABAP TEAM 6.Issue resolution and error tracking – ABAP and Functionals 7.Zprograms corrections – obsolete function modules and objects In SPDD Phase This transaction code SPDD is the core step in an upgrade project. The system compares all the dictionary objects – data elements, database tables and structures of the latest system (say ECC) with the previous or the old system (Say 4.6c). These all elements are present under two nodes – with modification assistant and without modification assistant. Objects present under with modification assistant have the mo...